Timesheets

Czas pracy i rozliczenia

MarketplaceLudzie i projektyWersja 0.1.0manifest

Do czego służy ​

Record time spent on project tasks in minutes, mark it billable and run it through an approval step. Needs the Projects package.

Co pakiet robi, a czego nie robi ​

Time spent on project tasks, entered in minutes, with a billable flag and an approval step. Needs the Projects package.

Modele ​

timesheets_entry ​

Time one person spent on one task on one day

Grupa odczytu: timesheets.user. Grupa zapisu: timesheets.user.

PoleRodzajKlasa danychDane osoboweGrupaAgenci widząOpis
task_idref → projects_tasknonenietimesheets.userjawnieThe task worked on
workertextinternaltaktimesheets.userzamaskowaneName of the person who did the work
worked_ondatenonenietimesheets.userjawnieDay the work was done (YYYY-MM-DD)
minutesnumbernonenietimesheets.userjawnieTime spent, in minutes
billableboolnonenietimesheets.userjawnieWhether the time can be charged to the customer
descriptiontextnonenietimesheets.userjawnieWhat was done
cost_ratemoneyfinancialtaktimesheets.cost_viewerwstrzymaneInternal hourly cost of the worker at the time of entry (minor currency units, e.g. cents)
stateselect (draft, submitted, approved)nonenietimesheets.userjawnieEntry status: draft, submitted, approved

Przepływy pracy ​

timesheets_entry ​

AkcjaPrzenosiKto może uruchomićZatwierdzenie
timesheets_entry.submitstate: draft → submittedtimesheets.usernie
timesheets_entry.approvestate: submitted → approvedtimesheets.managernie
timesheets_entry.rejectstate: submitted → drafttimesheets.managernie

Grupy uprawnień ​

Grupy używane przez tę aplikację:

  • timesheets.cost_viewer
  • timesheets.manager
  • timesheets.user

Kroki zatwierdzania ​

Żaden krok w tej aplikacji nie wymaga zatwierdzenia, poza usuwaniem rekordów.

Co agenci mogą, a czego nie mogą ​

Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.

Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: timesheets_entry.delete.

Dane osobowe są maskowane jako tokeny zastępcze: timesheets_entry.worker.

Te pola są całkowicie wstrzymane i niedostępne dla agentów: timesheets_entry.cost_rate.

Zależności ​

  • projects

Instalacja ​

Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:

bash
obop modules install-from timesheets

Wymaga bazy danych i uprawnień administratora.

Zbuduj własną ​

Przewodnik po modułach pokazuje, jak pisze się takie aplikacje