Ajout d'objets certifcats comme enfant des objets machine

This commit is contained in:
Valentin Samir 2014-02-22 23:01:56 +01:00
parent 8eb8aa2ba6
commit 44936fde9d
4 changed files with 157 additions and 8 deletions

View file

@ -329,8 +329,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
raise EnvironmentError("Vous n'avez pas le droit de créer cet adhérent.")
def newFacture(self, parent, fldif):
"""Crée une nouvelle facture
--Non implémenté !"""
"""Crée une nouvelle facture"""
uldif = copy.deepcopy(fldif)
# fid
uldif['fid'] = [ unicode(self._find_id('fid')) ]
@ -341,6 +340,18 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
else:
raise EnvironmentError("Vous n'avez pas le droit de créer cette facture.")
def newCertificat(self, parent, xldif):
"""Crée un nouveau certificat x509"""
uldif = copy.deepcopy(xldif)
# xid
uldif['xid'] = [ unicode(self._find_id('xid')) ]
uldif['objectClass'] = [u'baseCert']
baseCert = self._create_entity('xid=%s,%s' % (uldif['xid'][0], parent), uldif)
if baseCert.may_be(variables.created, self.droits + self._check_parent(baseCert.dn)):
return baseCert
else:
raise EnvironmentError("Vous n'avez pas le droit de créer ce certiticat.")
def _create_entity(self, dn, uldif):
'''Crée une nouvelle entité ldap avec le dn ``dn`` et les
attributs de ``ldif``. Attention, ldif doit contenir des
@ -393,7 +404,10 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
raise EnvironmentError('Aucun %s libre dans la plage [%d, %d]' %
(attr, plage[0], i))
else:
i = nonfree[-1] + 1
try:
i = nonfree[-1] + 1
except IndexError:
i = 1
while True:
try:
self.lockholder.addlock(attr, str(i))