loops/organize/stateful/view_macros.pt

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"
/>&nbsp;<label tal:content="state/title"
i18n:translate=""
tal:attributes="for string:$name.$value" />
&nbsp;
</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>