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

View file

@ -55,6 +55,9 @@ class ServiceManager(object):
if self.clientSchemasFactory is not None:
self.clientSchemas = self.clientSchemasFactory()
def getServices(self):
return self.services
@Lazy
def clients(self):
return self.clientsFactory()
@ -87,6 +90,9 @@ class Service(object):
@property
def token(self):
return self.getToken()
def getToken(self):
return self.name
@property
@ -137,7 +143,11 @@ class RegistrationTemplate(object):
@property
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):
return self.manager
@ -162,7 +172,7 @@ class ClientRegistrations(object):
service.unregister(self.context)
def getRegistrations(self):
for service in self.template.services:
for service in self.template.getServices():
for reg in service.registrations.values():
if self.context == reg.client:
yield reg