Interdit aux étudiants voir une annonce qui ne leur est pas autorisée
Les webmasters sont exclus de ce filtrage. fixes #5217
This commit is contained in:
parent
25ea9841d1
commit
ab8366a966
|
@ -261,7 +261,18 @@ class MesAnnonces(ProfilRechercheView, TemplateView):
|
|||
annonces_sauvegardees_actions(request)
|
||||
return super(MesAnnonces, self).get(request, *args, **kwargs)
|
||||
|
||||
class Contact(ProfilRechercheView, SingleObjectMixin, FormView):
|
||||
class ReservedAnnounceMixin(object):
|
||||
def get_queryset(self):
|
||||
qs = self.model.objects
|
||||
if socle_views.is_webmaster(self.request.user):
|
||||
return qs.all()
|
||||
else:
|
||||
# uniquement les annonces autorisées pour cet utilisateur
|
||||
return qs.filter(
|
||||
type_d_offre__in=self.request.user.type_d_offre.all()
|
||||
| models.TypeOffre.objects.filter(id=1))
|
||||
|
||||
class Contact(ReservedAnnounceMixin, ProfilRechercheView, SingleObjectMixin, FormView):
|
||||
'''Formulaire de contact des propriétaires'''
|
||||
form_class = forms.ContactAnnonceForm
|
||||
template_name = 'appli_recherche/contact.html'
|
||||
|
@ -316,7 +327,7 @@ class FiberAddendum(object):
|
|||
ctx['fiber_page'] = Page.objects.get(url__exact='recherche')
|
||||
return ctx
|
||||
|
||||
class Annonce(ProfilRechercheView, FiberAddendum, DetailView):
|
||||
class Annonce(ReservedAnnounceMixin, ProfilRechercheView, FiberAddendum, DetailView):
|
||||
template_name = 'appli_recherche/annonce-detail.html'
|
||||
model = models.Annonce
|
||||
context_object_name = "annonce"
|
||||
|
|
Reference in New Issue