Example #1
0
    def preparePage(self, query):
        # Set up memcacheid based on language
        memcacheid = "mainView_pageTree_%s" % self.lang
        pageTree = memcache.get(memcacheid)  #@UndefinedVariable
        # If pageTree is not in memcache, build pageTree and store it in memcache
        if pageTree is None or self.pageRefresh:
            pageTree = UI.getPageTreeForMainView(self.lang, memcacheid)

        # Set currentPage to None as a precaution
        self.toTemplate.currentPage = None
        # Bind pageTree to view
        self.toTemplate.pageTree = pageTree
        #How to get pagecontainer items
        self.toTemplate.footerPageTree = UI.getFooterPageTree(self.lang)
    def preparePage(self, query):
        # Set up memcacheid based on language
        memcacheid = "mainView_pageTree_%s" % self.lang
        pageTree = memcache.get(memcacheid) #@UndefinedVariable
        # If pageTree is not in memcache, build pageTree and store it in memcache
        if pageTree is None or self.pageRefresh:
            pageTree = UI.getPageTreeForMainView(self.lang, memcacheid)

        # Set currentPage to None as a precaution
        self.toTemplate.currentPage = None
        # Bind pageTree to view
        self.toTemplate.pageTree = pageTree
        #How to get pagecontainer items
        self.toTemplate.footerPageTree = UI.getFooterPageTree(self.lang)
    def __init__(self, **kwargs):
        Pages.__init__(self, **kwargs)

        self.templateFile = 'newpage.html'
        self.permissionLevel = 1
        self.isEdit = True
        self.toTemplate.templatesList = UI.getPageTemplates()
    def __init__(self, **kwargs):
        Pages.__init__(self, **kwargs)

        self.templateFile = 'newpage.html'
        self.permissionLevel = 1
        self.isEdit = True
        self.toTemplate.templatesList = UI.getPageTemplates()
    def renderPage(self, query):
        # If we are at root page in URL
        if self.path == '/' + self.lang + '/':
            self.toTemplate.currentPage = UI.getStartPage(self.lang, self.pageRefresh)
            # We need at least one page as startpage
            if self.toTemplate.currentPage is None:
                self.toTemplate.error = { 'code' : '500', 'message' : 'Missing startpage. Select a start page under tab "Page Settings"' }
                return False
            # Get page modules associated with startpage
            pageModule = PageModules.getByPageKeyAndLanguage(self.toTemplate.currentPage.key(), self.lang)
        else:
            # Get page modules associated with url path
            pageModule = PageModules.getByPath(self.path)
        # We need at least one pageModule to display any page
        if pageModule is None:
            self.toTemplate.error = { 'code' : '404', 'message' : 'Can\'t find request page' }
            return False
        else:
            # If no current page is set, set pageModules's page as currentpage
            if not self.toTemplate.currentPage:
                # TODO: Remove reference property since it causes an extra query.
                #self.toTemplate.currentPage = Pages.getByKeyForMainView(pageModule.pageKey.key())
                self.toTemplate.currentPage = pageModule.pageKey
                
            # templateType is stored with entire class path, we only need the last name
            pageTemplateType = self.toTemplate.currentPage.templateType.split('.')[-1]

            # Set up memcacheid based on language
            memcacheid = "mainView_pageTemplate_%s" % self.path
            pageTemplate = memcache.get(memcacheid)
            # If pageTemplate is not in memcache
            if pageTemplate is None or self.pageRefresh:
                # Find pageTemplate class
                pageTemplateClass = getattr(PageTemplates, pageTemplateType, None)
                #invoke class and store it in memcache
                pageTemplate = pageTemplateClass(page = self.toTemplate.currentPage, query = query, language = self.lang)
                pageTemplate.postRender(self.lang, query)
                memcache.set(memcacheid, pageTemplate, Settings.memcacheTimeout)

            # Do stuff after saved to cache
            pageTemplate.postCache(self.lang, query)
            # Bind pageTemplate to view
            self.toTemplate.pageTemplate = pageTemplate
            self.templateFile = pageTemplate.templateFile
            self.toTemplate.pageType = pageTemplateType
            self.toTemplate.pageModule = self.toTemplate.pageTemplate.pageModules[self.lang]
            self.toTemplate.pageContent = self.toTemplate.pageTemplate.pageData[self.lang]
            self.toTemplate.language = self.lang
    def __init__(self, **kwargs):
        View.__init__(self, **kwargs)

        self.templateFile = 'pages.html'
        self.permissionLevel = 1
        self.isEdit = True
        self.toTemplate.pageTree = UI.getPageTreeForEditView()

        query = kwargs['query']
        if query.getvalue('item_id'):
            self.toTemplate.itemId = str(query.getvalue('item_id'))
            self.currentPage = UI.Pages.getById(self.toTemplate.itemId)
            if self.currentPage:
                templateStr = self.currentPage.templateType.split('.')[-1]
                template = getattr(PageTemplates, templateStr)
                self.toTemplate.pageTemplate = template(page = self.currentPage)
                # Add modules for EditView
                self.toTemplate.pageTemplate.renderEditPage(query)
    def __init__(self, **kwargs):
        View.__init__(self, **kwargs)

        self.templateFile = 'pages.html'
        self.permissionLevel = 1
        self.isEdit = True
        self.toTemplate.pageTree = UI.getPageTreeForEditView()

        query = kwargs['query']
        if query.getvalue('item_id'):
            self.toTemplate.itemId = str(query.getvalue('item_id'))
            self.currentPage = UI.Pages.getById(self.toTemplate.itemId)
            if self.currentPage:
                templateStr = self.currentPage.templateType.split('.')[-1]
                template = getattr(PageTemplates, templateStr)
                self.toTemplate.pageTemplate = template(page=self.currentPage)
                # Add modules for EditView
                self.toTemplate.pageTemplate.renderEditPage(query)
    def test_get_page_templates_list(self):
        templatesList = UI.getPageTemplates()

        self.assertTrue(len(templatesList) > 0)
