changed:
-
This idea was taken from a roundup users mailing list message
posted by RalfSchlatterbeck. It adds a new link, close to the
submit button, that launch a 'Create New Issue' page filled with
the current data already filled.
Edit the 'issue.item.html' template. Look for the table cell::
<td colspan=3 tal:content="structure context/submit">
submit button will go here
</td>
and after it add the following cell::
<td tal:condition="context/id">
<a i18n:translate="" tal:attributes="href python:
'issue?:template=item&' + '&'.join
([ '%s=%s' % (i [0], i [1]) for i in
[ ('title', context.title)
, ('priority', context.priority)
, ('assignedto', context.assignedto)
, ('topic', context.topic)
, ('@note', 'This is a fork of issue'+context.id)
]
]
)">
Copy item
</a>
</td>
That's it. Actually this snippet implements a fork rather than a strict cloning because it does not copy back history.
By the way, you may also want to edit the submit button cell and change 'colspan=3' to 'colspan=2'.
RalfSchlatterbeck:
I just found out in my tracker, that in the URL the title etc. should be quoted in the URL. So instead of ::
([ '%s=%s' % (i [0], i [1]) for i in
...
we quote the second part::
([ '%s=%s' % (i [0], utils.urlquote (str (i [1]))) for i in
...
and in some extension module, you should get the ``urlquote`` method from urllib.quote::
def init (instance) :
from urllib import quote
instance.registerUtil ('urlquote', quote)