src/ldt/ldt/security/command.py
changeset 1357 dd3b4c9d5035
parent 1238 ffa5e70f643f
equal deleted inserted replaced
1356:0c03dba0c515 1357:dd3b4c9d5035
     1 from django.conf import settings
     1 from django.conf import settings
     2 from django.contrib.auth import get_user_model
     2 from django.contrib.auth import get_user_model
     3 from django.contrib.auth.models import Group
     3 from django.contrib.auth.models import Group
     4 from guardian.shortcuts import assign, remove_perm
     4 from guardian.shortcuts import assign_perm, remove_perm
     5 from ldt.ldt_utils.models import Project, Content
     5 from ldt.ldt_utils.models import Project, Content
     6 from ldt.management.utils import show_progress
     6 from ldt.management.utils import show_progress
     7 
     7 
     8 User = get_user_model()
     8 User = get_user_model()
     9 
     9 
    30         total = list_model['Project'].objects.count()
    30         total = list_model['Project'].objects.count()
    31         
    31         
    32     for i, proj in enumerate(list_model['Project'].objects.all()):
    32     for i, proj in enumerate(list_model['Project'].objects.all()):
    33         
    33         
    34         if proj.state == 2:
    34         if proj.state == 2:
    35             assign('ldt_utils.view_project', everyone, proj)
    35             assign_perm('ldt_utils.view_project', everyone, proj)
    36         else:
    36         else:
    37             remove_perm('ldt_utils.view_project', everyone, proj)
    37             remove_perm('ldt_utils.view_project', everyone, proj)
    38         
    38         
    39         assign('ldt_utils.view_project', proj.owner, proj)
    39         assign_perm('ldt_utils.view_project', proj.owner, proj)
    40         assign('ldt_utils.change_project', proj.owner, proj)            
    40         assign_perm('ldt_utils.change_project', proj.owner, proj)            
    41             
    41             
    42         if verbose:
    42         if verbose:
    43             writer = show_progress(i, total, "Assign permissions to projects", 40, writer)
    43             writer = show_progress(i, total, "Assign permissions to projects", 40, writer)
    44         
    44         
    45     for published_proj in list_model['Project'].objects.filter(state=2):
    45     for published_proj in list_model['Project'].objects.filter(state=2):
    46         assign('ldt_utils.view_project', everyone, published_proj)
    46         assign_perm('ldt_utils.view_project', everyone, published_proj)
    47     
    47     
    48     if verbose:    
    48     if verbose:    
    49         writer = None
    49         writer = None
    50         total = list_model['User'].objects.count()
    50         total = list_model['User'].objects.count()
    51         
    51         
    54         if verbose:
    54         if verbose:
    55             writer = show_progress(i, total, "Assign permissions to groups", 40, writer)         
    55             writer = show_progress(i, total, "Assign permissions to groups", 40, writer)         
    56           
    56           
    57         for group in user.groups.exclude(name=settings.PUBLIC_GROUP_NAME):
    57         for group in user.groups.exclude(name=settings.PUBLIC_GROUP_NAME):
    58             for proj in list_model['Project'].objects.filter(owner=user):
    58             for proj in list_model['Project'].objects.filter(owner=user):
    59                 assign('ldt_utils.view_project', group, proj)
    59                 assign_perm('ldt_utils.view_project', group, proj)
    60             
    60             
    61         for content in list_model['Content'].objects.all():
    61         for content in list_model['Content'].objects.all():
    62             if user.has_perm('view_content', content):
    62             if user.has_perm('view_content', content):
    63                 assign('ldt_utils.view_media', user, content.media_obj)
    63                 assign_perm('ldt_utils.view_media', user, content.media_obj)
    64     
    64     
    65                 
    65                 
    66     for admin in list_model['User'].objects.filter(is_superuser=True):
    66     for admin in list_model['User'].objects.filter(is_superuser=True):
    67         for g in list_model['Group'].objects.all():
    67         for g in list_model['Group'].objects.all():
    68             admin.groups.add(g)
    68             admin.groups.add(g)