dolibarr 20.0.0
actioncommreminder.class.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
3 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
4 * Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
26// Put here all includes required by your class file
27require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php';
28
29
34{
38 public $element = 'actioncomm_reminder';
39
43 public $table_element = 'actioncomm_reminder';
44
48 public $picto = 'generic';
49
50 const STATUS_TODO = 0;
51 const STATUS_DONE = 1;
52 const STATUS_ERROR = -1;
53
54
72 // BEGIN MODULEBUILDER PROPERTIES
76 public $fields = array(
77 'rowid' => array('type' => 'integer', 'label' => 'TechnicalID', 'visible' => -1, 'enabled' => 1, 'position' => 1, 'notnull' => 1, 'index' => 1, 'comment' => "Id",),
78 'entity' => array('type' => 'integer', 'label' => 'Entity', 'visible' => 0, 'enabled' => 1, 'position' => 20, 'notnull' => 1, 'index' => 1,),
79 'dateremind' => array('type' => 'datetime', 'label' => 'DateRemind', 'visible' => 1, 'enabled' => 1, 'position' => 60, 'notnull' => 1, 'index' => 1,),
80 'typeremind' => array('type' => 'varchar(32)', 'label' => 'TypeRemind', 'visible' => -1, 'enabled' => 1, 'position' => 55, 'notnull' => 1, 'comment' => "email, browser, sms",),
81 'fk_user' => array('type' => 'integer', 'label' => 'User', 'visible' => -1, 'enabled' => 1, 'position' => 65, 'notnull' => 1, 'index' => 1,),
82 'offsetvalue' => array('type' => 'integer', 'label' => 'OffsetValue', 'visible' => 1, 'enabled' => 1, 'position' => 56, 'notnull' => 1,),
83 'offsetunit' => array('type' => 'varchar(1)', 'label' => 'OffsetUnit', 'visible' => 1, 'enabled' => 1, 'position' => 57, 'notnull' => 1, 'comment' => "y, m, d, w, h, i",),
84 'status' => array('type' => 'integer', 'label' => 'Status', 'visible' => 1, 'enabled' => 1, 'position' => 58, 'notnull' => 1, 'default' => '0', 'index' => 0, 'arrayofkeyval' => array('0' => 'ToDo', '1' => 'Done')),
85 'lasterror' => array('type' => 'varchar(128)', 'label' => 'LastError', 'visible' => -1, 'enabled' => 1, 'position' => 59, 'index' => 0),
86 'fk_actioncomm' => array('type' => 'integer', 'label' => 'Project', 'visible' => 1, 'enabled' => 1, 'position' => 70, 'notnull' => 1, 'index' => 1,),
87 'fk_email_template' => array('type' => 'integer', 'label' => 'EmailTemplate', 'visible' => 1, 'enabled' => 1, 'position' => 80, 'notnull' => 0),
88 );
89
93 public $rowid;
94
98 public $entity;
99
100 public $dateremind;
101
105 public $typeremind;
106
110 public $fk_user;
111
115 public $offsetvalue;
116
120 public $offsetunit;
121
125 public $status;
126
130 public $lasterror;
131
135 public $fk_actioncomm;
136
140 public $fk_email_template;
141 // END MODULEBUILDER PROPERTIES
142
148 public function __construct(DoliDB $db)
149 {
150 global $conf;
151
152 $this->db = $db;
153
154 $this->ismultientitymanaged = 0;
155
156 if (!getDolGlobalString('MAIN_SHOW_TECHNICAL_ID')) {
157 $this->fields['rowid']['visible'] = 0;
158 }
159 if (!isModEnabled('multicompany')) {
160 $this->fields['entity']['enabled'] = 0;
161 }
162 }
163
171 public function create(User $user, $notrigger = 0)
172 {
173 return $this->createCommon($user, $notrigger);
174 }
175
176
184 public function fetch($id, $ref = null)
185 {
186 $result = $this->fetchCommon($id, $ref);
187 return $result;
188 }
189
197 public function update(User $user, $notrigger = 0)
198 {
199 return $this->updateCommon($user, $notrigger);
200 }
201
209 public function delete(User $user, $notrigger = 0)
210 {
211 return $this->deleteCommon($user, $notrigger);
212 }
213
220 public function getLibStatut($mode = 0)
221 {
222 return $this->LibStatut($this->status, $mode);
223 }
224
225 // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
233 public static function LibStatut($status, $mode = 0)
234 {
235 // phpcs:enable
236 global $langs;
237
238 $labelStatus = $langs->transnoentitiesnoconv('ToDo');
239 if ($status == 1) {
240 $labelStatus = $langs->transnoentitiesnoconv('Done');
241 } elseif ($status == -1) {
242 $labelStatus = $langs->transnoentitiesnoconv('Error');
243 }
244
245 $labelStatusShort = $langs->transnoentitiesnoconv('ToDo');
246 if ($status == 1) {
247 $labelStatus = $langs->transnoentitiesnoconv('Done');
248 } elseif ($status == -1) {
249 $labelStatus = $langs->transnoentitiesnoconv('Error');
250 }
251
252 $statusType = 'status5';
253 if ($status == 1) {
254 $statusType = 'status4';
255 } elseif ($status == -1) {
256 $statusType = 'status8';
257 }
258
259 return dolGetStatus($labelStatus, $labelStatusShort, '', $statusType, $mode);
260 }
261
268 public function initAsSpecimen()
269 {
270 return $this->initAsSpecimenCommon();
271 }
272}
print $langs trans("AuditedSecurityEvents").'</strong >< span class="opacitymedium"></span >< br > status
Or an array listing all the potential status of the object: array: int of the status => translated la...
Definition security.php:636
Class for ActionCommReminder.
fetch($id, $ref=null)
Load object in memory from the database.
initAsSpecimen()
Initialise object with example values Id must be 0 if object instance is a specimen.
static LibStatut($status, $mode=0)
Return the status.
create(User $user, $notrigger=0)
Create object into database.
update(User $user, $notrigger=0)
Update object into database.
__construct(DoliDB $db)
Constructor.
getLibStatut($mode=0)
Return label of the status of a reminder.
Parent class of all other business classes (invoices, contracts, proposals, orders,...
createCommon(User $user, $notrigger=0)
Create object in the database.
updateCommon(User $user, $notrigger=0)
Update object into database.
initAsSpecimenCommon()
Initialise object with example values Id must be 0 if object instance is a specimen.
fetchCommon($id, $ref=null, $morewhere='', $noextrafields=0)
Load object in memory from the database.
deleteCommon(User $user, $notrigger=0, $forcechilddeletion=0)
Delete object in database.
Class to manage Dolibarr database access.
Class to manage Dolibarr users.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.