Skip to content

Commit

Permalink
Merge pull request #423 from nicolas-eoxia/clean_timesheet
Browse files Browse the repository at this point in the history
#417 [TimeSheet] clean timesheet view
  • Loading branch information
nicolas-eoxia authored Jul 21, 2023
2 parents dbe54c2 + 9a64850 commit 737c2cc
Show file tree
Hide file tree
Showing 6 changed files with 1,220 additions and 1,367 deletions.
8 changes: 4 additions & 4 deletions class/timesheet.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ class TimeSheet extends SaturneObject
'fk_user_creat' => ['type' => 'integer:User:user/class/user.class.php', 'label' => 'UserAuthor', 'picto' => 'user', 'enabled' => 1, 'position' => 160, 'notnull' => 1, 'visible' => 0, 'foreignkey' => 'user.rowid'],
'fk_user_modif' => ['type' => 'integer:User:user/class/user.class.php', 'label' => 'UserModif', 'picto' => 'user', 'enabled' => 1, 'position' => 170, 'notnull' => 0, 'visible' => 0, 'foreignkey' => 'user.rowid'],
'fk_user_assign' => ['type' => 'integer:User:user/class/user.class.php:1:(t.employee:=:1:AND:t.fk_soc:IS:NULL:AND:t.statut:=:1)', 'label' => 'UserAssign', 'picto' => 'user', 'enabled' => 1, 'position' => 90, 'notnull' => 1, 'visible' => 1, 'index' => 1, 'css' => 'maxwidth500 widthcentpercentminusxx', 'validate' => 1, 'foreignkey' => 'user.rowid'],
'fk_project' => ['type' => 'integer:Project:projet/class/project.class.php:1', 'label' => 'Project', 'picto' => 'company', 'enabled' => '$conf->project->enabled', 'position' => 80, 'notnull' => 0, 'visible' => 1, 'index' => 1, 'css' => 'maxwidth500 widthcentpercentminusxx', 'validate' => 1, 'foreignkey' => 'projet.rowid'],
'fk_soc' => ['type' => 'integer:Societe:societe/class/societe.class.php:1', 'label' => 'ThirdParty', 'picto' => 'project', 'enabled' => '$conf->societe->enabled', 'position' => 120, 'notnull' => 0, 'visible' => 1, 'index' => 1, 'css' => 'maxwidth500 widthcentpercentminusxx', 'validate' => 1, 'foreignkey' => 'societe.rowid'],
'fk_project' => ['type' => 'integer:Project:projet/class/project.class.php:1', 'label' => 'Project', 'picto' => 'project', 'enabled' => '$conf->project->enabled', 'position' => 80, 'notnull' => 0, 'visible' => 1, 'index' => 1, 'css' => 'maxwidth500 widthcentpercentminusxx', 'validate' => 1, 'foreignkey' => 'projet.rowid'],
'fk_soc' => ['type' => 'integer:Societe:societe/class/societe.class.php:1', 'label' => 'ThirdParty', 'picto' => 'company', 'enabled' => '$conf->societe->enabled', 'position' => 120, 'notnull' => 0, 'visible' => 1, 'index' => 1, 'css' => 'maxwidth500 widthcentpercentminusxx', 'validate' => 1, 'foreignkey' => 'societe.rowid'],
];

/**
Expand Down Expand Up @@ -470,9 +470,9 @@ class TimeSheetLine extends SaturneObject
public ?float $qty;

/**
* @var int Rang.
* @var int|null Rang.
*/
public int $rang;
public ?int $rang;

