[lc_ldap] On met en place un système de propagation de certaines modifications.
* Quand on modifie un attribut qui devrait en modifier d'autres, on peut invoquer check_changes pour voir ce qui devrait être changé, puis validate_changes pour rendre ces changements effectifs. Il ne reste plus qu'à appeler save pour enregistrer le tout. * Correction de petits problèmes sur les locks : quand save réussissait, ils n'étaient pas virés.
This commit is contained in:
parent
9540bc572c
commit
c2968c6b15
5 changed files with 133 additions and 28 deletions
12
attributs.py
12
attributs.py
|
@ -141,7 +141,7 @@ class AttrsDict(dict):
|
|||
def __getitem__(self, attr):
|
||||
values = super(AttrsDict, self).__getitem__(attr)
|
||||
if not isinstance(values, list):
|
||||
values = [ values ]
|
||||
values = [values]
|
||||
output = []
|
||||
for val in values:
|
||||
output.append(attrify(val, attr, self._conn, self._parent))
|
||||
|
@ -699,11 +699,9 @@ class ip6HostNumber(Attr):
|
|||
ldap_name = "ip6HostNumber"
|
||||
|
||||
def parse_value(self, ip6):
|
||||
if self.parent != None:
|
||||
ip = ip6_of_mac(str(self.parent['macAddress'][0]), int(str(self.parent['rid'][0])))
|
||||
else:
|
||||
ip = ip6
|
||||
self.value = netaddr.ip.IPAddress(ip)
|
||||
if ip6 == '<automatique>':
|
||||
ip6 = ip6_of_mac(str(self.parent['macAddress'][0]), int(str(self.parent['rid'][0])))
|
||||
self.value = netaddr.IPAddress(ip6)
|
||||
|
||||
def __unicode__(self):
|
||||
return unicode(self.value)
|
||||
|
@ -726,7 +724,7 @@ class mid(Attr):
|
|||
@crans_attribute
|
||||
class rid(Attr):
|
||||
singlevalue = True
|
||||
optional = False
|
||||
optional = True
|
||||
unique = True
|
||||
legend = u"Identifiant réseau de machine"
|
||||
category = 'id'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue