0

I want to add permissions for users who are in the Employee group that in order to be able to see the view, but do not add. When I go to view with decorator I get a blank page and the code 403. I use django-guardian.

MODEL

class MyModel(models.Model):
    name = models.CharField(max_length=255, blank=True, null=True, help_text=_('Please enter name'))
    date_from = models.DateField(help_text=_('Please specify start date'))
    date_to = models.DateField(help_text=_('Please specify end date'))

    class Meta:
        verbose_name = _('MyModel')
        verbose_name_plural = _('MyModels')
        permissions = (
            ('can_view', _('Can view')),
            ('can_add', _('Can add')),
        )

    def __unicode__(self):
        return self.free_day_type

VIEW

class Add(CreateView):
    template_name = "myapp/add.html"
    model = MyModel
    form_class = MyModelInputForm
    success_url = reverse_lazy('myapp:add')

    @method_decorator(permission_required_or_403('myapp.can_view'))
    @method_decorator(permission_required_or_403('myapp.can_add_holidays'))
    def dispatch(self, *args, **kwargs):
        return super(Add, self).dispatch(*args, **kwargs)

ADMIN

from django.contrib import admin
from .models import MyModel
from guardian.admin import GuardedModelAdmin


class MyModelAdmin(GuardedModelAdmin):
    pass

admin.site.register(MyModel, MyModelAdmin)
4

0 回答 0