/**
* @var string Description.
Expand Down
2 changes: 1 addition & 1 deletion core/modules/modDoliSIRH.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public function __construct($db)
$this->hidden = false;

// List of module class names as string that must be enabled if this module is enabled. Example: array('always1'=>'modModuleToEnable1','always2'=>'modModuleToEnable2', 'FR1'=>'modModuleToEnableFR'...).
$this->depends = ['modProjet', 'modBookmark', 'modHoliday', 'modFckeditor', 'modSalaries', 'modProduct', 'modService', 'modSociete', 'modECM', 'modCategorie', 'modSaturne', 'modCron'];
$this->depends = ['modProjet', 'modBookmark', 'modHoliday', 'modFckeditor', 'modSalaries', 'modProduct', 'modService', 'modSociete', 'modECM', 'modCategorie', 'modSaturne', 'modCron', 'modAgenda'];
$this->requiredby = []; // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...).
$this->conflictwith = []; // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...).

Expand Down
17 changes: 3 additions & 14 deletions langs/fr_FR/dolisirh.lang
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ ErrorServiceTime = Le temps du(des) service(s) est nul
SetupDefaultDataNotCreated = Vous n'avez pas créé les données par défaut de DOLISIRH
HowToSetupDefaultData = Pour configurer les données par défaut de DOLISIRH, veuillez cliquer sur ce lien :
ConfigDefaultData = Configuration des données par défaut de DOLISIRH
EnableDoliSIRH = Veuillez activer le module DoliSIRH pour accéder à cette page
EnableDolisirh = Veuillez activer le module DoliSIRH pour accéder à cette page

CertificateUserResponsible = Responsable des certificats
CertificateUserResponsibleDescription = Cette option permet définir l'utilisateur responsable des certificats des différents participants
Expand Down Expand Up @@ -187,20 +187,8 @@ FacturerecsCategoriesArea = Espace des tags/catégories des factures récu
#

# SetEventMessage - Notice info
TimeSheetMustBeDraft = La navette doit être en brouillon pour accéder à cette fonctionnalité
TimeSheetMustBeDraftToValidate = La navette est déjà validée
TimeSheetMustBeValidated = La navette doit être validée pour la rouvrir
TimeSheetMustBeValidatedToSign = La navette doit être validée pour que les signataires puissent signer
AllSignatoriesMustHaveSignedAndDiffTimeSetAt0 = Tous les signataires doivent avoir signé et l'utilisateur assigné doit avoir consommée toutes ses heures de travail pour verrouiller la navette
TimeSheetMustBeLockedToSendEmail = La navette doit être verrouillée pour envoyer un email
TimeSheetMustBeLocked = La navette doit être verrouillée afin de permettre la génération
TimeSheetMustBeLockedGenerated = La navette doit être verrouillée et le document généré afin de pouvoir l'archiver
ValidateTimeSheet = Valider la navette
ConfirmValidateTimeSheet = Êtes-vous sûr de vouloir valider la navette ? <br> La validation permet aux signataires de signer le document mais <b> empêche l'ajout de nouveaux signataires ou la modification de la navette. </b> <br><br> <b> N'oubliez pas de vérifier les quantités des produits ou services liés. </b>
ReOpenTimeSheet = Ouvrir à nouveau la navette
ConfirmReOpenTimeSheet = Êtes-vous sûr de vouloir rouvrir la navette ? La réouverture permet la modification de la navette et l'ajout de nouveaux signataires mais <b>toutes les signatures du document seront perdues</b>.
LockTimeSheet = Verrouiller la navette
ConfirmLockTimeSheet = Êtes-vous sûr de vouloir verrouiller la navette ?<br>Ce verrouillage permet de figer les données et la génération du document.
ConfirmValidateTimeSheet = <br><br><b> N'oubliez pas de vérifier les quantités des produits ou services liés. </b>
TimeSpentPerfect = Parfait, toutes tes heures de travail ont été consommées
TimeSpentMustBeCompleted = Attention, toutes tes heures de travail n'ont pas été consommées (%s - %s) <br> Va sur ton pointage de temps du mois de %s pour arranger cela
TimeSpentDiff = Attention, tu as consommé trop d'heures de travail (%s - %s) <br> Va sur ton pointage de temps du mois de %s pour arranger cela
Expand All @@ -218,6 +206,7 @@ GoToConfigProjectPage = Aller sur la page de configurati
# Data - Donnée
TimeSheet = Navette
Timesheet = Navette
TheTimesheet = La navette
NewTimeSheet = Nouvelle navette
NewTimesheet = Nouvelle navette
ModifyTimeSheet = Modifier la navette
Expand Down
4 changes: 3 additions & 1 deletion lib/dolisirh_timespent.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ function load_time_spent_on_tasks_within_range(int $timestampStart, int $timesta
$timeSpentOnTasks = ['days' => 0, 'hours' => 0, 'minutes' => 0, 'total' => 0];
$timeSpentList = $task->fetchAllTimeSpent($userTmp, 'AND (ptt.task_date >= "' . $db->idate($timestampStart) . '" AND ptt.task_date < "' . $db->idate($timestampEnd) . '")');
if (is_array($timeSpentList) && !empty($timeSpentList)) {
$workingDays = [];
foreach ($timeSpentList as $timeSpent) {
$hours = floor($timeSpent->timespent_duration / 3600);
$minutes = floor($timeSpent->timespent_duration / 60);
Expand All @@ -120,9 +121,10 @@ function load_time_spent_on_tasks_within_range(int $timestampStart, int $timesta
$timeSpentOnTasks[$timeSpent->fk_task]['task_label'] = $timeSpent->task_label;

$timeSpentOnTasks[$timeSpent->fk_task][dol_print_date($timeSpent->timespent_date, 'day')] += $timeSpent->timespent_duration;
$workingDays[$timeSpent->timespent_date] = 1;
}
}
$timeSpentOnTasks['days'] = count($daysAvailable);
$timeSpentOnTasks['days'] = is_array($workingDays) && !empty($workingDays) ? count($workingDays) : 0;
}

return $timeSpentOnTasks;
Expand Down
Loading

0 comments on commit 737c2cc

Please sign in to comment.