25 require_once DOL_DOCUMENT_ROOT.
'/core/class/coreobject.class.php';
35 public $element =
'expenserule';
40 public $table_element =
'expensereport_rules';
45 public $fk_element =
'fk_expense_rule';
87 public $fk_c_type_fees;
93 public $code_expense_rules_type;
114 public $fields = array(
115 'rowid'=>array(
'type'=>
'integer',
'index'=>
true)
116 ,
'dates'=>array(
'type'=>
'date')
117 ,
'datee'=>array(
'type'=>
'date')
118 ,
'amount'=>array(
'type'=>
'double')
119 ,
'restrictive'=>array(
'type'=>
'integer')
120 ,
'fk_user'=>array(
'type'=>
'integer')
121 ,
'fk_usergroup'=>array(
'type'=>
'integer')
122 ,
'fk_c_type_fees'=>array(
'type'=>
'integer')
123 ,
'code_expense_rules_type'=>array(
'type'=>
'string')
124 ,
'is_for_all'=>array(
'type'=>
'integer')
125 ,
'entity'=>array(
'type'=>
'integer')
137 parent::__construct($db);
140 $this->errors = array();
151 public static function getAllRule($fk_c_type_fees =
'', $date =
'', $fk_user =
'')
156 $sql =
'SELECT er.rowid';
157 $sql .=
' FROM '.MAIN_DB_PREFIX.
'expensereport_rules er';
158 $sql .=
' WHERE er.entity IN (0,'.getEntity(
'').
')';
159 if (!empty($fk_c_type_fees))
161 $sql .=
' AND er.fk_c_type_fees IN (-1, '.$fk_c_type_fees.
')';
166 $sql .=
' AND er.dates <= \''.$date.
'\'';
167 $sql .=
' AND er.datee >= \''.$date.
'\'';
171 $sql .=
' AND (er.is_for_all = 1';
172 $sql .=
' OR er.fk_user = '.$fk_user;
173 $sql .=
' OR er.fk_usergroup IN (SELECT ugu.fk_usergroup FROM '.MAIN_DB_PREFIX.
'usergroup_user ugu WHERE ugu.fk_user = '.$fk_user.
') )';
175 $sql .=
' ORDER BY er.is_for_all, er.fk_usergroup, er.fk_user';
177 dol_syslog(
"ExpenseReportRule::getAllRule sql=".$sql);
179 $resql = $db->query($sql);
182 while ($obj = $db->fetch_object(
$resql))
185 if ($rule->fetch($obj->rowid) > 0) $rules[$rule->id] = $rule;
202 include_once DOL_DOCUMENT_ROOT.
'/user/class/usergroup.class.php';
204 if ($this->fk_usergroup > 0)
207 if ($group->fetch($this->fk_usergroup) > 0)
211 $this->error = $group->error;
212 $this->errors[] = $this->error;
226 include_once DOL_DOCUMENT_ROOT.
'/user/class/user.class.php';
228 if ($this->fk_user > 0)
231 if ($u->fetch($this->fk_user) > 0)
235 $this->error = $u->error;
236 $this->errors[] = $this->error;
Class to manage inventories.
Class to manage Dolibarr users.
Class to manage Dolibarr database access.
Class to manage user groups.
$conf db
API class for accounts.
getGroupLabel()
Return the label of group for the current object.
__construct(DoliDB &$db)
Constructor.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename= '', $restricttologhandler= '', $logcontext=null)
Write log message into outputs.
dol_print_date($time, $format= '', $tzoutput= 'auto', $outputlangs= '', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
static getAllRule($fk_c_type_fees= '', $date= '', $fk_user= '')
Return all rules or filtered by something.
getUserName()
Return the name of user for the current object.
dolGetFirstLastname($firstname, $lastname, $nameorder=-1)
Return firstname and lastname in correct order.