From 68fdea2618158ed52f277071c30016f69780937d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Kervella?= Date: Mon, 11 Dec 2017 21:02:32 +0000 Subject: [PATCH] can_view for topo + can_xxx_all everywhere --- cotisations/models.py | 67 ++++++++++ machines/models.py | 216 ++++++++++++++++++++++++++++++++- preferences/models.py | 78 ++++++++++++ re2o/templates/re2o/index.html | 2 +- topologie/models.py | 123 ++++++++++++++++++- users/models.py | 93 ++++++++++++++ 6 files changed, 576 insertions(+), 3 deletions(-) diff --git a/cotisations/models.py b/cotisations/models.py index a384b030..672e55ff 100644 --- a/cotisations/models.py +++ b/cotisations/models.py @@ -110,6 +110,11 @@ class Facture(models.Model): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de créer des factures" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit d'éditer les factures" + return None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)): return False, u"Vous n'avez pas le droit d'éditer les factures" @@ -120,6 +125,11 @@ class Facture(models.Model): else: return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de supprimer une facture" + return None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)): return False, u"Vous n'avez pas le droit de supprimer une facture" @@ -129,6 +139,9 @@ class Facture(models.Model): else: return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and\ self.user != user_request: @@ -241,12 +254,21 @@ class Vente(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): return True, None @@ -333,14 +355,26 @@ class Article(models.Model): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit d'ajouter des articles" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ + droit d'éditer des articles" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit d'éditer des articles" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ + droit de supprimer des articles" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit de supprimer des articles" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit de voir des articles" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de voir des articles" @@ -362,14 +396,26 @@ class Banque(models.Model): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit d'ajouter des banques" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ + droit d'éditer des banques" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit d'éditer des banques" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ + droit de supprimer des banques" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit de supprimer des banques" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit de voir des banques" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de voir des banques" @@ -396,14 +442,26 @@ class Paiement(models.Model): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit d'ajouter des paiements" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ + droit d'éditer des paiements" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit d'éditer des paiements" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ + droit de supprimer des paiements" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('tresorier',)), u"Vous n'avez pas le\ droit de supprimer des paiements" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit de voir des paiements" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de voir des paiements" @@ -446,12 +504,21 @@ class Cotisation(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): return True, None diff --git a/machines/models.py b/machines/models.py index cafc1ea4..5b139041 100644 --- a/machines/models.py +++ b/machines/models.py @@ -75,15 +75,24 @@ class Machine(models.Model): % max_lambdauser_interfaces return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and self.user != user_request: return False, u"Vous ne pouvez pas éditer une machine d'un autre user\ que vous sans droit" return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and self.user != user_request: return False, u"Vous n'avez pas droit de voir les machines autre\ @@ -117,16 +126,30 @@ class MachineType(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un type de machine" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des types de machine" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des types de machine" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer des types de machines" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer des types de machines" return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les types de machines" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les types de machines" @@ -248,15 +271,28 @@ class IpType(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un type d'ip" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des types d'ip" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des types d'ip" return True, None - def can_delete(user_request, *args, **kwargs): + def can_delete_all(user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer un type d'ip" + def can_delete(self, user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer un type d'ip" + + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les types d'ip" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les types d'ip" @@ -281,15 +317,28 @@ class Vlan(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un vlan" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des vlans" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des vlans" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de suprimer un vlan" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de suprimer un vlan" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les vlans" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les vlans" @@ -335,15 +384,28 @@ class Nas(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un nas" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des nas" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des nas" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer un nas" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer un nas" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les nas" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les nas" @@ -391,15 +453,28 @@ class SOA(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un enregistrement SOA" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des enregistrements SOA" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrements SOA" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer des enregistrements SOA" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer des enregistrements SOA" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les enreistrement SOA" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les enreistrement SOA" @@ -493,15 +568,28 @@ class Extension(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer une extension" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des extensions" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des extensions" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer des extension" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer des extension" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les extensions" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les extensions" @@ -538,15 +626,28 @@ class Mx(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un enregistrement MX" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des enregstrements MX" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregstrements MX" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer un enregistrement MX" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer un enregistrement MX" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les enregistrements MX" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les enregistrements MX" @@ -574,15 +675,28 @@ class Ns(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un enregistrement NS" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des enregistrements NS" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrements NS" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer un enregistrement NS" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer un enregistrement NS" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les enregistrements NS" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les enregistrements NS" @@ -606,15 +720,28 @@ class Txt(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un enregistrement TXT" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des enregistrement TXT" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrement TXT" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer des enregistrements TXT" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer des enregistrements TXT" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les enregistrements TXT" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les enregistrements TXT" @@ -679,15 +806,28 @@ class Srv(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un enregistrement SRV" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des enregistrements SRV" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrements SRV" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer un enregistrement SRV" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer un enregistrement SRV" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les enregistrements SRV" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les enregistrements SRV" @@ -829,6 +969,9 @@ class Interface(models.Model): % max_lambdauser_interfaces return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)) and \ not user_request.has_perms(('cableur',)) and \ @@ -837,12 +980,18 @@ class Interface(models.Model): d'un autre user que vous sans droit" return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and self.machine.user != user_request: return False, u"Vous ne pouvez pas éditer une machine d'un autre\ user que vous sans droit" return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if user_request.has_perms(('cableur',)) and self.machine.user != user_request: return False, u"Vous n'avez pas le droit de voir des machines autre\ @@ -972,6 +1121,9 @@ class Domain(models.Model): % max_lambdauser_aliases return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and ( self.cname is None or \ @@ -981,12 +1133,18 @@ class Domain(models.Model): d'un autre user que vous sans droit" return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and self.machine.user != user_request: return False, u"Vous ne pouvez pas supprimer un alias à une machine\ d'un autre user que vous sans droit" return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if user_request.has_perms(('cableur',)) and self.machine.user != user_request: return False, u"Vous n'avez pas le droit de voir des machines autre\ @@ -1026,12 +1184,21 @@ class IpList(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): return True, None @@ -1082,15 +1249,28 @@ class Service(models.Model): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de créer un service" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des services" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des services" return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ + de supprimer un service" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit\ de supprimer un service" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir des services" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir des services" @@ -1141,12 +1321,22 @@ class Service_link(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir des liens de services" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir des liens de services" @@ -1171,11 +1361,22 @@ class OuverturePortList(models.Model): return user_request.has_perms(('bureau',)) , u"Vous n'avez pas le droit\ d'ouvrir un port" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('bureau',)): + return False, u"Vous n'avez pas le droit d'éditer des ouvertures de port" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('bureau',)): return False, u"Vous n'avez pas le droit d'éditer des ouvertures de port" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('bureau',)): + return False, u"Vous n'avez pas le droit de supprimer une ouverture\ + de port" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('bureau',)): return False, u"Vous n'avez pas le droit de supprimer une ouverture\ @@ -1184,6 +1385,10 @@ class OuverturePortList(models.Model): return False, u"Cette liste de ports est utilisée" return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir des ouverture de ports" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir des ouverture de ports" @@ -1264,12 +1469,21 @@ class OuverturePort(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): return True, None diff --git a/preferences/models.py b/preferences/models.py index a24cf9de..12cc3696 100644 --- a/preferences/models.py +++ b/preferences/models.py @@ -53,13 +53,24 @@ class OptionalUser(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les préférences concernant les users" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les préférences concernant les users" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les préférences concernant les utilisateurs" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les préférences concernant les utilisateurs" @@ -86,13 +97,24 @@ class OptionalMachine(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les préférences concernant les machines" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les préférences concernant les machines" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les préférences concernant les machines" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les préférences concernant les machines" @@ -136,13 +158,24 @@ class OptionalTopologie(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les préférences concernant la topologie" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les préférences concernant la topologie" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les préférences concernant la topologie" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les préférences concernant la topologie" @@ -171,13 +204,24 @@ class GeneralOption(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les préférences générales" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les préférences générales" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les préférences générales" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les préférences générales" @@ -198,14 +242,26 @@ class Service(models.Model): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ de créer un service pour la page d'accueil" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les services pour la page d'accueil" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les services pour la page d'accueil" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + de supprimer les services pour la page d'accueil" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ de supprimer les services pour la page d'accueil" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les services pour la page d'accueil" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les services pour la page d'accueil" @@ -241,13 +297,24 @@ class AssoOption(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les préférences concernant l'association" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les préférences concernant l'association" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les préférences concernant l'association" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les préférences concernant l'association" @@ -266,13 +333,24 @@ class MailMessageOption(models.Model): def can_create(user_request, *args, **kwargs): return True, None + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ + d'éditer les préférences concernant les mails" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('admin',)), u"Vous n'avez pas le droit\ d'éditer les préférences concernant les mails" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les préférences concernant les mails" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les préférences concernant les mails" diff --git a/re2o/templates/re2o/index.html b/re2o/templates/re2o/index.html index 477c64e2..877faf10 100644 --- a/re2o/templates/re2o/index.html +++ b/re2o/templates/re2o/index.html @@ -29,7 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% block title %}Accueil{% endblock %} {% block content %} -

Bienvenue sur {{ site_name }} !

+

Bienvenue sur {{ request.get_host }} !

{% for service_list in services_urls %} diff --git a/topologie/models.py b/topologie/models.py index ac993e0b..686cce5b 100644 --- a/topologie/models.py +++ b/topologie/models.py @@ -67,16 +67,36 @@ class Stack(models.Model): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un stack" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des stack" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des stack" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer une stack" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer une stack" return True, None - + + def can_view_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de voir une stack" + return True, None + + def can_view(self, user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de voir une stack" + return True, None + def __str__(self): return " ".join([self.name, self.stack_id]) @@ -138,15 +158,35 @@ class Switch(models.Model): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un switch" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des switch" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des switch" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer un switch" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer un switch" return True, None + + def can_view_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de coir les switch" + return True, None + + def can_view(self, user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de coir les switch" + return True, None def __str__(self): return self.location + ' ' + str(self.switch_interface) @@ -213,10 +253,30 @@ class ModelSwitch(models.Model): return False, u"Vous n'avez pas le droit d'éditer des modèle de switchs" return True, None + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des modèle de switchs" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer un modèle switch" return True, None + + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer un modèle switch" + return True, None + + def can_view(self, user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir un modèle switch" + return True, None + + def can_view_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir un modèle switch" + return True, None def __str__(self): return str(self.constructor) + ' ' + self.reference @@ -234,16 +294,37 @@ class ConstructorSwitch(models.Model): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un constructeur de switch" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des\ + constructeurs de switchs" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des\ constructeurs de switchs" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer un constructeur" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer un constructeur" return True, None + + def can_view_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir un constructeur" + return True, None + + def can_view(self, user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir un constructeur" + return True, None def __str__(self): return self.name @@ -322,15 +403,35 @@ class Port(models.Model): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un port" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer des ports" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des ports" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer un port" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer un port" return True, None + + def can_view_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir les ports" + return True, None + + def can_view(self, user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir les ports" + return True, None def make_port_related(self): """ Synchronise le port distant sur self""" @@ -393,16 +494,36 @@ class Room(models.Model): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer une chambre" + def can_edit_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit d'éditer une chambre" + return True, None + def can_edit(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer une chambre" return True, None + def can_delete_all(user_request, *args, **kwargs): + if not user_request.has_perms(('infra',)): + return False, u"Vous n'avez pas le droit de supprimer une chambre" + return True, None + def can_delete(self, user_request, *args, **kwargs): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit de supprimer une chambre" return True, None + def can_view_all(user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir les chambres" + return True, None + + def can_view(self, user_request, *args, **kwargs): + if not user_request.has_perms(('cableur',)): + return False, u"Vous n'avez pas le droit de voir les chambres" + return True, None + def __str__(self): return self.name diff --git a/users/models.py b/users/models.py index 814f274c..5c017fba 100644 --- a/users/models.py +++ b/users/models.py @@ -773,6 +773,9 @@ class User(AbstractBaseUser): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de créer un utilisateur" + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): if self.is_class_club and user_request.is_class_adherent: if self == user_request or user_request.has_perms(('cableur',)) or\ @@ -786,9 +789,15 @@ class User(AbstractBaseUser): else: return False, u"Vous ne pouvez éditer un autre utilisateur que vous même" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if self.is_class_club and user_request.is_class_adherent: if self == user_request or user_request.has_perms(('cableur',)) or\ @@ -829,15 +838,24 @@ class Adherent(User): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de créer un adherent" + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): if self == user_request or user_request.has_perms(('cableur',)): return True, None else: return False, u"Vous ne pouvez éditer un autre utilisateur que vous même" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if self == user_request or user_request.has_perms(('cableur',)): return True, None @@ -877,6 +895,9 @@ class Club(User): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de créer un club" + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): if self == user_request or user_request.has_perms(('cableur',)) or\ user_request.adherent in self.administrators.all(): @@ -884,9 +905,15 @@ class Club(User): else: return False, u"Vous n'avez pas le droit d'éditer ce club" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if self == user_request or user_request.has_perms(('cableur',)) or\ user_request.adherent in self.administrators.all() or\ @@ -992,14 +1019,26 @@ class ServiceUser(AbstractBaseUser): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit de\ créer un service user" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit d'éditer\ + les services users" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit d'éditer\ les services users" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit de\ + supprimer un service user" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('infra',)), u"Vous n'avez pas le droit de\ supprimer un service user" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit de\ + voir un service user" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit de\ voir un service user" @@ -1040,13 +1079,23 @@ class Right(models.Model): return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit de\ créer des droits" + def can_edit_all(user_request, *args, **kwargs): + return True, None + def can_edit(self, user_request, *args, **kwargs): return True, None + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit de\ + supprimer des droits" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit de\ supprimer des droits" + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): return True, None @@ -1081,14 +1130,26 @@ class School(models.Model): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de créer des écoles" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit d'éditer des écoles" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit d'éditer des écoles" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit de supprimer des écoles" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de supprimer des écoles" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit de voir les écoles" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de voir les écoles" @@ -1128,14 +1189,26 @@ class ListRight(models.Model): return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit\ de créer des groupes de droits" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit\ + d'éditer des groupes de droits" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit\ d'éditer des groupes de droits" + def can_delete_all(user_request, *args, **kwargs): + return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit\ + de supprimer des groupes de droits" + def can_delete(self, user_request, *args, **kwargs): return user_request.has_perms(('bureau',)), u"Vous n'avez pas le droit\ de supprimer des groupes de droits" + def can_view_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ + de voir les groupes de droits" + def can_view(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le droit\ de voir les groupes de droits" @@ -1239,13 +1312,23 @@ class Ban(models.Model): return user_request.has_perms(('bofh',)), u"Vous n'avez pas le droit de\ créer des bannissements" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('bofh',)), u"Vous n'avez pas le droit\ + d'éditer des bannissements" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('bofh',)), u"Vous n'avez pas le droit\ d'éditer des bannissements" + def can_delete_all(self, user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and\ self.user != user_request: @@ -1306,13 +1389,23 @@ class Whitelist(models.Model): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit de créer des accès gracieux" + def can_edit_all(user_request, *args, **kwargs): + return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ + droit d'éditer des accès gracieux" + def can_edit(self, user_request, *args, **kwargs): return user_request.has_perms(('cableur',)), u"Vous n'avez pas le\ droit d'éditer des accès gracieux" + def can_delete_all(user_request, *args, **kwargs): + return True, None + def can_delete(self, user_request, *args, **kwargs): return True, None + def can_view_all(user_request, *args, **kwargs): + return True, None + def can_view(self, user_request, *args, **kwargs): if not user_request.has_perms(('cableur',)) and\ self.user != user_request: