# HG changeset patch # User verrierj # Date 1322479069 -3600 # Node ID fd20ce3c5fbe3ab91d91fce9cb0fac8da517d58f # Parent c6e09aec199ec2a34cd0f43456b1c03ee77a42de Project are copied in the group they are displayed in group page diff -r c6e09aec199e -r fd20ce3c5fbe src/ldt/ldt/ldt_utils/forms.py --- a/src/ldt/ldt/ldt_utils/forms.py Fri Nov 25 16:42:30 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/forms.py Mon Nov 28 12:17:49 2011 +0100 @@ -41,6 +41,7 @@ class CopyProjectForm (forms.Form): title = forms.CharField() + group = forms.IntegerField() class ContentForm(forms.ModelForm): diff -r c6e09aec199e -r fd20ce3c5fbe src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Fri Nov 25 16:42:30 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/models.py Mon Nov 28 12:17:49 2011 +0100 @@ -389,14 +389,13 @@ project.save() return create_ldt(project, user) - def copy_project(self, user, title, description=''): -# owner = Owner.objects.get(user=user) #@UndefinedVariable - owner = user - project = Project(title=title, owner=owner, description=description) + def copy_project(self, user, title, description='', group=None): + project = Project(title=title, owner=user, description=description) project = copy_ldt(self, project, user) - project.save() assign('view_project', user, project) assign('change_project', user, project) + if group: + assign('view_project', group, project) for content in self.contents.all(): project.contents.add(content) project.save() @@ -406,19 +405,28 @@ self.state = 2 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) assign('ldt_utils.view_project', everyone, self) - self.save() def unpublish(self): self.state = 1 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) remove_perm('ldt_utils.view_project', everyone, self) - self.save() def check_access(self, user): if (user and user.is_staff) or self.state == 2: return True else: - return False + return False + + def save(self): + super(Project, self).save() + + if self.state == 2: + self.publish() + elif self.state == 1: + self.unpublish() + + super(Project, self).save() + class Segment(SafeModel): diff -r c6e09aec199e -r fd20ce3c5fbe src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html Fri Nov 25 16:42:30 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html Mon Nov 28 12:17:49 2011 +0100 @@ -12,8 +12,9 @@