Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Current »

Introduction

Deactivation allows, first of all, to rewrite all current and possible future tasks of a user to other selected users in the system. In addition, the user's substitutions, views, reports and notifications are rewritten.

Removal of a user from the system must always be preceded by deactivation.

The API for deactivating a user is provided by the service .

Available methods

/**
* Deactivates the user. All views, overrides, notifications, reports and open tasks and possible
 * future tasks of the user will be rewritten to admin.
 * 
 * @param userName User login
 * @author Paweł Rosolak 16 paź 2013
 */
void deactivateUser( String userName );
 
/**
 * Deactivates the user
 * 
 * @param deactivation An object containing all the information necessary to deactivate a user.
 * @author Rafał Nowacki 05-12-2014
 */
void deactivateUser( Deactivation deactivation );

The first method performs deactivation and by default everything is passed to the user with the login 'admin'. The second method allows you to configure all assignments using the object 

Deactivation obcject

Creation of the object is done as follows:

 Deactivation deactivation = Deactivation.create( userNameToDeactivate );

The created object has the following information completed:

  • user deactivated:

    User userToDeactivate = deactivation.getUser();
  • A list of all processes, roles and tasks in a tree format:

    List<DeactivationProcess> processes = deactivation.getProcesses();
    for(DeactivationProcess process : processes)
    {
    	List<DeactivationParticipant> participants = process.getParticipants();
        for ( DeactivationParticipant participant : participants )
        {
        	List<DeactivationActivity> activities = participant.getActivities();
        }
    }
  • A list of default users, taken from the configuration file from the EmptyTaskUserName parameter. These users are used to assign tasks that do not have specific assignments:

     List<User> defaultUsers = deactivation.getDefaultUsers();

Having a deactivation object, the following parameters should be set in it:

//Sets the user to whom substitutions will be prescribed.
deactivation.setSubstitutionUser( substitutionUser );
 
//Sets the user to whom the views will be rewritten.
deactivation.setViewUser( viewUser );
 
//Sets the user to whom the reports will be rewritten.
deactivation.setReportUser( reportUser );
 
//Sets the user to whom notifications will be rewritten.
deactivation.setNotificationUser( notificationUser );

The last thing to do is to specify to which users existing user task instances and possible future tasks should go. For existing task instances, it is required to set assignments for these task definitions. Other tasks do not need to be assigned. In this case, the default users defined in the configuration file from the EmptyTaskUserName parameter will be assigned to them.

Assignment of tasks can be done from the following levels:

  • deactivation object - assignments will be set for all tasks,

  • process level - assignments will be set for all tasks from the process,

  • role level - assignments will be set for all tasks from a role,

  • task level - assignments will be set only for this task.

You can assign tasks to both individual users and groups of users.

Example of task assignment
//przypisanie użytkowników do wszystkich zadań
deactivation.setUsers( users );
//przypisanie grup użytkowników do wszystkich zadań
deactivation.setGroups( groups );
 
List<DeactivationProcess> processes = deactivation.getProcesses();
for(DeactivationProcess process : processes)
{
	//przypisanie użytkowników do wszystkich zadań z procesu
	process.setUsers( users );
	//przypisanie grup użytkowników do wszystkich zadań z procesu
	process.setGroups( groups );
	
	List<DeactivationParticipant> participants = process.getParticipants();
    for ( DeactivationParticipant participant : participants )
    {
		//przypisanie użytkowników do wszystkich zadań z roli
		participant.setUsers( users );
		//przypisanie grup użytkowników do wszystkich zadań z roli
		participant.setGroups( groups );
    	List<DeactivationActivity> activities = participant.getActivities();
		for( DeactivationActivity activity : activities )
		{
			if( activity.isAssigned() == true )
			{
				//obowiązkowo należy przypisać użytkownika, bądź grupę użytkowników do tego zadania
			}
			//przypisanie użytkowników do zadania
			activity.setUsers( users );
			//przypisanie grup użytkowników do zadania
			activity.setGroups( groups );
 
			//z poziomu zadania można również dodawać użytkownika, bądź grupę pojedynczo
			activity.addUser( user );
			activity.addGroup( group );
		}
    }
}

Walidacja

  • dezaktywowany użytkownik musi istnieć,
  • dezaktywowany użytkownik musi być aktywny  (czyli nie może być już wcześniej zdezaktywowany),
  • użytkownik, któremu zostaną przypisane zastępstwa musi być ustawiony oraz nie może być nim użytkownik, którego dotyczy dezaktywacja,
  • użytkownik, któremu zostaną przypisane widoki musi być ustawiony oraz nie może być nim użytkownik, którego dotyczy dezaktywacja,
  • użytkownik, któremu zostaną przypisane raporty musi być ustawiony oraz nie może być nim użytkownik, którego dotyczy dezaktywacja,
  • użytkownik, któremu zostaną przypisane powiadomienia musi być ustawiony oraz nie może być nim użytkownik, którego dotyczy dezaktywacja,
  • zadania, których instancje posiada dezaktywowany użytkownik, muszą mieć przypisanych użytkowników lub grupy, w przypadku przypisania użytkownika dezaktywowanego, nie jest on brany pod uwagę.

Operacje wykonywane podczas dezaktywacji użytkownika

  • zapisanie przekierowań zadań z użytkownika dezaktywowanego do innych użytkowników, bądź grup, w przypadku możliwych przyszłych zadań, które mogłyby trafić do już zdezaktywowanego użytkownika,
  • przepisanie instancji zadań zdezaktywowanego użytkownika do zdefiniowanych użytkowników,
  • zastępstwom, w których dezaktywowany użytkownik jest zastępcą zostaje zmieniony zastępca na zdefiniowanego użytkownika,
  • zastępstwa, w których dezaktywowany użytkownik jest zastępowanym zostają usunięte,
  • widoki zdezaktywowanego użytkownika zostają przepisane do zdefiniowanego użytkownika,
  • udostępnienia widoków zdezaktywowanemu użytkownikowi zostają usunięte,
  • raporty zdezaktywowanego użytkownika zostają przepisane do zdefiniowanego użytkownika,
  • udostępnienia raportów zdezaktywowanemu użytkownikowi zostają usunięte,
  • powiadomienia zdezaktywowanego użytkownika zostają przepisane do zdefiniowanego użytkownika,
  • odłączenie zdezaktywowanego użytkownika od stanowisk,
  • udostępnienia kalendarza zdezaktywowanemu użytkownikowi zostają usunięte,
  • uprawnienia nadane zdezaktywowanemu użytkownikowi zostają usunięte,
  • ustawienia konta zdezaktywowanego użytkownika zostają usunięte,
  • zdefiniowany widok dokumentów użytkownika zostaje usunięty,
  • usunięcie zdezaktywowanego użytkownika ze wszystkich grup,
  • ustawienia użytkownika jako nieaktywnego.

  • No labels