# HG changeset patch # User verrierj # Date 1320399107 -3600 # Node ID 535ce952e51cda588038658aeb11ecfec539ef1f # Parent 39d97d561c60e846e38c6159c0deb70310a99eca Stub of html template for project creation containing a group selection diff -r 39d97d561c60 -r 535ce952e51c src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Fri Oct 28 16:45:37 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/models.py Fri Nov 04 10:31:47 2011 +0100 @@ -114,7 +114,7 @@ class Meta: ordering = ["title"] permissions = ( - ('view_content', 'View Content'), + ('view_content', 'Can view Content'), ) def natural_key(self): @@ -291,11 +291,19 @@ return locals() external_id = property(**external_id()) + +class MyManager(models.Manager): + + def get_query_set(self, *args, **kwargs): + return super(MyManager, self).get_query_set(*args, **kwargs) class SafeManager(models.Manager): - user = None - checker = None + def __init__(self, model_name): + super(SafeManager, self).__init__() + self.user = None + self.checker = None + self.model_name = model_name def check_perm_for(self, user): self.user = user @@ -312,7 +320,7 @@ if not self.has_user(): raise AttributeError("A user has to be chosen to check permissions.") - res = get_objects_for_user(self.user, 'ldt_utils.view_project') + res = get_objects_for_user(self.user, 'ldt_utils.view_%s' % self.model_name) return res @@ -335,12 +343,12 @@ state = models.IntegerField(choices=STATE_CHOICES, default=1) description = models.TextField(null=True, blank=True) objects = models.Manager() - objects_safe = SafeManager() + objects_safe = SafeManager('project') class Meta: ordering = ["title"] permissions = ( - ('view_project', 'View Project'), + ('view_project', 'Can view project'), ) @@ -393,11 +401,11 @@ project.changed_by = user.username project.state = 1 project.save() + assign('view_project', user, project) + assign('change_project', user, project) for content in contents: project.contents.add(content) project.save() - assign('view_project', user, project) - assign('change_project', user, project) return create_ldt(project, user) def copy_project(self, user, title, description=''): diff -r 39d97d561c60 -r 535ce952e51c src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Fri Oct 28 16:45:37 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Fri Nov 04 10:31:47 2011 +0100 @@ -21,32 +21,80 @@ width:390px; height: 100px; } - + + #lefttable { + float: left; + } + + #righttable { + } + + .choice { + font-weight: bold; + } + + .permission { + cursor: pointer; + text-decoration: none; + color: black; + } + + .permcol { + width: 100px; + } + {% endblock %} {% block js_declaration %} {{ block.super }} @@ -72,8 +120,9 @@ {% endblock %} {% block body %} -