def render(self): claim = self.request.form.get('claim', None) if not claim: msg = _(u'No claim id specified.') api.portal.show_message(message=msg, request=self.request, type='error') else: results = self.context.listFolderContents({'portal_type': 'Claim'}) results = dict((i.id, i) for i in results) if claim in results: self.request.response.redirect(results[claim].absolute_url()) return else: msg = _(u'Claim id not found.') api.portal.show_message(message=msg, request=self.request, type='error') self.request.response.redirect(self.context.absolute_url())
def render(self): transition = self.request.form.get('transition', None) text = self.request.form.get('text', None) if transition is None or not text: msg = _(u'There were some errors. Required input is missing.') api.portal.show_message(message=msg, request=self.request, type='error') else: review_state = api.content.get_state(self.context) # we use the current state as a marker to indicate # no review state change if transition != review_state: # we need to make the transition first api.content.transition(self.context, transition) review_state = api.content.get_state(self.context) responses = IResponseContainer(self.context) responses.add(Response(review_state, text)) # notify the claim has a new response notify(ObjectModifiedEvent(self.context)) msg = _(u'Item created.') api.portal.show_message(message=msg, request=self.request) self.request.response.redirect(self.context.absolute_url())
class IOmbudsOffice(model.Schema): """Folder to store claims to the Ombudsman.""" title = schema.TextLine( title=_(u'Ombuds Office'), description=_(u''), required=True, ) description = schema.Text( title=_(u'Description'), description=_(u''), required=False, ) form.widget(claim_types=DataGridFieldFactory) claim_types = schema.List( title=_(u'Claim Types'), description=_(u'Enter claim types.'), required=True, value_type=DictRow(title=u'claim_types_row', schema=IClaimTypeItem), ) form.widget(areas=DataGridFieldFactory) areas = schema.List( title=_(u'Areas'), description=_(u'Enter areas, name and email of responsible persons.'), required=True, value_type=DictRow(title=u'areas_row', schema=IAreaItem), ) managers = schema.List( title=_(u'Managers'), description=_(u'Enter areas, name and email of responsible persons.'), required=False, value_type=schema.Choice(vocabulary=u'plone.app.vocabularies.Users'), ) form.widget('email_template', WysiwygFieldWidget) email_template = schema.Text( title=_(u'Template for fist email after claim created.'), description=_(u'Use vars {title}, {protocol}, {url}, {name}, {email}, \ {address}, {city}, {state}, {postalcode}, {status} to customize your template.' ), required=True, ) form.widget('email_template_states', WysiwygFieldWidget) email_template_states = schema.Text( title=_(u'Template for further email after alter state of claim.'), description=_(u'Use vars {title}, {protocol}, {url}, {name}, {email}, \ {address}, {city}, {state}, {postalcode}, {status} to customize your template.' ), required=True, ) display_claims = schema.Bool( title=_(u'Display claims for anonymous?'), description=_(u''), required=True, )