Skip to content

Commit

Permalink
#762 [Triggers] fix: reduce code by making a foreach and fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
evarisk-micka committed May 24, 2023
1 parent 01c6f99 commit f5a2159
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 75 deletions.
116 changes: 43 additions & 73 deletions core/triggers/interface_99_modDoliSMQ_DoliSMQTriggers.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,33 +97,38 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf
$now = dol_now();
$actioncomm = new ActionComm($this->db);

$actioncomm->elementtype = $object->element . '@dolismq';
$actioncomm->type_code = 'AC_OTH_AUTO';
$actioncomm->datep = $now;
$actioncomm->fk_element = $object->id;
$actioncomm->userownerid = $user->id;
$actioncomm->percentage = -1;
$actioncomm->elementtype = $object->element . '@dolismq';
$actioncomm->type_code = 'AC_OTH_AUTO';
$actioncomm->datep = $now;
$actioncomm->fk_element = $object->id;
$actioncomm->userownerid = $user->id;
$actioncomm->percentage = -1;
$actioncomm->note_private = '';

foreach ($object->fields as $key => $value) {
if ($key == 'rowid' || $key == 'fk_user_creat' || $key == 'fk_user_modif' || $key == 'import_key' || $key == 'ref_ext') {
continue;
}
if ($key == 'date_creation' || $key == 'tms') {
$actioncomm->note_private .= $langs->trans($value['label']) . ' : ' . dol_print_date($object->$key, 'dayhoursec', 'tzuser') . '</br>';
} else {
$actioncomm->note_private .= $langs->trans($value['label']) . ' : ' . $object->$key . '</br>';
}
}

switch ($action) {
case 'QUESTION_CREATE' :
case 'SHEET_CREATE' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_CREATE';
$actioncomm->label = $langs->transnoentities('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('Label') . ' : ' . $object->label . '</br>';
$actioncomm->note_private .= $langs->trans('Description') . ' : ' . $object->description . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->transnoentities('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'ANSWER_CREATE' :
$actioncomm->elementtype = 'question@dolismq';
$actioncomm->fk_element = $object->fk_question;
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_CREATE';
$actioncomm->label = $langs->trans('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('Value') . ' : ' . $object->value . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->trans('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

Expand All @@ -147,128 +152,93 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf
}

$actioncomm->code = 'AC_' . strtoupper($object->element) . '_CREATE';
$actioncomm->label = $langs->transnoentities('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->transnoentities('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'QUESTION_MODIFY' :
case 'SHEET_MODIFY' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_MODIFY';
$actioncomm->label = $langs->transnoentities('ObjectModifyTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('Label') . ' : ' . $object->label . '</br>';
$actioncomm->note_private .= $langs->trans('Description') . ' : ' . $object->description . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->create($user);
break;

case 'CONTROL_MODIFY' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_MODIFY';
$actioncomm->label = $langs->transnoentities('ObjectModifyTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
case 'CONTROL_MODIFY' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_MODIFY';
$actioncomm->label = $langs->transnoentities('ObjectModifyTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'ANSWER_MODIFY' :
$actioncomm->elementtype = 'question@dolismq';
$actioncomm->fk_element = $object->fk_question;
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_MODIFY';
$actioncomm->label = $langs->trans('ObjectModifyTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('Value') . ' : ' . $object->value . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->trans('ObjectModifyTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'QUESTION_DELETE' :
case 'SHEET_DELETE' :
case 'CONTROL_DELETE' :
$actioncomm->code = 'AC_ ' . strtoupper($object->element) . '_DELETE';
$actioncomm->label = $langs->transnoentities('ObjectDeleteTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->transnoentities('ObjectDeleteTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'ANSWER_DELETE' :
$actioncomm->elementtype = 'question@dolismq';
$actioncomm->fk_element = $object->fk_question;
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_DELETE';
$actioncomm->label = $langs->trans('ObjectDeleteTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('Value') . ' : ' . $object->value . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->trans('ObjectDeleteTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'QUESTION_VALIDATE' :
case 'SHEET_VALIDATE' :
case 'CONTROL_VALIDATE' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_VALIDATE';
$actioncomm->label = $langs->transnoentities('ObjectValidateTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->transnoentities('ObjectValidateTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'CONTROL_UNVALIDATE' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_UNVALIDATE';
$actioncomm->label = $langs->transnoentities('ObjectUnValidateTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->label = $langs->transnoentities('ObjectUnValidateTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'QUESTION_LOCKED' :
case 'SHEET_LOCKED' :
case 'CONTROL_LOCKED' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_LOCKED';
$actioncomm->label = $langs->transnoentities('ObjectLockedTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
case 'QUESTION_LOCK' :
case 'SHEET_LOCK' :
case 'CONTROL_LOCK' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_LOCK';
$actioncomm->label = $langs->transnoentities('ObjectLockedTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'QUESTION_ARCHIVE' :
case 'SHEET_ARCHIVE' :
case 'CONTROL_ARCHIVE' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_ARCHIVE';
$actioncomm->label = $langs->transnoentities('ObjectArchivedTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;

case 'SHEET_ADDQUESTION':
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_ADDQUESTION';
$actioncomm->label = $langs->transnoentities('ObjectAddQuestionTrigger');
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->create($user);
break;

case 'CONTROL_SAVEANSWER' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . 'SAVEANSWER';
$actioncomm->label = $langs->transnoentities('AnswerSaveTrigger');
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->create($user);
break;

case 'CONTROL_VERDICT' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_VERDICT';
$actioncomm->label = $langs->transnoentities('ObjectSetVerdictTrigger', $object->fields['verdict']['arrayofkeyval'][$object->verdict]);
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->note_private .= $langs->trans('DateCreation') . ' : ' . dol_print_date($object->date_creation, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->note_private .= $langs->trans('DateModification') . ' : ' . dol_print_date($now, 'dayhoursec', 'tzuser') . '<br>';
$actioncomm->create($user);
break;

case 'CONTROL_SENTBYMAIL' :
$actioncomm->code = 'AC_' . strtoupper($object->element) . '_SENTBYMAIL';
$actioncomm->label = $langs->transnoentities('ObjectSentByMailTrigger', $langs->transnoentities(ucfirst($object->element)));
$actioncomm->note_private .= $langs->trans('Ref') . ' : ' . $object->ref . '</br>';
$actioncomm->label = $langs->transnoentities('ObjectSentByMailTrigger', $langs->transnoentities(ucfirst($object->element) . ' ' . $object->ref));
$actioncomm->create($user);
break;
}
Expand Down
6 changes: 4 additions & 2 deletions langs/fr_FR/dolismq.lang
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ AnswerMustBeCreated = La question doit avoir au moins une réponse
# Sheet
#

# Trigger - Déclencheur
SheetAddQuestionTrigger = Question ajoutée

# Data - Donnée
Sheet = Fiche modèle
Sheets = fiches modèles
Expand Down Expand Up @@ -143,8 +146,7 @@ ComputerScience = Informatique

# Trigger - Déclencheur
ControlSetUserControllerTrigger = Changement du contrôleur par défaut par %s
ObjectSetVerdictTrigger = Verdict défini sur %s
ObjectAddQuestionTrigger = Question ajoutée
ControlSetVerdictTrigger = Verdict défini sur %s
AnswerSaveTrigger = Réponses sauvergardées

# Data - Donnée
Expand Down

0 comments on commit f5a2159

Please sign in to comment.