From d31aadf5dab74fd1cba6f8b5fb53d34db57b01a6 Mon Sep 17 00:00:00 2001
From: wdammak <26695620+wdammak@users.noreply.github.com>
Date: Fri, 15 Feb 2019 05:20:33 +0100
Subject: [PATCH 1/7] Add Default Warehouse to user
---
htdocs/user/class/user.class.php | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php
index a6bc202d17f..451a5abda80 100644
--- a/htdocs/user/class/user.class.php
+++ b/htdocs/user/class/user.class.php
@@ -173,6 +173,8 @@ class User extends CommonObject
public $default_c_exp_tax_cat;
public $default_range;
+
+ public $fk_warehouse;
public $fields = array(
'rowid'=>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'),
@@ -248,6 +250,7 @@ class User extends CommonObject
$sql.= " u.weeklyhours,";
$sql.= " u.color,";
$sql.= " u.dateemployment, u.dateemploymentend,";
+ $sql.= " u.fk_warehouse,";
$sql.= " u.ref_int, u.ref_ext,";
$sql.= " u.default_range, u.default_c_exp_tax_cat,"; // Expense report default mode
$sql.= " c.code as country_code, c.label as country,";
@@ -368,6 +371,7 @@ class User extends CommonObject
$this->default_range = $obj->default_range;
$this->default_c_exp_tax_cat = $obj->default_c_exp_tax_cat;
+ $this->fk_warehouse = $obj->fk_warehouse;
// Protection when module multicompany was set, admin was set to first entity and then, the module was disabled,
// in such case, this admin user must be admin for ALL entities.
@@ -1482,6 +1486,7 @@ class User extends CommonObject
$this->color = empty($this->color)?'':$this->color;
$this->dateemployment = empty($this->dateemployment)?'':$this->dateemployment;
$this->dateemploymentend = empty($this->dateemploymentend)?'':$this->dateemploymentend;
+ $this->fk_warehouse = trim(empty($this->fk_warehouse)?'':$this->fk_warehouse);
// Check parameters
if (! empty($conf->global->USER_MAIL_REQUIRED) && ! isValidEMail($this->email))
@@ -1539,6 +1544,7 @@ class User extends CommonObject
$sql.= ", entity = '".$this->db->escape($this->entity)."'";
$sql.= ", default_range = ".($this->default_range > 0 ? $this->default_range : 'null');
$sql.= ", default_c_exp_tax_cat = ".($this->default_c_exp_tax_cat > 0 ? $this->default_c_exp_tax_cat : 'null');
+ $sql.= ", fk_warehouse = ".($this->fk_warehouse?"'".$this->db->escape($this->fk_warehouse)."'":"null");
$sql.= " WHERE rowid = ".$this->id;
@@ -1977,7 +1983,7 @@ class User extends CommonObject
dol_syslog(get_class($this)."::send_password changelater is on, url=".$url);
}
-$mailfile = new CMailFile(
+ $mailfile = new CMailFile(
$subject,
$this->email,
$conf->global->MAIN_MAIL_EMAIL_FROM,
From 4dc4a25bb500fb0683f61e9484b2fc0a3af454d6 Mon Sep 17 00:00:00 2001
From: wdammak <26695620+wdammak@users.noreply.github.com>
Date: Fri, 15 Feb 2019 05:24:25 +0100
Subject: [PATCH 2/7] Add Default Warehouse to user card
---
htdocs/user/card.php | 46 +++++++++++++++++++++++++++++++++++---------
1 file changed, 37 insertions(+), 9 deletions(-)
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index 63a2a598d41..f4482a9e872 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -48,6 +48,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
if (! empty($conf->ldap->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/class/ldap.class.php';
if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
if (! empty($conf->categorie->enabled)) require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
+require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
$id = GETPOST('id', 'int');
$action = GETPOST('action', 'aZ09');
@@ -91,7 +92,7 @@ $result = restrictedArea($user, 'user', $id, 'user&user', $feature2);
if ($user->id <> $id && ! $canreaduser) accessforbidden();
// Load translation files required by page
-$langs->loadLangs(array('users', 'companies', 'ldap', 'admin', 'hrm'));
+$langs->loadLangs(array('users', 'companies', 'ldap', 'admin', 'hrm', 'stocks'));
$object = new User($db);
$extrafields = new ExtraFields($db);
@@ -237,6 +238,8 @@ if (empty($reshook)) {
$dateemploymentend = dol_mktime(0, 0, 0, GETPOST('dateemploymentendmonth'), GETPOST('dateemploymentendday'), GETPOST('dateemploymentendyear'));
$object->dateemploymentend = $dateemploymentend;
+ $object->fk_warehouse = GETPOST('fk_warehouse', 'int');
+
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
if ($ret < 0) {
@@ -383,6 +386,8 @@ if (empty($reshook)) {
$object->dateemployment = $dateemployment;
$dateemploymentend = dol_mktime(0, 0, 0, GETPOST('dateemploymentendmonth', 'int'), GETPOST('dateemploymentendday', 'int'), GETPOST('dateemploymentendyear', 'int'));
$object->dateemploymentend = $dateemploymentend;
+
+ $object->fk_warehouse = GETPOST('fk_warehouse', 'int');
if (! empty($conf->multicompany->enabled))
{
@@ -639,6 +644,7 @@ $form = new Form($db);
$formother=new FormOther($db);
$formcompany = new FormCompany($db);
$formfile = new FormFile($db);
+$formproduct = new FormProduct($db);
llxHeader('', $langs->trans("UserCard"));
@@ -1104,7 +1110,8 @@ if ($action == 'create' || $action == 'adduserldap')
{
print '
| ' . $form->editfieldkey('Categories', 'usercats', '', $object, 0) . ' | ';
$cate_arbo = $form->select_all_categories('user', null, 'parent', null, null, 1);
- print $form->multiselectarray('usercats', $cate_arbo, GETPOST('usercats', 'array'), null, null, null, null, '90%');
+ print $form->multiselectarray('usercats', $cate_arbo, GETPOST('usercats', 'array'), null, null, null,
+ null, '90%' );
print " |
";
}
@@ -1165,6 +1172,10 @@ if ($action == 'create' || $action == 'adduserldap')
print '';
print '';
+ // Default warehouse
+ print '| '.$langs->trans("DefaultWarehouse").' | ';
+ print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
+ print ' | ';
if ((! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read))
|| (! empty($conf->hrm->enabled) && ! empty($user->rights->hrm->employee->read)))
@@ -1517,6 +1528,14 @@ else
print '
| '.$langs->trans("PostOrFunction").' | ';
print ''.$object->job.' | ';
print '
'."\n";
+
+ // Default warehouse
+ require_once DOL_DOCUMENT_ROOT .'/product/stock/class/entrepot.class.php';
+ $warehousestatic=new Entrepot($db);
+ $warehousestatic->fetch($object->fk_warehouse);
+ print '| '.$langs->trans("DefaultWarehouse").' | ';
+ print $warehousestatic->getNomUrl();
+ print ' | ';
//$childids = $user->getAllChildIds(1);
@@ -1611,9 +1630,9 @@ else
// Categories
if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire))
{
- print '
| ' . $langs->trans("Categories") . ' | ';
+ print '
| ' . $langs->trans( "Categories" ) . ' | ';
print '';
- print $form->showCategories($object->id, 'user', 1);
+ print $form->showCategories( $object->id, 'user', 1 );
print ' |
';
}
@@ -2378,21 +2397,21 @@ else
print '';
// Categories
- if (!empty($conf->categorie->enabled) && !empty($user->rights->categorie->lire))
+ if (!empty( $conf->categorie->enabled ) && !empty( $user->rights->categorie->lire ))
{
print '| ' . $form->editfieldkey('Categories', 'usercats', '', $object, 0) . ' | ';
print '';
- $cate_arbo = $form->select_all_categories(Categorie::TYPE_USER, null, null, null, null, 1);
- $c = new Categorie($db);
+ $cate_arbo = $form->select_all_categories( Categorie::TYPE_USER, null, null, null, null, 1 );
+ $c = new Categorie( $db );
$cats = $c->containing($object->id, Categorie::TYPE_USER);
foreach ($cats as $cat) {
$arrayselected[] = $cat->id;
}
if ($caneditfield)
{
- print $form->multiselectarray('usercats', $cate_arbo, $arrayselected, '', 0, '', 0, '90%');
+ print $form->multiselectarray( 'usercats', $cate_arbo, $arrayselected, '', 0, '', 0, '90%' );
}else{
- print $form->showCategories($object->id, 'user', 1);
+ print $form->showCategories( $object->id, 'user', 1 );
}
print " |
";
}
@@ -2518,6 +2537,15 @@ else
print $object->job;
}
print '';
+
+ // Default warehouse
+ if (! empty($conf->stock->enabled))
+ {
+ print '| '.$langs->trans("DefaultWarehouse").' | ';
+ print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
+ print ' '.$langs->trans("AddWarehouse").'';
+ print ' | ';
+ }
if ((! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read))
|| (! empty($conf->hrm->enabled) && ! empty($user->rights->hrm->employee->read)))
From fd4f82b1b72828d06ba3b13c77ec21edc513cb5c Mon Sep 17 00:00:00 2001
From: wdammak <26695620+wdammak@users.noreply.github.com>
Date: Fri, 15 Feb 2019 05:32:01 +0100
Subject: [PATCH 3/7] Fix conflict
---
htdocs/user/card.php | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index f4482a9e872..fc6d7793330 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -1110,8 +1110,7 @@ if ($action == 'create' || $action == 'adduserldap')
{
print '
| ' . $form->editfieldkey('Categories', 'usercats', '', $object, 0) . ' | ';
$cate_arbo = $form->select_all_categories('user', null, 'parent', null, null, 1);
- print $form->multiselectarray('usercats', $cate_arbo, GETPOST('usercats', 'array'), null, null, null,
- null, '90%' );
+ print $form->multiselectarray('usercats', $cate_arbo, GETPOST('usercats', 'array'), null, null, null, null, '90%');
print " |
";
}
@@ -1630,9 +1629,9 @@ else
// Categories
if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire))
{
- print '| ' . $langs->trans( "Categories" ) . ' | ';
+ print '
| ' . $langs->trans("Categories") . ' | ';
print '';
- print $form->showCategories( $object->id, 'user', 1 );
+ print $form->showCategories($object->id, 'user', 1);
print ' |
';
}
@@ -2397,21 +2396,21 @@ else
print '';
// Categories
- if (!empty( $conf->categorie->enabled ) && !empty( $user->rights->categorie->lire ))
+ if (!empty($conf->categorie->enabled) && !empty($user->rights->categorie->lire))
{
print '| ' . $form->editfieldkey('Categories', 'usercats', '', $object, 0) . ' | ';
print '';
- $cate_arbo = $form->select_all_categories( Categorie::TYPE_USER, null, null, null, null, 1 );
- $c = new Categorie( $db );
+ $cate_arbo = $form->select_all_categories(Categorie::TYPE_USER, null, null, null, null, 1);
+ $c = new Categorie($db);
$cats = $c->containing($object->id, Categorie::TYPE_USER);
foreach ($cats as $cat) {
$arrayselected[] = $cat->id;
}
if ($caneditfield)
{
- print $form->multiselectarray( 'usercats', $cate_arbo, $arrayselected, '', 0, '', 0, '90%' );
+ print $form->multiselectarray('usercats', $cate_arbo, $arrayselected, '', 0, '', 0, '90%');
}else{
- print $form->showCategories( $object->id, 'user', 1 );
+ print $form->showCategories($object->id, 'user', 1);
}
print " |
";
}
From 03c5e040c59691fc532eaa36957e5c7b786fe56d Mon Sep 17 00:00:00 2001
From: wdammak <26695620+wdammak@users.noreply.github.com>
Date: Fri, 15 Feb 2019 05:48:56 +0100
Subject: [PATCH 4/7] Fix backtopage url
---
htdocs/user/card.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index fc6d7793330..ff4253df646 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -2542,7 +2542,7 @@ else
{
print '| '.$langs->trans("DefaultWarehouse").' | ';
print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
- print ' '.$langs->trans("AddWarehouse").'';
+ print ' '.$langs->trans("AddWarehouse").'';
print ' | ';
}
From 63ffb7a87341a1024fa6b888fe78e044e0f8aae8 Mon Sep 17 00:00:00 2001
From: wdammak <26695620+wdammak@users.noreply.github.com>
Date: Fri, 15 Feb 2019 06:04:58 +0100
Subject: [PATCH 5/7] Fix backtopage url
---
htdocs/user/card.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index ff4253df646..84d83acf483 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -2542,7 +2542,7 @@ else
{
print '
| '.$langs->trans("DefaultWarehouse").' | ';
print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
- print ' '.$langs->trans("AddWarehouse").'';
+ print ' '.$langs->trans("AddWarehouse").'';
print ' | ';
}
From 8390ed346bd6d2909e18dafb660f1b0439bc25b4 Mon Sep 17 00:00:00 2001
From: wdammak <26695620+wdammak@users.noreply.github.com>
Date: Fri, 15 Feb 2019 17:12:39 +0100
Subject: [PATCH 6/7] Hidden for users not using the stock module
---
htdocs/user/card.php | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index 84d83acf483..048ee72e688 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -48,7 +48,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
if (! empty($conf->ldap->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/class/ldap.class.php';
if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
if (! empty($conf->categorie->enabled)) require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
-require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
+if (! empty($conf->stock->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
$id = GETPOST('id', 'int');
$action = GETPOST('action', 'aZ09');
@@ -644,7 +644,7 @@ $form = new Form($db);
$formother=new FormOther($db);
$formcompany = new FormCompany($db);
$formfile = new FormFile($db);
-$formproduct = new FormProduct($db);
+if (! empty($conf->stock->enabled)) $formproduct = new FormProduct($db);
llxHeader('', $langs->trans("UserCard"));
@@ -1172,9 +1172,12 @@ if ($action == 'create' || $action == 'adduserldap')
print '
';
// Default warehouse
- print '| '.$langs->trans("DefaultWarehouse").' | ';
- print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
- print ' | ';
+ if (! empty($conf->stock->enabled))
+ {
+ print '
| '.$langs->trans("DefaultWarehouse").' | ';
+ print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
+ print ' |
';
+ }
if ((! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read))
|| (! empty($conf->hrm->enabled) && ! empty($user->rights->hrm->employee->read)))
@@ -1529,12 +1532,15 @@ else
print ''."\n";
// Default warehouse
- require_once DOL_DOCUMENT_ROOT .'/product/stock/class/entrepot.class.php';
- $warehousestatic=new Entrepot($db);
- $warehousestatic->fetch($object->fk_warehouse);
- print '| '.$langs->trans("DefaultWarehouse").' | ';
- print $warehousestatic->getNomUrl();
- print ' | ';
+ if (! empty($conf->stock->enabled))
+ {
+ require_once DOL_DOCUMENT_ROOT .'/product/stock/class/entrepot.class.php';
+ $warehousestatic=new Entrepot($db);
+ $warehousestatic->fetch($object->fk_warehouse);
+ print '
| '.$langs->trans("DefaultWarehouse").' | ';
+ print $warehousestatic->getNomUrl();
+ print ' |
';
+ }
//$childids = $user->getAllChildIds(1);
@@ -2543,7 +2549,7 @@ else
print '| '.$langs->trans("DefaultWarehouse").' | ';
print $formproduct->selectWarehouses($object->fk_warehouse, 'fk_warehouse', 'warehouseopen', 1);
print ' '.$langs->trans("AddWarehouse").'';
- print ' | ';
+ print '
';
}
if ((! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read))
From e873608d842fabf38fc287f7920fc8920d85450e Mon Sep 17 00:00:00 2001
From: Laurent Destailleur
Date: Wed, 27 Feb 2019 13:37:53 +0100
Subject: [PATCH 7/7] Update card.php
---
htdocs/user/card.php | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/htdocs/user/card.php b/htdocs/user/card.php
index 048ee72e688..26aaa2bf98b 100644
--- a/htdocs/user/card.php
+++ b/htdocs/user/card.php
@@ -387,8 +387,11 @@ if (empty($reshook)) {
$dateemploymentend = dol_mktime(0, 0, 0, GETPOST('dateemploymentendmonth', 'int'), GETPOST('dateemploymentendday', 'int'), GETPOST('dateemploymentendyear', 'int'));
$object->dateemploymentend = $dateemploymentend;
- $object->fk_warehouse = GETPOST('fk_warehouse', 'int');
-
+ if (! empty($conf->stock->enabled))
+ {
+ $object->fk_warehouse = GETPOST('fk_warehouse', 'int');
+ }
+
if (! empty($conf->multicompany->enabled))
{
if (! empty($_POST["superadmin"]))