server/sources/ldapuser.py
changeset 4913 083b4d454192
parent 4719 aaed3f813ef8
child 5138 18388a897d2a
equal deleted inserted replaced
4912:9767cc516b4f 4913:083b4d454192
   474         except ldap.NO_SUCH_OBJECT:
   474         except ldap.NO_SUCH_OBJECT:
   475             eid = self.extid2eid(base, 'CWUser', session, insert=False)
   475             eid = self.extid2eid(base, 'CWUser', session, insert=False)
   476             if eid:
   476             if eid:
   477                 self.warning('deleting ldap user with eid %s and dn %s',
   477                 self.warning('deleting ldap user with eid %s and dn %s',
   478                              eid, base)
   478                              eid, base)
   479                 self.repo.delete_info(session, eid)
   479                 entity = session.entity_from_eid(eid, 'CWUser')
       
   480                 self.repo.delete_info(session, entity, self.uri, base)
   480                 self._cache.pop(base, None)
   481                 self._cache.pop(base, None)
   481             return []
   482             return []
   482 ##         except ldap.REFERRAL, e:
   483 ##         except ldap.REFERRAL, e:
   483 ##             cnx = self.handle_referral(e)
   484 ##             cnx = self.handle_referral(e)
   484 ##             try:
   485 ##             try:
   552 
   553 
   553     def update_entity(self, session, entity):
   554     def update_entity(self, session, entity):
   554         """replace an entity in the source"""
   555         """replace an entity in the source"""
   555         raise RepositoryError('this source is read only')
   556         raise RepositoryError('this source is read only')
   556 
   557 
   557     def delete_entity(self, session, etype, eid):
   558     def delete_entity(self, session, entity):
   558         """delete an entity from the source"""
   559         """delete an entity from the source"""
   559         raise RepositoryError('this source is read only')
   560         raise RepositoryError('this source is read only')
   560 
   561 
   561 def _insert_email(session, emailaddr, ueid):
   562 def _insert_email(session, emailaddr, ueid):
   562     session.execute('INSERT EmailAddress X: X address %(addr)s, U primary_email X '
   563     session.execute('INSERT EmailAddress X: X address %(addr)s, U primary_email X '