[Question] Do we have any possibility to add custom button on client view?

Submitted by Patlatus on 2012-07-08

Do we have any possibility to add custom button on client view?

Let's say we created new issue type "Reqs" (Requirements).
And we have added two custom attributes: Resolution and Status.

Reqs
Assigned To User No
Description Text Yes Multiple lines
Resolution Dropdown list Unresolved Yes Items: Unresolved, Fixed, Won't Fix
Status Dropdown list Open Yes Items: Open, In Progress, Resolved, Deployed, Closed, Reopened

And we want to have a custom buttons in the end (or in the beginning or in the middle) of the list of buttons:
Edit Attributes | Add Comment | Add Attachment | Clone Issue | Move Issue | Delete Issue | Mark As Unread

So, if the issue has Status "Open"\"Reopened" we want to have button "Start Progress" (clicking on which makes Status "In Progress").
If the issue has Status "In Progress" we want to have button "Stop Progress" (which makes Status "Open"\"Reopened" - what was before).
If the issue has Status "Resolved" we want to have button "Deploy Issue" (which makes Status "Deployed").
If the issue has Status "Deployed" we want to have button "Close Issue" (which makes Status "Closed").

If the issue has Status "Open"\"Reopened"\"In Progress" we want to have extra button "Resolve Issue" (which makes Status "Resolved" and opens new page where we can choose resolution: Fixed, Won't Fix).
If the issue has Status "Resolved"\"Deployed"\"In Closed" we want to have (extra) button "Reopen Issue" (which makes Status "Reopened").

Example

(Start Progress|Resolve Issue) Status: Open\Reopened Resolution: Unresolved
(Stop Progress|Resolve Issue) Status: In Progress Resolution: Unresolved
(Deploy Issue|Reopen Issue) Status: Resolved Resolution: Fixed
(Close Issue|Reopen Issue) Status: Deployed Resolution: Fixed
(Reopen Issue) Status: Closed Resolution: Fixed

What kind of change in php do we need to implement such custom modifications?

Currently there is no support for such workflows and implementing this in a flexible and fully customizable way is a lot of work. You could try to hard code this by adding a few buttons to the issue details view and creating the page for selecting resolution, but it's not going to be a trivial change either.

Regards,
Michał