25 require_once DOL_DOCUMENT_ROOT.
'/core/triggers/dolibarrtriggers.class.php';
42 $this->
name = preg_replace(
'/^Interface/i',
'', get_class($this));
43 $this->family =
"system";
44 $this->
description =
"Triggers of this module add action for BlockedLog module (Module of unalterable logs).";
46 $this->version = self::VERSION_DOLIBARR;
47 $this->picto =
'technic';
62 if (empty($conf->blockedlog) || empty($conf->blockedlog->enabled)) {
67 $listofqualifiedelement = array(
'facture',
'don',
'payment',
'payment_donation',
'subscription',
'payment_various',
'cashcontrol');
68 if (!in_array($object->element, $listofqualifiedelement)) {
72 dol_syslog(
"Trigger '".$this->
name.
"' for action '$action' launched by ".__FILE__.
". id=".$object->id);
74 require_once DOL_DOCUMENT_ROOT.
'/blockedlog/class/blockedlog.class.php';
76 $b->loadTrackedEvents();
79 if (!in_array($action, array_keys($b->trackedevents))) {
86 if ($action ===
'BILL_VALIDATE' || (($action ===
'BILL_DELETE' || $action ===
'BILL_SENTBYMAIL') && $object->statut != 0)
87 || $action ===
'BILL_SUPPLIER_VALIDATE' || (($action ===
'BILL_SUPPLIER_DELETE' || $action ===
'BILL_SUPPLIER_SENTBYMAIL') && $object->statut != 0)
88 || $action ===
'MEMBER_SUBSCRIPTION_CREATE' || $action ===
'MEMBER_SUBSCRIPTION_MODIFY' || $action ===
'MEMBER_SUBSCRIPTION_DELETE'
89 || $action ===
'DON_VALIDATE' || (($action ===
'DON_MODIFY' || $action ===
'DON_DELETE') && $object->statut != 0)
90 || $action ===
'CASHCONTROL_VALIDATE'
91 || (in_array($object->element, array(
'facture',
'supplier_invoice')) && $action ===
'DOC_DOWNLOAD' && $object->statut != 0)
92 || (in_array($object->element, array(
'facture',
'supplier_invoice')) && $action ===
'DOC_PREVIEW' && $object->statut != 0)
93 || (!empty($conf->global->BLOCKEDLOG_ADD_ACTIONS_SUPPORTED) && in_array($action, explode(
',', $conf->global->BLOCKEDLOG_ADD_ACTIONS_SUPPORTED)))
97 if (in_array($action, array(
98 'MEMBER_SUBSCRIPTION_CREATE',
'MEMBER_SUBSCRIPTION_MODIFY',
'MEMBER_SUBSCRIPTION_DELETE',
99 'DON_VALIDATE',
'DON_MODIFY',
'DON_DELETE'))) {
100 $amounts = (double) $object->amount;
101 } elseif ($action ==
'CASHCONTROL_VALIDATE') {
102 $amounts = (double) $object->cash + (
double) $object->cheque + (double) $object->card;
104 $amounts = (double) $object->total_ttc;
113 if ($action ===
'PAYMENT_CUSTOMER_CREATE' || $action ===
'PAYMENT_SUPPLIER_CREATE' || $action ===
'DONATION_PAYMENT_CREATE'
114 || $action ===
'PAYMENT_CUSTOMER_DELETE' || $action ===
'PAYMENT_SUPPLIER_DELETE' || $action ===
'DONATION_PAYMENT_DELETE') {
117 if (!empty($object->amounts)) {
118 foreach ($object->amounts as $amount) {
121 } elseif (!empty($object->amount)) {
122 $amounts = $object->amount;
124 } elseif (strpos($action,
'PAYMENT') !==
false && !in_array($action, array(
'PAYMENT_ADD_TO_BANK'))) {
126 $amounts = (double) $object->amount;
135 $result = $b->setObjectData($object, $action, $amounts, $user);
138 $this->error = $b->error;
139 $this->errors = $b->errors;
143 $res = $b->create($user);
146 $this->error = $b->error;
147 $this->errors = $b->errors;