Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 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')
         })
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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
Ejemplo n.º 7
0
    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()
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
 def get_description(self):
     return ResponseDescription.get(self)
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
 def label(self):
     return self.translate_to_all_languages(
         ResponseDescription.get(response=self.response).label())
Ejemplo n.º 12
0
 def summary(self):
     return self.translate_to_all_languages(
         ResponseDescription.get(response=self.response).msg())
Ejemplo n.º 13
0
 def get_description(self):
     return ResponseDescription.get(self)
Ejemplo n.º 14
0
 def label(self):
     return self.translate_to_all_languages(
         ResponseDescription.get(response=self.response).label())
Ejemplo n.º 15
0
 def summary(self):
     return self.translate_to_all_languages(
         ResponseDescription.get(response=self.response).msg())
Ejemplo n.º 16
0
 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')})