Fixes for make pastafari2 independent of monit module
This commit is contained in:
parent
05d8824d6f
commit
437f0ca08a
3 changed files with 41 additions and 4 deletions
|
|
@ -13,7 +13,8 @@ from paramecio2.libraries.db.extrafields.filefield import FileField
|
|||
from paramecio2.libraries.urls import make_media_url
|
||||
from paramecio2.libraries import datetime
|
||||
from paramecio2.modules.admin.models.admin import UserAdmin
|
||||
from modules.monit.models.monit import Server
|
||||
from modules.pastafari2.models.tasks import LonelyIpField
|
||||
#from modules.monit.models.monit import Server
|
||||
|
||||
class ServerGroup(WebModel):
|
||||
|
||||
|
|
@ -23,6 +24,18 @@ class ServerGroup(WebModel):
|
|||
self.register(corefields.CharField('group'), True)
|
||||
self.register(corefields.CharField('code_group'), True)
|
||||
|
||||
class Server(WebModel):
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
|
||||
#self.register(corefields.ForeignKeyField('user_id', UserServer(connection)), True)
|
||||
self.register(DomainField('hostname'), True)
|
||||
self.register(corefields.CharField('group'), True)
|
||||
self.register(LonelyIpField('ip'), True)
|
||||
self.fields['ip'].unique=True
|
||||
#self.fields['ip'].indexed=True
|
||||
|
||||
class ServerDbTask(Server):
|
||||
|
||||
|
|
@ -31,7 +44,7 @@ class ServerDbTask(Server):
|
|||
super().__init__(connection)
|
||||
self.fields['group'].required=False
|
||||
self.register(corefields.ForeignKeyField('group_id', ServerGroup(connection), 11, False, 'id', 'group', select_fields=[]))
|
||||
self.register(corefields.IntegerField('ssh_port'))
|
||||
self.register(corefields.IntegerField('ssh_port'), True)
|
||||
|
||||
class UpdateServerScripts(WebModel):
|
||||
|
||||
|
|
|
|||
|
|
@ -17,9 +17,33 @@ from redis import Redis
|
|||
from rq import Queue
|
||||
import importlib
|
||||
import traceback
|
||||
from modules.monit.models.monit import LonelyIpField
|
||||
#from modules.monit.models.monit import LonelyIpField
|
||||
from modules.pastafari2.libraries.configtask import config_task
|
||||
|
||||
class LonelyIpField(IpField):
|
||||
|
||||
def __init__(self, name, size=64):
|
||||
|
||||
super().__init__(name, size)
|
||||
|
||||
self.duplicated_ip=False
|
||||
|
||||
def check(self, value):
|
||||
|
||||
value=super().check(value)
|
||||
|
||||
if self.duplicated_ip==True:
|
||||
self.txt_error='Error: you have a server with this ip in the database'
|
||||
self.error=True
|
||||
return value
|
||||
|
||||
return value
|
||||
|
||||
def show_formatted(self, value):
|
||||
|
||||
return '<input id="ip_%s" value="" type="hidden"/>%s' % (value, value)
|
||||
|
||||
|
||||
class Task(WebModel):
|
||||
|
||||
def __init__(self, connection):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue