Exemplo n.º 1
0
    def _process( self ):
        params = self._getRequestParams()
        #set default variables
        if not self._reqParams.has_key("showDate"):
            self._reqParams["showDate"] = "all"
        if not self._reqParams.has_key("showSession"):
            self._reqParams["showSession"] = "all"
        if not self._reqParams.has_key("detailLevel"):
            self._reqParams["detailLevel"] = "contribution"
        #get default/selected view
        view = "static"
        wf = self.getWebFactory()
        if wf != None:
            type = self.getWebFactory().getId()
        else:
            type = "conference"
        styleMgr = info.HelperMaKaCInfo.getMaKaCInfoInstance().getStyleManager()
        if self._reqParams.has_key("view"):
            view = self._reqParams["view"]
        else:
            view = displayMgr.ConfDisplayMgrRegistery().getDisplayMgr(self._target).getDefaultStyle()
            # if no default view was attributed, then get the configuration default
            if view == "" or not styleMgr.existsStyle(view):
                view =styleMgr.getDefaultStyleForEventType( type )
                displayMgr.ConfDisplayMgrRegistery().getDisplayMgr(self._target).setDefaultStyle( view )
        isLibxml = True
        warningText = ""
        try:
            import lxml
        except:
            isLibxml = False

        # create the html factory
        if type == "conference":
            if params.get("ovw", False):
                p = conferences.WPConferenceDisplay( self, self._target )
            else:
                self._page = None
                intPagesMgr=internalPagesMgr.InternalPagesMgrRegistery().getInternalPagesMgr(self._target)
                for page in intPagesMgr.getPagesList():
                    if page.isHome():
                        self._page = page
                if not self._page:
                    p = conferences.WPConferenceDisplay( self, self._target )
                else:
                    p = conferences.WPInternalPageDisplay(self,self._target, self._page)
        elif view in styleMgr.getXSLStyles():
            if not isLibxml:
                warningText = "lxml needs to be installed if you want to use a stylesheet-driven display - switching to static display"
            self._responseUtil.content_type = 'text/xml'
            p = conferences.WPXSLConferenceDisplay( self, self._target, view, type, self._reqParams )
        elif view != "static":
            p = conferences.WPTPLConferenceDisplay( self, self._target, view, type, self._reqParams )
        else:
            if wf != None:
                p = wf.getConferenceDisplayPage( self, self._target, self._reqParams )
            else:
                p = conferences.WPConferenceDisplay( self, self._target )

        return warningText + p.display(**params)
Exemplo n.º 2
0
    def _process(self):
        params = self._getRequestParams()
        if not self._reqParams.has_key("showDate"):
            self._reqParams["showDate"] = "all"
        if not self._reqParams.has_key("showSession"):
            self._reqParams["showSession"] = "all"
        if not self._reqParams.has_key("detailLevel"):
            self._reqParams["detailLevel"] = "contribution"

        warningText = ""

        # create the html factory
        if self._target.getType() == "conference":
            if params.get("ovw", False):
                p = conferences.WPConferenceDisplay(self, self._target)
            else:
                event = self._conf.as_event
                if event.default_page_id is None:
                    p = conferences.WPConferenceDisplay(self, self._conf)
                else:
                    p = WPPage.render_template('page.html',
                                               self._conf,
                                               page=event.default_page)
        else:
            p = self.render_meeting_page(self._conf,
                                         self._reqParams.get("view"),
                                         self._reqParams.get('fr') == 'no')

        return warningText + (p if isinstance(p, basestring) else p.display(
            **params))
Exemplo n.º 3
0
    def render_meeting_page(self, conf, view, hide_frame=False):
        evt_type = conf.getType()
        view = view or conf.as_event.theme

        # if the current view is invalid, use the default
        if view not in theme_settings.themes:
            view = theme_settings.defaults[evt_type]

        if view in theme_settings.xml_themes:
            if hide_frame:
                self._responseUtil.content_type = 'text/xml'
            return conferences.WPXSLConferenceDisplay(self, conf, view,
                                                      evt_type,
                                                      self._reqParams)
        elif view == "static":
            return conferences.WPConferenceDisplay(self, conf)
        else:
            return conferences.WPTPLConferenceDisplay(self, conf, view,
                                                      evt_type,
                                                      self._reqParams)
Exemplo n.º 4
0
    def _process(self):
        params = self._getRequestParams()
        #set default variables
        if not self._reqParams.has_key("showDate"):
            self._reqParams["showDate"] = "all"
        if not self._reqParams.has_key("showSession"):
            self._reqParams["showSession"] = "all"
        if not self._reqParams.has_key("detailLevel"):
            self._reqParams["detailLevel"] = "contribution"
        #get default/selected view
        view = "static"
        wf = self.getWebFactory()
        if wf != None:
            type = self.getWebFactory().getId()
        else:
            type = "conference"
        styleMgr = info.HelperMaKaCInfo.getMaKaCInfoInstance().getStyleManager(
        )
        if self._reqParams.has_key("view"):
            view = self._reqParams["view"]
        else:
            view = layout_settings.get(self._conf, 'timetable_theme')
            # if no default view was attributed, then get the configuration default
            if not view or not styleMgr.existsStyle(view):
                view = styleMgr.getDefaultStyleForEventType(type)
        isLibxml = True
        warningText = ""
        try:
            import lxml
        except:
            isLibxml = False

        # create the html factory
        if type == "conference":
            if params.get("ovw", False):
                p = conferences.WPConferenceDisplay(self, self._target)
            else:
                event = self._conf.as_event
                if event.default_page_id is None:
                    p = conferences.WPConferenceDisplay(self, self._conf)
                else:
                    p = WPPage.render_template(
                        'page.html', self._conf,
                        page=event.default_page).encode('utf-8')
        elif view in styleMgr.getXSLStyles():
            if not isLibxml:
                warningText = "lxml needs to be installed if you want to use a stylesheet-driven display - switching to static display"
            self._responseUtil.content_type = 'text/xml'
            p = conferences.WPXSLConferenceDisplay(self, self._target, view,
                                                   type, self._reqParams)
        elif view != "static":
            p = conferences.WPTPLConferenceDisplay(self, self._target, view,
                                                   type, self._reqParams)
        else:
            if wf != None:
                p = wf.getConferenceDisplayPage(self, self._target,
                                                self._reqParams)
            else:
                p = conferences.WPConferenceDisplay(self, self._target)

        return warningText + (p if isinstance(p, basestring) else p.display(
            **params))