327 lines
13 KiB
XML
327 lines
13 KiB
XML
<html i18n:domain="loops">
|
|
<!-- macros for rendering edit/create forms
|
|
$Id$ -->
|
|
|
|
|
|
<form metal:define-macro="edit" i18n:domain="loops"
|
|
method="post" enctype="multipart/form-data"
|
|
id="dialog_form" class="dialog"
|
|
dojoType="dijit.form.Form"
|
|
tal:define="langInfo view/languageInfo;
|
|
languages langInfo/availableLanguages;
|
|
language langInfo/language;
|
|
useI18N view/useI18NForEditing;
|
|
innerForm request/inner_form | string:inner_concept_edit_form.html;">
|
|
<div dojoType="dijit.layout.BorderContainer"
|
|
style="width: 70em; height: 600px"
|
|
tal:omit-tag="not:view/isInnerHtml">
|
|
<div dojoType="dijit.layout.ContentPane" region="center"
|
|
tal:omit-tag="not:view/isInnerHtml">
|
|
<input type="hidden" name="form.action" value="edit"
|
|
tal:attributes="value view/form_action" />
|
|
<input type="hidden" name="version"
|
|
tal:attributes="value request/version | nothing" />
|
|
<tal:title condition="not:view/isInnerHtml">
|
|
<h1 tal:content="request/view_title|view/title"
|
|
i18n:translate="">Edit Information Object</h1>
|
|
<br />
|
|
</tal:title>
|
|
|
|
<table cellpadding="3" class="form">
|
|
<tbody>
|
|
<tr tal:condition="view/isInnerHtml">
|
|
<th colspan="5" class="headline"
|
|
tal:attributes="colspan python: useI18N and 4 or 5">
|
|
<span tal:content="request/view_title|view/title"
|
|
i18n:translate="">Edit Information Object</span>
|
|
</th>
|
|
<th tal:condition="useI18N"
|
|
style="vertical-align: bottom; text-align: right;
|
|
padding-right: 1em">
|
|
<select name="loops.language" id="loops.language"
|
|
tal:attributes="onChange
|
|
string:return replaceFieldsNodeForLanguage(
|
|
'form.fields', 'loops.language',
|
|
'${view/virtualTargetUrl}/$innerForm')">
|
|
<option tal:repeat="lang languages"
|
|
tal:content="lang"
|
|
tal:attributes="selected python: lang == language;">en</option>
|
|
</select>
|
|
</th>
|
|
</tr></tbody>
|
|
|
|
<tbody><tr><td colspan="5" style="padding-right: 15px">
|
|
<div id="form.fields">
|
|
<metal:fields use-macro="view/fieldRenderers/fields" />
|
|
</div>
|
|
</td></tr></tbody>
|
|
|
|
<tbody>
|
|
<tr metal:use-macro="view/template/macros/assignments" />
|
|
<tal:custom define="customMacro view/customMacro"
|
|
condition="customMacro">
|
|
<tr metal:use-macro="customMacro" />
|
|
</tal:custom>
|
|
<tr metal:use-macro="view/template/macros/versioning" />
|
|
<tr metal:use-macro="view/template/macros/states" />
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div metal:use-macro="view/template/macros/buttons" />
|
|
</div>
|
|
</form>
|
|
|
|
|
|
<metal:block define-macro="create" i18n:domain="loops">
|
|
<div dojoType="dijit.layout.BorderContainer"
|
|
style="width: 70em; height: 600px"
|
|
tal:omit-tag="not:view/isInnerHtml">
|
|
<form method="post" enctype="multipart/form-data"
|
|
id="dialog_form" class="dialog"
|
|
tal:define="qualifier request/qualifier|view/qualifier|string:resource;
|
|
innerForm request/inner_form|view/inner_form|string:inner_form.html;
|
|
typeToken view/typeToken;
|
|
fixedType view/fixedType">
|
|
<div dojoType="dijit.layout.ContentPane" region="center"
|
|
tal:omit-tag="not:view/isInnerHtml">
|
|
<input type="hidden" name="form.action" value="create"
|
|
tal:attributes="value view/form_action" />
|
|
<input type="hidden" name="fixed_type"
|
|
tal:attributes="value fixedType" />
|
|
<table cellpadding="3" class="form">
|
|
<tbody><tr><th colspan="5" class="headline">
|
|
<span tal:content="request/view_title|view/title"
|
|
i18n:translate="">Create Information Object</span>
|
|
<select name="form.type" id="form.type"
|
|
tal:condition="not:fixedType"
|
|
tal:attributes="onChange
|
|
string:return replaceFieldsNode(
|
|
'form.fields', 'form.type',
|
|
'${view/virtualTargetUrl}/$innerForm')">
|
|
<option value=".loops/concepts/note"
|
|
i18n:translate=""
|
|
tal:repeat="type python:
|
|
view.getTypesVocabulary((qualifier,))"
|
|
tal:content="type/title"
|
|
tal:attributes="value type/token;
|
|
selected python:type.token == typeToken">
|
|
Note
|
|
</option>
|
|
</select>
|
|
<input type="hidden" name="form.type"
|
|
tal:condition="fixedType"
|
|
tal:attributes="value typeToken" />
|
|
<script type="text/javascript"
|
|
tal:content="string:replaceFieldsNode(
|
|
'form.fields', 'form.type',
|
|
'${view/virtualTargetUrl}/$innerForm')">
|
|
</script>
|
|
</th></tr></tbody>
|
|
|
|
<tbody><tr><td colspan="5">
|
|
<div id="form.fields">
|
|
<metal:fields use-macro="view/fieldRenderers/fields" />
|
|
</div>
|
|
</td></tr></tbody>
|
|
|
|
<tbody>
|
|
<tr metal:use-macro="view/template/macros/assignments" />
|
|
<tal:custom define="customMacro view/customMacro"
|
|
condition="customMacro">
|
|
<tr metal:use-macro="customMacro" />
|
|
</tal:custom>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div metal:use-macro="view/template/macros/buttons" />
|
|
</form>
|
|
</div>
|
|
</metal:block>
|
|
|
|
|
|
<metal:assignments define-macro="assignments"
|
|
tal:condition="view/showAssignments">
|
|
<tr>
|
|
<td colspan="5" class="headline"
|
|
i18n:translate="">Assign Parent Concepts</td>
|
|
</tr>
|
|
<tbody id="form.assignments">
|
|
<tr tal:repeat="type view/presetTypesForAssignment">
|
|
<td><span i18n:translate="">Type</span>: </td>
|
|
<td><b i18n:translate="" tal:content="type/title" /></td>
|
|
<td><span i18n:translate="">Concept</span>: </td>
|
|
<td colspan="2"
|
|
tal:define="predicates type/predicates|nothing">
|
|
<select name="form.assignments.selected:list">
|
|
<tal:concepts repeat="concept python: view.conceptsForType(type['token'])">
|
|
<option tal:attributes="value concept/token"
|
|
i18n:translate=""
|
|
tal:content="concept/title">Zope Corp</option>
|
|
</tal:concepts>
|
|
</select>
|
|
<tal:predicates condition="predicates">
|
|
<span i18n:translate="">Predicate:</span>
|
|
<select name="form.assignments.predicates:list">
|
|
<option tal:repeat="pred predicates"
|
|
tal:attributes="value pred"
|
|
i18n:translate=""
|
|
tal:content="python:view.conceptManager[pred].title" />
|
|
</select>
|
|
</tal:predicates>
|
|
<input type="hidden"
|
|
name="form.assignments.predicates:list" value="standard"
|
|
tal:condition="not:predicates" />
|
|
</td>
|
|
</tr>
|
|
<tr tal:repeat="relation view/assignments">
|
|
<td colspan="5">
|
|
<input type="hidden" name="form.assignments.old:list"
|
|
tal:attributes="value relation/uidToken"
|
|
tal:condition="relation/other" />
|
|
<input type="checkbox" checked name="form.assignments.selected:list"
|
|
tal:attributes="value relation/uidToken;" />
|
|
<span tal:content="relation/adapted/getLongTitle">Something</span>
|
|
(<span i18n:translate="" tal:content="relation/typeTitle">Topic</span>)
|
|
<tal:predicate condition="python:relation.predicate != view.defaultPredicate">
|
|
[<i i18n:translate="" tal:content="relation/predicate/title" />]
|
|
</tal:predicate>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody>
|
|
<tr metal:define-macro="search_concepts">
|
|
<td>
|
|
<label for="concept.search.type">
|
|
<span i18n:translate="">Type</span>:</label></td>
|
|
<td>
|
|
<select id="concept.search.type"
|
|
onChange="setConceptTypeForComboBox('concept.search.type', 'concept.search.text')">
|
|
<tal:types repeat="type view/conceptTypesForSearch">
|
|
<option value="loops:*"
|
|
i18n:translate=""
|
|
tal:attributes="value type/token"
|
|
tal:content="type/title">Topic</option>
|
|
</tal:types>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<label for="concept.search.text">
|
|
<span i18n:translate="">Concept</span>:</label></td>
|
|
<td>
|
|
<input type="hidden"
|
|
id="concept.search.predicate"
|
|
tal:attributes="value view/defaultPredicateUid" />
|
|
<div dojoType="dojox.data.QueryReadStore" jsId="conceptSearch"
|
|
url="listConceptsForComboBox.js?searchType=" >
|
|
</div>
|
|
<input dojoType="dijit.form.FilteringSelect" store="conceptSearch"
|
|
autoComplete="False" labelAttr="label"
|
|
name="concept.search.text" id="concept.search.text" />
|
|
</td>
|
|
<td>
|
|
<input type="button" value="Select"
|
|
i18n:attributes="value"
|
|
onClick="addConceptAssignment('concept', 'assignments')" />
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</metal:assignments>
|
|
|
|
|
|
<metal:versioning define-macro="versioning"
|
|
tal:define="versionInfo view/versionInfo"
|
|
tal:condition="versionInfo">
|
|
<tr>
|
|
<td colspan="5" i18n:translate="" class="headline">Versioning</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<span i18n:translate="">Version</span>:
|
|
<span tal:content="versionInfo">1.1 (current, released)</span>
|
|
</td>
|
|
<td colspan="3"
|
|
title="Select if you want to create a new version"
|
|
i18n:attributes="title">
|
|
<input type="checkbox"
|
|
name="version.create" id="version.create"
|
|
value="create" />
|
|
<label style="display: inline"
|
|
for="version.create"><span i18n:translate="">
|
|
New version</span></label>
|
|
<tal:level condition="python: len(view.versionLevels) > 1">:
|
|
<select name="version.level">
|
|
<option tal:repeat="level view/versionLevels"
|
|
i18n:translate=""
|
|
tal:attributes="value level/token"
|
|
tal:content="level/label" />
|
|
</select>
|
|
</tal:level>
|
|
</td>
|
|
</tr>
|
|
</metal:versioning>
|
|
|
|
|
|
<metal:states define-macro="states"
|
|
tal:define="states view/states"
|
|
tal:condition="states">
|
|
<tr><td colspan="5" i18n:translate="" class="headline">States</td></tr>
|
|
<tr tal:repeat="st states">
|
|
<tal:state define="stObj st/getStateObject;
|
|
stDef st/statesDefinition;
|
|
stTrans st/getAvailableTransitionsForUser">
|
|
<td colspan="2" i18n:translate=""
|
|
tal:content="stDef">loops.simple_publishing</td>
|
|
<td i18n:translate=""
|
|
tal:content="stObj/title">draft</td>
|
|
<td>
|
|
<select name="state.loops.simple_publishing"
|
|
tal:condition="stTrans"
|
|
tal:attributes="name string:state.$stDef">
|
|
<option i18n:translate="" value="-">No change</option>
|
|
<option tal:repeat="trans stTrans"
|
|
tal:attributes="value trans/name"
|
|
tal:content="trans/title">publish</option>
|
|
</select>
|
|
</td>
|
|
<td />
|
|
</tal:state>
|
|
</tr>
|
|
</metal:states>
|
|
|
|
|
|
<div metal:define-macro="buttons" class="buttons">
|
|
<div dojoType="dijit.layout.ContentPane" region="bottom"
|
|
tal:omit-tag="not:view/isInnerHtml">
|
|
<metal:buttons define-slot="buttons">
|
|
<input value="Save" type="submit"
|
|
i18n:attributes="value"
|
|
tal:attributes="onClick python: view.closeAction(True) or
|
|
'submit()'">
|
|
<input type="button" value="Cancel" onClick="dlg.hide();"
|
|
i18n:attributes="value"
|
|
tal:condition="view/isInnerHtml"
|
|
tal:attributes="onClick view/closeAction">
|
|
</metal:buttons>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- overridden field renderers -->
|
|
|
|
<metal:html define-macro="input_html">
|
|
<p>HTML</p>
|
|
<div name="field" rows="3" style="width: 600px"
|
|
dojoType="dijit.Editor"
|
|
extraPlugins="['insertHorizontalRule','createLink', 'viewsource']"
|
|
tal:define="width field/width|nothing;
|
|
height field/height|python:3"
|
|
tal:attributes="name name; id name;
|
|
rows python: height or 3;
|
|
style python:
|
|
'width: %s' % (width and str(width)+'px' or '600px');"
|
|
tal:content="structure data/?name|string:">
|
|
</div>
|
|
</metal:html>
|
|
|
|
|
|
</html>
|