*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -42,6 +43,8 @@ $action = GETPOST('action', 'aZ09');
$backtopage = GETPOST('backtopage', 'alpha');
$value = GETPOST('value', 'alpha');
+$label = GETPOST('label', 'alpha');
+$scandir = GETPOST('scandir', 'alpha');
$type = 'user';
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 8518d232115..221c69b659a 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -6976,34 +6976,37 @@ abstract class CommonObject
if (!empty($conf->use_javascript_ajax)) {
$out .= '
'."\n";
}
diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 0381a031a7d..380b7a1ad17 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -1221,7 +1221,6 @@ class FormFile
// Size
$sizetoshow = dol_print_size($file['size'], 1, 1);
$sizetoshowbytes = dol_print_size($file['size'], 0, 1);
-
print '| ';
if ($sizetoshow == $sizetoshowbytes) print $sizetoshow;
else {
@@ -1659,8 +1658,21 @@ class FormFile
print $this->showPreview($file, $modulepart, $file['relativename']);
print " | \n";
- print ''.dol_print_size($file['size'], 1, 1).' | ';
+
+ // Size
+ $sizetoshow = dol_print_size($file['size'], 1, 1);
+ $sizetoshowbytes = dol_print_size($file['size'], 0, 1);
+ print '';
+ if ($sizetoshow == $sizetoshowbytes) print $sizetoshow;
+ else {
+ print $form->textwithpicto($sizetoshow, $sizetoshowbytes, -1);
+ }
+ print ' | ';
+
+ // Date
print ''.dol_print_date($file['date'], "dayhour").' | ';
+
+ // Share link
print '';
if ($file['share']) {
// Define $urlwithroot
diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php
index c464d36c5c1..9277ebbd81b 100644
--- a/htdocs/core/lib/usergroups.lib.php
+++ b/htdocs/core/lib/usergroups.lib.php
@@ -137,7 +137,7 @@ function user_prepare_head($object)
if ((!empty($conf->salaries->enabled) && !empty($user->rights->salaries->read))
|| (!empty($conf->hrm->enabled) && !empty($user->rights->hrm->employee->read))
|| (!empty($conf->expensereport->enabled) && !empty($user->rights->expensereport->lire) && ($user->id == $object->id || $user->rights->expensereport->readall))
- || (!empty($conf->holiday->enabled) && !empty($user->rights->holiday->read) && ($user->id == $object->id || $user->rights->holiday->read_all))
+ || (!empty($conf->holiday->enabled) && !empty($user->rights->holiday->read) && ($user->id == $object->id || $user->rights->holiday->readall))
) {
// Bank
$head[$h][0] = DOL_URL_ROOT.'/user/bank.php?id='.$object->id;
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index 8f7501e3fce..ab6c072b1be 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -1800,7 +1800,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
$newmenu->add("/holiday/list.php?search_statut=5&mainmenu=hrm&leftmenu=hrm", $langs->trans("RefuseCP"), 2, $user->rights->holiday->read);
}
$newmenu->add("/holiday/define_holiday.php?mainmenu=hrm&action=request", $langs->trans("MenuConfCP"), 1, $user->rights->holiday->read);
- $newmenu->add("/holiday/month_report.php?mainmenu=hrm&leftmenu=holiday", $langs->trans("MenuReportMonth"), 1, $user->rights->holiday->read_all);
+ $newmenu->add("/holiday/month_report.php?mainmenu=hrm&leftmenu=holiday", $langs->trans("MenuReportMonth"), 1, $user->rights->holiday->readall);
$newmenu->add("/holiday/view_log.php?mainmenu=hrm&leftmenu=holiday&action=request", $langs->trans("MenuLogCP"), 1, $user->rights->holiday->define_holiday);
}
diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
index 51180681a25..8323400d16c 100644
--- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
+++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
@@ -322,6 +322,7 @@ class pdf_crabe extends ModelePDFFactures
$pdf->SetAutoPageBreak(1, 0);
$heightforinfotot = 50 + (4 * $nbpayments); // Height reserved to output the info and total part and payment part
+ if ($heightforinfotot > 220) $heightforinfotot = 220;
$heightforfreetext = (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT) ? $conf->global->MAIN_PDF_FREETEXT_HEIGHT : 5); // Height reserved to output the free text on last page
$heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin)
if (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS)) $heightforfooter += 6;
diff --git a/htdocs/core/modules/modHoliday.class.php b/htdocs/core/modules/modHoliday.class.php
index a146a855ccb..6c6eaba69e0 100644
--- a/htdocs/core/modules/modHoliday.class.php
+++ b/htdocs/core/modules/modHoliday.class.php
@@ -140,14 +140,14 @@ class modHoliday extends DolibarrModules
$r = 0;
$this->rights[$r][0] = 20001; // Permission id (must not be already used)
- $this->rights[$r][1] = 'Read your own leave requests'; // Permission label
+ $this->rights[$r][1] = 'Read leave requests (yours and your subordinates)'; // Permission label
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
$this->rights[$r][4] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$r++;
$this->rights[$r][0] = 20002; // Permission id (must not be already used)
- $this->rights[$r][1] = 'Create/modify your own leave requests'; // Permission label
+ $this->rights[$r][1] = 'Create/modify leave requests'; // Permission label
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
$this->rights[$r][4] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
@@ -170,7 +170,7 @@ class modHoliday extends DolibarrModules
$this->rights[$r][0] = 20004; // Permission id (must not be already used)
$this->rights[$r][1] = 'Read leave requests for everybody'; // Permission label
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
- $this->rights[$r][4] = 'read_all'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
+ $this->rights[$r][4] = 'readall'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$r++;
@@ -201,7 +201,7 @@ class modHoliday extends DolibarrModules
$this->export_code[$r] = 'leaverequest_'.$r;
$this->export_label[$r] = 'ListeCP';
$this->export_icon[$r] = 'holiday';
- $this->export_permission[$r] = array(array("holiday", "read_all"));
+ $this->export_permission[$r] = array(array("holiday", "readall"));
$this->export_fields_array[$r] = array(
'd.rowid'=>"LeaveId", 'd.fk_type'=>'TypeOfLeaveId', 't.code'=>'TypeOfLeaveCode', 't.label'=>'TypeOfLeaveLabel', 'd.fk_user'=>'UserID',
'u.lastname'=>'Lastname', 'u.firstname'=>'Firstname', 'u.login'=>"Login", 'd.date_debut'=>'DateStart', 'd.date_fin'=>'DateEnd', 'd.halfday'=>'HalfDay', 'none.num_open_days'=>'NbUseDaysCP',
diff --git a/htdocs/core/modules/modResource.class.php b/htdocs/core/modules/modResource.class.php
index 0e96b8d4c11..0d1353076ec 100644
--- a/htdocs/core/modules/modResource.class.php
+++ b/htdocs/core/modules/modResource.class.php
@@ -246,9 +246,9 @@ class modResource extends DolibarrModules
$this->export_dependencies_array[$r] = array('resource'=>array('r.rowid')); // We must keep this until the aggregate_array is used. To add unique key if we ask a field of a child to avoid the DISTINCT to discard them.
$this->export_sql_start[$r] = 'SELECT DISTINCT ';
- $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'resource as r ';
+ $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'resource as r';
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_type_resource as c ON c.rowid=r.fk_code_type_resource';
- $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'resource_extrafields as extra ON extra.fk_object = c.rowid';
+ $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'resource_extrafields as extra ON extra.fk_object = r.rowid';
$this->export_sql_end[$r] .= ' AND r.entity IN ('.getEntity('resource').')';
diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php
index 7159ca634d5..23c892333d8 100644
--- a/htdocs/core/modules/modSalaries.class.php
+++ b/htdocs/core/modules/modSalaries.class.php
@@ -101,7 +101,7 @@ class modSalaries extends DolibarrModules
$r++;
$this->rights[$r][0] = 511;
- $this->rights[$r][1] = 'Read payments of employee salaries';
+ $this->rights[$r][1] = 'Read payments of employee salaries (yours and your subordinates)';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 0;
$this->rights[$r][4] = 'read';
@@ -125,6 +125,13 @@ class modSalaries extends DolibarrModules
$r++;
$this->rights[$r][0] = 517;
+ $this->rights[$r][1] = 'Read payments of salariests of every employee';
+ $this->rights[$r][2] = 'r';
+ $this->rights[$r][3] = 0;
+ $this->rights[$r][4] = 'readall';
+
+ $r++;
+ $this->rights[$r][0] = 519;
$this->rights[$r][1] = 'Export payments of employee salaries';
$this->rights[$r][2] = 'r';
$this->rights[$r][3] = 0;
@@ -132,6 +139,7 @@ class modSalaries extends DolibarrModules
$this->rights[$r][5] = '';
+
// Menus
//-------
$this->menu = 1; // This module add menu entries. They are coded into menu manager.
diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php
index b45fdd1b48a..694c77b8881 100644
--- a/htdocs/core/modules/modUser.class.php
+++ b/htdocs/core/modules/modUser.class.php
@@ -255,13 +255,16 @@ class modUser extends DolibarrModules
'u.admin'=>"user", 'u.statut'=>'user', 'u.datelastlogin'=>'user', 'u.datepreviouslogin'=>'user',
'u.fk_socpeople'=>"contact", 'u.fk_soc'=>"company", 'u.fk_member'=>"member"
);
+ $keyforselect = 'user'; $keyforelement = 'user'; $keyforaliasextra = 'extra';
+ include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php';
if (empty($conf->adherent->enabled))
- {
- unset($this->export_fields_array[$r]['u.fk_member']);
- unset($this->export_entities_array[$r]['u.fk_member']);
- }
+ {
+ unset($this->export_fields_array[$r]['u.fk_member']);
+ unset($this->export_entities_array[$r]['u.fk_member']);
+ }
$this->export_sql_start[$r] = 'SELECT DISTINCT ';
$this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'user as u';
+ $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user_extrafields as extra ON u.rowid = extra.fk_object';
$this->export_sql_end[$r] .= ' WHERE u.entity IN ('.getEntity('user').')';
// Imports
diff --git a/htdocs/core/tpl/contacts.tpl.php b/htdocs/core/tpl/contacts.tpl.php
index 012c39c126d..98be97ac5bb 100644
--- a/htdocs/core/tpl/contacts.tpl.php
+++ b/htdocs/core/tpl/contacts.tpl.php
@@ -145,7 +145,7 @@ if ($permission)
$newcardbutton = '';
if (!empty($object->socid) && $object->socid > 1 && $user->rights->societe->creer)
{
- $newcardbutton .= 'id).'" title="'.$langs->trans('NewContact').'">';
+ $newcardbutton .= 'id).'" title="'.$langs->trans('NewContact').'">';
}
print $newcardbutton;
?>
diff --git a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
index 25816cd591e..fd082884ce2 100644
--- a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
+++ b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
@@ -77,6 +77,11 @@ class InterfaceActionsAuto extends DolibarrTriggers
{
if (empty($conf->agenda->enabled)) return 0; // Module not active, we do nothing
+ // Do not log events when trigger is for creating event (infinite loop)
+ if (preg_match('/^ACTION_/', $action)) {
+ return 0;
+ }
+
$key = 'MAIN_AGENDA_ACTIONAUTO_'.$action;
//var_dump($action.' - '.$conf->global->$key);exit;
diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php
index 2f2c9145beb..53a22f83eee 100644
--- a/htdocs/holiday/card.php
+++ b/htdocs/holiday/card.php
@@ -73,7 +73,7 @@ if (($id > 0) || $ref)
// Check current user can read this leave request
$canread = 0;
- if (!empty($user->rights->holiday->read_all)) $canread = 1;
+ if (!empty($user->rights->holiday->readall)) $canread = 1;
if (!empty($user->rights->holiday->read) && in_array($object->fk_user, $childids)) $canread = 1;
if (!$canread)
{
diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php
index 262185df4c5..0677cd2f601 100644
--- a/htdocs/holiday/class/holiday.class.php
+++ b/htdocs/holiday/class/holiday.class.php
@@ -2116,7 +2116,7 @@ class Holiday extends CommonObject
$sql .= " FROM ".MAIN_DB_PREFIX."holiday as h";
$sql .= " WHERE h.statut > 1";
$sql .= " AND h.entity IN (".getEntity('holiday').")";
- if (empty($user->rights->expensereport->read_all))
+ if (empty($user->rights->expensereport->readall))
{
$userchildids = $user->getAllChildIds(1);
$sql .= " AND (h.fk_user IN (".join(',', $userchildids).")";
diff --git a/htdocs/holiday/define_holiday.php b/htdocs/holiday/define_holiday.php
index 47f6eeda550..585c80e3e6d 100644
--- a/htdocs/holiday/define_holiday.php
+++ b/htdocs/holiday/define_holiday.php
@@ -206,7 +206,7 @@ $filters = '';
// Filter on array of ids of all childs
$userchilds = array();
-if (empty($user->rights->holiday->read_all))
+if (empty($user->rights->holiday->readall))
{
$userchilds = $user->getAllChildIds(1);
$filters .= ' AND u.rowid IN ('.join(', ', $userchilds).')';
@@ -293,7 +293,7 @@ if (count($typeleaves) == 0)
foreach ($listUsers as $users)
{
// If user has not permission to edit/read all, we must see only subordinates
- if (empty($user->rights->holiday->read_all))
+ if (empty($user->rights->holiday->readall))
{
if (($users['rowid'] != $user->id) && (!in_array($users['rowid'], $userchilds))) continue; // This user is not into hierarchy of current user, we hide it.
}
diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php
index 615ab6cfa44..bfdef939be3 100644
--- a/htdocs/holiday/list.php
+++ b/htdocs/holiday/list.php
@@ -70,7 +70,7 @@ if ($id > 0)
{
$canread = 0;
if ($id == $user->id) $canread = 1;
- if (!empty($user->rights->holiday->read_all)) $canread = 1;
+ if (!empty($user->rights->holiday->readall)) $canread = 1;
if (!empty($user->rights->holiday->read) && in_array($id, $childids)) $canread = 1;
if (!$canread)
{
@@ -318,7 +318,7 @@ if (!empty($search_status) && $search_status != -1) {
$sql .= " AND cp.statut = '".$db->escape($search_status)."'\n";
}
-if (empty($user->rights->holiday->read_all)) $sql .= ' AND cp.fk_user IN ('.join(',', $childids).')';
+if (empty($user->rights->holiday->readall)) $sql .= ' AND cp.fk_user IN ('.join(',', $childids).')';
if ($id > 0) $sql .= " AND cp.fk_user IN (".$id.")";
// Add where from extra fields
@@ -469,7 +469,7 @@ if ($resql)
$include = '';
- if (empty($user->rights->holiday->read_all)) $include = 'hierarchyme'; // Can see only its hierarchyl
+ if (empty($user->rights->holiday->readall)) $include = 'hierarchyme'; // Can see only its hierarchyl
print '';
print ' '."\n";
@@ -507,7 +507,7 @@ if ($resql)
// Approver
if (!empty($arrayfields['cp.fk_validator']['checked']))
{
- if ($user->rights->holiday->read_all)
+ if ($user->rights->holiday->readall)
{
print '| ';
$validator = new UserGroup($db);
@@ -631,7 +631,7 @@ if ($resql)
// If we ask a dedicated card and not allow to see it, we force on user.
- if ($id && empty($user->rights->holiday->read_all) && !in_array($id, $childids)) {
+ if ($id && empty($user->rights->holiday->readall) && !in_array($id, $childids)) {
$langs->load("errors");
print ' | | '.$langs->trans("NotEnoughPermissions").' | ';
$result = 0;
diff --git a/htdocs/holiday/view_log.php b/htdocs/holiday/view_log.php
index 669bb9aa32f..54049a201ea 100644
--- a/htdocs/holiday/view_log.php
+++ b/htdocs/holiday/view_log.php
@@ -69,7 +69,7 @@ if (!$sortfield) $sortfield = "cpl.rowid";
if (!$sortorder) $sortorder = "DESC";
// Si l'utilisateur n'a pas le droit de lire cette page
-if (!$user->rights->holiday->read_all) accessforbidden();
+if (!$user->rights->holiday->readall) accessforbidden();
// Load translation files required by the page
$langs->load('users');
diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php
index a713ec86100..3ec2a3b898f 100644
--- a/htdocs/hrm/index.php
+++ b/htdocs/hrm/index.php
@@ -180,7 +180,7 @@ if (!empty($conf->holiday->enabled) && $user->rights->holiday->read)
$sql .= " FROM ".MAIN_DB_PREFIX."holiday as x, ".MAIN_DB_PREFIX."user as u";
$sql .= " WHERE u.rowid = x.fk_user";
$sql .= " AND x.entity = ".$conf->entity;
- if (empty($user->rights->holiday->read_all)) $sql .= ' AND x.fk_user IN ('.join(',', $childids).')';
+ if (empty($user->rights->holiday->readall)) $sql .= ' AND x.fk_user IN ('.join(',', $childids).')';
//if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
//if (!empty($socid)) $sql.= " AND x.fk_soc = ".$socid;
$sql .= $db->order("x.tms", "DESC");
diff --git a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql
index d52257c4157..b042fea292d 100644
--- a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql
+++ b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql
@@ -59,6 +59,10 @@ ALTER TABLE llx_mrp_mo_extrafields ADD INDEX idx_mrp_mo_fk_object(fk_object);
-- For v13
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (111,11, '0','0','No Sales Tax',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (112,11, '4','0','Sales Tax 4%',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (113,11, '6','0','Sales Tax 6%',1);
+
ALTER TABLE llx_bom_bom ADD COLUMN bomtype integer DEFAULT 0;
UPDATE llx_emailcollector_emailcollector SET ref = 'Collect_Ticket_Requests' WHERE ref = 'Collect_Ticket_Requets';
@@ -362,6 +366,8 @@ ALTER TABLE llx_facturedet ADD COLUMN ref_ext varchar(255) AFTER multicurrency_t
ALTER TABLE llx_c_ticket_category ADD COLUMN fk_parent integer DEFAULT 0 NOT NULL;
ALTER TABLE llx_c_ticket_category ADD COLUMN force_severity varchar(32) NULL;
+ALTER TABLE llx_c_ticket_severity CHANGE color color VARCHAR(10) NULL;
+
ALTER TABLE llx_expensereport ADD COLUMN fk_user_creat integer NULL;
ALTER TABLE llx_expensereport_ik ADD COLUMN ikoffset double DEFAULT 0 NOT NULL;
@@ -406,6 +412,7 @@ ALTER TABLE llx_projet_task_time MODIFY COLUMN datec datetime;
DELETE FROM llx_user_rights WHERE fk_id IN (SELECT id FROM llx_rights_def where module = 'holiday' and perms = 'lire_tous');
DELETE FROM llx_rights_def where module = 'holiday' and perms = 'lire_tous';
+UPDATE llx_rights_def set perms = 'readall' WHERE perms = 'read_all' and module = 'holiday';
CREATE TABLE llx_c_product_nature (
rowid integer AUTO_INCREMENT PRIMARY KEY,
diff --git a/htdocs/install/mysql/tables/llx_c_ticket_severity.sql b/htdocs/install/mysql/tables/llx_c_ticket_severity.sql
index bb8a75abaa9..b9f565c4395 100644
--- a/htdocs/install/mysql/tables/llx_c_ticket_severity.sql
+++ b/htdocs/install/mysql/tables/llx_c_ticket_severity.sql
@@ -22,7 +22,7 @@ create table llx_c_ticket_severity
code varchar(32) NOT NULL,
pos varchar(32) NOT NULL,
label varchar(128) NOT NULL,
- color varchar(10) NOT NULL,
+ color varchar(10) NULL,
active integer DEFAULT 1,
use_default integer DEFAULT 1,
description varchar(255)
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 3da5c3aff62..9e715bd08d2 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -836,10 +836,11 @@ Permission402=Create/modify discounts
Permission403=Validate discounts
Permission404=Delete discounts
Permission430=Use Debug Bar
-Permission511=Read payments of salaries
+Permission511=Read payments of salaries (yours and subordinates)
Permission512=Create/modify payments of salaries
Permission514=Delete payments of salaries
-Permission517=Export salaries
+Permission517=Read payments of salaries of everybody
+Permission519=Export salaries
Permission520=Read Loans
Permission522=Create/modify loans
Permission524=Delete loans
diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php
index 28bb941c687..7329c18cdd8 100644
--- a/htdocs/projet/tasks/time.php
+++ b/htdocs/projet/tasks/time.php
@@ -1471,7 +1471,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0)
print '';
print ' ';
- print 'fk_task.'&action=deletelin&token='.newToken().'&lineid='.$task_time->rowid.$param.((empty($id) || $tab == 'timespent') ? '&tab=timespent' : '').'">';
+ print 'fk_task.'&action=deleteline&token='.newToken().'&lineid='.$task_time->rowid.$param.((empty($id) || $tab == 'timespent') ? '&tab=timespent' : '').'">';
print img_delete('default', 'class="pictodelete paddingleft"');
print '';
diff --git a/htdocs/salaries/list.php b/htdocs/salaries/list.php
index 8f6f636c4b2..3ef6531e6fd 100644
--- a/htdocs/salaries/list.php
+++ b/htdocs/salaries/list.php
@@ -31,11 +31,6 @@ if (!empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/account
// Load translation files required by the page
$langs->loadLangs(array("compta", "salaries", "bills", "hrm"));
-// Security check
-$socid = GETPOST("socid", "int");
-if ($user->socid) $socid = $user->socid;
-$result = restrictedArea($user, 'salaries', '', '', '');
-
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$search_ref = GETPOST('search_ref', 'int');
$search_user = GETPOST('search_user', 'alpha');
@@ -71,6 +66,13 @@ if (!GETPOST('typeid', 'int'))
$typeid = GETPOST('typeid', 'int');
}
+$childids = $user->getAllChildIds(1);
+
+// Security check
+$socid = GETPOST("socid", "int");
+if ($user->socid) $socid = $user->socid;
+$result = restrictedArea($user, 'salaries', '', '', '');
+
/*
@@ -112,6 +114,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON b.fk_account = ba.ro
$sql .= " ".MAIN_DB_PREFIX."user as u";
$sql .= " WHERE u.rowid = s.fk_user";
$sql .= " AND s.entity = ".$conf->entity;
+if (empty($user->rights->salaries->readall)) $sql .= " AND s.fk_user IN (".join(',', $childids).")";
// Search criteria
if ($search_ref) $sql .= " AND s.rowid=".$search_ref;
diff --git a/htdocs/takepos/admin/terminal.php b/htdocs/takepos/admin/terminal.php
index 8ae37c2b8f7..870feb71778 100644
--- a/htdocs/takepos/admin/terminal.php
+++ b/htdocs/takepos/admin/terminal.php
@@ -41,7 +41,7 @@ if (!empty($_REQUEST['CASHDESK_ID_THIRDPARTY'.$terminal.'_id']))
// Security check
if (!$user->admin) accessforbidden();
-$langs->loadLangs(array("admin", "cashdesk", "printing"));
+$langs->loadLangs(array("admin", "cashdesk", "printing", "receiptprinter"));
global $db;
@@ -255,7 +255,7 @@ if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TA
foreach ($printer->listprinterstemplates as $key => $value) {
$templates[$value['rowid']] = $value['name'];
}
- print '| '.$langs->trans("MainTemplateToUse").' | ';
+ print ' | '.$langs->trans("MainTemplateToUse").' ('.$langs->trans("SetupReceiptTemplate").') | ';
print '';
print $form->selectarray('TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal, $templates, (empty($conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal}) ? '0' : $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal}), 1);
print ' | ';
diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php
index fc1e690e263..9c4a5320c58 100644
--- a/htdocs/takepos/invoice.php
+++ b/htdocs/takepos/invoice.php
@@ -672,7 +672,7 @@ if ($action == "updatereduction")
if ($action == "order" and $placeid != 0)
{
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
- if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter") {
+ if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") {
require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php';
$printer = new dolReceiptPrinter($db);
}
@@ -703,10 +703,13 @@ if ($action == "order" and $placeid != 0)
$order_receipt_printer1 .= '';
}
}
- if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" && $linestoprint > 0) {
+ if (($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") && $linestoprint > 0) {
$invoice->fetch($placeid); //Reload object before send to printer
$printer->orderprinter = 1;
+ echo "";
}
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet set special_code='4' where special_code='1' and fk_facture=".$invoice->id; // Set as printed
$db->query($sql);
@@ -731,10 +734,13 @@ if ($action == "order" and $placeid != 0)
$order_receipt_printer2 .= '';
}
}
- if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" && $linestoprint > 0) {
+ if (($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") && $linestoprint > 0) {
$invoice->fetch($placeid); //Reload object before send to printer
$printer->orderprinter = 2;
+ echo "";
}
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet set special_code='4' where special_code='2' and fk_facture=".$invoice->id; // Set as printed
$db->query($sql);
@@ -759,10 +765,13 @@ if ($action == "order" and $placeid != 0)
$order_receipt_printer3 .= '';
}
}
- if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" && $linestoprint > 0) {
+ if (($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") && $linestoprint > 0) {
$invoice->fetch($placeid); //Reload object before send to printer
$printer->orderprinter = 3;
+ echo "";
}
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet set special_code='4' where special_code='3' and fk_facture=".$invoice->id; // Set as printed
$db->query($sql);
@@ -841,25 +850,59 @@ $(document).ready(function() {
- $.ajax({
- type: "POST",
- url: 'http://global->TAKEPOS_PRINT_SERVER; ?>:8111/print',
- data: ''
- });
- global->TAKEPOS_PRINT_SERVER, FILTER_VALIDATE_URL) == true){
+ ?>
+ $.ajax({
+ type: "POST",
+ url: 'global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php',
+ data: 'invoice='+orderprinter1esc
+ });
+
+ $.ajax({
+ type: "POST",
+ url: 'http://global->TAKEPOS_PRINT_SERVER; ?>:8111/print',
+ data: ''
+ });
+
- $.ajax({
- type: "POST",
- url: 'http://global->TAKEPOS_PRINT_SERVER; ?>:8111/print2',
- data: ''
- });
- global->TAKEPOS_PRINT_SERVER, FILTER_VALIDATE_URL) == true){
+ ?>
+ $.ajax({
+ type: "POST",
+ url: 'global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php?printer=2',
+ data: 'invoice='+orderprinter2esc
+ });
+
+ $.ajax({
+ type: "POST",
+ url: 'http://global->TAKEPOS_PRINT_SERVER; ?>:8111/print2',
+ data: ''
+ });
+ global->TAKEPOS_PRINT_SERVER, FILTER_VALIDATE_URL) == true){
+ ?>
+ $.ajax({
+ type: "POST",
+ url: 'global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php?printer=3',
+ data: 'invoice='+orderprinter3esc
+ });
+ free();
+ $db->free($result);
} else {
print '| '.$langs->trans('NoUnreadTicketsFound').' | ';
}
diff --git a/htdocs/user/bank.php b/htdocs/user/bank.php
index b1f0b7d4785..8b177518d25 100644
--- a/htdocs/user/bank.php
+++ b/htdocs/user/bank.php
@@ -388,7 +388,7 @@ if ($action != 'edit' && $action != 'create') // If not bank account yet, $acco
* Last holidays
*/
if (!empty($conf->holiday->enabled) &&
- ($user->rights->holiday->read_all || ($user->rights->holiday->read && $object->id == $user->id))
+ ($user->rights->holiday->readall || ($user->rights->holiday->read && $object->id == $user->id))
)
{
$holiday = new Holiday($db);
@@ -396,7 +396,7 @@ if ($action != 'edit' && $action != 'create') // If not bank account yet, $acco
$sql = "SELECT h.rowid, h.statut as status, h.fk_type, h.date_debut, h.date_fin, h.halfday";
$sql .= " FROM ".MAIN_DB_PREFIX."holiday as h";
$sql .= " WHERE h.fk_user = ".$object->id;
- $sql .= " AND h.entity = ".$conf->entity;
+ $sql .= " AND h.entity IN (".getEntity('holiday').")";
$sql .= " ORDER BY h.date_debut DESC";
$resql = $db->query($sql);
|