dolibarr  20.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
27 require_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:607
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.
Definition: user.class.php:50
dolGetStatus($statusLabel='', $statusLabelShort='', $html='', $statusType='status0', $displayMode=0, $url='', $params=array())
Output the badge of a status.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.