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 18 Next »

Wstęp

Dezaktywacja pozwala przede wszystkim na przepisanie wszystkich obecnych oraz możliwych przyszłych zadań użytkownika do innych, wybranych użytkowników w systemie. Dodatkowo przepisane zostają zastępstwa, widoki, raporty oraz powiadomienia użytkownika.

Usunięcie użytkownika z systemu musi zawsze być poprzedzone jego dezaktywacją.

API pozwalające na dezaktywację użytkownika udostępnia serwis .

Dostępne metody

/**
 * Dezaktywuje użytkownika. Wszystkie widoki, zastępstwa, powiadomienia, raporty i otwarte zadania oraz możliwe
 * przyszłe zadania użytkownika zostaną przepisane do admina.
 * 
 * @param userName Login użytkownika
 * @author Paweł Rosolak 16 paź 2013
 */
void deactivateUser( String userName );
 
/**
 * Dezaktywuje użytkownika.
 * 
 * @param deactivation Obiekt zawierający wszystkie informacje niezbędne do dezaktywacji użytkownika.
 * @author Rafał Nowacki 05-12-2014
 */
void deactivateUser( Deactivation deactivation );

Pierwsza metoda wykonuje dezaktywację i domyślnie wszystko przekazywane jest do użytkownika o loginie 'admin'. Druga metoda pozwala na konfigurację wszystkich przypisań za pomocą obiektu 

Obiekt Deactivation

Tworzenie obiektu odbywa się następująco:

 Deactivation deactivation = Deactivation.create( userNameToDeactivate );

Utworzony obiekt posiada uzupełnione następujące informacje:

  • użytkownik dezaktywowany:

    User userToDeactivate = deactivation.getUser();
  • lista wszystkich procesów, ról i zadań w formie drzewiastej:

    List<DeactivationProcess> processes = deactivation.getProcesses();
    for(DeactivationProcess process : processes)
    {
    	List<DeactivationParticipant> participants = process.getParticipants();
        for ( DeactivationParticipant participant : participants )
        {
        	List<DeactivationActivity> activities = participant.getActivities();
        }
    }
  • lista domyślnych użytkowników, pobranych z pliku konfiguracyjnego z parametru EmptyTaskUserName. Użytkownicy ci są wykorzystywani do przypisywania zadań, które nie mają określonych przypisań:

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

Mając obiekt deactivation należy w nim ustawić następujące parametry:

//Ustawia użytkownika, któremu zostaną przepisane zastępstwa.
deactivation.setSubstitutionUser( substitutionUser );
 
//Ustawia użytkownika, któremu zostaną przepisane widoki.
deactivation.setViewUser( viewUser );
 
//Ustawia użytkownika, któremu zostaną przepisane raporty.
deactivation.setReportUser( reportUser );
 
//Ustawia użytkownika, któremu zostaną przepisane powiadomienia.
deactivation.setNotificationUser( notificationUser );

Ostatnią rzeczą, jaką należy zrobić, jest określenie do jakich użytkowników mają trafić istniejące instancje zadań użytkownika oraz możliwe przyszłe zadania. W przypadku istniejących instancji zadań wymagane jest, aby ustawić przypisania dla tych definicji zadań. Pozostałe zadania nie muszą być przypisywane. W takim wypadku zostaną do nich przypisani domyślni użytkownicy zdefiniowani w pliku konfiguracyjnym z parametru EmptyTaskUserName.

Przypisanie zadań może nastąpić z następujących poziomów:

  • obiekt dezaktywacji - przypisania zostaną ustawione dla wszystkich zadań,
  • poziom procesu - przypisania zostaną ustawione dla wszystkich zadań z procesu,
  • poziom roli - przypisania zostaną ustawione dla wszystkich zadań z roli,
  • poziom zadania - przypisanie zostanie ustawione tylko dla tego zadania.

Przypisywać zadania możemy zarówno do pojedynczych użytkowników oraz do grup użytkowników.

Przykład przypisywania zadań
//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