dolibarr 21.0.0-beta
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
103 public $dateremind;
104
108 public $typeremind;
109
113 public $fk_user;
114
118 public $offsetvalue;
119
123 public $offsetunit;
124
128 public $status;
129
133 public $lasterror;
134
138 public $fk_actioncomm;
139
143 public $fk_email_template;
144 // END MODULEBUILDER PROPERTIES
145
146
152 public function __construct(DoliDB $db)
153 {
154 $this->db = $db;
155
156 $this->ismultientitymanaged = 0;
157
158 if (!getDolGlobalString('MAIN_SHOW_TECHNICAL_ID')) {
159 $this->fields['rowid']['visible'] = 0;
160 }
161 if (!isModEnabled('multicompany')) {
162 $this->fields['entity']['enabled'] = 0;
163 }
164 }
165
173 public function create(User $user, $notrigger = 0)
174 {
175 return $this->createCommon($user, $notrigger);
176 }
177
178
186 public function fetch($id, $ref = null)
187 {
188 $result = $this->fetchCommon($id, $ref);
189 return $result;
190 }
191
199 public function update(User $user, $notrigger = 0)
200 {
201 return $this->updateCommon($user, $notrigger);
202 }
203
211 public function delete(User $user, $notrigger = 0)
212 {
213 return $this->deleteCommon($user, $notrigger);
214 }
215
222 public function getLibStatut($mode = 0)
223 {
224 return $this->LibStatut($this->status, $mode);
225 }
226
227 // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
235 public static function LibStatut($status, $mode = 0)
236 {
237 // phpcs:enable
238 global $langs;
239
240 $labelStatus = $langs->transnoentitiesnoconv('ToDo');
241 if ($status == 1) {
242 $labelStatus = $langs->transnoentitiesnoconv('Done');
243 } elseif ($status == -1) {
244 $labelStatus = $langs->transnoentitiesnoconv('Error');
245 }
246
247 $labelStatusShort = $langs->transnoentitiesnoconv('ToDo');
248 if ($status == 1) {
249 $labelStatus = $langs->transnoentitiesnoconv('Done');
250 } elseif ($status == -1) {
251 $labelStatus = $langs->transnoentitiesnoconv('Error');
252 }
253
254 $statusType = 'status5';
255 if ($status == 1) {
256 $statusType = 'status4';
257 } elseif ($status == -1) {
258 $statusType = 'status8';
259 }
260
261 return dolGetStatus($labelStatus, $labelStatusShort, '', $statusType, $mode);
262 }
263
270 public function initAsSpecimen()
271 {
272 return $this->initAsSpecimenCommon();
273 }
274}
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.
print $langs trans("Ref").' m titre as m m statut as status
Or an array listing all the potential status of the object: array: int of the status => translated la...
Definition index.php:171
dolGetStatus($statusLabel='', $statusLabelShort='', $html='', $statusType='status0', $displayMode=0, $url='', $params=array())
Output the badge of a status.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.