Example #9
0
    def renderPage(self, query):
        # If we are at root page in URL
        if self.path == '/' + self.lang + '/':
            self.toTemplate.currentPage = UI.getStartPage(
                self.lang, self.pageRefresh)
            # We need at least one page as startpage
            if self.toTemplate.currentPage is None:
                self.toTemplate.error = {
                    'code':
                    '500',
                    'message':
                    'Missing startpage. Select a start page under tab "Page Settings"'
                }
                return False
            # Get page modules associated with startpage
            pageModule = PageModules.getByPageKeyAndLanguage(
                self.toTemplate.currentPage.key(), self.lang)
        else:
            # Get page modules associated with url path
            pageModule = PageModules.getByPath(self.path)
        # We need at least one pageModule to display any page
        if pageModule is None:
            self.toTemplate.error = {
                'code': '404',
                'message': 'Can\'t find request page'
            }
            return False
        else:
            # If no current page is set, set pageModules's page as currentpage
            if not self.toTemplate.currentPage:
                # TODO: Remove reference property since it causes an extra query.
                #self.toTemplate.currentPage = Pages.getByKeyForMainView(pageModule.pageKey.key())
                self.toTemplate.currentPage = pageModule.pageKey

            # templateType is stored with entire class path, we only need the last name
            pageTemplateType = self.toTemplate.currentPage.templateType.split(
                '.')[-1]

            # Set up memcacheid based on language
            memcacheid = "mainView_pageTemplate_%s" % self.path
            pageTemplate = memcache.get(memcacheid)
            # If pageTemplate is not in memcache
            if pageTemplate is None or self.pageRefresh:
                # Find pageTemplate class
                pageTemplateClass = getattr(PageTemplates, pageTemplateType,
                                            None)
                #invoke class and store it in memcache
                pageTemplate = pageTemplateClass(
                    page=self.toTemplate.currentPage,
                    query=query,
                    language=self.lang)
                pageTemplate.postRender(self.lang, query)
                memcache.set(memcacheid, pageTemplate,
                             Settings.memcacheTimeout)

            # Do stuff after saved to cache
            pageTemplate.postCache(self.lang, query)
            # Bind pageTemplate to view
            self.toTemplate.pageTemplate = pageTemplate
            self.templateFile = pageTemplate.templateFile
            self.toTemplate.pageType = pageTemplateType
            self.toTemplate.pageModule = self.toTemplate.pageTemplate.pageModules[
                self.lang]
            self.toTemplate.pageContent = self.toTemplate.pageTemplate.pageData[
                self.lang]
            self.toTemplate.language = self.lang
    def test_get_page_templates_list(self):
        templatesList = UI.getPageTemplates()

        self.assertTrue(len(templatesList) > 0)