Ajout d'objets certifcats comme enfant des objets machine
This commit is contained in:
parent
8eb8aa2ba6
commit
44936fde9d
4 changed files with 157 additions and 8 deletions
20
lc_ldap.py
20
lc_ldap.py
|
@ -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))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue