~replaceafill/ubuntu/trusty/schooltool/2.8_custom-css

« back to all changes in this revision

Viewing changes to src/schooltool/app/app.py

  • Committer: Gediminas Paulauskas
  • Date: 2014-04-18 16:25:33 UTC
  • mfrom: (1.1.33)
  • Revision ID: menesis@pov.lt-20140418162533-noklnc6b89w2epee
Tags: 1:2.7.0-0ubuntu1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
from zope.app.applicationcontrol.interfaces import IApplicationControl
35
35
from zope.app.applicationcontrol.applicationcontrol import applicationController
36
36
from zope.component.hooks import getSite
 
37
from zope.component import queryAdapter
 
38
from zope.component import getAdapters
37
39
from zope.site import SiteManagerContainer
38
40
from zope.container import sample
39
41
from zope.container.contained import NameChooser
40
42
from zope.container.interfaces import INameChooser
 
43
from zope.site import threadSiteSubscriber
41
44
from zope.traversing.interfaces import IContainmentRoot
42
45
 
43
46
from schooltool.app.interfaces import IPluginInit, IPluginStartUp
44
47
from schooltool.app.interfaces import ISchoolToolApplication
45
48
from schooltool.app.interfaces import IApplicationPreferences, IApplicationTabs
 
49
from schooltool.app.interfaces import IRequestHelpers, IRequestHelper
46
50
from schooltool.app import relationships
47
51
from schooltool.app.interfaces import IAsset
48
52
from schooltool.relationship.relationship import RelationshipProperty
279
283
        return annotations[key]
280
284
 
281
285
 
 
286
def getRequestApplicationPreferences(request):
 
287
    return getApplicationPreferences(ISchoolToolApplication(None))
 
288
 
 
289
 
282
290
def getApplicationTabs(app):
283
291
    """Adapt a SchoolToolApplication to IApplicationTabs."""
284
292
 
328
336
@implementer(IApplicationControl)
329
337
def getApplicationControl(app=None):
330
338
    return LocationProxy(applicationController, app, 'control')
 
339
 
 
340
 
 
341
class RequestHelpers(object):
 
342
    implements(IRequestHelpers)
 
343
 
 
344
    def __new__(cls, request):
 
345
        adapters = getAdapters((request, ), IRequestHelper)
 
346
        Helpers = type(cls.__name__, (cls, ), dict(adapters))
 
347
        return object.__new__(Helpers, request)
 
348
 
 
349
    def __init__(self, request):
 
350
        self.request = request
 
351
 
 
352
 
 
353
def beforeTraverseSchoolToolSite(event, site):
 
354
    threadSiteSubscriber(site, event)
 
355
    util = queryAdapter(event.request, IRequestHelpers)
 
356
    if util is not None:
 
357
        event.request.util = util