dolibarr  13.0.2
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)) $this->fields['rowid']['visible'] = 0;
150  if (empty($conf->multicompany->enabled)) $this->fields['entity']['enabled'] = 0;
151  }
152 
160  public function create(User $user, $notrigger = false)
161  {
162  return $this->createCommon($user, $notrigger);
163  }
164 
165 
173  public function fetch($id, $ref = null)
174  {
175  $result = $this->fetchCommon($id, $ref);
176  return $result;
177  }
178 
186  public function update(User $user, $notrigger = false)
187  {
188  return $this->updateCommon($user, $notrigger);
189  }
190 
198  public function delete(User $user, $notrigger = false)
199  {
200  return $this->deleteCommon($user, $notrigger);
201  }
202 
209  public function getLibStatut($mode = 0)
210  {
211  return $this->LibStatut($this->status, $mode);
212  }
213 
214  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
222  public static function LibStatut($status, $mode = 0)
223  {
224  // phpcs:enable
225  global $langs;
226 
227  $labelStatus = $langs->trans('ToDo');
228  if ($status == 1) $labelStatus = $langs->trans('Done');
229  elseif ($status == -1) $labelStatus = $langs->trans('Error');
230 
231  $labelStatusShort = $langs->trans('ToDo');
232  if ($status == 1) $labelStatus = $langs->trans('Done');
233  elseif ($status == -1) $labelStatus = $langs->trans('Error');
234 
235  $statusType = 'status5';
236  if ($status == 1) $statusType = 'status4';
237  elseif ($status == -1) $statusType = 'status8';
238 
239  return dolGetStatus($labelStatus, $labelStatusShort, '', $statusType, $mode);
240  }
241 
248  public function initAsSpecimen()
249  {
250  $this->initAsSpecimenCommon();
251  }
252 }
deleteCommon(User $user, $notrigger=false, $forcechilddeletion=0)
Delete object in database.
Class for ActionCommReminder.
create(User $user, $notrigger=false)
Create object into database.
foreach($object->fields as $key=> $val) if(is_array($extrafields->attributes[$object->table_element]['label'])&&count($extrafields->attributes[$object->table_element]['label']) > 0) $object fields
initAsSpecimen()
Initialise object with example values Id must be 0 if object instance is a specimen.
Class to manage Dolibarr users.
Definition: user.class.php:44
Class to manage Dolibarr database access.
initAsSpecimenCommon()
Initialise object with example values Id must be 0 if object instance is a specimen.
createCommon(User $user, $notrigger=false)
Create object into database.
$conf db
API class for accounts.
Definition: inc.php:54
static LibStatut($status, $mode=0)
Return the status.
updateCommon(User $user, $notrigger=false)
Update object into database.
fetch($id, $ref=null)
Load object in memory from the database.
getLibStatut($mode=0)
Retourne le libelle du status d&#39;un user (actif, inactif)
__construct(DoliDB $db)
Constructor.
dolGetStatus($statusLabel= '', $statusLabelShort= '', $html= '', $statusType= 'status0', $displayMode=0, $url= '', $params=array())
Output the badge of a status.
Parent class of all other business classes (invoices, contracts, proposals, orders, ...)
fetchCommon($id, $ref=null, $morewhere= '')
Load object in memory from the database.
update(User $user, $notrigger=false)
Update object into database.