Algorytm
Jeżeli użytkownik akceptuje zadanie w zastępstwie:
- zadanie jest wykonywane w ramach zastępowanego
Następnie jeżeli użytkownik nie znajduje się na liście zaakceptowanych:
- Sprawdzamy czy pierwotny użytkownik nie jest zastępcą innego
1) Jeżeli użytkownik posiada zastępstwa:
1) Jeżeli zastępstwo jest w ramach dezaktywacji lub przypisania przez wtyczkę Change User:
- Dodaj do listy zaakceptowanych użytkownika zastępowanego i zastępcę
2) Jeżeli zastępstwo nie jest w ramach dezaktywacji lub przypisania przez wtyczkę Change User:
Dodaj do listy zaakceptowanych zastępcę
2) Jeżeli użytkownik nie posiada zastępstw:
- Dodaj do listy zaakceptowanych tego użytkownika
- Dodaj do listy zaakceptowanych tego użytkownika
Jeżeli wszyscy użytkownicy z listy znajdują się na liście zaakceptowanych:
- Resetujemy zmienną z listą zaakceptowanych i ustawiamy zmienną wynikową na wartość true
Przykłady akceptacji od wersji systemu 3.2.163
Użytkownicy w systemie |
---|
A |
B |
C (zastępca za B) |
D (zastępca za C) |
E |
F (zastępca za E) |
Lp. | Lista akceptujących | Akcja przed akceptacją | Zadanie trafiło do | Lista akceptujących po akcji | Osoba akceptująca | Zamieniona osoba do akceptacji | Lista zaakceptowanych |
---|---|---|---|---|---|---|---|
1 | B | - | B (prz. A) | B | C (wz. B) | B | B |
2 | B C | - | B (prz. A) | B C | D (wz. B) | B | B C |
3 | A | *Przypisanie wtyczką z A na B | B (prz. A) | B | B (prz. A) | A | A B |
4 | A | *Przypisanie wtyczką z A na B | B (prz. A) | B | D (wz. B) | B | A B |
5 | A | *Dezaktywacja A na B | B (dez. A) | B | B (dez. A) | A | A |
6 | A | *Dezaktywacja A na B | B (dez. A) | B | C (wz. B) | B | A |
7 | A | *Dezaktywacja A na B | B (dez. A) | B | B (dez. A) | A | A |
8 | A | Dezaktywacja A na B | B (dez. A) | A | B (dez. A) | A | A B |
9 | A | *Dezaktywacja A na B | B (dez. A) | B | C (wz. B) | B | A |
10 | A | Dezaktywacja A na B i E | B (dez. A) | A | F (wz. E) | E | A B (dez. A)
|
11 | A | *Dezaktywacja A na B | B (dez. A) | B | E (prz. D) | D | D Zadanie trafia do B (dez. A) |
12 | A | *Dezaktywacja A na B | B (dez. A) | B | F (wz. E) | E | D E Zadanie trafia do B (dez. A) |
13 | A B C | Dezaktywacja A, B na C przed utworzeniem zadania | C (dez. A, dez. B) | A B C | C (dez. A, dez. B | A | A B C |
* W momencie dezaktywacji lub przepisania na jednego użytkownika mogą zostać podmienione loginy w zmiennych Przykłady dotyczą przypadku, gdy zostają podmienione loginy na liście
0 Comments