src/pyams_content/workflow/__init__.py
changeset 338 f37b5995a48c
parent 327 f31d61be8b65
child 956 a8723fffbaf6
equal deleted inserted replaced
337:9a3e4f9cc8f5 338:f37b5995a48c
   565                     condition=can_delete_version,
   565                     condition=can_delete_version,
   566                     action=delete_action,
   566                     action=delete_action,
   567                     menu_css_class='fa fa-fw fa-trash',
   567                     menu_css_class='fa fa-fw fa-trash',
   568                     view_name='wf-delete.html',
   568                     view_name='wf-delete.html',
   569                     history_label=_("Version deleted"),
   569                     history_label=_("Version deleted"),
   570                     order=18)
   570                     order=99)
   571 
   571 
   572 wf_transitions = [init,
   572 wf_transitions = [init,
   573                   draft_to_proposed,
   573                   draft_to_proposed,
   574                   retired_to_proposed,
   574                   retired_to_proposed,
   575                   proposed_to_canceled,
   575                   proposed_to_canceled,
   610     def get_label(content, request=None, format=True):
   610     def get_label(content, request=None, format=True):
   611         if request is None:
   611         if request is None:
   612             request = check_request()
   612             request = check_request()
   613         translate = request.localizer.translate
   613         translate = request.localizer.translate
   614         state = IWorkflowState(content)
   614         state = IWorkflowState(content)
   615         state_label = translate(STATES_HEADERS[state.state])
   615         header = STATES_HEADERS.get(state.state)
   616         if format:
   616         if header is not None:
   617             state_label = translate(_('{state} {date}')).format(state=state_label,
   617             state_label = translate(header)
   618                                                                 date=format_datetime(state.state_date))
   618             if format:
       
   619                 state_label = translate(_('{state} {date}')).format(state=state_label,
       
   620                                                                     date=format_datetime(state.state_date))
       
   621         else:
       
   622             state_label = translate(_("Unknown state"))
   619         return state_label
   623         return state_label
   620 
   624 
   621 
   625 
   622 @adapter_config(name=DRAFT, context=IContentWorkflow, provides=IWorkflowStateLabel)
   626 @adapter_config(name=DRAFT, context=IContentWorkflow, provides=IWorkflowStateLabel)
   623 class DraftWorkflowStateLabelAdapter(ContextAdapter):
   627 class DraftWorkflowStateLabelAdapter(ContextAdapter):
   628         if request is None:
   632         if request is None:
   629             request = check_request()
   633             request = check_request()
   630         translate = request.localizer.translate
   634         translate = request.localizer.translate
   631         state = IWorkflowState(content)
   635         state = IWorkflowState(content)
   632         if len(state.history) <= 2:
   636         if len(state.history) <= 2:
   633             if state.version_id == 1:
   637             header = STATES_HEADERS.get(state.state)
   634                 state_label = translate(STATES_HEADERS[state.state])
   638             if header is not None:
       
   639                 if state.version_id == 1:
       
   640                     state_label = translate(header)
       
   641                 else:
       
   642                     state_label = translate(_("new version created"))
   635             else:
   643             else:
   636                 state_label = translate(_("new version created"))
   644                 state_label = translate(_("Unknown state"))
   637         else:
   645         else:
   638             state_label = translate(_('publication refused'))
   646             state_label = translate(_('publication refused'))
   639         if format:
   647         if format:
   640             state_label = translate(_('{state} {date}')).format(state=state_label,
   648             state_label = translate(_('{state} {date}')).format(state=state_label,
   641                                                                 date=format_datetime(state.state_date))
   649                                                                 date=format_datetime(state.state_date))