1 from ldaptor.protocols.ldap.autofill import ObjectMissingObjectClassException
2
4 - def start(self, ldapObject):
5 assert 'objectClass' in ldapObject
6 if 'sambaAccount' not in ldapObject['objectClass']:
7 raise ObjectMissingObjectClassException, ldapObject
8
9 assert 'acctFlags' not in ldapObject
10 ldapObject['acctFlags'] = ['[UX ]']
11 assert 'pwdLastSet' not in ldapObject
12 ldapObject['pwdLastSet'] = ['0']
13 assert 'logonTime' not in ldapObject
14 ldapObject['logonTime'] = ['0']
15 assert 'logoffTime' not in ldapObject
16 ldapObject['logoffTime'] = ['0']
17 assert 'pwdCanChange' not in ldapObject
18 ldapObject['pwdCanChange'] = ['0']
19 assert 'pwdMustChange' not in ldapObject
20 ldapObject['pwdMustChange'] = ['0']
21
22 - def notify(self, ldapObject, attributeType):
23
24
25 if attributeType == 'uidNumber':
26 assert 'uidNumber' in ldapObject
27 assert len(ldapObject['uidNumber']) == 1
28 for uidNumber in ldapObject['uidNumber']:
29 uidNumber = int(uidNumber)
30 rid = uidNumber*2+1000
31 ldapObject['rid'] = [str(rid)]
32 return
33
34
35 if attributeType == 'gidNumber':
36 assert 'gidNumber' in ldapObject
37 assert len(ldapObject['gidNumber']) == 1
38 for gidNumber in ldapObject['gidNumber']:
39 gidNumber = int(gidNumber)
40 primaryGroupID = gidNumber*2+1001
41 ldapObject['primaryGroupID'] = [str(primaryGroupID)]
42 return
43