shd_assign()
shd_assign()
Sets up the assignment UI and invokes the template.
This validates that the user can see the ticket in question initially, before determining the level of assignment that can be carried out.
Users who can assign any ticket cause a query to trigger to identify users who have shd_staff permission (and thus can be the target of assignment) and the template is loaded with a dropdown to provide this choice to the user.
Users who can only assign to themselves will at this point have the ticket assigned to them if it was unassigned before, or unassigned from them if they are able to assign tickets to themselves in the first place; if it was assigned to someone else, they will not have the option.
Access through action=helpdesk;sa=assign;ticket=x;sessvar=sessid before redirecting back to the ticket, or add ;home to the URL to have it redirect back to the home page (passed through to the form for shd_assign2()'s use too)