If the manager has been deactivated we need to change this manager to the supermanager user. How to do it? Easy! We will create a trigger for the cwd_user table. And if a user is deactivated then we will update the customfieldvalue.
First we will create a pl sql procedure:
CREATE OR REPLACE FUNCTION public.changeusermanager()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
IF NEW.active <> OLD.active and NEW.active = 0 THEN
update customfieldvalue set stringvalue = 'supermanager' where customfield = 10300 and stringvalue = NEW.user_name;
END IF;
RETURN NEW;
END;
$function$
;
And now we can create a trigger:
create trigger changemanager before
update
on
public.cwd_user for each row execute procedure public.changeusermanager();
Let's check how it works. Open the User Management Jira settings and deactive the manager1 user:
Click the Update button and let's open one of our created issues:
It worked!
We created a solution for our approval process and ready to inform our manager that the task has been completed!
For this kind of solution we used the following techniques: JSP pages, JavaScript code in its worst form, database triggers and functions. If you have this kind of techniques in your Jira instance, you should be really worried about the quality of your solutions.
Moreover, if you or your Jira administrator/developer use the Developer Tools to find out how Jira works and make JavaScript code based on what he/she noticed in the Developer Tools, your solutions also must be low quality.
In the next articles I will explain why these techniques are low quality and, what is most important, how to make a better quality solutions.
Alexey Matveev
software developer
MagicButtonLabs
Philippines
1,574 accepted answers
2 comments