minor changes and extensions to provide Zope2-compatibility

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1880 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2007-08-05 15:37:04 +00:00
parent d9ff76c433
commit 5396c068fc
2 changed files with 21 additions and 5 deletions

View file

@ -39,7 +39,10 @@ class RegistrationTemplateView(object):
@Lazy @Lazy
def services(self): def services(self):
return self.context.services return self.getServices()
def getServices(self):
return self.context.getServices().values()
def getRegistrations(self): def getRegistrations(self):
if not self.clientName: if not self.clientName:
@ -56,6 +59,9 @@ class RegistrationTemplateView(object):
regs.template = self.context regs.template = self.context
return regs.getRegistrations() return regs.getRegistrations()
def getRegistratedServicesTokens(self):
return [r.service.token for r in self.getRegistrations()]
def update(self): def update(self):
form = self.request.form form = self.request.form
if not self.clientName: if not self.clientName:
@ -73,9 +79,9 @@ class RegistrationTemplateView(object):
clientName = self.clientName = manager.addClient(client) clientName = self.clientName = manager.addClient(client)
regs = IClientRegistrations(client) regs = IClientRegistrations(client)
regs.template = self.context regs.template = self.context
allServices = self.context.services.values() allServices = self.getServices()
oldServices = [r.service for r in regs.getRegistrations()] oldServices = [r.service for r in regs.getRegistrations()]
newServices = [manager.services[token] newServices = [manager.getServices()[token]
for token in form.get('service_tokens', [])] for token in form.get('service_tokens', [])]
regs.register(newServices) regs.register(newServices)
toDelete = [s for s in oldServices toDelete = [s for s in oldServices

View file

@ -55,6 +55,9 @@ class ServiceManager(object):
if self.clientSchemasFactory is not None: if self.clientSchemasFactory is not None:
self.clientSchemas = self.clientSchemasFactory() self.clientSchemas = self.clientSchemasFactory()
def getServices(self):
return self.services
@Lazy @Lazy
def clients(self): def clients(self):
return self.clientsFactory() return self.clientsFactory()
@ -87,6 +90,9 @@ class Service(object):
@property @property
def token(self): def token(self):
return self.getToken()
def getToken(self):
return self.name return self.name
@property @property
@ -137,7 +143,11 @@ class RegistrationTemplate(object):
@property @property
def services(self): def services(self):
return self.manager.services return self.getServices()
def getServices(self):
# TODO: Restrict according to the objects selection criteria
return self.getManager().getServices()
def getManager(self): def getManager(self):
return self.manager return self.manager
@ -162,7 +172,7 @@ class ClientRegistrations(object):
service.unregister(self.context) service.unregister(self.context)
def getRegistrations(self): def getRegistrations(self):
for service in self.template.services: for service in self.template.getServices():
for reg in service.registrations.values(): for reg in service.registrations.values():
if self.context == reg.client: if self.context == reg.client:
yield reg yield reg