def test_get_subjectadmin_no_access(self):
        # Subjectadmin does not have access to view when the user is not subjectadmin for that perdiod
        subject1 = mommy.make('core.Subject')
        subject2 = mommy.make('core.Subject')
        admin = mommy.make(settings.AUTH_USER_MODEL)
        permissiongroup = mommy.make('devilry_account.SubjectPermissionGroup',
                                     permissiongroup__grouptype=account_models.
                                     PermissionGroup.GROUPTYPE_SUBJECTADMIN,
                                     subject=subject2)
        mommy.make('devilry_account.PermissionGroupUser',
                   user=admin,
                   permissiongroup=permissiongroup.permissiongroup)

        testgroup = mommy.make('core.AssignmentGroup',
                               parentnode__parentnode__parentnode=subject1)

        mockrequest = mock.MagicMock()
        mockrequest.user = admin
        mockrequest.cradmin_role = testgroup
        crinstance = crinstance_admin.AdminCrInstance(request=mockrequest)

        with self.assertRaises(Http404):
            self.mock_getrequest(cradmin_role=testgroup,
                                 cradmin_instance=crinstance)
        self.assertEquals(1, group_models.FeedbackSet.objects.count())
Exemplo n.º 2
0
    def test_getrolequeryset_not_admin_on_subject(self):
        testassignment_another = mommy.make('core.Assignment')
        testgroup_another = mommy.make('core.AssignmentGroup',
                                       parentnode=testassignment_another)
        subjectpermissiongroup_another = mommy.make(
            'devilry_account.SubjectPermissionGroup',
            subject=testassignment_another.subject)
        testuser_another = mommy.make(settings.AUTH_USER_MODEL)
        mommy.make(
            'devilry_account.PermissionGroupUser',
            user=testuser_another,
            permissiongroup=subjectpermissiongroup_another.permissiongroup)

        testassignment = mommy.make('core.Assignment')
        mommy.make('core.AssignmentGroup', parentnode=testassignment)
        subjectpermissiongroup = mommy.make(
            'devilry_account.SubjectPermissionGroup',
            subject=testassignment.subject)
        testuser = mommy.make(settings.AUTH_USER_MODEL)
        mommy.make('devilry_account.PermissionGroupUser',
                   user=testuser,
                   permissiongroup=subjectpermissiongroup.permissiongroup)
        mockrequest = mock.MagicMock()
        mockrequest.user = testuser
        instance = crinstance_admin.AdminCrInstance(request=mockrequest)
        self.assertNotEquals([testgroup_another],
                             list(instance.get_rolequeryset()))
Exemplo n.º 3
0
 def test_get_rolequeryset_not_superuser(self):
     mommy.make('core.AssignmentGroup',
                parentnode=mommy.make('core.Assignment'))
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     mockrequest = mock.MagicMock()
     mockrequest.user = testuser
     instance = crinstance_admin.AdminCrInstance(request=mockrequest)
     self.assertEqual([], list(instance.get_rolequeryset()))
Exemplo n.º 4
0
 def test_getrolequeryset_admin_on_period(self):
     testassignment = mommy.make('core.Assignment')
     testgroup = mommy.make('core.AssignmentGroup',
                            parentnode=testassignment)
     periodpermissiongroup = mommy.make(
         'devilry_account.PeriodPermissionGroup',
         period=testassignment.period)
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     mommy.make('devilry_account.PermissionGroupUser',
                user=testuser,
                permissiongroup=periodpermissiongroup.permissiongroup)
     mockrequest = mock.MagicMock()
     mockrequest.user = testuser
     instance = crinstance_admin.AdminCrInstance(request=mockrequest)
     self.assertEquals([testgroup], list(instance.get_rolequeryset()))
Exemplo n.º 5
0
 def test_admin_devilryrole_subjectadmin(self):
     testsubject = mommy.make('core.Subject')
     testgroup = mommy.make('core.AssignmentGroup',
                            parentnode__parentnode__parentnode=testsubject)
     testuser = mommy.make(settings.AUTH_USER_MODEL,
                           shortname='thor',
                           fullname='Thor Thunder God')
     mommy.make('devilry_account.PermissionGroupUser',
                user=testuser,
                permissiongroup=mommy.make(
                    'devilry_account.SubjectPermissionGroup',
                    permissiongroup__grouptype=account_models.
                    PermissionGroup.GROUPTYPE_SUBJECTADMIN,
                    subject=testsubject).permissiongroup)
     mockrequest = mock.MagicMock()
     mockrequest.user = testuser
     mockrequest.cradmin_role = testgroup
     testinstance = crinstance_admin.AdminCrInstance(request=mockrequest)
     self.assertEquals('subjectadmin',
                       testinstance.get_devilryrole_for_requestuser())