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.""" 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 save(self, user, domain): if not self.fields: return if self.cleaned_data["create_dom_admin"] == "no": return username = "******" % ( self.cleaned_data["dom_admin_username"], domain.name) try: da = User.objects.get(username=username) except User.DoesNotExist: pass else: raise Conflict(_("User '%s' already exists" % username)) events.raiseEvent("CanCreate", user, "mailboxes") da = User(username=username, email=username, is_active=True) da.set_password("password") da.save() da.set_role("DomainAdmins") da.post_create(user) mb = Mailbox( address=self.cleaned_data["dom_admin_username"], domain=domain, user=da, use_domain_quota=True ) mb.set_quota( override_rules=user.has_perm("modoboa_admin.change_domain")) mb.save(creator=user) if self.cleaned_data["create_aliases"] == "yes": events.raiseEvent("CanCreate", user, "mailbox_aliases") alias = Alias(address="postmaster", domain=domain, enabled=True) alias.save(int_rcpts=[mb]) alias.post_create(user) domain.add_admin(da)
def save(self, user, domain): if not self.fields: return if self.cleaned_data["create_dom_admin"] == "no": return username = "******" % (self.cleaned_data["dom_admin_username"], domain.name) try: da = User.objects.get(username=username) except User.DoesNotExist: pass else: raise Conflict(_("User '%s' already exists" % username)) events.raiseEvent("CanCreate", user, "mailboxes") da = User(username=username, email=username, is_active=True) da.set_password("password") da.save() da.set_role("DomainAdmins") da.post_create(user) mb = Mailbox(address=self.cleaned_data["dom_admin_username"], domain=domain, user=da, use_domain_quota=True) mb.set_quota(override_rules=user.has_perm("admin.change_domain")) mb.save(creator=user) if self.cleaned_data["create_aliases"] == "yes": events.raiseEvent("CanCreate", user, "mailbox_aliases") alias = Alias(address="postmaster", domain=domain, enabled=True) alias.save(int_rcpts=[mb]) alias.post_create(user) domain.add_admin(da)
def save(self, *args, **kwargs): if not self.fields: return if not self.cleaned_data["create_dom_admin"]: return user = kwargs.pop("user") domain = kwargs.pop("domain") username = "******" % (self.cleaned_data["dom_admin_username"], domain.name) try: da = User.objects.get(username=username) except User.DoesNotExist: pass else: raise Conflict(_("User '%s' already exists") % username) core_signals.can_create_object.send(self.__class__, context=user, klass=Mailbox) da = User(username=username, email=username, is_active=True) if self.cleaned_data["random_password"]: password = lib.make_password() else: password = param_tools.get_global_parameter("default_password", app="core") da.set_password(password) da.save() da.role = "DomainAdmins" da.post_create(user) if self.cleaned_data["with_mailbox"]: dom_admin_username = self.cleaned_data["dom_admin_username"] mb = Mailbox(address=dom_admin_username, domain=domain, user=da, use_domain_quota=True) mb.set_quota(override_rules=user.has_perm("admin.change_domain")) mb.save(creator=user) condition = (domain.type == "domain" and self.cleaned_data["create_aliases"] and dom_admin_username != "postmaster") if condition: core_signals.can_create_object.send(self.__class__, context=user, klass=Alias) address = u"postmaster@{}".format(domain.name) alias = Alias.objects.create(address=address, domain=domain, enabled=True) alias.set_recipients([mb.full_address]) alias.post_create(user) domain.add_admin(da)
def save(self, *args, **kwargs): if not self.fields: return if not self.cleaned_data["create_dom_admin"]: return user = kwargs.pop("user") domain = kwargs.pop("domain") username = "******" % ( self.cleaned_data["dom_admin_username"], domain.name) try: da = User.objects.get(username=username) except User.DoesNotExist: pass else: raise Conflict(_("User '%s' already exists") % username) core_signals.can_create_object.send( self.__class__, context=user, klass=Mailbox) da = User(username=username, email=username, is_active=True) if self.cleaned_data["random_password"]: password = lib.make_password() else: password = param_tools.get_global_parameter( "default_password", app="core") da.set_password(password) da.save() da.role = "DomainAdmins" da.post_create(user) if self.cleaned_data["with_mailbox"]: dom_admin_username = self.cleaned_data["dom_admin_username"] mb = Mailbox( address=dom_admin_username, domain=domain, user=da, use_domain_quota=True ) mb.set_quota( override_rules=user.has_perm("admin.change_domain")) mb.save(creator=user) condition = ( domain.type == "domain" and self.cleaned_data["create_aliases"] and dom_admin_username != "postmaster" ) if condition: core_signals.can_create_object.send( self.__class__, context=user, klass=Alias) address = u"postmaster@{}".format(domain.name) alias = Alias.objects.create( address=address, domain=domain, enabled=True) alias.set_recipients([mb.full_address]) alias.post_create(user) domain.add_admin(da)
def save(self, *args, **kwargs): if not self.fields: return if self.cleaned_data["create_dom_admin"] == "no": return user = kwargs.pop("user") domain = kwargs.pop("domain") username = "******" % (self.cleaned_data["dom_admin_username"], domain.name) try: da = User.objects.get(username=username) except User.DoesNotExist: pass else: raise Conflict(_("User '%s' already exists") % username) core_signals.can_create_object.send(self.__class__, context=user, object_type="mailboxes") da = User(username=username, email=username, is_active=True) da.set_password("password") da.save() da.role = "DomainAdmins" da.post_create(user) mb = Mailbox(address=self.cleaned_data["dom_admin_username"], domain=domain, user=da, use_domain_quota=True) mb.set_quota(override_rules=user.has_perm("admin.change_domain")) mb.save(creator=user) if domain.type == "domain" and \ self.cleaned_data["create_aliases"] == "yes": core_signals.can_create_object.send(self.__class__, context=user, object_type="mailbox_aliases") alias = Alias(address=u"postmaster@{}".format(domain.name), domain=domain, enabled=True) alias.save() alias.set_recipients([mb.full_address]) alias.post_create(user) domain.add_admin(da)
def save(self, *args, **kwargs): if not self.fields: return if self.cleaned_data["create_dom_admin"] == "no": return user = kwargs.pop("user") domain = kwargs.pop("domain") username = "******" % ( self.cleaned_data["dom_admin_username"], domain.name) try: da = User.objects.get(username=username) except User.DoesNotExist: pass else: raise Conflict(_("User '%s' already exists" % username)) core_signals.can_create_object.send( self.__class__, user=user, object_type="mailboxes") da = User(username=username, email=username, is_active=True) da.set_password("password") da.save() da.role = "DomainAdmins" da.post_create(user) mb = Mailbox( address=self.cleaned_data["dom_admin_username"], domain=domain, user=da, use_domain_quota=True ) mb.set_quota( override_rules=user.has_perm("admin.change_domain")) mb.save(creator=user) if domain.type == "domain" and \ self.cleaned_data["create_aliases"] == "yes": core_signals.can_create_object.send( self.__class__, user=user, object_type="mailbox_aliases") alias = Alias( address=u"postmaster@{}".format(domain.name), domain=domain, enabled=True ) alias.save() alias.set_recipients([mb.full_address]) alias.post_create(user) domain.add_admin(da)
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)