def init_dataset(dataset, config, request): interface = config.interface dataset["document.title"] = "[PREWIKKA]" dataset["document.charset"] = localization.getCurrentCharset() dataset["document.css_files"] = [ "prewikka/css/style.css" ] dataset["document.js_files"] = [ "prewikka/js/jquery.js", "prewikka/js/functions.js" ] dataset["prewikka.title"] = interface.getOptionValue("title", " ") dataset["prewikka.software"] = interface.getOptionValue("software", " ") dataset["prewikka.place"] = interface.getOptionValue("place", " ") dataset["prewikka.date"] = localization.getDate() val = config.general.getOptionValue("external_link_new_window", "true") if (not val and config.general.has_key("external_link_new_window")) or (val == None or val.lower() in ["true", "yes"]): dataset["prewikka.external_link_target"] = "_blank" else: dataset["prewikka.external_link_target"] = "_self" dataset["arguments"] = [] for name, value in request.arguments.items(): if name in ("_login", "_password"): continue if name == "view" and value == "logout": continue dataset["arguments"].append((name, utils.toUnicode(value)))
def _setupDataSet(self, dataset, request, user): login = user.name if user else None dataset["document.base_url"] = request.getBaseURL() dataset["document.fullhref"] = "/".join(request.getViewElements()) # Needed for view that aren't completly ported to ajax dataset["document.href"] = "/".join(request.getViewElements()[0:2]) # Subview are hidden dataset["document.request_method"] = request.getMethod() dataset["document.query_string"] = request.getQueryString() dataset["document.charset"] = localization.getCurrentCharset() dataset["toplayout_extra_content"] = "" dataset["prewikka.user"] = user
self._cleanupView(view_object) except Error.PrewikkaUserError, e: if e._log_priority: self._env.log.log(e._log_priority, unicode(e), request=request, user=login or e._log_user) self._setupDataSet(e.dataset, request, user, view=view) dataset, template_name = e.dataset, e.template except Exception, e: error = self.prepareError(e, request, user, login, view) dataset, template_name = error.dataset, error.template #self._printDataSet(dataset) template = load_template(template_name, dataset) # We check the character set after loading the template, # since the template might trigger a language change. dataset["document.charset"] = localization.getCurrentCharset() resolve.process(self._env.dns_max_delay) try: request.content = template.respond() except Exception, e: error = self.prepareError(e, request, user, login, view) request.content = load_template(error.template, error.dataset).respond() request.content = request.content.encode(encoding, "xmlcharrefreplace") request.sendResponse()