On 18 February 2010 14:02, Alexey Kostyuk <akost...@kaluga.ru> wrote:
> Hi ALJ!
>
> Why can not you add a model 'reports' (in your example) and add the
> required permissions?
> Also you can add custom permissions[1] to any other models of your app
> and use them.
>
> [1]http://docs.djangoproject.com/en/dev/topics/auth/#id2
>
> On Thu, 2010-02-18 at 04:29 -0800, ALJ wrote:
>> Hi Alexey,
>>
>> But how do you set a permission for a view? There's no underlying
>> model to which to add the custom meta permissions.
>>
>> ALJ
>>
>> On Feb 18, 12:48 pm, Alexey Kostyuk <akost...@kaluga.ru> wrote:
>> > On Thu, 2010-02-18 at 02:30 -0800, ALJ wrote:
>> > > First project and struggling a bit.
>> >
>> > > I have some views that I want to restrict access to, depending on user
>> > > type. How do I do that?
>> >
>> > > For example, I have a 'reports' view that I only want teachers to
>> > > see ... not students. I can't see how to create a custom permission
>> > > because there is no underlying model for the view. So do I need to
>> > > create a custom user model or would it be better to just use
>> > > profiles?
>> >
>> > > :-(
>> >
>> > You can use decorator @permission_required in your views.
>> > See link[1] for details.
>> >
>> > [1]http://docs.djangoproject.com/en/dev/topics/auth/#the-permission-requ..
>> >
>> > --
>> > Alexey Kostyuk <akost...@kaluga.ru>
>>
>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To post to this group, send email to django-us...@googlegroups.com.
> To unsubscribe from this group, send email to 
> django-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/django-users?hl=en.
>
>

Permissions are defined per Model basis.

You define a permission for each Model in Models Meta class.

class UserType(models.Model):
   id = models.CharField(max_length=3, primary_key=True)
   name = models.CharField(max_length=30)

   def __unicode__(self):
       return u'%s' % (self.name)

   class Meta:
        permissions = (
            ("can_do_stuff", "Can do stuff"),
        )

After running syncdb you can assign that custom permission to some
User or Group which will then have permission "can_do_stuff" for
objects of that Model.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to