Beispiel #1
0
    def test_project_admins_can_delete_subprojects_that_they_are_not_admin_of(self):
        self.project.users.add(self.user)
        self.assertFalse(AdminPermission.is_admin(self.user, self.subproject))

        response = self.client.get('/dashboard/my-mainproject/subprojects/delete/my-subproject/')
        self.assertEqual(response.status_code, 302)
        self.assertTrue(self.subproject not in [r.child for r in self.project.subprojects.all()])
    def test_project_admins_can_delete_subprojects_that_they_are_not_admin_of(self):
        self.project.users.add(self.user)
        self.assertFalse(AdminPermission.is_admin(self.user, self.subproject))

        response = self.client.get('/dashboard/my-mainproject/subprojects/delete/my-subproject/')
        self.assertEqual(response.status_code, 302)
        self.assertTrue(self.subproject not in [r.child for r in self.project.subprojects.all()])
Beispiel #3
0
 def clean_subproject(self):
     subproject_name = self.cleaned_data['subproject']
     subproject_qs = Project.objects.filter(slug=subproject_name)
     if not subproject_qs.exists():
         raise forms.ValidationError((_("Project %(name)s does not exist")
                                      % {'name': subproject_name}))
     subproject = subproject_qs.first()
     if not AdminPermission.is_admin(self.user, subproject):
         raise forms.ValidationError(_(
             'You need to be admin of {name} in order to add it as '
             'a subproject.'.format(name=subproject_name)))
     return subproject
Beispiel #4
0
 def clean_subproject(self):
     subproject_name = self.cleaned_data['subproject']
     subproject_qs = Project.objects.filter(slug=subproject_name)
     if not subproject_qs.exists():
         raise forms.ValidationError(
             (_("Project %(name)s does not exist") % {
                 'name': subproject_name
             }))
     subproject = subproject_qs.first()
     if not AdminPermission.is_admin(self.user, subproject):
         raise forms.ValidationError(
             _('You need to be admin of {name} in order to add it as '
               'a subproject.'.format(name=subproject_name)))
     return subproject
Beispiel #5
0
    def clean_subproject(self):
        """Normalize subproject field

        Does lookup on against :py:cls:`Project` to ensure matching project
        exists. Return the :py:cls:`Project` object instead.
        """
        subproject_name = self.cleaned_data['subproject']
        subproject_qs = Project.objects.filter(slug=subproject_name)
        if not subproject_qs.exists():
            raise forms.ValidationError((_("Project %(name)s does not exist")
                                         % {'name': subproject_name}))
        subproject = subproject_qs.first()
        if not AdminPermission.is_admin(self.user, subproject):
            raise forms.ValidationError(_(
                'You need to be admin of {name} in order to add it as '
                'a subproject.'.format(name=subproject_name)))
        return subproject
Beispiel #6
0
    def clean_subproject(self):
        """Normalize subproject field

        Does lookup on against :py:class:`Project` to ensure matching project
        exists. Return the :py:class:`Project` object instead.
        """
        subproject_name = self.cleaned_data['subproject']
        subproject_qs = Project.objects.filter(slug=subproject_name)
        if not subproject_qs.exists():
            raise forms.ValidationError((_("Project %(name)s does not exist")
                                         % {'name': subproject_name}))
        subproject = subproject_qs.first()
        if not AdminPermission.is_admin(self.user, subproject):
            raise forms.ValidationError(_(
                'You need to be admin of {name} in order to add it as '
                'a subproject.'.format(name=subproject_name)))
        return subproject