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, **options): """Command entry point.""" extensions.exts_pool.load_all() if not models.User.objects.filter(is_superuser=True).count(): admin = models.User(username=options["admin_username"], is_superuser=True) admin.set_password("password") admin.save() models.ObjectAccess.objects.create(user=admin, content_object=admin, is_owner=True) groups = list(constants.PERMISSIONS.keys()) for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) results = signals.extra_role_permissions.send( sender=self.__class__, role=groupname) permissions = constants.PERMISSIONS.get(groupname, []) if results: permissions += reduce(lambda a, b: a + b, [result[1] for result in results]) if not permissions: continue add_permissions_to_group(group, permissions) for extname in list(extensions.exts_pool.extensions.keys()): extension = extensions.exts_pool.get_extension(extname) extension.load_initial_data() signals.initial_data_loaded.send(sender=self.__class__, extname=extname) if options["extra_fixtures"]: from modoboa.admin import factories factories.populate_database()
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, **options): """Command entry point.""" extensions.exts_pool.load_all() if not models.User.objects.filter(is_superuser=True).count(): admin = models.User( username=options["admin_username"], is_superuser=True) admin.set_password("password") admin.save() models.ObjectAccess.objects.create( user=admin, content_object=admin, is_owner=True) groups = list(constants.PERMISSIONS.keys()) for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) results = signals.extra_role_permissions.send( sender=self.__class__, role=groupname) permissions = constants.PERMISSIONS.get(groupname, []) if results: permissions += reduce( lambda a, b: a + b, [result[1] for result in results]) if not permissions: continue add_permissions_to_group(group, permissions) for extname in list(extensions.exts_pool.extensions.keys()): extension = extensions.exts_pool.get_extension(extname) extension.load_initial_data() signals.initial_data_loaded.send( sender=self.__class__, extname=extname) if options["extra_fixtures"]: from modoboa.admin import factories factories.populate_database()
def init_limits_dependant_features(): """Custom initialization if the limits extension activated. We mainly define extra permissions. """ add_permissions_to_group( "Resellers", [("radicale", "usercalendar", "add_usercalendar"), ("radicale", "usercalendar", "change_usercalendar"), ("radicale", "usercalendar", "delete_usercalendar"), ("radicale", "sharedcalendar", "add_sharedcalendar"), ("radicale", "sharedcalendar", "change_sharedcalendar"), ("radicale", "sharedcalendar", "delete_sharedcalendar")])
def init(self): """Plugin initialization. """ add_permissions_to_group( "DomainAdmins", [("radicale", "usercalendar", "add_usercalendar"), ("radicale", "usercalendar", "change_usercalendar"), ("radicale", "usercalendar", "delete_usercalendar"), ("radicale", "sharedcalendar", "add_sharedcalendar"), ("radicale", "sharedcalendar", "change_sharedcalendar"), ("radicale", "sharedcalendar", "delete_sharedcalendar")]) if exts_pool.is_extension_enabled('limits'): init_limits_dependant_features()
def init(self): """Plugin initialization. """ add_permissions_to_group( "DomainAdmins", [("radicale", "usercalendar", "add_usercalendar"), ("radicale", "usercalendar", "change_usercalendar"), ("radicale", "usercalendar", "delete_usercalendar"), ("radicale", "sharedcalendar", "add_sharedcalendar"), ("radicale", "sharedcalendar", "change_sharedcalendar"), ("radicale", "sharedcalendar", "delete_sharedcalendar")] ) if exts_pool.is_extension_enabled('limits'): init_limits_dependant_features()
def init_limits_dependant_features(): """Custom initialization if the limits extension activated. We mainly define extra permissions. """ add_permissions_to_group( "Resellers", [("radicale", "usercalendar", "add_usercalendar"), ("radicale", "usercalendar", "change_usercalendar"), ("radicale", "usercalendar", "delete_usercalendar"), ("radicale", "sharedcalendar", "add_sharedcalendar"), ("radicale", "sharedcalendar", "change_sharedcalendar"), ("radicale", "sharedcalendar", "delete_sharedcalendar")] )
def handle(self, *args, **options): """Command entry point.""" if not models.User.objects.filter(is_superuser=True).count(): admin = models.User( username=options["admin_username"], is_superuser=True) admin.set_password("password") admin.save() models.ObjectAccess.objects.create( user=admin, content_object=admin, is_owner=True) lc = models.LocalConfig.objects.first() condition = ( "core" not in lc._parameters or "secret_key" not in lc._parameters["core"]) if condition: lc.parameters.set_value("secret_key", random_key()) lc.save() for service_name in ["relay", "smtp"]: relay_models.Service.objects.get_or_create(name=service_name) extensions.exts_pool.load_all() groups = list(constants.PERMISSIONS.keys()) for groupname in groups: group, created = Group.objects.get_or_create(name=groupname) results = signals.extra_role_permissions.send( sender=self.__class__, role=groupname) permissions = ( constants.PERMISSIONS.get(groupname, []) + reduce(lambda a, b: a + b, [result[1] for result in results]) ) if not permissions: continue add_permissions_to_group(group, permissions) for extname in list(extensions.exts_pool.extensions.keys()): extension = extensions.exts_pool.get_extension(extname) extension.load_initial_data() signals.initial_data_loaded.send( sender=self.__class__, extname=extname) if options["extra_fixtures"]: from modoboa.admin import factories factories.populate_database()
def handle(self, *args, **options): """Command entry point.""" if not models.User.objects.filter(is_superuser=True).count(): admin = models.User( username=options["admin_username"], is_superuser=True) admin.set_password("password") admin.save() models.ObjectAccess.objects.create( user=admin, content_object=admin, is_owner=True) lc = models.LocalConfig.objects.first() secret_key = lc.parameters.get_value("secret_key") if not secret_key: lc.parameters.set_value("secret_key", random_key()) lc.save() for service_name in ["relay", "smtp"]: relay_models.Service.objects.get_or_create(name=service_name) exts_pool.load_all() superadmin = models.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) if options["extra_fixtures"]: from modoboa.admin import factories factories.populate_database()
def handle(self, *args, **options): """Command entry point.""" if not models.User.objects.filter(is_superuser=True).count(): admin = models.User(username=options["admin_username"], is_superuser=True) admin.set_password("password") admin.save() models.ObjectAccess.objects.create(user=admin, content_object=admin, is_owner=True) lc = models.LocalConfig.objects.first() secret_key = lc.parameters.get_value("secret_key") if not secret_key: lc.parameters.set_value("secret_key", random_key()) lc.save() for service_name in ["relay", "smtp"]: relay_models.Service.objects.get_or_create(name=service_name) exts_pool.load_all() superadmin = models.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) if options["extra_fixtures"]: from modoboa.admin import factories factories.populate_database()
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 init(self): from modoboa.core.models import User from modoboa.extensions.admin.models import Domain ct = ContentType.objects.get(app_label="admin", model="domain") dagrp = Group.objects.get(name="DomainAdmins") grp = Group(name="Resellers") grp.save() grp.permissions.add(*dagrp.permissions.all()) ct = ContentType.objects.get_for_model(Domain) add_permissions_to_group("Resellers", [("admin", "domain", "view_domains"), ("admin", "domain", "add_domain"), ("admin", "domain", "change_domain"), ("admin", "domain", "delete_domain")]) for user in User.objects.filter(groups__name='DomainAdmins'): try: controls.create_pool(user) except IntegrityError: pass
def init(self): from modoboa.core.models import User from modoboa.extensions.admin.models import Domain ct = ContentType.objects.get(app_label="admin", model="domain") dagrp = Group.objects.get(name="DomainAdmins") grp = Group(name="Resellers") grp.save() grp.permissions.add(*dagrp.permissions.all()) ct = ContentType.objects.get_for_model(Domain) add_permissions_to_group( "Resellers", [("admin", "domain", "view_domains"), ("admin", "domain", "add_domain"), ("admin", "domain", "change_domain"), ("admin", "domain", "delete_domain")] ) for user in User.objects.filter(groups__name='DomainAdmins'): try: controls.create_pool(user) except IntegrityError: pass