[ticket-workflow] ; opensource-workflow.ini ; accept action ; When you accept a ticket, you get ownership of it. (You can't accept a ; ticket on someone else's behalf.) accept = new,assigned,accepted,started -> accepted accept.operations = set_owner_to_self accept.permissions = TICKET_MODIFY ; assign, reassign, unassign actions assign = new -> assigned assign.operations = set_owner assign.permissions = TICKET_MODIFY reassign = assigned,accepted,started -> assigned reassign.operations = set_owner reassign.permissions = TICKET_MODIFY ; Allow correcting the ownership of a closed ticket. change_owner = closed -> closed change_owner.name = change ownership change_owner.operations = set_owner change_owner.permissions = TICKET_MODIFY unassign = assigned,accepted,started -> new unassign.operations = del_owner unassign.permissions = TICKET_MODIFY ; leave actions leave = * -> * leave.operations = leave_status leave.default = 1 ; resolve actions resolve = new,assigned,accepted,started -> closed resolve.operations = set_resolution resolve.permissions = TICKET_MODIFY ; start/stop actions start = accepted,assigned -> started start.operations = set_owner_to_self start.permissions = TICKET_MODIFY stop = started -> assigned stop.permissions = TICKET_MODIFY ; reopen actions reopen = closed -> new reopen.operations = del_resolution reopen.permissions = TICKET_CREATE ; request info actions ; For tickets with an owner, they go back to assigned requestinfo = assigned,accepted,started -> infoneeded requestinfo.name = request info requestinfo.permissions = TICKET_MODIFY provideinfo = infoneeded -> assigned provideinfo.name = provide info provideinfo.permissions = TICKET_MODIFY provideinfo.default = 2 ; But tickets without an owner go back to new. requestinfo_new = new -> infoneeded_new requestinfo_new.name = request info requestinfo_new.permissions = TICKET_MODIFY provideinfo_new = infoneeded_new -> new provideinfo_new.name = provide info provideinfo_new.permissions = TICKET_MODIFY provideinfo_new.default = 2