def edit(self, cid, **kwargs):
        """ See IFacetedCriterionHandler
        """
        criteria = ICriteria(self.context)
        widget = criteria.widget(cid=cid)
        criterion = criteria.get(cid)
        if kwargs.pop('__new__', False):
            criterion = criterion.__class__(cid='c0')
        widget = widget(self.context, self.request, criterion)

        wid = kwargs.pop('widget', None)
        properties = self.extractData(widget, **kwargs)
        if wid:
            properties['widget'] = wid

        update = {}
        for prop, value in properties.items():
            form_key = 'faceted.%s.%s' % (cid, prop)
            if form_key not in kwargs and value is None:
                continue
            update[prop] = value

        if update:
            criteria.edit(cid, **update)
            if widget.hidden:
                notify(FacetedGlobalSettingsChangedEvent(self.context))
            elif set(['hidden', 'operator']).intersection(update.keys()):
                notify(FacetedGlobalSettingsChangedEvent(self.context))

        return self._redirect('Changes saved')
    def edit(self, cid, **kwargs):
        """ See IFacetedCriterionHandler
        """
        criteria = ICriteria(self.context)
        widget = criteria.widget(cid=cid)
        criterion = criteria.get(cid)
        if kwargs.pop('__new__', False):
            criterion = criterion.__class__(cid='c0')
        widget = widget(self.context, self.request, criterion)

        wid = kwargs.pop('widget', None)
        properties = self.extractData(widget, **kwargs)
        if wid:
            properties['widget'] = wid

        update = {}
        for prop, value in properties.items():
            form_key =  'faceted.%s.%s' % (cid, prop)
            if form_key not in kwargs and value is None:
                continue
            update[prop] = value

        if update:
            criteria.edit(cid, **update)
            if widget.hidden:
                notify(FacetedGlobalSettingsChangedEvent(self.context))
            elif set(['hidden', 'operator']).intersection(update.keys()):
                notify(FacetedGlobalSettingsChangedEvent(self.context))

        return self._redirect('Changes saved')
Beispiel #3
0
    def _updateFacetedFilters(self):
        """Update vocabulary used for "Taken over by".
           Make sure the default for contacts 'c5' widget is not a list."""
        logger.info(
            "Updating faceted filter \"Taken over by\" for every MeetingConfigs..."
        )
        for cfg in self.tool.objectValues('MeetingConfig'):
            obj = cfg.searches.searches_items
            # update vocabulary for relevant filters
            criteria = ICriteria(obj)
            criteria.edit(
                'c12', **{
                    'vocabulary':
                    'Products.PloneMeeting.vocabularies.creatorswithnobodyforfacetedfiltervocabulary'
                })
            criteria.edit(
                'c27', **{
                    'vocabulary':
                    'Products.PloneMeeting.vocabularies.associatedgroupsvocabulary'
                })
        logger.info('Done.')

        logger.info("Updating faceted filter \"Defined in\" for 'c5' "
                    "criterion of contacts/orgs-searches...")
        obj = self.portal.contacts.get('orgs-searches')
        # as default is not correct (a string instead a list, we can not use edit or it fails to validate)
        criteria = ICriteria(obj)
        criterion = criteria.get('c5')
        criterion.default = u'collective.contact.plonegroup.interfaces.IPloneGroupContact'
        logger.info('Done.')
Beispiel #4
0
 def _updateFacetedFilters(self):
     """Update vocabulary used for "Taken over by"."""
     logger.info(
         "Updating faceted filter \"Taken over by\" for every MeetingConfigs..."
     )
     for cfg in self.tool.objectValues('MeetingConfig'):
         criteria = ICriteria(cfg.searches.searches_items)
         criteria.edit(
             'c12', **{
                 'vocabulary':
                 'Products.PloneMeeting.vocabularies.creatorswithnobodyforfacetedfiltervocabulary'
             })
     logger.info('Done.')
    def edit(self, cid, **kwargs):
        """ See IFacetedCriterionHandler
        """
        kwargs = self._request_form(kwargs)

        criteria = ICriteria(self.context)
        widget = criteria.widget(cid=cid)
        fields = widget.edit_schema.keys()[:]
        update = {}

        for prop in fields:
            new_value = kwargs.get(prop, None)
            if new_value is None:
                continue
            update[prop] = new_value

        if update:
            criteria.edit(cid, **update)
            if widget.hidden:
                notify(FacetedGlobalSettingsChangedEvent(self.context))
            elif set(['hidden', 'operator']).intersection(update.keys()):
                notify(FacetedGlobalSettingsChangedEvent(self.context))

        return self._redirect('Changes saved')
    def edit(self, cid, **kwargs):
        """ See IFacetedCriterionHandler
        """
        kwargs = self._request_form(kwargs)

        criteria = ICriteria(self.context)
        widget = criteria.widget(cid=cid)
        fields = widget.edit_schema.keys()[:]
        update = {}

        for prop in fields:
            new_value = kwargs.get(prop, None)
            if new_value is None:
                continue
            update[prop] = new_value

        if update:
            criteria.edit(cid, **update)
            if widget.hidden:
                notify(FacetedGlobalSettingsChangedEvent(self.context))
            elif set(['hidden', 'operator']).intersection(update.keys()):
                notify(FacetedGlobalSettingsChangedEvent(self.context))

        return self._redirect('Changes saved')