mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-26 14:42:25 +00:00
Récupère l'instance dans une fonction à part pour chaque modèle de machines.models
This commit is contained in:
parent
edfe06791c
commit
efa34c7f58
1 changed files with 79 additions and 77 deletions
|
@ -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):
|
||||
|
|
Loading…
Reference in a new issue