Ejemplo n.º 1
0
 def handle_cancel(self, action):
     IStatusMessage(self.request).addStatusMessage(
         _(u"Changes canceled."),
         "info")
     self.request.response.redirect("%s/%s" % (
         self.context.absolute_url(),
         self.control_panel_view))
Ejemplo n.º 2
0
    def handle_save(self, action):
        data, errors = self.extractData()
        if errors:
            self.status = self.formErrorsMessage
            return

        # get old script id
        registry = getUtility(IRegistry)
        registrykey = "wildcard.cleanprint.interfaces.ICleanPrintSettings" \
                      ".script_url"
        oldscript = None
        if registrykey in registry.records:
            oldscript = registry.records[registrykey].value

        # apply changes
        self.applyChanges(data)

        # add new script
        jsreg = getToolByName(self, 'portal_javascripts')
        if data['script_url'] is not None \
                and data['script_url'].strip() != '' \
                and jsreg.getResource(data['script_url']) is None:
            jsreg.registerScript(id=data['script_url'])

        # remove old script if it does not match the currently saved script
        if data['script_url'] != oldscript:
            jsreg.unregisterResource(oldscript)

        # update the status
        IStatusMessage(self.request).addStatusMessage(
            _(u"Changes saved."),
            "info")
        self.request.response.redirect(self.request.getURL())