def handle(self, *args, **kwargs): exts_pool.load_all() load_core_settings() csvwriter = csv.writer(sys.stdout, delimiter=kwargs['sepchar']) for dom in Domain.objects.all(): dom.to_csv(csvwriter)
def handle(self, *args, **kwargs): superadmin = User.objects.filter(is_superuser=True).first() exts_pool.load_all() load_core_settings() for filename in args: if not os.path.exists(filename): print('File not found') sys.exit(1) num_lines = sum(1 for line in open(filename)) pbar = ProgressBar( widgets=[Percentage(), Bar(), ETA()], maxval=num_lines ).start() with open(filename, 'r') as f: reader = csv.reader(f, delimiter=';') i = 0 for row in reader: i += 1 pbar.update(i) if not row: continue try: import_alias_pipe(superadmin, row, kwargs) except Conflict: if kwargs['continue_if_exists']: continue raise Conflict( "Object already exists: %s" % kwargs['sepchar'].join(row[:2]) ) pbar.finish()
def handle(self, *args, **options): """Command entry point.""" load_core_settings() if not User.objects.filter(is_superuser=True).count(): admin = User(username="******", is_superuser=True) admin.set_password("password") admin.save() ObjectAccess.objects.create(user=admin, content_object=admin, is_owner=True) exts_pool.load_all() superadmin = User.objects.filter(is_superuser=True).first() groups = PERMISSIONS.keys() + [ role[0] for role in events.raiseQueryEvent("GetExtraRoles", superadmin, None) ] for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) permissions = ( PERMISSIONS.get(groupname, []) + events.raiseQueryEvent("GetExtraRolePermissions", groupname)) if not permissions: continue add_permissions_to_group(group, permissions) for extname in exts_pool.extensions.keys(): extension = exts_pool.get_extension(extname) extension.load_initial_data() events.raiseEvent("InitialDataLoaded", extname)
def handle(self, *args, **kwargs): exts_pool.load_all() load_core_settings() csvwriter = csv.writer(sys.stdout, delimiter=kwargs['sepchar']) for dom in AliasPipe.objects.all(): dom.to_csv(csvwriter)
def handle(self, *args, **options): """Command entry point.""" load_core_settings() if not User.objects.filter(is_superuser=True).count(): admin = User(username="******", is_superuser=True) admin.set_password("password") admin.save() ObjectAccess.objects.create( user=admin, content_object=admin, is_owner=True) exts_pool.load_all() superadmin = User.objects.filter(is_superuser=True).first() groups = PERMISSIONS.keys() + [ role[0] for role in events.raiseQueryEvent("GetExtraRoles", superadmin, None) ] for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) permissions = ( PERMISSIONS.get(groupname, []) + events.raiseQueryEvent("GetExtraRolePermissions", groupname) ) if not permissions: continue add_permissions_to_group(group, permissions) for extname in exts_pool.extensions.keys(): extension = exts_pool.get_extension(extname) extension.load_initial_data() events.raiseEvent("InitialDataLoaded", extname)
def handle(self, *args, **kwargs): exts_pool.load_all() load_core_settings() csvwriter = csv.writer(sys.stdout, delimiter=kwargs['sepchar']) for u in User.objects.all(): u.to_csv(csvwriter) for a in Alias.objects.prefetch_related('mboxes', 'aliases'): a.to_csv(csvwriter)
def handle(self, *args, **options): if options["debug"]: import logging l = logging.getLogger("django.db.backends") l.setLevel(logging.DEBUG) l.addHandler(logging.StreamHandler()) self.verbose = options["verbose"] load_core_settings() log_maximum_age = int(parameters.get_admin("LOG_MAXIMUM_AGE")) self.__vprint("Deleting logs older than %d days..." % log_maximum_age) limit = timezone.now() - datetime.timedelta(log_maximum_age) Log.objects.filter(date_created__lt=limit).delete() self.__vprint("Done.")
def _crypt_password(self, raw_value): """Crypt the local password using the appropriate scheme. In case we don't find the scheme (for example when the management framework is used), we load the parameters and try one more time. """ try: scheme = parameters.get_admin("PASSWORD_SCHEME") except parameters.NotDefined: from modoboa.core import load_core_settings load_core_settings() scheme = parameters.get_admin("PASSWORD_SCHEME") if isinstance(raw_value, unicode): raw_value = raw_value.encode("utf-8") return get_password_hasher(scheme.upper())().encrypt(raw_value)
def handle(self, *args, **options): """Command entry point.""" load_core_settings() load_admin_settings() load_limits_settings() if not User.objects.filter(is_superuser=True).count(): admin = User(username="******", is_superuser=True) admin.set_password("password") admin.save() ObjectAccess.objects.create(user=admin, content_object=admin, is_owner=True) param_name = "core.SECRET_KEY" qset = lib_models.Parameter.objects.filter(name=param_name) if not qset.exists(): lib_models.Parameter.objects.create(name=param_name, value=random_key()) for service_name in ['relay', 'smtp']: relay_models.Service.objects.get_or_create(name=service_name) exts_pool.load_all() superadmin = User.objects.filter(is_superuser=True).first() groups = PERMISSIONS.keys() + [ role[0] for role in events.raiseQueryEvent("GetExtraRoles", superadmin, None) ] for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) permissions = ( PERMISSIONS.get(groupname, []) + events.raiseQueryEvent("GetExtraRolePermissions", groupname)) if not permissions: continue add_permissions_to_group(group, permissions) for extname in exts_pool.extensions.keys(): extension = exts_pool.get_extension(extname) extension.load_initial_data() events.raiseEvent("InitialDataLoaded", extname)
def handle(self, *args, **options): """Command entry point.""" load_core_settings() load_admin_settings() load_limits_settings() if not User.objects.filter(is_superuser=True).count(): admin = User(username="******", is_superuser=True) admin.set_password("password") admin.save() ObjectAccess.objects.create( user=admin, content_object=admin, is_owner=True) param_name = "core.SECRET_KEY" qset = lib_models.Parameter.objects.filter(name=param_name) if not qset.exists(): lib_models.Parameter.objects.create( name=param_name, value=random_key()) for service_name in ['relay', 'smtp']: relay_models.Service.objects.get_or_create(name=service_name) exts_pool.load_all() superadmin = User.objects.filter(is_superuser=True).first() groups = PERMISSIONS.keys() + [ role[0] for role in events.raiseQueryEvent("GetExtraRoles", superadmin, None) ] for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) permissions = ( PERMISSIONS.get(groupname, []) + events.raiseQueryEvent("GetExtraRolePermissions", groupname) ) if not permissions: continue add_permissions_to_group(group, permissions) for extname in exts_pool.extensions.keys(): extension = exts_pool.get_extension(extname) extension.load_initial_data() events.raiseEvent("InitialDataLoaded", extname)
def setUp(self): """Test initialization.""" super(PasswordSchemesTestCase, self).setUp() load_core_settings()
def handle(self, *args, **kwargs): exts_pool.load_all() load_core_settings() for filename in args: import_csv(filename, kwargs)
from django.conf.urls import patterns, include from django.conf import settings from modoboa.core.extensions import exts_pool from modoboa.lib import parameters, events from modoboa.core import load_core_settings load_core_settings() urlpatterns = patterns( '', (r'^$', 'modoboa.lib.webutils.topredirection'), (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', {'packages': ('modoboa', ), }), ('', include('modoboa.core.urls')), ) urlpatterns += patterns( '', *events.raiseQueryEvent("ExtraUprefsRoutes") ) urlpatterns += patterns( '', *exts_pool.load_all() ) parameters.apply_to_django_settings() if 'modoboa.demo' in settings.INSTALLED_APPS: urlpatterns += patterns( '',
from django.conf import settings from django.conf.urls import patterns, include, url from modoboa.core import load_core_settings from modoboa.core.extensions import exts_pool from modoboa.lib import parameters, events load_core_settings() urlpatterns = patterns( '', url(r'^$', 'modoboa.lib.web_utils.topredirection', name="topredirection"), (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', { 'packages': ('modoboa', ), }), ('', include('modoboa.core.urls', namespace="core")), ) urlpatterns += patterns('', *events.raiseQueryEvent("ExtraUprefsRoutes")) urlpatterns += patterns('', *exts_pool.load_all()) parameters.apply_to_django_settings() if 'modoboa.demo' in settings.INSTALLED_APPS: urlpatterns += patterns( '', (r'^demo/', include('modoboa.demo.urls', namespace="demo"))) if settings.DEBUG: from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.conf.urls.static import static
def setUp(self): super(PasswordSchemesTestCase, self).setUp() factories.populate_database() load_core_settings()