|
Log note : Make it work with roundup 1.x
|
|
added:
From wiki Sat Feb 3 20:42:27 +1100 2007
From: wiki
Date: Sat, 03 Feb 2007 20:42:27 +1100
Subject: Make it work with roundup 1.x
Message-ID: <20070203204227+1100@www.mechanicalcat.net>
With some small changes, this works with Roundup 1.x, too:
- the "issue" class is changed in schema.py rather than dbinit.py
- the "!MergeAction" class is put in an existing or separate Python file in the "extensions" subdirectory
Restart the Roundup server to recognise the schema change and the new extension.
- to put the form for the merge action in the "issue.item.html" template, I did as follows:
- added a slot to the "searchbox" div in page.html::
<div id="searchbox">
<form method="GET" action="issue" metal:define-slot="search-form">
<!-- ... -->
</form>
<metal:slot define-slot="more-forms"/>
</div>
- filled this new slot in "issue.item.html"::
<tal:if condition="context/is_edit_ok">
<form metal:fill-slot="more-forms" tal:condition="not:context/merged"
class="additional"
method="POST"
name="mergeForm">
<input type="hidden" name="@action" value="merge">
<label for="merge_into" i18n:translate="">Merge into</label>
<input type="text" id="merge_into" name="merge_into" size="5">
<span tal:replace="structure python:db.issue.classhelp('id,title', property='merge_into', inputtype='radio', form='mergeForm')" />
<input type="submit" value=" Merge " i18n:attributes="value">
</form>
</tal:if>
Of course, this can be improved further; there is no GUI method so far to undo a merge. You can restore and unmerge issueXXXX using the "roundup-admin" script, using the following commands::
restore issueXXXX
set issueXXXX merged=
commit
The file attachments and messages will stay double-linked, but this might be ok and can be changed TTW.