예제 #1
0
class AddForm(base.AddForm):
    form_fields = form.Fields(IBuscaPortlet)
    form_fields['root'].custom_widget = UberSelectionWidget
    label = _(u'Adiciona Portlet de Busca de Agenda')
    description = _(u'Este portlet busca no conteudo de agendas diarias.')

    def create(self, data):
        return Assignment(**data)
예제 #2
0
class IBuscaPortlet(IPortletDataProvider):
    """ Portlet de busca dentro da agenda
    """

    root = schema.Choice(
        title=_(u'Raiz'),
        description=_(u'Informe a raiz da busca de Agendas Diarias'),
        required=False,
        source=SearchableTextSourceBinder({'is_folderish': True},
                                          default_query='path:'))
예제 #3
0
 def validate(self, value):
     """ Garantimos a unicidade das AgendasDiarias """
     super(DateValidator, self).validate(value)
     date = value.strftime(AGENDADIARIAFMT)
     oIds = self.context.objectIds()
     if date in oIds:
         raise Invalid(_(u'Ja existe uma agenda para esta data'))
예제 #4
0
 def long_date(self):
     date = self.date
     parts = {}
     parts['day'] = date.strftime('%d')
     parts['month'] = self.month()
     parts['year'] = date.strftime('%Y')
     return self.context.translate(
         Message(_(u'long_date_agenda'), mapping=parts))
예제 #5
0
 def Title(self):
     """ Retorna titulo calculado com autoridade e data
     """
     date = self.date
     fmt_date = date.strftime('%d/%m/%Y')
     autoridade = self.autoridade
     mapping = {'autoridade': autoridade, 'fmt_date': fmt_date}
     portal_state = getMultiAdapter((self, self.REQUEST),
                                    name=u'plone_portal_state')
     current_language = portal_state.language()
     tool = api.portal.get_tool('translation_service')
     # FIXME: Ao trocar a língua de um portal, o título de uma agenda não
     # será alterado no folder_contents. Como a recomendação atual de sites
     # multilíngues é a geração de Plone Sites distintos, essa situação
     # não será um problema, mas quando as discussões acerca do uso do
     # plone.app.multilingual evoluírem isso deve ser revisto.
     target_language = ('pt_BR' if current_language == 'pt-br' else
                        current_language)
     return tool.translate(Message(_(u'agenda_diaria_title'),
                                   mapping=mapping),
                           'brasil.gov.agenda',
                           context=self,
                           target_language=target_language)
예제 #6
0
class EditForm(base.EditForm):
    form_fields = form.Fields(IBuscaPortlet)
    form_fields['root'].custom_widget = UberSelectionWidget
    label = _(u'Adiciona Portlet de Busca de Agenda')
    description = _(u'Este portlet busca no conteudo de agendas diarias.')
예제 #7
0
 def title(self):
     return _(u'Busca de Agenda')