Exemplo n.º 1
0
class UserProfileDetailShow(UserProfileOneToOne, OneToOneDetailShow):
    one_fields = ('username', 'first_name', 'last_name', 'email')
    two_fields = ('flat', 'picture')
    one_img_fields = None
    two_img_fields = ('picture', )
    template_name = 'koop_adm_user_prof.html'
    FormOne = None
    FormTwo = None

    @method_decorator(
        author_or_permission_required(UserProfile,
                                      'koopsite.view_userprofile'))
    def dispatch(self, request, *args, **kwargs):
        return super().dispatch(request, *args, **kwargs)

    def get_obj(self, instance, fields):
        obj = []
        for k in fields:
            t = instance._meta.get_field(k).get_internal_type()
            n = instance._meta.get_field(k).verbose_name.capitalize()
            # if instance._meta.model_name == 'user':
            #     n = user_verbose_names_uk.get(k, n)
            v = getattr(instance, k)
            obj.append((k, n, v))
        return obj
Exemplo n.º 2
0
    def test_author_or_permission_required_User_1_Permission_True(self):
        view_func = self.view_func

        decorated = author_or_permission_required(self.model, self.perm)

        self.assertEqual(view_func(0), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='1'), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='2'), 'passed')
Exemplo n.º 3
0
    def test_author_or_permission_required_User_1_Permission_True(self):
        view_func = self.view_func

        decorated = author_or_permission_required(self.model, self.perm)

        self.assertEqual(view_func(0), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='1'), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='2'), 'passed')
Exemplo n.º 4
0
    def test_author_or_permission_required_User_1_Perm_False(self):
        view_func = self.view_func

        self.user.has_perms.return_value = False

        decorated = author_or_permission_required(self.model, self.perm)

        self.assertEqual(view_func(0), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='1'), 'passed')
        self.assertEqual(type(decorated(view_func)(self.request, pk='2')), HttpResponseRedirect)
Exemplo n.º 5
0
    def test_author_or_permission_required_User_1_Perm_False(self):
        view_func = self.view_func

        self.user.has_perms.return_value = False

        decorated = author_or_permission_required(self.model, self.perm)

        self.assertEqual(view_func(0), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='1'), 'passed')
        self.assertEqual(type(decorated(view_func)(self.request, pk='2')),
                         HttpResponseRedirect)
Exemplo n.º 6
0
    def test_author_or_permission_required_UserProfile_Perm_False(self):
        view_func = self.view_func

        self.user.has_perms.return_value = False

        DummyUser().create_dummy_profile(self.user, id=3)
        DummyUser().create_dummy_profile(self.user2, id=4)

        decorated = author_or_permission_required(UserProfile, "")

        self.assertEqual(view_func(0), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='3'), 'passed')
        self.assertEqual(type(decorated(view_func)(self.request, pk='4')), HttpResponseRedirect)
Exemplo n.º 7
0
    def test_author_or_permission_required_UserProfile_Perm_False(self):
        view_func = self.view_func

        self.user.has_perms.return_value = False

        DummyUser().create_dummy_profile(self.user, id=3)
        DummyUser().create_dummy_profile(self.user2, id=4)

        decorated = author_or_permission_required(UserProfile, "")

        self.assertEqual(view_func(0), 'passed')
        self.assertEqual(decorated(view_func)(self.request, pk='3'), 'passed')
        self.assertEqual(type(decorated(view_func)(self.request, pk='4')),
                         HttpResponseRedirect)
Exemplo n.º 8
0
class AjaxReportDelete(AjaxTableRowViewBase):
    # Перейменовуємо обрану теку у відомій теці з доп. AJAX

    @method_decorator(author_or_permission_required(Report, 'folders.delete_report', raise_exception=True))
    def dispatch(self, request, *args, **kwargs):
        return super().dispatch(request, *args, **kwargs)

    def processing(self, report, rqst, msg):
        # Умови при яких зміни не відбудуться:
        if False: # перевірка відбувається раніше декоратором
            msg.title   = rqst.name
            msg.type    = msgType.Forbidden
            msg.message = "У Вас немає доступу для видалення обраного файла."
        else:
            # Робимо зміни:
            report.file.delete()    # файл видалено з диска
            report.delete()         # файл видалено з бази даних
            msg.title   = rqst.name
            msg.type    = msgType.DeleteRow
            msg.message = "Файл видалено!"
        return None, msg