Changeset 8973 for main/waeup.kofa/trunk/src/waeup/kofa/authentication.py
- Timestamp:
- 11 Jul 2012, 09:27:23 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/trunk/src/waeup/kofa/authentication.py
r8757 r8973 21 21 from zope.event import notify 22 22 from zope.component import getUtility, getUtilitiesFor 23 from zope.component.interfaces import IFactory 23 24 from zope.interface import Interface 24 25 from zope.schema import getFields … … 35 36 from waeup.kofa.interfaces import (ILocalRoleSetEvent, 36 37 IUserAccount, IAuthPluginUtility, IPasswordValidator, 37 IKofaPrincipal, IKofaPrincipalInfo, IKofaPluggable) 38 IKofaPrincipal, IKofaPrincipalInfo, IKofaPluggable, 39 IBatchProcessor) 40 from waeup.kofa.utils.batching import BatchProcessor 38 41 39 42 def setup_authentication(pau): … … 363 366 obj, local_role, user_name, granted=False)) 364 367 return 368 369 class UserAccountFactory(grok.GlobalUtility): 370 """A factory for user accounts. 371 372 This factory is only needed for imports. 373 """ 374 grok.implements(IFactory) 375 grok.name(u'waeup.UserAccount') 376 title = u"Create a user.", 377 description = u"This factory instantiates new user account instances." 378 379 def __call__(self, *args, **kw): 380 return Account(name=None, password='') 381 382 def getInterfaces(self): 383 return implementedBy(Account) 384 385 class UserProcessor(BatchProcessor): 386 """A batch processor for IUserAccount objects. 387 """ 388 grok.implements(IBatchProcessor) 389 grok.provides(IBatchProcessor) 390 grok.context(Interface) 391 util_name = 'userprocessor' 392 grok.name(util_name) 393 394 name = u'User Processor' 395 iface = IUserAccount 396 397 location_fields = ['name',] 398 factory_name = 'waeup.UserAccount' 399 400 mode = None 401 402 def parentsExist(self, row, site): 403 return 'users' in site.keys() 404 405 def entryExists(self, row, site): 406 return row['name'] in site['users'].keys() 407 408 def getParent(self, row, site): 409 return site['users'] 410 411 def getEntry(self, row, site): 412 if not self.entryExists(row, site): 413 return None 414 parent = self.getParent(row, site) 415 return parent.get(row['name']) 416 417 def addEntry(self, obj, row, site): 418 parent = self.getParent(row, site) 419 parent.addAccount(obj) 420 return 421 365 422 366 423 class UsersPlugin(grok.GlobalUtility):
Note: See TracChangeset for help on using the changeset viewer.