mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
@@ -40,10 +40,10 @@ class Limits(ModoExtension):
|
||||
|
||||
ct = ContentType.objects.get_for_model(Domain)
|
||||
add_permissions_to_group(
|
||||
"Resellers", [("admin", "view_domains"),
|
||||
("admin", "add_domain"),
|
||||
("admin", "change_domain"),
|
||||
("admin", "delete_domain")]
|
||||
"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'):
|
||||
|
||||
@@ -17,12 +17,13 @@ def init_limits_dependant_features():
|
||||
We mainly define extra permissions.
|
||||
"""
|
||||
add_permissions_to_group(
|
||||
"Resellers", [("radicale", "add_usercalendar"),
|
||||
("radicale", "change_usercalendar"),
|
||||
("radicale", "delete_usercalendar"),
|
||||
("radicale", "add_sharedcalendar"),
|
||||
("radicale", "change_sharedcalendar"),
|
||||
("radicale", "delete_sharedcalendar")]
|
||||
"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")]
|
||||
)
|
||||
|
||||
|
||||
@@ -40,12 +41,13 @@ class Radicale(ModoExtension):
|
||||
"""Plugin initialization.
|
||||
"""
|
||||
add_permissions_to_group(
|
||||
"DomainAdmins", [("radicale", "add_usercalendar"),
|
||||
("radicale", "change_usercalendar"),
|
||||
("radicale", "delete_usercalendar"),
|
||||
("radicale", "add_sharedcalendar"),
|
||||
("radicale", "change_sharedcalendar"),
|
||||
("radicale", "delete_sharedcalendar")]
|
||||
"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()
|
||||
|
||||
@@ -153,9 +153,9 @@ def add_permissions_to_group(groupname, permissions):
|
||||
from django.contrib.auth.models import Group, Permission
|
||||
|
||||
grp = Group.objects.get(name=groupname)
|
||||
for appname, permname in permissions:
|
||||
for appname, modelname, permname in permissions:
|
||||
ct = ContentType.objects.get_by_natural_key(
|
||||
appname, permname.split("_")[1])
|
||||
appname, modelname)
|
||||
grp.permissions.add(
|
||||
Permission.objects.get(content_type=ct, codename=permname)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user