def box_output(self):
     li = list()
     li.append(dict(id='match',
                    data=dict(direction= [1, 1]),
                    title=self._translate(_('match')) ))
     li.append(dict(id='not_match',
                    data=dict(direction= [1, 1]),
                    title=self._translate(_('do not match')) ))
     return li
 def toolbox(self):
     li = list()
     li.append(dict( title = _('Inputs'),
                     items = self._rules(interfaces.IInputItemFactory),)) 
     li.append(dict( title = _('Conditions'),
                     items = self._rules(interfaces.IConditionItemFactory),))
     li.append(dict( title = _('Actions'),
                     items = self._rules(interfaces.IActionItemFactory),))
     return li
 def test(self, mail, factory):
     try:
         self.before_check()
         mapping = dict(factory=factory.title, title=self.title)
         if self.check(mail):
             return self.translate(_("Rule for <${factory}@${title}> match", mapping=mapping))
         else:
             return self.translate(_("Rule for <${factory}@${title}> dosen't match", mapping=mapping))
     except Exception, e:
         return str(e)
 def tabs(self, ignors=[]):
     li = list()
     li.append(dict(id='ui-tabs-form',
                    title=_('Properties'),
                    html=self.formhtml()))
     li.append(dict(id='ui-tabs-overrides',
                    title=_('Override'),
                    html=self.overridehtml()))
     li.append(dict(id='ui-tabs-verify',
                    title=_('Test'),
                    html=self.verifyhtml()))
     li.append(dict(id='ui-tabs-info',
                    title=_('RTFM'),
                    html=self.infohtml()))
     return [i for i in li if not  i.get('id') in ignors]
 def __call__(self):
     data = self.request.form.get('metadata', None)
     if data:
         self.process(json.loads(data))
         self.redirect(grok.url(self.request, self.context.__parent__))
         message.send(_('ruleset successfully saved'))
         return
     
     return super(WireItBoard, self).__call__()
 def infohtml(self):
     # hook for translating possibility
     i18n = _('description_info_tab_%s' % getattr(self.factory,'grokcore.component.directive.name'), default=False)
     i18n = translate(i18n, context=self.request)
     if i18n:
         return i18n
     filepath = os.path.join(os.path.dirname(sys.modules[self.factory.__module__].__file__),'description.rst')
     if os.path.exists(filepath):
         return component.getUtility(ITemplateFileFactory, name='rst')(filename=filepath).render(self)
     return '<p>%s</p>' % self.factory.description
 def box_input(self):
     li = list()
     li.append(dict(id='input',
                    data=dict(direction= [-1,-1]),
                    title=self._translate(_('input')) ))
     return li
 def box_buttons_delete(self):
     return dict(   icon='ui-icon-trash',
                    title=self._translate(_('delete rule element')),
                    cssclass='ui-button ui-modal-minsize',
                    ajax=self.box_delete())
 def box_buttons_edit(self):
     return dict(   icon='ui-icon-pencil',
                    title=self._translate(_('edit rule element')),
                    cssclass='ui-button',
                    ajax=self.box_edit())
 def box_input(self):
     li = list()
     li.append(dict(title=self._translate(_('input')) ))
     return li