From 1c966d4769b5257ee68dfd6f6a8ed5ed70f2ddb3 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Fri, 9 Mar 2018 12:57:58 +0100 Subject: [PATCH 1/7] on going --- htdocs/core/menus/standard/eldy.lib.php | 6 +++--- htdocs/product/inventory/card.php | 10 ++++++---- htdocs/product/inventory/list.php | 1 + 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 077b6c8ba64..3abff3f714e 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1257,9 +1257,9 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->stock->enabled)) { $langs->load("stocks"); - $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->lire, '', $mainmenu, 'stock'); - $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->creer); - $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->lire); + $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->advance_inventory->read, '', $mainmenu, 'stock'); + $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->advance_inventory->create); + $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->advance_inventory->read); } } diff --git a/htdocs/product/inventory/card.php b/htdocs/product/inventory/card.php index e393721c47d..5fc63653ffc 100644 --- a/htdocs/product/inventory/card.php +++ b/htdocs/product/inventory/card.php @@ -36,6 +36,8 @@ $action = GETPOST('action', 'alpha'); $cancel = GETPOST('cancel', 'aZ09'); $backtopage = GETPOST('backtopage', 'alpha'); +$result = restrictedArea($user, 'stock', $id, '', 'advance_inventory'); + // Initialize technical objects $object=new Inventory($db); $extrafields = new ExtraFields($db); @@ -80,8 +82,8 @@ if (empty($reshook)) { $error=0; - $permissiontoadd = $user->rights->stock->creer; - $permissiontodelete = $user->rights->stock->supprimer; + $permissiontoadd = $user->rights->stock->advance_inventory->create; + $permissiontodelete = $user->rights->stock->advance_inventory->write; $backurlforlist = DOL_URL_ROOT.'/product/inventory/list.php'; // Actions cancel, add, update or delete @@ -327,7 +329,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Send print '' . $langs->trans('SendMail') . ''."\n"; - if ($user->rights->inventory->write) + if ($user->rights->stock->advance_inventory->write) { print ''.$langs->trans("Modify").''."\n"; } @@ -336,7 +338,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''.$langs->trans('Modify').''."\n"; } - if ($user->rights->inventory->delete) + if ($user->rights->stock->advance_inventory->write) { print ''.$langs->trans('Delete').''."\n"; } diff --git a/htdocs/product/inventory/list.php b/htdocs/product/inventory/list.php index cb67168b214..c53ffafa8a3 100644 --- a/htdocs/product/inventory/list.php +++ b/htdocs/product/inventory/list.php @@ -72,6 +72,7 @@ if ($user->societe_id > 0) //$socid = $user->societe_id; accessforbidden(); } +$result = restrictedArea($user, 'stock', $objectid, '', 'advance_inventory'); // Initialize array of search criterias $search_all=trim(GETPOST("search_all",'alpha')); From f0164f268996f893083f53570fb4854b1b05919c Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Fri, 9 Mar 2018 14:25:37 +0100 Subject: [PATCH 2/7] fix type date --- htdocs/core/actions_addupdatedelete.inc.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/htdocs/core/actions_addupdatedelete.inc.php b/htdocs/core/actions_addupdatedelete.inc.php index 6318e4d5c54..b8ede4d7d14 100644 --- a/htdocs/core/actions_addupdatedelete.inc.php +++ b/htdocs/core/actions_addupdatedelete.inc.php @@ -93,8 +93,16 @@ if ($action == 'update' && ! empty($permissiontoadd)) if (in_array($key, array('rowid', 'entity', 'date_creation', 'tms', 'fk_user_creat', 'fk_user_modif', 'import_key'))) continue; // Ignore special fields // Set value to update - if (in_array($object->fields[$key]['type'], array('text', 'html'))) $value = GETPOST($key,'none'); - else $value = GETPOST($key,'alpha'); + if (in_array($object->fields[$key]['type'], array('text', 'html'))) { + $value = GETPOST($key,'none'); + } + elseif ($object->fields[$key]['type']=='date') { + $value = dol_mktime(12, 0, 0, GETPOST($key.'month'), GETPOST($key.'day'), GETPOST($key.'year')); + } elseif ($object->fields[$key]['type']=='datetime') { + $value = dol_mktime(GETPOST($key.'hour'), GETPOST($key.'min'), 0, GETPOST($key.'month'), GETPOST($key.'day'), GETPOST($key.'year')); + } else { + $value = GETPOST($key,'alpha'); + } if (preg_match('/^integer:/i', $object->fields[$key]['type']) && $value == '-1') $value=''; // This is an implicit foreign key field if (! empty($object->fields[$key]['foreignkey']) && $value == '-1') $value=''; // This is an explicit foreign key field From 04bcc4dd46666d73518c22db3e2bfa6184a10586 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Mar 2018 12:39:39 +0100 Subject: [PATCH 3/7] Update eldy.lib.php --- htdocs/core/menus/standard/eldy.lib.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 3abff3f714e..e976408c285 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1257,9 +1257,18 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->stock->enabled)) { $langs->load("stocks"); - $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->advance_inventory->read, '', $mainmenu, 'stock'); - $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->advance_inventory->create); - $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->advance_inventory->read); + if (empty(MAIN_USE_ADVANCED_PERMS)) + { + $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->read, '', $mainmenu, 'stock'); + $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->create); + $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->read); + } + else + { + $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->advance_inventory->read, '', $mainmenu, 'stock'); + $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->advance_inventory->create); + $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->advance_inventory->read); + } } } From 75b470b5801c653c2d525f4aceac937c1fb7b198 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Mar 2018 12:43:01 +0100 Subject: [PATCH 4/7] Update eldy.lib.php --- htdocs/core/menus/standard/eldy.lib.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index e976408c285..15a262654f4 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1257,16 +1257,16 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->stock->enabled)) { $langs->load("stocks"); - if (empty(MAIN_USE_ADVANCED_PERMS)) + if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { - $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->read, '', $mainmenu, 'stock'); - $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->create); - $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->read); + $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->lire, '', $mainmenu, 'stock'); + $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->creer); + $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->lire); } else { $newmenu->add("/product/inventory/list.php?leftmenu=stock", $langs->trans("Inventory"), 0, $user->rights->stock->advance_inventory->read, '', $mainmenu, 'stock'); - $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->advance_inventory->create); + $newmenu->add("/product/inventory/card.php?action=create", $langs->trans("NewInventory"), 1, $user->rights->stock->advance_inventory->write); $newmenu->add("/product/inventory/list.php", $langs->trans("List"), 1, $user->rights->stock->advance_inventory->read); } } From a7f82af352555379fcd7d2d8e85b3252365f8cd1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Mar 2018 12:49:25 +0100 Subject: [PATCH 5/7] Update card.php --- htdocs/product/inventory/card.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/htdocs/product/inventory/card.php b/htdocs/product/inventory/card.php index 5fc63653ffc..69658f2b42a 100644 --- a/htdocs/product/inventory/card.php +++ b/htdocs/product/inventory/card.php @@ -36,7 +36,14 @@ $action = GETPOST('action', 'alpha'); $cancel = GETPOST('cancel', 'aZ09'); $backtopage = GETPOST('backtopage', 'alpha'); -$result = restrictedArea($user, 'stock', $id, '', 'advance_inventory'); +if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) +{ + $result = restrictedArea($user, 'stock', $id); +} +else +{ + $result = restrictedArea($user, 'stock', $id, '', 'advance_inventory'); +} // Initialize technical objects $object=new Inventory($db); @@ -82,8 +89,16 @@ if (empty($reshook)) { $error=0; - $permissiontoadd = $user->rights->stock->advance_inventory->create; - $permissiontodelete = $user->rights->stock->advance_inventory->write; + if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) + { + $permissiontoadd = $user->rights->stock->write; + $permissiontodelete = $user->rights->stock->write; + } + else + { + $permissiontoadd = $user->rights->stock->advance_inventory->create; + $permissiontodelete = $user->rights->stock->advance_inventory->write; + } $backurlforlist = DOL_URL_ROOT.'/product/inventory/list.php'; // Actions cancel, add, update or delete From 64f2f324de8d40e4438e5ec1f354e39f25f92492 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Mar 2018 12:52:09 +0100 Subject: [PATCH 6/7] Update card.php --- htdocs/product/inventory/card.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/htdocs/product/inventory/card.php b/htdocs/product/inventory/card.php index 69658f2b42a..30bb3312576 100644 --- a/htdocs/product/inventory/card.php +++ b/htdocs/product/inventory/card.php @@ -75,6 +75,16 @@ $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) +{ + $permissiontoadd = $user->rights->stock->write; + $permissiontodelete = $user->rights->stock->write; +} +else +{ + $permissiontoadd = $user->rights->stock->advance_inventory->create; + $permissiontodelete = $user->rights->stock->advance_inventory->write; +} /* @@ -89,16 +99,6 @@ if (empty($reshook)) { $error=0; - if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) - { - $permissiontoadd = $user->rights->stock->write; - $permissiontodelete = $user->rights->stock->write; - } - else - { - $permissiontoadd = $user->rights->stock->advance_inventory->create; - $permissiontodelete = $user->rights->stock->advance_inventory->write; - } $backurlforlist = DOL_URL_ROOT.'/product/inventory/list.php'; // Actions cancel, add, update or delete @@ -344,7 +344,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Send print '' . $langs->trans('SendMail') . ''."\n"; - if ($user->rights->stock->advance_inventory->write) + if ($permissiontoadd) { print ''.$langs->trans("Modify").''."\n"; } @@ -353,7 +353,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''.$langs->trans('Modify').''."\n"; } - if ($user->rights->stock->advance_inventory->write) + if ($permissiontodelete) { print ''.$langs->trans('Delete').''."\n"; } From 212536a3fdf9e1b89aaa17bdf7e5a09b5011564c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 10 Mar 2018 12:54:20 +0100 Subject: [PATCH 7/7] Update list.php --- htdocs/product/inventory/list.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/htdocs/product/inventory/list.php b/htdocs/product/inventory/list.php index c53ffafa8a3..f3089099efe 100644 --- a/htdocs/product/inventory/list.php +++ b/htdocs/product/inventory/list.php @@ -72,7 +72,14 @@ if ($user->societe_id > 0) //$socid = $user->societe_id; accessforbidden(); } -$result = restrictedArea($user, 'stock', $objectid, '', 'advance_inventory'); +if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) +{ + $result = restrictedArea($user, 'stock', $objectid); +} +else +{ + $result = restrictedArea($user, 'stock', $objectid, '', 'advance_inventory'); +} // Initialize array of search criterias $search_all=trim(GETPOST("search_all",'alpha'));