Vous n'êtes pas identifié(e).
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
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