--- a/src/ztfy/myams/tal/api.py Tue Dec 16 11:04:53 2014 +0100
+++ b/src/ztfy/myams/tal/api.py Wed Jan 14 15:52:59 2015 +0100
@@ -12,15 +12,17 @@
# import local interfaces
from ztfy.myams.interfaces import IMyAMSApplication, IObjectData
-from ztfy.myams.interfaces.configuration import IMyAMSConfiguration
+from ztfy.myams.interfaces.configuration import IMyAMSConfiguration, IMyAMSStaticConfiguration, \
+ MYAMS_CONFIGURATION_NAME_KEY
from ztfy.myams.tal.interfaces import IMyAMSTalesAPI
# import Zope3 packages
-from zope.component import getUtility
+from zope.component import getUtility, queryUtility
from zope.interface import implements
from zope.security.proxy import removeSecurityProxy
# import local packages
+from ztfy.utils.request import getRequestData
from ztfy.utils.traversing import getParent
@@ -41,11 +43,25 @@
writer = getUtility(IJSONWriter)
return writer.write(data.object_data)
+ @property
+ def application(self):
+ return getParent(self.context, IMyAMSApplication)
+
def configuration(self):
- application = getParent(self.context, IMyAMSApplication)
+ application = self.application
if application is not None:
return IMyAMSConfiguration(application, None)
+ def static_configuration(self):
+ configuration_name = getRequestData(MYAMS_CONFIGURATION_NAME_KEY, self.request)
+ if configuration_name:
+ configuration = queryUtility(IMyAMSStaticConfiguration, name=configuration_name)
+ if configuration is not None:
+ return configuration
+ configuration = self.configuration()
+ if configuration is not None:
+ return configuration.static_configuration
+
def resources(self):
application = getParent(self.context, IMyAMSApplication)
if application is not None: