Django-fr

Forum

#1 06-03-2014 11:21:10

sesame
Membre
Inscription : 22-03-2011
Messages : 263

droits d'acces

bonjour

j'ai dans ma base des materiaux enregistrés avec des droits d'acces soit en acces commun soit en acces privé en fonction de qui se connecte

je souhaite afficher dans mon template que les materiaux soit en lecture libre pour tous et ceux en acces privé si seulement ces materiaux appartiennent a l'utilisateur connecté

mon model

DROITS = (
         ('lecture', 'lecture'),
         ('groupe', 'groupe'),
         ('private', 'donnees privées')
         )

class Material(models.Model):
    name = models.CharField(_('name'), max_length=50)
    description = models.TextField(_('description'), blank=True)
    slug = models.SlugField()
    category = models.ForeignKey(Category, verbose_name=_('category'))
    created = models.DateField(_("creation date"), auto_now_add=True)
    user = models.ForeignKey(User, default=None, blank= True, null = True)
    droits_acces = models.CharField(_('val_champ'), max_length=150, choices = DROITS, default= 'private' )

pour mon template j'ai commencé a faire :

{% if user.is_authenticated %}

{% if request.user.is_superuser %}

  {% for mat in mat_list %}
  <ul>
   
<li class="open" ><span class="file"><a href="{{ mat.get_absolute_url }}">{{ mat }}</a> </span>
</ul>
  {% endfor %}

{% else %}  {# *************** restrictive access ********************* #}

..........
..........

{% endif %}

{% endif %}

comment peut on acceder aux droits d'acces ?
il s'agit pas des permissions liées a l'admin

Hors ligne

#2 07-03-2014 07:53:18

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : droits d'acces

C'est à faire dans la vue et non dans le template. Il faut écrire la requête qui permet d'avoir les matériaux publiques et ceux que l'utilisateur a le droit de voir.

Hors ligne

Pied de page des forums