diff --git a/machines/models.py b/machines/models.py index a7e2cd8f..f81fc41f 100644 --- a/machines/models.py +++ b/machines/models.py @@ -55,6 +55,9 @@ class Machine(models.Model): ) active = models.BooleanField(default=True) + def get_instance(machineid): + return Machine.objects.get(pk=machineid) + def can_create(user_request, userid_dest): try: user = users.models.User.objects.get(pk=userid_dest) @@ -72,7 +75,7 @@ class Machine(models.Model): % max_lambdauser_interfaces return True, None - def can_edit(user_request, machineid): + def can_edit(user_request, machine): return True, None def __str__(self): @@ -96,17 +99,16 @@ class MachineType(models.Model): machinetype""" return Interface.objects.filter(type=self) + def get_instance(machinetypeid): + return MachineType.objects.get(pk=machinetypeid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un type de machine" - def can_edit(user_request, machinetypeid): + def can_edit(user_request, machinetype): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des types de machine" - try: - machinetype_instance = MachineType.objects.get(pk=machinetypeid) - except MachineType.DoesNotExist: - return False, u"Type de machine inexistant" return True, None def __str__(self): @@ -219,17 +221,16 @@ class IpType(models.Model): self.clean() super(IpType, self).save(*args, **kwargs) + def get_instance(iptyeid): + return IpType.objects.get(pk=iptypeid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un type d'ip" - def can_edit(user_request, iptypeid): + def can_edit(user_request, iptype): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des types d'ip" - try: - iptype_instance = IpType.objects.get(pk=iptypeid) - except IpType.DoesNotExist: - return False, u"Type d'ip inexistant" return True, None def __str__(self): @@ -245,17 +246,16 @@ class Vlan(models.Model): name = models.CharField(max_length=256) comment = models.CharField(max_length=256, blank=True) + def get_instance(vlanid): + return Vlan.objects.get(pk=vlanid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un vlan" - def can_edit(user_request, vlanid): + def can_edit(user_request, vlan): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des vlans" - try: - vlan_instance = Vlan.objects.get(pk=vlanid) - except Vlan.DoesNotExist: - return False, u"Vlan inexistant" return True, None def __str__(self): @@ -292,17 +292,16 @@ class Nas(models.Model): ) autocapture_mac = models.BooleanField(default=False) + def get_instance(nasid): + return Nas.objects.get(pk=nasid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un nas" - def can_edit(user_request, nasid): + def can_edit(user_request, nas): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des nas" - try: - nas_instance = Nas.objects.get(pk=nasid) - except Nas.DoesNotExist: - return False, u"Nas inexistant" return True, None def __str__(self): @@ -341,17 +340,16 @@ class SOA(models.Model): help_text='Time To Live' ) + def get_instance(soaid): + return SOA.objects.get(pk=soaid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un enregistrement SOA" - def can_edit(user_request, soaid): + def can_edit(user_request, soa): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrements SOA" - try: - soa_instance = SOA.objects.get(pk=soaid) - except SOA.DoesNotExist: - return False, u"Enregistrement SOA inexistant" return True, None def __str__(self): @@ -436,17 +434,16 @@ class Extension(models.Model): entry += "@ IN AAAA " + str(self.origin_v6) return entry + def get_instance(extensionid): + return Extension.objects.get(pk=extensionid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer une extension" - def can_edit(user_request, extensionid): + def can_edit(user_request, extension): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des extensions" - try: - extension_instance = Extension.objects.get(pk=extensionid) - except Extension.DoesNotExist: - return False, u"Extension inexistante" return True, None def __str__(self): @@ -474,17 +471,16 @@ class Mx(models.Model): fichiers de zones""" return "@ IN MX " + str(self.priority).ljust(3) + " " + str(self.name) + def get_instance(mxid): + return Mx.objects.get(pk=mxid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un enregistrement MX" - def can_edit(user_request, mxid): + def can_edit(user_request, mx): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregstrements MX" - try: - mx_instance = Mx.objects.get(pk=mxid) - except Mx.DoesNotExist: - return False, u"Enregistremet MX inexistant" return True, None def __str__(self): @@ -503,17 +499,16 @@ class Ns(models.Model): """Renvoie un enregistrement NS complet pour les filezones""" return "@ IN NS " + str(self.ns) + def get_instance(nsid): + return Ns.objects.get(pk=nsid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un enregistrement NS" - def can_edit(user_request, nsid): + def can_edit(user_request, ns): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrements NS" - try: - ns_instance = Ns.objects.get(pk=nsid) - except Ns.DoesNotExist: - return False, u"Enregistrement NS inexistant" return True, None def __str__(self): @@ -528,17 +523,16 @@ class Txt(models.Model): field1 = models.CharField(max_length=255) field2 = models.TextField(max_length=2047) + def get_instance(txtid): + return Txt.objects.get(pk=txtid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un enregistrement TXT" - def can_edit(user_request, txtid): + def can_edit(user_request, txt): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrement TXT" - try: - txt_instance = Txt.objects.get(pk=txtid) - except Txt.DoesNotExist: - return False, u"Enregistrement TXT inexistant" return True, None def __str__(self): @@ -594,17 +588,16 @@ class Srv(models.Model): help_text="Serveur cible" ) + def get_instance(srvid): + return Srv.objects.get(pk=srvid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un enregistrement SRV" - def can_edit(user_request, srvid): + def can_edit(user_request, srv): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des enregistrements SRV" - try: - srv_instance = Srv.objects.get(pk=srvid) - except Srv.DoesNotExist: - return False, u"Enregistrement SRV inexistant" return True, None def __str__(self): @@ -724,6 +717,9 @@ class Interface(models.Model): correspondent pas") super(Interface, self).save(*args, **kwargs) + def get_instance(interfaceid): + return Interface.objects.get(pk=interfaceid) + def can_create(user_request, machineid_dest): try: machine = Machine.objects.get(pk=machineid_dest) @@ -741,13 +737,10 @@ class Interface(models.Model): % max_lambdauser_interfaces return True, None - def can_edit(user_request, interfaceid): - try: - interface = Interface.objects.get(pk=interfaceid) - except Interface.DoesNotExist: - return False, u"Interface inexistante" - if not user_request.has_perms(('infra',)): - if not user_request.has_perms(('cableur',)) and interface.machine.user != user_request: + def can_edit(user_request, interface): + if not user_request.has_perms(('infra',)) and \ + not user_request.has_perms(('cableur',)) and \ + interface.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 @@ -851,6 +844,9 @@ class Domain(models.Model): self.full_clean() super(Domain, self).save(*args, **kwargs) + def get_instance(domainid): + return Domain.objects.get(pk=domainid) + def can_create(user_request, interfaceid_dest): try: interface = Interface.objects.get(pk=interfaceid_dest) @@ -872,12 +868,11 @@ class Domain(models.Model): % max_lambdauser_aliases return True, None - def can_edit(user_request, domainid): - try: - alias_instance = Domain.objects.get(pk=domainid) - except Domain.DoesNotExist: - return False, u"Alias inexistant" - if not user_request.has_perms(('cableur',)) and (alias_instance.cname is None or alias_instance.cname.interface_parent.machine.user != user_request): + def can_edit(user_request, domain): + if not user_request.has_perms(('cableur',)) and ( + domain.cname is None or \ + domain.cname.interface_parent.machine.user != user_request + ): return False, u"Vous ne pouvez pas ajouter un alias à une machine\ d'un autre user que vous sans droit" return True, None @@ -909,10 +904,13 @@ class IpList(models.Model): self.clean() super(IpList, self).save(*args, **kwargs) + def get_instance(iplistid): + return IpList.objects.get(pk=iplistid) + def can_create(user_request): return True, None - def can_edit(user_request, iplistid): + def can_edit(user_request, iplist): return True, None def __str__(self): @@ -955,17 +953,16 @@ class Service(models.Model): def save(self, *args, **kwargs): super(Service, self).save(*args, **kwargs) + def get_instance(serviceid): + return Service.objects.get(pk=serviceid) + def can_create(user_request): return user_request.has_perms(('infra',)) , u"Vous n'avez pas le droit\ de créer un service" - def can_edit(user_request, serviceid): + def can_edit(user_request, service): if not user_request.has_perms(('infra',)): return False, u"Vous n'avez pas le droit d'éditer des services" - try: - service_instance = Service.objects.get(pk=serviceid) - except Service.DoesNotExist: - return False, u"Service inexistant" return True, None def __str__(self): @@ -1008,10 +1005,13 @@ class Service_link(models.Model): ) < timezone.now() ) + def get_instance(servicelinkid): + return ServiceLink.objects.get(pk=servicelinkid) + def can_create(user_request): return True, None - def can_edit(user_request, service_linkid): + def can_edit(user_request, servicelink): return True, None def __str__(self): @@ -1027,17 +1027,16 @@ class OuverturePortList(models.Model): max_length=255 ) + def get_instance(ouvertureportlistid): + return OuverturePortList.objects.get(pk=ouvertureportlistid) + def can_create(user_request): return user_request.has_perms(('bureau',)) , u"Vous n'avez pas le droit\ d'ouvrir un port" - def can_edit(user_request, ouvertureportlistpk): + def can_edit(user_request, ouvertureportlist): if not user_request.has_perms(('bureau',)): return False, u"Vous n'avez pas le droit d'éditer des ouvertures de port" - try: - port_list_instance = OuverturePortList.objects.get(pk=ouvertureportlistpk) - except OuverturePortList.DoesNotExist: - return False, u"Ouverture de port inexistante" return True, None def __str__(self): @@ -1110,10 +1109,13 @@ class OuverturePort(models.Model): default=OUT, ) + def get_instance(ouvertureportid): + return OuverturePort.objects.get(pk=ouvertureportid) + def can_create(user_request): return True, None - def can_edit(user_request, ouvertureportid): + def can_edit(user_request, ouvertureport): return True, None def __str__(self):