diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index fb0808e0953..a7044861bf7 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -187,6 +187,8 @@ ShowCardHere=Show card
Search=Search
SearchOf=Search
SearchMenuShortCut=Ctrl + shift + f
+QuickAdd=Quick add
+QuickAddMenuShortCut=Ctrl + shift + l
Valid=Valid
Approve=Approve
Disapprove=Disapprove
@@ -1031,4 +1033,4 @@ DeleteFileHeader=Confirm file delete
DeleteFileText=Do you really want delete this file?
ShowOtherLanguages=Show other languages
SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language
-NotUsedForThisCustomer=Not used for this customer
\ No newline at end of file
+NotUsedForThisCustomer=Not used for this customer
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 6533b4bfe54..5e6b616dc26 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -1722,6 +1722,11 @@ function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead
$toprightmenu .= top_menu_search();
}
+ if (!empty($conf->global->MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN)) {
+ // Add search dropdown
+ $toprightmenu .= top_menu_quickadd();
+ }
+
// Add bookmark dropdown
$toprightmenu .= top_menu_bookmark();
@@ -1934,6 +1939,226 @@ function top_menu_user($hideloginname = 0, $urllogout = '')
return $btnUser;
}
+/**
+ * Build the tooltip on top menu quick add
+ *
+ * @return string HTML content
+ */
+function top_menu_quickadd()
+{
+ global $langs, $conf, $db, $hookmanager, $user;
+ global $menumanager;
+ $html = '';
+ // Define $dropDownQuickAddHtml
+ $dropDownQuickAddHtml = '
';
+
+ $dropDownQuickAddHtml.= '';
+ $dropDownQuickAddHtml.= '
';
+ if (! empty($conf->societe->enabled) && $user->rights->societe->creer) {
+ $langs->load("companies");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->societe->enabled) && $user->rights->societe->contact->creer) {
+ $langs->load("companies");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->propal->enabled) && $user->rights->propale->creer) {
+ $langs->load("propal");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->commande->enabled) && $user->rights->commande->creer) {
+ $langs->load("orders");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->facture->enabled) && $user->rights->facture->creer) {
+ $langs->load("bills");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->contrat->enabled) && $user->rights->contrat->creer) {
+ $langs->load("contracts");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposal->creer) {
+ $langs->load("supplier_proposal");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->creer) {
+ $langs->load("orders");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->creer) {
+ $langs->load("bills");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->product->enabled) && $user->rights->produit->creer) {
+ $langs->load("products");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ if (! empty($conf->service->enabled) && $user->rights->service->creer) {
+ $langs->load("products");
+ $dropDownQuickAddHtml.= '
+
+
+ ';
+ }
+
+ // Execute hook printTopRightMenu (hooks should output string like '
')
+ $parameters = array();
+ $result = $hookmanager->executeHooks('printQuickAddBlock', $parameters); // Note that $action and $object may have been modified by some hooks
+ if (is_numeric($result))
+ {
+ if ($result == 0)
+ $dropDownQuickAddHtml.= $hookmanager->resPrint; // add
+ else
+ $dropDownQuickAddHtml = $hookmanager->resPrint; // replace
+ }
+ else
+ {
+ $dropDownQuickAddHtml.= $result; // For backward compatibility
+ }
+
+ $dropDownQuickAddHtml.= '
';
+ $dropDownQuickAddHtml.= '
';
+
+ $html.= '
+ ';
+ $html .= '
+
+
+ ';
+ return $html;
+}
/**
* Build the tooltip on top menu bookmark
diff --git a/htdocs/theme/eldy/dropdown.inc.php b/htdocs/theme/eldy/dropdown.inc.php
index 49f910f50da..479bb3f889b 100644
--- a/htdocs/theme/eldy/dropdown.inc.php
+++ b/htdocs/theme/eldy/dropdown.inc.php
@@ -9,7 +9,7 @@ button.dropdown-item.global-search-item {
outline: none;
}
-.open>.dropdown-search, .open>.dropdown-bookmark, .open>.dropdown-menu, .dropdown dd ul.open {
+.open>.dropdown-search, .open>.dropdown-bookmark, .open>.dropdown-quickadd, .open>.dropdown-menu, .dropdown dd ul.open {
display: block;
}
@@ -59,6 +59,29 @@ button.dropdown-item.global-search-item {
-webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
box-shadow: 0 6px 12px rgba(0,0,0,.175);
}
+.dropdown-quickadd {
+ border-color: #eee;
+
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 240px;
+ margin: 2px 0 0;
+ font-size: 14px;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0,0,0,.15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
+ box-shadow: 0 6px 12px rgba(0,0,0,.175);
+}
.dropdown-menu {
border-color: #eee;
@@ -163,7 +186,7 @@ button.dropdown-item.global-search-item {
max-width: 100%;
}
-div#topmenu-global-search-dropdown, div#topmenu-bookmark-dropdown {
+div#topmenu-global-search-dropdown, div#topmenu-bookmark-dropdown, div#topmenu-quickadd-dropdown {
global->THEME_TOPMENU_DISABLE_IMAGE)) { ?>
line-height: 46px;
@@ -383,6 +406,58 @@ a.top-menu-dropdown-link {
display: none !important;
}
+/*
+ * QUICK ADD
+ */
+#topmenu-quickadd-dropdown .dropdown-menu {
+ width: 300px !important;
+ color: #444;
+}
+
+.quickadd-header {
+ color: #444 !important;
+}
+
+div.quickadd {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-align-content: center;
+ -ms-flex-line-pack: center;
+ align-content: center;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+}
+
+div.quickadd a {
+ color: #444;
+}
+
+div.quickadd a:hover, div.quickadd a:active {
+ color: #000000;
+}
+
+div.quickaddblock {
+ width: 80px;
+ display: block ruby;
+}
+
+div.quickaddblock:hover,
+div.quickaddblock:active,
+div.quickaddblock:focus {
+ background: ;
+}
+
/* smartphone */
@media only screen and (max-width: 767px)
{
diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php
index 28fa0ecfa65..4a3c2523ecc 100644
--- a/htdocs/theme/eldy/global.inc.php
+++ b/htdocs/theme/eldy/global.inc.php
@@ -1304,7 +1304,7 @@ td.showDragHandle {
#id-left {
padding-top: 20px;
padding-bottom: 5px;
- global->MAIN_USE_TOP_MENU_SEARCH_DROPDOWN)) { ?>
+ global->MAIN_USE_TOP_MENU_SEARCH_DROPDOWN) && ! empty($conf->global->MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN)) { ?>
padding-top: 8px;
}
diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php
index 39fcd003335..0409ca5830e 100644
--- a/htdocs/theme/eldy/style.css.php
+++ b/htdocs/theme/eldy/style.css.php
@@ -202,7 +202,7 @@ $disableimages = 0;
$maxwidthloginblock = 180;
if (!empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE)) { $disableimages = 1; $maxwidthloginblock = $maxwidthloginblock + 50; $minwidthtmenu = 0; }
-
+if (!empty($conf->global->MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN)) { $maxwidthloginblock = $maxwidthloginblock + 55; }
if (!empty($conf->global->MAIN_USE_TOP_MENU_SEARCH_DROPDOWN)) { $maxwidthloginblock = $maxwidthloginblock + 55; }
if (!empty($conf->bookmark->enabled)) { $maxwidthloginblock = $maxwidthloginblock + 55; }