Skip to content

Commit

Permalink
#330 [TimeSheet] add: new service on timesheet line
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-eoxia committed Jul 12, 2023
1 parent fb1fbc6 commit d6ca2e8
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 48 deletions.
65 changes: 21 additions & 44 deletions core/triggers/interface_99_modDolisirh_DolisirhTriggers.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,14 @@
* \brief DoliSIRH trigger.
*/

// Load DoliSIRH libraries.
// Load Dolibarr libraries.
require_once DOL_DOCUMENT_ROOT . '/core/triggers/dolibarrtriggers.class.php';

// Load DoliSIRH libraries.
require_once __DIR__ . '/../../lib/dolisirh.lib.php';
require_once __DIR__ . '/../../lib/dolisirh_function.lib.php';


/**
* Class of triggers for DoliSIRH module.
*/
Expand Down Expand Up @@ -193,14 +198,12 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf
break;

case 'BILL_CREATE':
require_once __DIR__ . '/../../lib/dolisirh_function.lib.php';
$categories = GETPOST('categories', 'array:int');
setCategoriesObject($categories, 'invoice', false, $object);
break;

case 'BILLREC_CREATE':
require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php';
require_once __DIR__ . '/../../lib/dolisirh_function.lib.php';

$cat = new Categorie($this->db);

Expand Down Expand Up @@ -244,8 +247,8 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf
$usertmp = new User($this->db);

$usertmp->fetch($object->fk_user_assign);
$signatory->setSignatory($object->id, $object->element, 'user', [$object->fk_user_assign], 'TIMESHEET_SOCIETY_ATTENDANT');
$signatory->setSignatory($object->id, $object->element, 'user', [$usertmp->fk_user], 'TIMESHEET_SOCIETY_RESPONSIBLE');
$signatory->setSignatory($object->id, $object->element, 'user', [$object->fk_user_assign], 'Signatory');
$signatory->setSignatory($object->id, $object->element, 'user', [$usertmp->fk_user], 'Responsible');
}

if (getDolGlobalInt($conf->global->DOLISIRH_PRODUCT_SERVICE_SET)) {
Expand All @@ -254,45 +257,19 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf
$product = new Product($this->db);
$objectline = new TimeSheetLine($this->db);

$product->fetch('', dol_sanitizeFileName(dol_string_nospecial(trim($langs->transnoentities('MealTicket')))));
$objectline->date_creation = $object->db->idate($now);
$objectline->qty = 0;
$objectline->rang = 1;
$objectline->fk_timesheet = $object->id;
$objectline->fk_parent_line = 0;
$objectline->fk_product = $product->id;
$objectline->product_type = 0;
$objectline->create($user);

$product->fetch('', dol_sanitizeFileName(dol_string_nospecial(trim($langs->transnoentities('JourneySubscription')))));
$objectline->date_creation = $object->db->idate($now);
$objectline->qty = 0;
$objectline->rang = 2;
$objectline->fk_timesheet = $object->id;
$objectline->fk_parent_line = 0;
$objectline->fk_product = $product->id;
$objectline->product_type = 1;
$objectline->create($user);

$product->fetch('', dol_sanitizeFileName(dol_string_nospecial(trim($langs->transnoentities('13thMonthBonus')))));
$objectline->date_creation = $object->db->idate($now);
$objectline->qty = 0;
$objectline->rang = 3;
$objectline->fk_timesheet = $object->id;
$objectline->fk_parent_line = 0;
$objectline->fk_product = $product->id;
$objectline->product_type = 1;
$objectline->create($user);

$product->fetch('', dol_sanitizeFileName(dol_string_nospecial(trim($langs->transnoentities('SpecialBonus')))));
$objectline->date_creation = $object->db->idate($now);
$objectline->qty = 0;
$objectline->rang = 4;
$objectline->fk_timesheet = $object->id;
$objectline->fk_parent_line = 0;
$objectline->fk_product = $product->id;
$objectline->product_type = 1;
$objectline->create($user);
$productOrServiceTimesheets = get_product_service_timesheet();

foreach ($productOrServiceTimesheets as $productOrServiceTimesheet) {
$product->fetch('', dol_sanitizeFileName(dol_string_nospecial(trim($langs->transnoentities($productOrServiceTimesheet['name'])))));
$objectline->date_creation = $object->db->idate($now);
$objectline->qty = 0;
$objectline->rang = 1;
$objectline->fk_timesheet = $object->id;
$objectline->fk_parent_line = 0;
$objectline->fk_product = $product->id;
$objectline->product_type = 0;
$objectline->create($user);
}
}

$actioncomm->code = 'AC_' . strtoupper($object->element) . '_CREATE';
Expand Down
2 changes: 2 additions & 0 deletions langs/fr_FR/dolisirh.lang
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,8 @@ MealTicket = Ticket restaurant
JourneySubscription = Abonnement trajet
13thMonthBonus = Prime 13ème mois
SpecialBonus = Prime spéciale
MealBaskets = Paniers repas
TeleworkingPackage = Forfait télétravail
WorkingHours = Horaires de travail
ByProject/Task = Par projet et tâche
ByTask/Project = Par tâche et projet
Expand Down
14 changes: 10 additions & 4 deletions lib/dolisirh.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,16 +135,22 @@ function get_product_service_timesheet(): array
{
return [
[
'name' => 'MealTicket',
'name' => 'MealTicket'
],
[
'name' => 'JourneySubscription',
'name' => 'JourneySubscription'
],
[
'name' => '13thMonthBonus',
'name' => '13thMonthBonus'
],
[
'name' => 'SpecialBonus',
'name' => 'SpecialBonus'
],
[
'name' => 'MealBaskets'
],
[
'name' => 'TeleworkingPackage'
]
];
}

0 comments on commit d6ca2e8

Please sign in to comment.