Timesheets

Temps et facturation

Place de marchéÉquipes et projetsVersion 0.1.0manifest

À quoi elle sert ​

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

Ce que fait et ne fait pas le paquet ​

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

Modèles ​

timesheets_entry ​

Time one person spent on one task on one day

Groupe de lecture: timesheets.user. Groupe d'écriture: timesheets.user.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
task_idref → projects_tasknonenontimesheets.useren clairThe task worked on
workertextinternalouitimesheets.usermasquéName of the person who did the work
worked_ondatenonenontimesheets.useren clairDay the work was done (YYYY-MM-DD)
minutesnumbernonenontimesheets.useren clairTime spent, in minutes
billableboolnonenontimesheets.useren clairWhether the time can be charged to the customer
descriptiontextnonenontimesheets.useren clairWhat was done
cost_ratemoneyfinancialouitimesheets.cost_viewernon communiquéInternal hourly cost of the worker at the time of entry (minor currency units, e.g. cents)
stateselect (draft, submitted, approved)nonenontimesheets.useren clairEntry status: draft, submitted, approved

Flux de travail ​

timesheets_entry ​

ActionTransitionQui peut l'exécuterApprobation
timesheets_entry.submitstate: draft → submittedtimesheets.usernon
timesheets_entry.approvestate: submitted → approvedtimesheets.managernon
timesheets_entry.rejectstate: submitted → drafttimesheets.managernon

Groupes de permissions ​

Groupes utilisés par cette application :

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

Étapes d'approbation ​

Aucune étape de cette application ne requiert d'approbation, hormis la suppression d'enregistrements.

Ce que les agents peuvent et ne peuvent pas faire ​

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : timesheets_entry.delete.

Les données personnelles sont masquées sous forme de jetons de substitution : timesheets_entry.worker.

Ces champs ne sont pas communiqués aux agents : timesheets_entry.cost_rate.

Dépendances ​

  • projects

Installation ​

Installez-la depuis l'application Customize (Place de marché), ou en ligne de commande :

bash
obop modules install-from timesheets

Nécessite une base de données et des droits d'administrateur.

Créer la vôtre ​

Le guide des modules montre comment sont écrites les applications de ce type