def list(self): """Returns settings for the current user. """ activities = [] for group in ACTIVITY_GROUPS: for kind in group.get('activities'): kind_title = translate(ACTIVITY_TRANSLATIONS[kind], context=self.request) item = { 'kind_title': kind_title, 'edit_mode': True, 'css_class': ResponseDescription.get(transition=kind).css_class, 'kind': kind, 'type_id': group.get('id') } activities.append( self.add_values(kind, item, group.get('roles'))) return JSONResponse(self.request).data( activities=activities, translations=self.get_role_translations()).dump()
def responses(self): container = IResponseContainer(self.context) responses = [] transforms = api.portal.get_tool(name='portal_transforms') for id, response in enumerate(container): response_description = ResponseDescription.get(response=response) info = dict(id=id, response=response, css_class=response_description.css_class, msg=response_description.msg(), text=transforms.convertTo( 'text/html', response.text, mimetype='text/x-web-intelligent').getData(), edit_link=self.edit_link(id), delete_link=self.delete_link(id)) responses.append(info) # sorting on date responses.sort( lambda a, b: cmp(b['response'].created, a['response'].created)) return responses
def _append_additional_menu_items(self, regular_items, agency_items): if ICommentResponseHandler(self.context).is_allowed(): regular_items.append({ 'title': 'label_add_comment', 'url': '{}/@@addcommentresponse'.format(self.context.absolute_url()), 'response_description': ResponseDescription.get(transition='task-commented') })
def _append_workflow_menu_items(self, regular_items, agency_items): wftool = api.portal.get_tool(name='portal_workflow') infos = wftool.listActionInfos(object=self.context, check_condition=False) controller = getMultiAdapter((self.context, self.request), name='task_transition_controller') for info in infos: description = ResponseDescription.get(transition=info['id']) info['response_description'] = description if controller.is_transition_possible(info.get('id'), include_agency=False): regular_items.append(info) else: agency_items.append(info)
def get_menu_items(self): regular_items = [] agency_items = [] wftool = api.portal.get_tool(name="portal_workflow") infos = wftool.listActionInfos(object=self.context, check_condition=False) controller = getMultiAdapter((self.context, self.request), name="task_transition_controller") for info in infos: description = ResponseDescription.get(transition=info["id"]) info["response_description"] = description if controller.is_transition_possible(info.get("id"), include_agency=False): regular_items.append(info) else: agency_items.append(info) self.regular_items = regular_items self.agency_items = agency_items return regular_items, agency_items
def list(self): """Returns settings for the current user. """ activities = [] for group in ACTIVITY_GROUPS: for kind in group.get('activities'): kind_title = translate( ACTIVITY_TRANSLATIONS[kind], context=self.request) item = {'kind_title': kind_title, 'edit_mode': True, 'css_class': ResponseDescription.get(transition=kind).css_class, 'kind': kind, 'type_id': group.get('id')} activities.append( self.add_values(kind, item, group.get('roles'))) return JSONResponse(self.request).data( activities=activities, translations=self.get_role_translations()).dump()
def _get_activity_class(self, kind): css_class = ACTIVITIES_ICONS.get(kind) if not css_class: css_class = ResponseDescription.get(transition=kind).css_class return css_class
def get_description(self): return ResponseDescription.get(self)
def label(self): return self.translate_to_all_languages( ResponseDescription.get(response=self.response).label())
def summary(self): return self.translate_to_all_languages( ResponseDescription.get(response=self.response).msg())
def _append_additional_menu_items(self, regular_items, agency_items): if ICommentResponseHandler(self.context).is_allowed(): regular_items.append( {'title': 'label_add_comment', 'url': '{}/@@addcommentresponse'.format(self.context.absolute_url()), 'response_description': ResponseDescription.get(transition='task-commented')})