dolibarr  16.0.5
actioncommreminder.class.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <https://www.gnu.org/licenses/>.
16  */
17 
24 // Put here all includes required by your class file
25 require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php';
26 
27 
32 {
36  public $element = 'actioncomm_reminder';
37 
41  public $table_element = 'actioncomm_reminder';
42 
46  public $ismultientitymanaged = 0;
47 
51  public $picto = 'generic';
52 
53  const STATUS_TODO = 0;
54  const STATUS_DONE = 1;
55  const STATUS_ERROR = -1;
56 
57 
75  // BEGIN MODULEBUILDER PROPERTIES
79  public $fields = array(
80  'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'visible'=>-1, 'enabled'=>1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",),
81  'entity' => array('type'=>'integer', 'label'=>'Entity', 'visible'=>0, 'enabled'=>1, 'position'=>20, 'notnull'=>1, 'index'=>1,),
82  'dateremind' => array('type'=>'datetime', 'label'=>'DateRemind', 'visible'=>1, 'enabled'=>1, 'position'=>60, 'notnull'=>1, 'index'=>1,),
83  'typeremind' => array('type'=>'varchar(32)', 'label'=>'TypeRemind', 'visible'=>-1, 'enabled'=>1, 'position'=>55, 'notnull'=>1, 'comment'=>"email, browser, sms",),
84  'fk_user' => array('type'=>'integer', 'label'=>'User', 'visible'=>-1, 'enabled'=>1, 'position'=>65, 'notnull'=>1, 'index'=>1,),
85  'offsetvalue' => array('type'=>'integer', 'label'=>'OffsetValue', 'visible'=>1, 'enabled'=>1, 'position'=>56, 'notnull'=>1,),
86  'offsetunit' => array('type'=>'varchar(1)', 'label'=>'OffsetUnit', 'visible'=>1, 'enabled'=>1, 'position'=>57, 'notnull'=>1, 'comment'=>"y, m, d, w, h, i",),
87  'status' => array('type'=>'integer', 'label'=>'Status', 'visible'=>1, 'enabled'=>1, 'position'=>58, 'notnull'=>1, 'default'=>0, 'index'=>0, 'arrayofkeyval'=>array('0'=>'ToDo', '1'=>'Done')),
88  'lasterror' => array('type'=>'varchar(128)', 'label'=>'LastError', 'visible'=>-1, 'enabled'=>1, 'position'=>59, 'index'=>0),
89  'fk_actioncomm' => array('type'=>'integer', 'label'=>'Project', 'visible'=>1, 'enabled'=>1, 'position'=>70, 'notnull'=>1, 'index'=>1,),
90  'fk_email_template' => array('type'=>'integer', 'label'=>'EmailTemplate', 'visible'=>1, 'enabled'=>1, 'position'=>80, 'notnull'=>0),
91  );
92 
96  public $rowid;
97 
101  public $entity;
102 
103  public $dateremind;
104  public $typeremind;
105 
109  public $fk_user;
110 
111  public $offsetvalue;
112  public $offsetunit;
113 
117  public $status;
118 
122  public $lasterror;
123 
127  public $fk_actioncomm;
128 
132  public $fk_email_template;
133 
134  // END MODULEBUILDER PROPERTIES
135 
136 
137 
143  public function __construct(DoliDB $db)
144  {
145  global $conf;
146 
147  $this->db = $db;
148 
149  if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID)) {
150  $this->fields['rowid']['visible'] = 0;
151  }
152  if (empty($conf->multicompany->enabled)) {
153  $this->fields['entity']['enabled'] = 0;
154  }
155  }
156 
164  public function create(User $user, $notrigger = false)
165  {
166  return $this->createCommon($user, $notrigger);
167  }
168 
169 
177  public function fetch($id, $ref = null)
178  {
179  $result = $this->fetchCommon($id, $ref);
180  return $result;
181  }
182 
190  public function update(User $user, $notrigger = false)
191  {
192  return $this->updateCommon($user, $notrigger);
193  }
194 
202  public function delete(User $user, $notrigger = false)
203  {
204  return $this->deleteCommon($user, $notrigger);
205  }
206 
213  public function getLibStatut($mode = 0)
214  {
215  return $this->LibStatut($this->status, $mode);
216  }
217 
218  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
226  public static function LibStatut($status, $mode = 0)
227  {
228  // phpcs:enable
229  global $langs;
230 
231  $labelStatus = $langs->transnoentitiesnoconv('ToDo');
232  if ($status == 1) {
233  $labelStatus = $langs->transnoentitiesnoconv('Done');
234  } elseif ($status == -1) {
235  $labelStatus = $langs->transnoentitiesnoconv('Error');
236  }
237 
238  $labelStatusShort = $langs->transnoentitiesnoconv('ToDo');
239  if ($status == 1) {
240  $labelStatus = $langs->transnoentitiesnoconv('Done');
241  } elseif ($status == -1) {
242  $labelStatus = $langs->transnoentitiesnoconv('Error');
243  }
244 
245  $statusType = 'status5';
246  if ($status == 1) {
247  $statusType = 'status4';
248  } elseif ($status == -1) {
249  $statusType = 'status8';
250  }
251 
252  return dolGetStatus($labelStatus, $labelStatusShort, '', $statusType, $mode);
253  }
254 
261  public function initAsSpecimen()
262  {
263  $this->initAsSpecimenCommon();
264  }
265 }
CommonObject\deleteCommon
deleteCommon(User $user, $notrigger=false, $forcechilddeletion=0)
Delete object in database.
Definition: commonobject.class.php:9406
db
$conf db
API class for accounts.
Definition: inc.php:41
CommonObject\fetchCommon
fetchCommon($id, $ref=null, $morewhere='')
Load object in memory from the database.
Definition: commonobject.class.php:9202
DoliDB
Class to manage Dolibarr database access.
Definition: DoliDB.class.php:30
ActionCommReminder\fetch
fetch($id, $ref=null)
Load object in memory from the database.
Definition: actioncommreminder.class.php:177
ActionCommReminder\create
create(User $user, $notrigger=false)
Create object into database.
Definition: actioncommreminder.class.php:164
CommonObject\initAsSpecimenCommon
initAsSpecimenCommon()
Initialise object with example values Id must be 0 if object instance is a specimen.
Definition: commonobject.class.php:9733
CommonObject
Parent class of all other business classes (invoices, contracts, proposals, orders,...
Definition: commonobject.class.php:44
CommonObject\createCommon
createCommon(User $user, $notrigger=false)
Create object into database.
Definition: commonobject.class.php:9035
ActionCommReminder\__construct
__construct(DoliDB $db)
Constructor.
Definition: actioncommreminder.class.php:143
ActionCommReminder
Class for ActionCommReminder.
Definition: actioncommreminder.class.php:31
ActionCommReminder\initAsSpecimen
initAsSpecimen()
Initialise object with example values Id must be 0 if object instance is a specimen.
Definition: actioncommreminder.class.php:261
CommonObject\updateCommon
updateCommon(User $user, $notrigger=false)
Update object into database.
Definition: commonobject.class.php:9308
ActionCommReminder\update
update(User $user, $notrigger=false)
Update object into database.
Definition: actioncommreminder.class.php:190
ActionCommReminder\LibStatut
static LibStatut($status, $mode=0)
Return the status.
Definition: actioncommreminder.class.php:226
User
Class to manage Dolibarr users.
Definition: user.class.php:44
dolGetStatus
dolGetStatus($statusLabel='', $statusLabelShort='', $html='', $statusType='status0', $displayMode=0, $url='', $params=array())
Output the badge of a status.
Definition: functions.lib.php:10338
ActionCommReminder\getLibStatut
getLibStatut($mode=0)
Return label of the status of a reminder.
Definition: actioncommreminder.class.php:213