From 39d7bc638df11fdbbf8ab5684142f052b2cf3808 Mon Sep 17 00:00:00 2001 From: Gabriel Detraz Date: Sun, 31 Dec 2017 17:43:38 +0100 Subject: [PATCH] =?UTF-8?q?Nouveau=20syst=C3=A8me=20d'acl=20sur=20topologi?= =?UTF-8?q?e=20+=20migrations=20de=20cotisations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0028_auto_20171231_0007.py | 39 +++++++++ .../migrations/0033_auto_20171231_1743.py | 39 +++++++++ topologie/models.py | 84 ++++++++++++------- 3 files changed, 132 insertions(+), 30 deletions(-) create mode 100644 cotisations/migrations/0028_auto_20171231_0007.py create mode 100644 topologie/migrations/0033_auto_20171231_1743.py diff --git a/cotisations/migrations/0028_auto_20171231_0007.py b/cotisations/migrations/0028_auto_20171231_0007.py new file mode 100644 index 00000000..0d492489 --- /dev/null +++ b/cotisations/migrations/0028_auto_20171231_0007.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2017-12-30 23:07 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('cotisations', '0027_auto_20171029_1156'), + ] + + operations = [ + migrations.AlterModelOptions( + name='article', + options={'permissions': (('view_article', 'Peut voir un objet article'),)}, + ), + migrations.AlterModelOptions( + name='banque', + options={'permissions': (('view_banque', 'Peut voir un objet banque'),)}, + ), + migrations.AlterModelOptions( + name='cotisation', + options={'permissions': (('view_cotisation', 'Peut voir un objet cotisation'), ('change_all_cotisation', 'Superdroit, peut modifier toutes les cotisations'))}, + ), + migrations.AlterModelOptions( + name='facture', + options={'permissions': (('change_facture_control', "Peut changer l'etat de controle"), ('change_facture_pdf', 'Peut éditer une facture pdf'), ('view_facture', 'Peut voir un objet facture'), ('change_all_facture', 'Superdroit, peut modifier toutes les factures'))}, + ), + migrations.AlterModelOptions( + name='paiement', + options={'permissions': (('view_paiement', 'Peut voir un objet paiement'),)}, + ), + migrations.AlterModelOptions( + name='vente', + options={'permissions': (('view_vente', 'Peut voir un objet vente'), ('change_all_vente', 'Superdroit, peut modifier toutes les ventes'))}, + ), + ] diff --git a/topologie/migrations/0033_auto_20171231_1743.py b/topologie/migrations/0033_auto_20171231_1743.py new file mode 100644 index 00000000..c79412d7 --- /dev/null +++ b/topologie/migrations/0033_auto_20171231_1743.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2017-12-31 16:43 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('topologie', '0032_auto_20171026_0338'), + ] + + operations = [ + migrations.AlterModelOptions( + name='constructorswitch', + options={'permissions': (('view_constructorswitch', 'Peut voir un objet constructorswitch'),)}, + ), + migrations.AlterModelOptions( + name='modelswitch', + options={'permissions': (('view_modelswitch', 'Peut voir un objet modelswitch'),)}, + ), + migrations.AlterModelOptions( + name='port', + options={'permissions': (('view_port', 'Peut voir un objet port'),)}, + ), + migrations.AlterModelOptions( + name='room', + options={'ordering': ['name'], 'permissions': (('view_room', 'Peut voir un objet chambre'),)}, + ), + migrations.AlterModelOptions( + name='stack', + options={'permissions': (('view_stack', 'Peut voir un objet stack'),)}, + ), + migrations.AlterModelOptions( + name='switch', + options={'permissions': (('view_switch', 'Peut voir un objet switch'),)}, + ), + ] diff --git a/topologie/models.py b/topologie/models.py index bb63b7e2..c2b7ee0d 100644 --- a/topologie/models.py +++ b/topologie/models.py @@ -60,30 +60,35 @@ class Stack(models.Model): member_id_min = models.PositiveIntegerField() member_id_max = models.PositiveIntegerField() + class Meta: + permissions = ( + ("view_stack", "Peut voir un objet stack"), + ) + def get_instance(stack_id, *args, **kwargs): return Stack.objects.get(pk=stack_id) def can_create(user_request, *args, **kwargs): - return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ + return user_request.has_perm('topologie.add_stack') , u"Vous n'avez pas le droit\ de créer un stack" def can_edit(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.change_stack'): return False, u"Vous n'avez pas le droit d'éditer des stack" return True, None def can_delete(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.delete_stack'): 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(('cableur',)): + if not user_request.has_perm('topologie.view_stack'): 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(('cableur',)): + if not user_request.has_perm('topologie.view_stack'): return False, u"Vous n'avez pas le droit de voir une stack" return True, None @@ -140,31 +145,34 @@ class Switch(models.Model): class Meta: unique_together = ('stack', 'stack_member_id') + permissions = ( + ("view_switch", "Peut voir un objet switch"), + ) def get_instance(switch_id, *args, **kwargs): return Switch.objects.get(pk=switch_id) def can_create(user_request, *args, **kwargs): - return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ + return user_request.has_perm('topologie.add_switch') , u"Vous n'avez pas le droit\ de créer un switch" def can_edit(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.change_switch'): return False, u"Vous n'avez pas le droit d'éditer des switch" return True, None def can_delete(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.delete_switch'): 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',)): + if not user_request.has_perm('topologie.view_switch'): 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',)): + if not user_request.has_perm('topologie.view_switch'): return False, u"Vous n'avez pas le droit de coir les switch" return True, None @@ -221,30 +229,35 @@ class ModelSwitch(models.Model): on_delete=models.PROTECT ) + class Meta: + permissions = ( + ("view_modelswitch", "Peut voir un objet modelswitch"), + ) + def get_instance(model_switch_id, *args, **kwargs): return ModelSwitch.objects.get(pk=model_switch_id) def can_create(user_request, *args, **kwargs): - return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ + return user_request.has_perm('topologie.add_modelswitch') , u"Vous n'avez pas le droit\ de créer un modèle de switch" def can_edit(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.change_modelswitch'): 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',)): + if not user_request.has_perm('topologie.delete_modelswitch'): 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',)): + if not user_request.has_perm('topologie.view_modelswitch'): 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',)): + if not user_request.has_perm('topologie.view_modelswitch'): return False, u"Vous n'avez pas le droit de voir un modèle switch" return True, None @@ -257,31 +270,36 @@ class ConstructorSwitch(models.Model): PRETTY_NAME = "Constructeur de switch" name = models.CharField(max_length=255) + class Meta: + permissions = ( + ("view_constructorswitch", "Peut voir un objet constructorswitch"), + ) + def get_instance(constructor_switch_id, *args, **kwargs): return ConstructorSwitch.objects.get(pk=constructor_switch_id) def can_create(user_request, *args, **kwargs): - return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ + return user_request.has_perm('topologie.add_constructorswitch') , u"Vous n'avez pas le droit\ de créer un constructeur de switch" def can_edit(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.change_constructorswitch'): return False, u"Vous n'avez pas le droit d'éditer des\ constructeurs de switchs" return True, None def can_delete(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.delete_constructorswitch'): 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',)): + if not user_request.has_perm('topologie.view_constructorswitch'): 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',)): + if not user_request.has_perm('topologie.view_constructorswitch'): return False, u"Vous n'avez pas le droit de voir un constructeur" return True, None @@ -348,6 +366,9 @@ class Port(models.Model): class Meta: unique_together = ('switch', 'port') + permissions = ( + ("view_port", "Peut voir un objet port"), + ) def get_instance(port_id, *args, **kwargs): return Port.objects\ @@ -359,26 +380,26 @@ class Port(models.Model): .get(pk=port_id) def can_create(user_request, *args, **kwargs): - return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ + return user_request.has_perm('topologie.add_port') , u"Vous n'avez pas le droit\ de créer un port" def can_edit(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.change_port'): return False, u"Vous n'avez pas le droit d'éditer des ports" return True, None def can_delete(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.delete_port'): 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',)): + if not user_request.has_perm('topologie.view_port'): 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',)): + if not user_request.has_perm('topologie.view_port'): return False, u"Vous n'avez pas le droit de voir les ports" return True, None @@ -435,31 +456,34 @@ class Room(models.Model): class Meta: ordering = ['name'] + permissions = ( + ("view_room", "Peut voir un objet chambre"), + ) def get_instance(room_id, *args, **kwargs): return Room.objects.get(pk=room_id) def can_create(user_request, *args, **kwargs): - return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ + return user_request.has_perm('topologie.add_room') , u"Vous n'avez pas le droit\ de créer une chambre" def can_edit(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.change_room'): return False, u"Vous n'avez pas le droit d'éditer une chambre" return True, None def can_delete(self, user_request, *args, **kwargs): - if not user_request.has_perms(('infra',)): + if not user_request.has_perm('topologie.delete_room'): 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',)): + if not user_request.has_perm('topologie.view_room'): 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',)): + if not user_request.has_perm('topologie.view_room'): return False, u"Vous n'avez pas le droit de voir les chambres" return True, None