Work in progress: form for assigning parent and child concepts

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1079 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2006-02-14 19:42:02 +00:00
parent 1ded8434db
commit da52ecc17c
4 changed files with 97 additions and 25 deletions

View file

@ -54,7 +54,13 @@ class ConceptView(BaseView):
for token in tokens:
concept = self.loopsRoot.loopsTraverse(token)
if action == 'assign':
self.context.assignChild(removeSecurityProxy(concept))
assignAs = self.request.get('assignAs', 'child')
if assignAs == 'child':
self.context.assignChild(removeSecurityProxy(concept))
elif assignAs == 'parent':
self.context.assignParent(removeSecurityProxy(concept))
else:
raise(BadRequest, 'Illegal assignAs parameter: %s.' % assignAs)
elif action == 'remove':
qualifier = self.request.get('qualifier', None)
if qualifier == 'parents':

View file

@ -26,14 +26,30 @@
<metal:children use-macro="views/relation_macros/listing" />
</tal:block>
<tal:block>
<metal:create use-macro="views/relation_macros/create" />
</tal:block>
<tal:block define="items view/getVocabularyForRelated;
action string:assign;
qualifier nothing;
summary string:Assignment candidates;
legend string:Assign as Children;
buttonText string:Assign Object(s);
legend string:Search Results;
buttonText string:Assign;
">
<metal:assign use-macro="views/relation_macros/listing" />
<metal:assign use-macro="views/relation_macros/listing">
<metal:search fill-slot="topActions">
<metal:block use-macro="views/relation_macros/search" />
</metal:search>
<metal:special fill-slot="specialButtons">
as
<select name="assignAs">
<option value="child" selected i18n:translate="">child</option>
<option value="parent" i18n:translate="">parent</option>
</select>
object(s)
</metal:special>
</metal:assign>
</tal:block>
</div>

View file

@ -96,15 +96,6 @@
view="AddLoopsConcept.html"
/>
<editform
label="Edit Concept"
name="edit.html"
schema="loops.interfaces.IConcept"
for="loops.interfaces.IConcept"
permission="zope.ManageContent"
menu="zmi_views" title="Edit"
/>
<pages
for="loops.interfaces.IConcept"
class=".concept.ConceptView"
@ -118,6 +109,15 @@
</pages>
<editform
label="Edit Concept"
name="edit.html"
schema="loops.interfaces.IConcept"
for="loops.interfaces.IConcept"
permission="zope.ManageContent"
menu="zmi_views" title="Edit"
/>
<page
name="concept.html"
for="loops.interfaces.IConcept"

View file

@ -2,17 +2,18 @@
<metal:assignments define-macro="listing">
<form method="post" name="listing" action="."
tal:attributes="action request/URL"
tal:condition="items">
<input type="hidden" name="action" value="remove"
tal:attributes="value action" />
<input type="hidden" name="qualifier" value="parents"
tal:condition="qualifier"
tal:attributes="value qualifier" />
<fieldset>
<legend tal:content="legend"
<fieldset>
<legend tal:content="legend"
i18n:translate="">Parent Concepts</legend>
<metal:top define-slot="topActions" />
<form method="post" name="listing" action="."
tal:attributes="action request/URL"
tal:condition="items">
<input type="hidden" name="action" value="remove"
tal:attributes="value action" />
<input type="hidden" name="qualifier" value="parents"
tal:condition="qualifier"
tal:attributes="value qualifier" />
<table class="listing" summary="Currently assigned objects"
i18n:attributes="summary"
tal:attributes="summary summary">
@ -31,7 +32,9 @@
</td>
<td>
<a tal:content="item/title" href="#"
tal:attributes="href item/url">Title</a>
tal:attributes="href string:${item/url}/@@SelectedManagementView.html">
Title
</a>
</td>
</tr>
</tbody>
@ -41,10 +44,57 @@
value="Remove Assignment(s)"
i18n:attributes="value"
tal:attributes="value buttonText" />
<metal:buttons define-slot="specialButtons" />
</div>
</fieldset>
</form>
</fieldset>
</metal:assignments>
<metal:create define-macro="create">
<fieldset>
<legend i18n:translate="">Create Object</legend>
<form method="post" name="listing" action="."
tal:attributes="action request/URL">
<div class="row">
<span i18n:translate="">Name</span>
<input />
<span i18n:translate="">Title</span>
<input />
<span i18n:translate="">Type</span>
<select>
<option>Topic</option>
</select>
</div>
<div class="formControls">
<input class="context" type="submit" name="form.button.submit"
value="Create Object"
i18n:attributes="value" />
and assign as
<select name="assignAs">
<option value="child" selected i18n:translate="">child</option>
<option value="parent" i18n:translate="">parent</option>
</select>
</div>
</form>
</fieldset>
</metal:create>
<metal:search define-macro="search">
<form method="post" name="listing" action="."
tal:attributes="action request/URL">
<div class="row">
<span i18n:translate="">Search Term</span>
<input />
</div>
<div class="formControls">
<input class="context" type="submit" name="form.button.submit"
value="Search"
i18n:attributes="value" />
</div>
</form>
</metal:search>
</html>