Přeskočit na hlavní obsah

Manager scoping

Manager scoping omezuje viditelnost managerů na klienty, kteří jim byli přiřazeni. Manager nevidí data jiných klientů.

Jak to funguje

  1. Admin nebo Owner přiřadí managera k jednomu nebo více klientům.
  2. Manager vidí pouze data přiřazených klientů — jejich projekty, výkazy, faktury.
  3. Data ostatních klientů jsou pro managera neviditelná.

Přiřazení managera ke klientovi

Správcem klienta může být přiřazena pouze role Manager. Admin a Owner vidí vše automaticky — nepotřebují přiřazení. Přiřazení vytváří Admin nebo Owner.

  1. Přejděte do Klienti → vyberte klienta → Upravit.
  2. V sekci Přiřazení manageři klikněte na Přidat managera.
  3. Vyberte managera ze seznamu (zobrazí se pouze uživatelé s rolí Manager).
  4. Uložte.

Alternativně:

  1. Přejděte do Tým → vyberte managera.
  2. V sekci Přiřazení klienti přidejte klienty.

Co scoping ovlivňuje

OblastCo vidí manager
KlientiPouze přiřazené (via client_assignments)
ProjektyPouze projekty patřící přiřazeným klientům
TýmPouze workery, kteří mají výkazy na managerových projektech
VýkazyPouze výkazy na projektech přiřazených klientů
SchvalováníPouze výkazy workerů v jeho scope
FakturyPouze faktury přiřazených klientů
ReportyFiltrovaná data (pouze přiřazení klienti a jejich projekty)

Příklad

Organizace má 3 klienty a 2 managery:

Manager A → přiřazen ke Klient 1, Klient 2
Manager B → přiřazen ke Klient 3

Manager A vidí: projekty a výkazy Klienta 1 a 2
Manager B vidí: projekty a výkazy Klienta 3

Žádný z nich nevidí data klientů, ke kterým není přiřazen.

tip

Manager scoping je ideální pro agentury, kde různí account manageři spravují různé klienty a nemají vidět data ostatních.

Scoping na stránce Tým

Na stránce Tým vidí manager pouze členy, kteří pracují na projektech přiřazených klientů. To znamená:

  • Manager vidí pouze své workery — členy, kteří mají výkazy na projektech přiřazených klientů.
  • Manager může u svých workerů zobrazit detail, nastavit dny volna a upravit základní údaje.
  • Ostatní členy organizace manager nevidí.
info

Scoping na stránce Tým funguje přes helper getVisibleUserIds(), který zjistí viditelné uživatele na základě přiřazení klientů.

Přesná pravidla scope

Manager má přístup k datům podle těchto pravidel:

  1. Klienti — pouze klienti přiřazení přes client_assignments
  2. Projekty — pouze projekty patřící přiřazeným klientům
  3. Stránka Tým — pouze workery, kteří mají výkazy na managerových projektech (helper getVisibleUserIds())
  4. Výkazy — pouze výkazy na projektech přiřazených klientů
  5. Schvalování — pouze výkazy workerů v jeho scope
Projekt "Tým" tab

Záložka Tým na detailu projektu je read-only — zobrazuje přispěvatele (lidi, kteří mají výkazy na projektu). Členství v projektu je implicitní (přes time entries), ne explicitní správa týmu.

Důležité poznámky

  • Admin a Owner nejsou omezeni scopingem — vidí vždy vše. Proto je ani nelze přiřadit jako správce klienta (nepotřebují to).
  • HR vidí všechny členy pro správu nároků a nepřítomností.
  • Accountant vidí vše v read-only režimu bez ohledu na scoping.
  • Worker vidí pouze svá vlastní data — scoping se na něj nevztahuje. Worker ale vidí všechny projekty v dropdown seznamu (záměr — viz Role a oprávnění).
  • Manager bez přiřazených klientů nevidí žádná data (kromě svých vlastních výkazů).

Technické pozadí

Scoping je implementován přes tabulku client_assignments, která propojuje uživatele s klienty. Všechny dotazy na data jsou automaticky filtrovány podle těchto přiřazení. Scope helpery: getVisibleClientIds(), getVisibleProjectIds(), getVisibleUserIds().