Log note :
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)