diff --git a/objets.py b/objets.py index 6f8b422..db1cfe0 100644 --- a/objets.py +++ b/objets.py @@ -209,16 +209,7 @@ class CransLdapObject(object): def oid(self): """Retourne l'id de l'objet courant""" - if isinstance(self, adherent): - return self['aid'] - elif isinstance(self, machine): - return self['mid'] - elif isinstance(self, club): - return self['cid'] - elif isinstance(self, facture): - return self['fid'] - else: - return [self.dn] + return [self.dn.split(",")[0].split("=")[1]] def _out_of_context(self, *args, **kwargs): raise EnvironmentError("Hors du context, impossible de faire des écritures") @@ -1286,6 +1277,10 @@ class machine(CransLdapObject): if domain in certificat['hostCert']: raise EnvironmentError("Vous devez d'abord supprimer ou éditer les certificats utilisant le nom de domaine %s avant de le retirer de la machine" % domain) + def oid(self): + """Retourne l'id de l'objet courant""" + return self['mid'] + def proprio(self, mode=None, refresh=False): u"""Renvoie le propriétaire de la machine""" if not hasattr(self, '_proprio') or not self._proprio or refresh: @@ -1507,6 +1502,10 @@ class adherent(proprio): raise EnvironmentError("L'adhérent est responsable ou imprimeur pour les clubs %s, suppression impossible" % ", ".join(str(c["cid"][0]) for c in clubs)) super(adherent, self).delete(comm, login) + def oid(self): + """Retourne l'id de l'objet courant""" + return self['aid'] + @crans_object class club(proprio): u"""Club crans""" @@ -1544,6 +1543,10 @@ class club(proprio): def __repr__(self): return repr(self.__unicode__()) + def oid(self): + """Retourne l'id de l'objet courant""" + return self['cid'] + @crans_object class machineFixe(machine): u"""Machine fixe""" @@ -1692,6 +1695,10 @@ class facture(CransLdapObject): raise EnvironmentError("Paiement déjà effectué pour cette facture, impossible de modifier son contenu") return super(facture, self).__setitem__(attr, value) + def oid(self): + """Retourne l'id de l'objet courant""" + return self['fid'] + def total(self): total = 0 for article in self["article"]: