forked from shaba/openuds
Updated
This commit is contained in:
parent
fc92b3edaa
commit
99c2a829b6
@ -108,6 +108,8 @@ encoding//src/uds/migrations/0002_auto__del_unique_userpreference_name_module.py
|
||||
encoding//src/uds/migrations/0004_auto__add_field_deployedservice_state_date.py=utf-8
|
||||
encoding//src/uds/migrations/0005_auto__add_field_config_crypt.py=utf-8
|
||||
encoding//src/uds/migrations/0008_auto__add_userservicelog__add_field_userservice_src_hostname__add_fiel.py=utf-8
|
||||
encoding//src/uds/migrations/0009_auto__del_userservicelog__add_log.py=utf-8
|
||||
encoding//src/uds/migrations/0010_auto__add_field_log_owner_type.py=utf-8
|
||||
encoding//src/uds/models.py=utf-8
|
||||
encoding//src/uds/osmanagers/LinuxOsManager/LinuxOsManager.py=utf-8
|
||||
encoding//src/uds/osmanagers/LinuxOsManager/__init__.py=utf-8
|
||||
|
@ -31,12 +31,15 @@
|
||||
@author: Adolfo Gómez, dkmaster at dkmon dot com
|
||||
'''
|
||||
|
||||
from uds.models import Log
|
||||
from uds.core.util import log
|
||||
from uds.core.util.Config import GlobalConfig
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
OT_USERSERVICE, OT_PUBLICATION, OT_DEPLOYED_SERVICE, OT_SERVICE, OT_PROVIDER, OT_USER, OT_GROUP, OT_AUTHENTICATOR = xrange(8)
|
||||
|
||||
class LogManager(object):
|
||||
'''
|
||||
Manager for logging (at database) events
|
||||
@ -60,21 +63,24 @@ class LogManager(object):
|
||||
'''
|
||||
from uds.models import getSqlDatetime
|
||||
|
||||
|
||||
qs = Log.objects.filter(owner_id = userService.id, owner_type = OT_USERSERVICE)
|
||||
# First, ensure we do not have more than requested logs, and we can put one more log item
|
||||
if userService.log.count() >= GlobalConfig.MAX_USERSERVICE_LOGS.getInt():
|
||||
for i in userService.log.all().order_by('-created',)[GlobalConfig.MAX_USERSERVICE_LOGS.getInt()-1:]: i.delete()
|
||||
if qs.count() >= GlobalConfig.MAX_LOGS_PER_ELEMENT.getInt():
|
||||
for i in qs.order_by('-created',)[GlobalConfig.MAX_LOGS_PER_ELEMENT.getInt()-1:]: i.delete()
|
||||
|
||||
# now, we add new log
|
||||
userService.log.create(created = getSqlDatetime(), source = source, level = level, data = message)
|
||||
Log.objects.create(owner_type = OT_USERSERVICE, owner_id = userService.id, created = getSqlDatetime(), source = source, level = level, data = message)
|
||||
|
||||
def __getUserServiceLogs(self, userService):
|
||||
def __getUserServiceLogs(self, userService, limit):
|
||||
'''
|
||||
Get all logs associated with an user service, ordered by date
|
||||
'''
|
||||
return [{'date': x.created, 'level': x.level, 'source': x.source, 'message': x.data} for x in userService.log.all().order_by('created')]
|
||||
qs = Log.objects.filter(owner_id = userService.id, owner_type = OT_USERSERVICE)
|
||||
return [{'date': x.created, 'level': x.level, 'source': x.source, 'message': x.data} for x in qs.order_by('created')][:limit]
|
||||
|
||||
|
||||
def doLog(self, wichObject, level, message, source = log.INTERNAL):
|
||||
def doLog(self, wichObject, level, message, source = log.UNKNOWN):
|
||||
'''
|
||||
Do the logging for the requested object.
|
||||
|
||||
@ -91,10 +97,10 @@ class LogManager(object):
|
||||
logger.debug('Requested doLog for a type of object not covered: {0}'.format(wichObject))
|
||||
|
||||
|
||||
def getLogs(self, wichObject):
|
||||
def getLogs(self, wichObject, limit = GlobalConfig.MAX_LOGS_PER_ELEMENT.getInt()):
|
||||
from uds.models import UserService
|
||||
|
||||
if type(wichObject) is UserService:
|
||||
return self.__getUserServiceLogs(wichObject)
|
||||
return self.__getUserServiceLogs(wichObject, limit)
|
||||
else:
|
||||
logger.debug('Requested getLogs for a type of object not covered: {0}'.format(wichObject))
|
||||
|
@ -218,7 +218,7 @@ class GlobalConfig:
|
||||
# Custom HTML for login page
|
||||
CUSTOM_HTML_LOGIN = Config.section(GLOBAL_SECTION).valueLong('customHtmlLogin', '')
|
||||
# Maximum logs per user service
|
||||
MAX_USERSERVICE_LOGS = Config.section(GLOBAL_SECTION).value('maxLogPerUserService', '100')
|
||||
MAX_LOGS_PER_ELEMENT = Config.section(GLOBAL_SECTION).value('maxLogPerElement', '100')
|
||||
|
||||
initDone = False
|
||||
|
||||
@ -249,7 +249,7 @@ class GlobalConfig:
|
||||
GlobalConfig.REDIRECT_TO_HTTPS.get()
|
||||
GlobalConfig.MAX_INITIALIZING_TIME.get()
|
||||
GlobalConfig.CUSTOM_HTML_LOGIN.get()
|
||||
GlobalConfig.MAX_USERSERVICE_LOGS.get()
|
||||
GlobalConfig.MAX_LOGS_PER_ELEMENT.get()
|
||||
except:
|
||||
logger.debug('Config table do not exists!!!, maybe we are installing? :-)')
|
||||
|
||||
|
@ -39,7 +39,7 @@ useLogger = logging.getLogger('useLog')
|
||||
OTHER,DEBUG,INFO,WARN,ERROR,FATAL = (10000*(x+1) for x in xrange(6))
|
||||
|
||||
# Logging sources
|
||||
INTERNAL,ACTOR,TRANSPORT, OSMANAGER = ('internal', 'actor', 'transport', 'osmanager')
|
||||
INTERNAL,ACTOR,TRANSPORT, OSMANAGER, UNKNOWN, WEB = ('internal', 'actor', 'transport', 'osmanager', 'unknown', 'web')
|
||||
|
||||
OTHERSTR,DEBUGSTR,INFOSTR,WARNSTR,ERRORSTR,FATALSTR = ('OTHER', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL')
|
||||
|
||||
|
@ -0,0 +1,218 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Deleting model 'UserServiceLog'
|
||||
db.rename_table('uds__us_log', 'uds_log')
|
||||
db.rename_column('uds_log', 'user_service_id', 'owner_id')
|
||||
|
||||
db.send_create_signal('uds', ['Log'])
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Adding model 'UserServiceLog'
|
||||
db.rename_column('uds_log', 'owner_id', 'user_service_id')
|
||||
db.rename_table('uds_log', 'uds__us_log')
|
||||
|
||||
db.send_create_signal('uds', ['UserServiceLog'])
|
||||
|
||||
|
||||
models = {
|
||||
'uds.authenticator': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'Authenticator'},
|
||||
'comments': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||
},
|
||||
'uds.cache': {
|
||||
'Meta': {'object_name': 'Cache', 'db_table': "'uds_utility_cache'"},
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {}),
|
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
|
||||
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'validity': ('django.db.models.fields.IntegerField', [], {'default': '60'}),
|
||||
'value': ('django.db.models.fields.TextField', [], {'default': "''"})
|
||||
},
|
||||
'uds.config': {
|
||||
'Meta': {'unique_together': "(('section', 'key'),)", 'object_name': 'Config', 'db_table': "'uds_configuration'"},
|
||||
'crypt': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
|
||||
'long': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'section': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'value': ('django.db.models.fields.TextField', [], {'default': "''"})
|
||||
},
|
||||
'uds.delayedtask': {
|
||||
'Meta': {'object_name': 'DelayedTask'},
|
||||
'execution_delay': ('django.db.models.fields.PositiveIntegerField', [], {}),
|
||||
'execution_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'insert_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'instance': ('django.db.models.fields.TextField', [], {}),
|
||||
'tag': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
|
||||
'type': ('django.db.models.fields.CharField', [], {'max_length': '128'})
|
||||
},
|
||||
'uds.deployedservice': {
|
||||
'Meta': {'object_name': 'DeployedService', 'db_table': "'uds__deployed_service'"},
|
||||
'assignedGroups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'deployedServices'", 'symmetrical': 'False', 'db_table': "'uds__ds_grps'", 'to': "orm['uds.Group']"}),
|
||||
'cache_l1_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'cache_l2_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'comments': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
|
||||
'current_pub_revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'initial_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'max_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
'osmanager': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deployedServices'", 'null': 'True', 'to': "orm['uds.OSManager']"}),
|
||||
'service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deployedServices'", 'null': 'True', 'to': "orm['uds.Service']"}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'state_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||
'transports': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'deployedServices'", 'symmetrical': 'False', 'db_table': "'uds__ds_trans'", 'to': "orm['uds.Transport']"})
|
||||
},
|
||||
'uds.deployedservicepublication': {
|
||||
'Meta': {'ordering': "('publish_date',)", 'object_name': 'DeployedServicePublication', 'db_table': "'uds__deployed_service_pub'"},
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'deployed_service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'publications'", 'to': "orm['uds.DeployedService']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'publish_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'state_date': ('django.db.models.fields.DateTimeField', [], {})
|
||||
},
|
||||
'uds.group': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('manager', 'name'),)", 'object_name': 'Group'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'manager': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'groups'", 'to': "orm['uds.Authenticator']"}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'groups'", 'symmetrical': 'False', 'to': "orm['uds.User']"})
|
||||
},
|
||||
'uds.log': {
|
||||
'Meta': {'object_name': 'Log'},
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
|
||||
'data': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||
'source': ('django.db.models.fields.CharField', [], {'default': "'internal'", 'max_length': '16', 'db_index': 'True'}),
|
||||
'owner_id': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||
},
|
||||
'uds.network': {
|
||||
'Meta': {'object_name': 'Network'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
|
||||
'net_end': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||
'net_start': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||
'transports': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'networks'", 'symmetrical': 'False', 'db_table': "'uds_net_trans'", 'to': "orm['uds.Transport']"})
|
||||
},
|
||||
'uds.osmanager': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'OSManager'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
|
||||
},
|
||||
'uds.provider': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'Provider'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
|
||||
},
|
||||
'uds.scheduler': {
|
||||
'Meta': {'object_name': 'Scheduler'},
|
||||
'frecuency': ('django.db.models.fields.PositiveIntegerField', [], {'default': '86400'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_execution': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
|
||||
'next_execution': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)', 'db_index': 'True'}),
|
||||
'owner_server': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '64', 'db_index': 'True'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'X'", 'max_length': '1', 'db_index': 'True'})
|
||||
},
|
||||
'uds.service': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('provider', 'name'),)", 'object_name': 'Service'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'provider': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'services'", 'to': "orm['uds.Provider']"})
|
||||
},
|
||||
'uds.storage': {
|
||||
'Meta': {'object_name': 'Storage'},
|
||||
'attr1': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '64', 'null': 'True', 'db_index': 'True', 'blank': 'True'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
|
||||
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||
},
|
||||
'uds.transport': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'Transport'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||
'nets_positive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||
},
|
||||
'uds.uniqueid': {
|
||||
'Meta': {'ordering': "('-seq',)", 'unique_together': "(('basename', 'seq'),)", 'object_name': 'UniqueId'},
|
||||
'assigned': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'db_index': 'True'}),
|
||||
'basename': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'owner': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True'}),
|
||||
'seq': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'})
|
||||
},
|
||||
'uds.user': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('manager', 'name'),)", 'object_name': 'User'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_access': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||
'manager': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'to': "orm['uds.Authenticator']"}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
'real_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'staff_member': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'max_length': '1', 'db_index': 'True'})
|
||||
},
|
||||
'uds.userpreference': {
|
||||
'Meta': {'object_name': 'UserPreference'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'module': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'preferences'", 'to': "orm['uds.User']"}),
|
||||
'value': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||
},
|
||||
'uds.userservice': {
|
||||
'Meta': {'ordering': "('creation_date',)", 'object_name': 'UserService', 'db_table': "'uds__user_service'"},
|
||||
'cache_level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||
'creation_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'deployed_service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'userServices'", 'to': "orm['uds.DeployedService']"}),
|
||||
'friendly_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'in_use': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'in_use_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||
'os_state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1'}),
|
||||
'publication': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'userServices'", 'null': 'True', 'to': "orm['uds.DeployedServicePublication']"}),
|
||||
'src_hostname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '64'}),
|
||||
'src_ip': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'state_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'unique_id': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'userServices'", 'null': 'True', 'blank': 'True', 'to': "orm['uds.User']"})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['uds']
|
215
server/src/uds/migrations/0010_auto__add_field_log_owner_type.py
Normal file
215
server/src/uds/migrations/0010_auto__add_field_log_owner_type.py
Normal file
@ -0,0 +1,215 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding field 'Log.owner_type'
|
||||
db.add_column('uds_log', 'owner_type',
|
||||
self.gf('django.db.models.fields.IntegerField')(default=0, db_index=True),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting field 'Log.owner_type'
|
||||
db.delete_column('uds_log', 'owner_type')
|
||||
|
||||
|
||||
models = {
|
||||
'uds.authenticator': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'Authenticator'},
|
||||
'comments': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||
},
|
||||
'uds.cache': {
|
||||
'Meta': {'object_name': 'Cache', 'db_table': "'uds_utility_cache'"},
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {}),
|
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
|
||||
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'validity': ('django.db.models.fields.IntegerField', [], {'default': '60'}),
|
||||
'value': ('django.db.models.fields.TextField', [], {'default': "''"})
|
||||
},
|
||||
'uds.config': {
|
||||
'Meta': {'unique_together': "(('section', 'key'),)", 'object_name': 'Config', 'db_table': "'uds_configuration'"},
|
||||
'crypt': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
|
||||
'long': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'section': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'value': ('django.db.models.fields.TextField', [], {'default': "''"})
|
||||
},
|
||||
'uds.delayedtask': {
|
||||
'Meta': {'object_name': 'DelayedTask'},
|
||||
'execution_delay': ('django.db.models.fields.PositiveIntegerField', [], {}),
|
||||
'execution_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'insert_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'instance': ('django.db.models.fields.TextField', [], {}),
|
||||
'tag': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
|
||||
'type': ('django.db.models.fields.CharField', [], {'max_length': '128'})
|
||||
},
|
||||
'uds.deployedservice': {
|
||||
'Meta': {'object_name': 'DeployedService', 'db_table': "'uds__deployed_service'"},
|
||||
'assignedGroups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'deployedServices'", 'symmetrical': 'False', 'db_table': "'uds__ds_grps'", 'to': "orm['uds.Group']"}),
|
||||
'cache_l1_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'cache_l2_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'comments': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
|
||||
'current_pub_revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'initial_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'max_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
'osmanager': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deployedServices'", 'null': 'True', 'to': "orm['uds.OSManager']"}),
|
||||
'service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deployedServices'", 'null': 'True', 'to': "orm['uds.Service']"}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'state_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||
'transports': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'deployedServices'", 'symmetrical': 'False', 'db_table': "'uds__ds_trans'", 'to': "orm['uds.Transport']"})
|
||||
},
|
||||
'uds.deployedservicepublication': {
|
||||
'Meta': {'ordering': "('publish_date',)", 'object_name': 'DeployedServicePublication', 'db_table': "'uds__deployed_service_pub'"},
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'deployed_service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'publications'", 'to': "orm['uds.DeployedService']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'publish_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'state_date': ('django.db.models.fields.DateTimeField', [], {})
|
||||
},
|
||||
'uds.group': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('manager', 'name'),)", 'object_name': 'Group'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'manager': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'groups'", 'to': "orm['uds.Authenticator']"}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'groups'", 'symmetrical': 'False', 'to': "orm['uds.User']"})
|
||||
},
|
||||
'uds.log': {
|
||||
'Meta': {'object_name': 'Log'},
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
|
||||
'data': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||
'owner_id': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||
'owner_type': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||
'source': ('django.db.models.fields.CharField', [], {'default': "'internal'", 'max_length': '16', 'db_index': 'True'})
|
||||
},
|
||||
'uds.network': {
|
||||
'Meta': {'object_name': 'Network'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
|
||||
'net_end': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||
'net_start': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||
'transports': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'networks'", 'symmetrical': 'False', 'db_table': "'uds_net_trans'", 'to': "orm['uds.Transport']"})
|
||||
},
|
||||
'uds.osmanager': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'OSManager'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
|
||||
},
|
||||
'uds.provider': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'Provider'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
|
||||
},
|
||||
'uds.scheduler': {
|
||||
'Meta': {'object_name': 'Scheduler'},
|
||||
'frecuency': ('django.db.models.fields.PositiveIntegerField', [], {'default': '86400'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_execution': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
|
||||
'next_execution': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)', 'db_index': 'True'}),
|
||||
'owner_server': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '64', 'db_index': 'True'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'X'", 'max_length': '1', 'db_index': 'True'})
|
||||
},
|
||||
'uds.service': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('provider', 'name'),)", 'object_name': 'Service'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'provider': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'services'", 'to': "orm['uds.Provider']"})
|
||||
},
|
||||
'uds.storage': {
|
||||
'Meta': {'object_name': 'Storage'},
|
||||
'attr1': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '64', 'null': 'True', 'db_index': 'True', 'blank': 'True'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
|
||||
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||
},
|
||||
'uds.transport': {
|
||||
'Meta': {'ordering': "('name',)", 'object_name': 'Transport'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||
'nets_positive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||
},
|
||||
'uds.uniqueid': {
|
||||
'Meta': {'ordering': "('-seq',)", 'unique_together': "(('basename', 'seq'),)", 'object_name': 'UniqueId'},
|
||||
'assigned': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'db_index': 'True'}),
|
||||
'basename': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'owner': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True'}),
|
||||
'seq': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'})
|
||||
},
|
||||
'uds.user': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('manager', 'name'),)", 'object_name': 'User'},
|
||||
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_access': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||
'manager': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'to': "orm['uds.Authenticator']"}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
'real_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'staff_member': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'max_length': '1', 'db_index': 'True'})
|
||||
},
|
||||
'uds.userpreference': {
|
||||
'Meta': {'object_name': 'UserPreference'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'module': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'preferences'", 'to': "orm['uds.User']"}),
|
||||
'value': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||
},
|
||||
'uds.userservice': {
|
||||
'Meta': {'ordering': "('creation_date',)", 'object_name': 'UserService', 'db_table': "'uds__user_service'"},
|
||||
'cache_level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||
'creation_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||
'data': ('django.db.models.fields.TextField', [], {'default': "''"}),
|
||||
'deployed_service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'userServices'", 'to': "orm['uds.DeployedService']"}),
|
||||
'friendly_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'in_use': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'in_use_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||
'os_state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1'}),
|
||||
'publication': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'userServices'", 'null': 'True', 'to': "orm['uds.DeployedServicePublication']"}),
|
||||
'src_hostname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '64'}),
|
||||
'src_ip': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
|
||||
'state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1', 'db_index': 'True'}),
|
||||
'state_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'unique_id': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'userServices'", 'null': 'True', 'blank': 'True', 'to': "orm['uds.User']"})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['uds']
|
@ -435,10 +435,10 @@ class Transport(models.Model):
|
||||
if self.nets_positive:
|
||||
return self.networks.filter(net_start__lte=ip, net_end__gte=ip).count() > 0
|
||||
else:
|
||||
return self.networks.exclude(net_start__lte=ip, net_end__gte=ip).count() > 0
|
||||
return self.networks.filter(net_start__lte=ip, net_end__gte=ip).count() == 0
|
||||
|
||||
def __unicode__(self):
|
||||
return "{0} of type {1} (id:{2})".format(self.name, self.data_type, self.id)
|
||||
return u"{0} of type {1} (id:{2})".format(self.name, self.data_type, self.id)
|
||||
|
||||
@staticmethod
|
||||
def beforeDelete(sender, **kwargs):
|
||||
@ -1507,7 +1507,7 @@ class UserService(models.Model):
|
||||
signals.pre_delete.connect(UserService.beforeDelete, sender = UserService)
|
||||
|
||||
# Especific loggin information for an user service
|
||||
class UserServiceLog(models.Model):
|
||||
class Log(models.Model):
|
||||
'''
|
||||
This class represents the log associated with an user service.
|
||||
|
||||
@ -1516,7 +1516,8 @@ class UserServiceLog(models.Model):
|
||||
of information related to
|
||||
'''
|
||||
|
||||
user_service = models.ForeignKey(UserService, on_delete=models.CASCADE, related_name = 'log')
|
||||
owner_id = models.IntegerField(db_index=True, default=0)
|
||||
owner_type = models.IntegerField(db_index=True, default=0)
|
||||
|
||||
created = models.DateTimeField(auto_now_add=True, db_index=True)
|
||||
source = models.CharField(max_length=16, default='internal', db_index=True)
|
||||
@ -1528,11 +1529,11 @@ class UserServiceLog(models.Model):
|
||||
'''
|
||||
Meta class to declare db table
|
||||
'''
|
||||
db_table = 'uds__us_log'
|
||||
db_table = 'uds_log'
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
return "Log of {0}({1}): {2} - {3} - {4} - {5}".format(self.user_service.friendly_name, self.user_service.id, self.created, self.source, self.level, self.data)
|
||||
return "Log of {0}({1}): {2} - {3} - {4} - {5}".format(self.owner_type, self.owner_id, self.created, self.source, self.level, self.data)
|
||||
|
||||
|
||||
# General utility models, such as a database cache (for caching remote content of slow connections to external services providers for example)
|
||||
|
@ -59,8 +59,8 @@ class WinDomainOsManager(WindowsOsManager):
|
||||
def infoVal(self, service):
|
||||
return 'domain:{0}\t{1}\t{2}\t{3}\t{4}'.format( self.getName(service), self._domain, self._ou, self._account, self._password)
|
||||
|
||||
def infoVal(self, service):
|
||||
return 'domain:{0}\t{1}\t{2}\t{3}\t{4}'.format( self.getName(service), self._domain, self._ou, self._account, self._password)
|
||||
def infoValue(self, service):
|
||||
return 'domain:\r{0}\t{1}\t{2}\t{3}\t{4}'.format( self.getName(service), self._domain, self._ou, self._account, self._password)
|
||||
|
||||
def marshal(self):
|
||||
base = super(WinDomainOsManager,self).marshal()
|
||||
|
Loading…
x
Reference in New Issue
Block a user