150 lines
5.7 KiB
XML
150 lines
5.7 KiB
XML
<html i18n:domain="loops">
|
|
|
|
|
|
<metal:input define-macro="filter_allstates">
|
|
<input type="checkbox" name="filter.states" value="all" id="filter-states"
|
|
onclick="submit()"
|
|
tal:attributes="checked python:
|
|
request.form.get('filter.states') == 'all'" />
|
|
<label for="filter-states"
|
|
i18n:translate="">Show all</label>
|
|
</metal:input>
|
|
|
|
|
|
<metal:query define-macro="query">
|
|
<div>
|
|
<form method="post">
|
|
<input type="hidden" name="search_submitted" value="yes" />
|
|
<h1 i18n:translate="">Select Objects by State</h1>
|
|
<br />
|
|
<table class="listing"
|
|
tal:define="defs item/rcStatesDefinitions">
|
|
<tr>
|
|
<th i18n:translate="">Object Type</th>
|
|
<th i18n:translate="">Workflow</th>
|
|
<th i18n:translate="">States</th>
|
|
</tr>
|
|
<tal:def repeat="deftype defs">
|
|
<tr tal:repeat="def defs/?deftype">
|
|
<td valign="top">
|
|
<span tal:condition="repeat/def/start"
|
|
tal:content="deftype"
|
|
i18n:translate="" />
|
|
</td>
|
|
<td valign="top"
|
|
tal:content="def/name"
|
|
i18n:translate=""></td>
|
|
<td>
|
|
<tal:states repeat="state def/states">
|
|
<tal:state define="name string:state.$deftype.${def/name};
|
|
value state/name">
|
|
<input type="checkbox"
|
|
tal:attributes="name string:$name:list;
|
|
value value;
|
|
checked python:
|
|
value in item.selectedStates.get(name, ());
|
|
id string:$name.$value"
|
|
/> <label tal:content="state/title"
|
|
i18n:translate=""
|
|
tal:attributes="for string:$name.$value" />
|
|
|
|
</tal:state>
|
|
</tal:states>
|
|
</td>
|
|
</tr>
|
|
</tal:def>
|
|
</table>
|
|
<input type="submit" name="button.search" value="Search" class="submit"
|
|
i18n:attributes="value" />
|
|
<tal:results condition="request/search_submitted|nothing">
|
|
<input type="hidden" name="form.action"
|
|
tal:attributes="value item/form_action" />
|
|
<h2 i18n:translate="">Search results</h2>
|
|
<metal:results use-macro="item/search_macros/results" />
|
|
<metal:actions use-macro="item/search_macros/actions" />
|
|
</tal:results>
|
|
</form>
|
|
</div>
|
|
</metal:query>
|
|
|
|
|
|
<metal:actions define-macro="portlet_states">
|
|
<div tal:repeat="stf macro/stfs">
|
|
<div tal:condition="python:len(macro.stfs) > 1">
|
|
<span i18n:translate="">States Definition</span>
|
|
<span i18n:translate=""
|
|
tal:content="stf/statesDefinition" />
|
|
</div>
|
|
<div tal:define="stateObject stf/getStateObject">
|
|
<b i18n:translate="">State</b>:<br />
|
|
<span>
|
|
<img style="margin-bottom: -1px"
|
|
tal:attributes="src string:$resourceBase/${stateObject/stateIcon}" />
|
|
<span i18n:translate=""
|
|
tal:content="stateObject/title" />
|
|
</span>
|
|
</div>
|
|
<div><b i18n:translate="">Available Transitions</b>:
|
|
<ul>
|
|
<li tal:repeat="action stf/getAvailableTransitionsForUser">
|
|
<a i18n:translate=""
|
|
tal:define="baseUrl view/virtualTargetUrl;
|
|
url string:$baseUrl/change_state.html?action=${action/name}&stdef=${stf/statesDefinition}"
|
|
tal:attributes="href url;
|
|
onClick string:objectDialog('change_state', '$url');;
|
|
return false;"
|
|
tal:content="action/title" />
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</metal:actions>
|
|
|
|
|
|
<metal:dialog define-macro="change_state">
|
|
<form name="stateful_changeState" method="post">
|
|
<div dojoType="dijit.layout.BorderContainer"
|
|
style="width: 70em; height: 600px">
|
|
<div dojoType="dijit.layout.ContentPane" region="top">
|
|
<h1><span i18n:translate="">State Transition</span> -
|
|
<span tal:content="view/title" />
|
|
</h1>
|
|
<div>
|
|
<span i18n:translate="">State</span>:
|
|
<span i18n:translate=""
|
|
tal:define="stateObject view/stateful/getStateObject"
|
|
tal:content="stateObject/title" /> -
|
|
<span i18n:translate="">Transition</span>:
|
|
<span i18n:translate=""
|
|
tal:content="view/transition/title" />
|
|
</div>
|
|
<input type="hidden" name="form.action" value="change_state">
|
|
<input type="hidden" name="stdef"
|
|
tal:attributes="value request/form/stdef|nothing">
|
|
<input type="hidden" name="action"
|
|
tal:attributes="value request/form/action|nothing">
|
|
</div>
|
|
<div dojoType="dijit.layout.ContentPane" region="center">
|
|
<table cellpadding="3" class="form">
|
|
<tbody><tr><td colspan="5" style="padding-right: 15px">
|
|
<div id="form.fields">
|
|
<metal:fields use-macro="view/fieldRenderers/fields" />
|
|
</div>
|
|
</td></tr></tbody>
|
|
</table>
|
|
</div>
|
|
<div dojoType="dijit.layout.ContentPane" region="bottom">
|
|
<metal:buttons define-slot="buttons">
|
|
<input value="Save" type="submit"
|
|
onClick="submit();; return false"
|
|
i18n:attributes="value">
|
|
<input type="button" value="Cancel" onClick="dialog.hide();"
|
|
i18n:attributes="value">
|
|
</metal:buttons>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</metal:dialog>
|
|
|
|
|
|
</html>
|