Exemplo n.º 1
0
    def updateLayout(self, ppath='', all=False, portals='', p_action='ep',
                     sel_skin='', locator='skin', f_action='af', file_id='', REQUEST=None):
        """ update files for Naaya layout """
        report = {}
        portals_custom = []
        for portal_id in portals.split(','):
            portals_custom.append(portal_id.strip())

        if all:
            portals_list = get_portals(self, self.pmeta_types)
            for portal in portals_list:
                do_update = False
                if p_action == 'ep':
                    if not portal.id in portals_custom: do_update = True
                else:
                    if portal.id in portals_custom: do_update = True
                if do_update:
                    report[portal.id] = self.updateLayoutForms(portal, locator, sel_skin, f_action, file_id)
        else:
            portal = get_portal(self, ppath)
            if not portal.id in portals_custom:
                report[portal.id] = self.updateLayoutForms(portal, locator, sel_skin, f_action, file_id)

        REQUEST.SESSION.set('report', report)
        return REQUEST.RESPONSE.redirect('%s/update_layout_html' % self.absolute_url())
Exemplo n.º 2
0
 def do_reload(self, fmod=[], fdel=[], forms='', REQUEST=None):
     """ reload portal forms """
     fmod = convertToList(fmod)
     fdel = convertToList(fdel)
     forms_list = convertLinesToList(forms)
     for form_path in fmod:
         portal = get_portal(self, form_path[:form_path.find('portal_forms')])
         form_id = form_path[form_path.find('portal_forms')+13:]
         form_ob = self.get_zmi_template(form_path)
         fs_content = self.get_fs_template(form_id, portal)
         try:
             if form_ob is None:
                 formstool_ob = portal.getFormsTool()
                 formstool_ob.manage_addTemplate(id=form_id, title='', file='')
                 form_ob = formstool_ob._getOb(form_id, None)
             form_ob.pt_edit(text=fs_content, content_type='')
             form_ob._p_changed = 1
         except Exception, error:
             print error
Exemplo n.º 3
0
    def updateLayout(self,
                     ppath='',
                     all=False,
                     portals='',
                     p_action='ep',
                     sel_skin='',
                     locator='skin',
                     f_action='af',
                     file_id='',
                     REQUEST=None):
        """ update files for Naaya layout """
        report = {}
        portals_custom = []
        for portal_id in portals.split(','):
            portals_custom.append(portal_id.strip())

        if all:
            portals_list = get_portals(self, self.pmeta_types)
            for portal in portals_list:
                do_update = False
                if p_action == 'ep':
                    if not portal.id in portals_custom: do_update = True
                else:
                    if portal.id in portals_custom: do_update = True
                if do_update:
                    report[portal.id] = self.updateLayoutForms(
                        portal, locator, sel_skin, f_action, file_id)
        else:
            portal = get_portal(self, ppath)
            if not portal.id in portals_custom:
                report[portal.id] = self.updateLayoutForms(
                    portal, locator, sel_skin, f_action, file_id)

        REQUEST.SESSION.set('report', report)
        return REQUEST.RESPONSE.redirect('%s/update_layout_html' %
                                         self.absolute_url())
    def reinstallMetaTypes(self,
                           all=False,
                           ppath='',
                           portals='',
                           p_action='ep',
                           contenttypes='',
                           ct_action='ect',
                           REQUEST=None):
        """ reinstall active metatypes for Naaya portals"""
        report = {}
        portals_custom = []
        for portal_id in portals.split(','):
            portals_custom.append(portal_id.strip())

        if all:
            portals_list = get_portals(self, self.pmeta_types)
            for portal in portals_list:
                do_update = False
                if p_action == 'ep':
                    if not portal.id in portals_custom: do_update = True
                else:
                    if portal.id in portals_custom: do_update = True
                if do_update:
                    report[portal.id] = self.reloadMetaTypesForms(
                        portal, contenttypes, ct_action)
        else:
            portal = get_portal(ppath)
            if not portal.id in portals_custom:
                report[portal.id] = self.reloadMetaTypesForms(
                    portal, contenttypes, ct_action)

        if not REQUEST:
            return report

        REQUEST.SESSION.set('report', report)
        return REQUEST.RESPONSE.redirect(self.absolute_url())
Exemplo n.º 5
0
        for form_path in fmod:
            portal = get_portal(self, form_path[:form_path.find('portal_forms')])
            form_id = form_path[form_path.find('portal_forms')+13:]
            form_ob = self.get_zmi_template(form_path)
            fs_content = self.get_fs_template(form_id, portal)
            try:
                if form_ob is None:
                    formstool_ob = portal.getFormsTool()
                    formstool_ob.manage_addTemplate(id=form_id, title='', file='')
                    form_ob = formstool_ob._getOb(form_id, None)
                form_ob.pt_edit(text=fs_content, content_type='')
                form_ob._p_changed = 1
            except Exception, error:
                print error
        for form_path in fdel:
            portal = get_portal(self, form_path[:form_path.find('portal_forms')])
            form_id = form_path[form_path.find('portal_forms')+13:]
            form_ob = self.get_zmi_template(form_path)
            form_ob.aq_parent.manage_delObjects([form_id])
        return REQUEST.RESPONSE.redirect(self.absolute_url() + '/manage_update')

    def get_zmi_template(self, path):
        """
            return a ZMI template object given the path
        """
        root = self.getPhysicalRoot()
        return root.unrestrictedTraverse(path, None)

    def get_fs_template(self, id, portal):
        """
            return a filesystem template object given the id