diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index 6c10d5fc89e..f2da6f19fd1 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -143,6 +143,37 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode
$menu->add('/product/index.php?mainmenu=products&leftmenu=', $chaine, 0, $showmode, $atarget, "products", '', 30, $id, $idsel, $classname);
}
+ // Projects
+ $tmpentry=array('enabled'=>(! empty($conf->projet->enabled)),
+ 'perms'=>(! empty($user->rights->projet->lire)),
+ 'module'=>'projet');
+ $showmode=isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal);
+ if ($showmode)
+ {
+ $langs->load("projects");
+
+ $classname="";
+ if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "project") { $classname='class="tmenusel"'; $_SESSION['idmenu']=''; }
+ else $classname = 'class="tmenu"';
+ $idsel='project';
+
+ $title = $langs->trans("LeadsOrProjects"); // Leads and opportunities by default
+ $showmodel = $showmodep = $showmode;
+ if (empty($conf->global->PROJECT_USE_OPPORTUNITIES))
+ {
+ $title = $langs->trans("Projects");
+ $showmodel = 0;
+ }
+ if ($conf->global->PROJECT_USE_OPPORTUNITIES == 2) {
+ $title = $langs->trans("Leads");
+ $showmodep = 0;
+ }
+
+ $menu->add('/projet/index.php?mainmenu=project&leftmenu=', $title, 0, $showmode, $atarget, "project", '', 35, $id, $idsel, $classname);
+ //$menu->add('/projet/index.php?mainmenu=project&leftmenu=&search_opp_status=openedopp', $langs->trans("ListLeads"), 0, $showmodel & $conf->global->PROJECT_USE_OPPORTUNITIES, $atarget, "project", '', 70, $id, $idsel, $classname);
+ //$menu->add('/projet/index.php?mainmenu=project&leftmenu=&search_opp_status=notopenedopp', $langs->trans("ListProjects"), 0, $showmodep, $atarget, "project", '', 70, $id, $idsel, $classname);
+ }
+
// Commercial
$menuqualified=0;
if (! empty($conf->propal->enabled)) $menuqualified++;
@@ -238,39 +269,6 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode
$menu->add('/accountancy/index.php?mainmenu=accountancy&leftmenu=', $langs->trans("MenuAccountancy"), 0, $showmode, $atarget, "accountancy", '', 54, $id, $idsel, $classname);
}
- // Projects
- $tmpentry = array(
- 'enabled'=>(! empty($conf->projet->enabled)),
- 'perms'=>(! empty($user->rights->projet->lire)),
- 'module'=>'projet',
- );
- $showmode=isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal);
- if ($showmode)
- {
- $langs->load("projects");
-
- $classname="";
- if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "project") { $classname='class="tmenusel"'; $_SESSION['idmenu']=''; }
- else $classname = 'class="tmenu"';
- $idsel='project';
-
- $title = $langs->trans("LeadsOrProjects"); // Leads and opportunities by default
- $showmodel = $showmodep = $showmode;
- if (empty($conf->global->PROJECT_USE_OPPORTUNITIES))
- {
- $title = $langs->trans("Projects");
- $showmodel = 0;
- }
- if ($conf->global->PROJECT_USE_OPPORTUNITIES == 2) {
- $title = $langs->trans("Leads");
- $showmodep = 0;
- }
-
- $menu->add('/projet/index.php?mainmenu=project&leftmenu=', $title, 0, $showmode, $atarget, "project", '', 70, $id, $idsel, $classname);
- //$menu->add('/projet/index.php?mainmenu=project&leftmenu=&search_opp_status=openedopp', $langs->trans("ListLeads"), 0, $showmodel & $conf->global->PROJECT_USE_OPPORTUNITIES, $atarget, "project", '', 70, $id, $idsel, $classname);
- //$menu->add('/projet/index.php?mainmenu=project&leftmenu=&search_opp_status=notopenedopp', $langs->trans("ListProjects"), 0, $showmodep, $atarget, "project", '', 70, $id, $idsel, $classname);
- }
-
// HRM
$tmpentry = array(
'enabled'=>(! empty($conf->hrm->enabled) || ! empty($conf->holiday->enabled) || ! empty($conf->deplacement->enabled) || ! empty($conf->expensereport->enabled)),
@@ -1160,13 +1158,13 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
// Balance
$newmenu->add("/accountancy/bookkeeping/balance.php?mainmenu=accountancy&leftmenu=accountancy_balance",$langs->trans("AccountBalance"),1,$user->rights->accounting->mouvements->lire);
-
+
// Files
if (! empty($conf->global->MAIN_FEATURES_LEVEL) && $conf->global->MAIN_FEATURES_LEVEL > 2)
{
$newmenu->add("/compta/compta-files.php?mainmenu=accountancy&leftmenu=accountancy_files",$langs->trans("AccountantFiles"),1,$user->rights->accounting->mouvements->lire);
}
-
+
// Reports
$langs->load("compta");
@@ -1262,8 +1260,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
*/
if ($mainmenu == 'bank')
{
- // Load translation files required by the page
- $langs->loadLangs(array("withdrawals","banks","bills","categories"));
+ // Load translation files required by the page
+ $langs->loadLangs(array("withdrawals","banks","bills","categories"));
// Bank-Caisse
if (! empty($conf->banque->enabled))
@@ -1278,11 +1276,12 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
$newmenu->add("/compta/bank/transfer.php",$langs->trans("MenuBankInternalTransfer"),1,$user->rights->banque->transfer);
}
- if (! empty($conf->categorie->enabled)) {
- $langs->load("categories");
- $newmenu->add("/categories/index.php?type=5",$langs->trans("Rubriques"),1,$user->rights->categorie->creer, '', $mainmenu, 'tags');
- $newmenu->add("/compta/bank/categ.php",$langs->trans("RubriquesTransactions"),1,$user->rights->categorie->creer, '', $mainmenu, 'tags');
- }
+ if (! empty($conf->categorie->enabled))
+ {
+ $langs->load("categories");
+ $newmenu->add("/categories/index.php?type=5",$langs->trans("Rubriques"),1,$user->rights->categorie->creer, '', $mainmenu, 'tags');
+ $newmenu->add("/compta/bank/categ.php",$langs->trans("RubriquesTransactions"),1,$user->rights->categorie->creer, '', $mainmenu, 'tags');
+ }
// Prelevements
if (! empty($conf->prelevement->enabled))
@@ -1312,7 +1311,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
$newmenu->add("/compta/paiement/cheque/list.php?leftmenu=checks_bis&mainmenu=bank",$langs->trans("List"),1,$user->rights->banque->cheque);
}
}
-
+
//Cash Control
if ($conf->takepos->enabled or $conf->cashdesk->enabled){
$newmenu->add("/compta/cashcontrol/cashcontrol.php?action=list",$langs->trans("CashControl"),0,1, '', $mainmenu, 'cashcontrol');
diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php
index 50e767fe411..2324bfad616 100644
--- a/htdocs/core/modules/modAgenda.class.php
+++ b/htdocs/core/modules/modAgenda.class.php
@@ -210,7 +210,7 @@ class modAgenda extends DolibarrModules
'mainmenu'=>'agenda',
'url'=>'/comm/action/index.php',
'langs'=>'agenda',
- 'position'=>15,
+ 'position'=>86,
'perms'=>'$user->rights->agenda->myactions->read',
'enabled'=>'$conf->agenda->enabled',
'target'=>'',
diff --git a/htdocs/core/modules/modECM.class.php b/htdocs/core/modules/modECM.class.php
index c4c00597885..593f702ac52 100644
--- a/htdocs/core/modules/modECM.class.php
+++ b/htdocs/core/modules/modECM.class.php
@@ -129,7 +129,7 @@ class modECM extends DolibarrModules
'mainmenu'=>'ecm',
'url'=>'/ecm/index.php',
'langs'=>'ecm',
- 'position'=>100,
+ 'position'=>82,
'perms'=>'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup',
'enabled'=>'$conf->ecm->enabled',
'target'=>'',
diff --git a/htdocs/core/modules/modTicket.class.php b/htdocs/core/modules/modTicket.class.php
index 79e4d015a5e..08f1050df32 100644
--- a/htdocs/core/modules/modTicket.class.php
+++ b/htdocs/core/modules/modTicket.class.php
@@ -32,7 +32,6 @@ require_once DOL_DOCUMENT_ROOT . "/core/modules/DolibarrModules.class.php";
*/
class modTicket extends DolibarrModules
{
-
/**
* Constructor. Define names, constants, directories, boxes, permissions
*
@@ -194,7 +193,7 @@ class modTicket extends DolibarrModules
'leftmenu' => '1', // Use 1 if you also want to add left menu entries using this descriptor.
'url' => '/ticket/index.php',
'langs' => 'ticket', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
- 'position' => 100,
+ 'position' => 88,
'enabled' => '$conf->ticket->enabled', // Define condition to show or hide menu entry. Use '$conf->ticket->enabled' if entry must be visible if module is enabled.
'perms' => '$user->rights->ticket->read', // Use 'perms'=>'$user->rights->ticket->level1->level2' if you want your menu with a permission rules
'target' => '',
diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql
index 381f3626c77..49e8c67e54b 100644
--- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql
+++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql
@@ -229,3 +229,25 @@ ALTER TABLE llx_emailcollector_emailcollectoraction ADD UNIQUE INDEX uk_emailcol
ALTER TABLE llx_societe_rib ADD COLUMN comment varchar(255);
ALTER TABLE llx_societe_rib ADD COLUMN ipaddress varchar(68);
+DROP TABLE llx_ticket_logs;
+
+
+CREATE TABLE llx_pos_cash_fence(
+ rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
+ entity INTEGER DEFAULT 1 NOT NULL,
+ label VARCHAR(255),
+ opening double(24,8) default 0,
+ cash double(24,8) default 0,
+ card double(24,8) default 0,
+ status INTEGER,
+ date_creation DATETIME NOT NULL,
+ day_close INTEGER,
+ month_close INTEGER,
+ year_close INTEGER,
+ posmodule VARCHAR(30),
+ posnumber VARCHAR(30),
+ fk_user_valid integer,
+ tms TIMESTAMP NOT NULL,
+ import_key VARCHAR(14)
+) ENGINE=innodb;
+
diff --git a/htdocs/install/mysql/migration/9.0.0-10.0.0.sql b/htdocs/install/mysql/migration/9.0.0-10.0.0.sql
index 0bf41b5af10..bf8514b2069 100644
--- a/htdocs/install/mysql/migration/9.0.0-10.0.0.sql
+++ b/htdocs/install/mysql/migration/9.0.0-10.0.0.sql
@@ -29,6 +29,25 @@
-- Missing in 9.0
+CREATE TABLE llx_pos_cash_fence(
+ rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
+ entity INTEGER DEFAULT 1 NOT NULL,
+ label VARCHAR(255),
+ opening double(24,8) default 0,
+ cash double(24,8) default 0,
+ card double(24,8) default 0,
+ status INTEGER,
+ date_creation DATETIME NOT NULL,
+ day_close INTEGER,
+ month_close INTEGER,
+ year_close INTEGER,
+ posmodule VARCHAR(30),
+ posnumber VARCHAR(30),
+ fk_user_valid integer,
+ tms TIMESTAMP NOT NULL,
+ import_key VARCHAR(14)
+) ENGINE=innodb;
+
-- For 10.0
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index c8f9eea87d9..b3c5a8ee8b4 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -1821,7 +1821,7 @@ SocialNetworkSetup=Setup of module Social Networks
EnableFeatureFor=Enable features for %s
VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales.
SwapSenderAndRecipientOnPDF=Swap sender and recipient address on PDF
-FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields only. Also an URL parameter action=create or action=edit' must be set OR page name must end with 'new.php' to trigger this feature.
+FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature.
EmailCollector=Email collector
EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads).
NewEmailCollector=New Email Collector