From 02436c1e84485c2b72616ae52763a07863cc6ec5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 8 Apr 2020 17:04:23 +0200 Subject: [PATCH] NEW The module selection uses a KanBan view by default. --- htdocs/admin/modules.php | 30 ++++++------- htdocs/core/lib/admin.lib.php | 4 +- htdocs/core/modules/DolibarrModules.class.php | 41 +++++++++++++++--- htdocs/theme/eldy/img/object_gravatar.png | Bin 556 -> 4618 bytes htdocs/theme/eldy/info-box.inc.php | 23 ++++++++++ htdocs/theme/md/img/object_gravatar.png | Bin 556 -> 4618 bytes 6 files changed, 75 insertions(+), 23 deletions(-) diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index bc915d73af2..ba32aaf1082 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/admin/dolistore/class/dolistore.class.php'; // Load translation files required by the page $langs->loadLangs(array("errors", "admin", "modulebuilder")); -$mode = GETPOST('mode', 'alpha'); +$mode = GETPOSTISSET('mode') ? GETPOST('mode', 'alpha') : 'commonkanban'; if (empty($mode)) $mode = 'common'; $action = GETPOST('action', 'alpha'); //var_dump($_POST);exit; @@ -508,7 +508,7 @@ if ($mode == 'common' || $mode == 'commonkanban') print ''; $newmode = $mode; - if ($newmode == 'commonkanban') $newmode = 'common'; + if ($newmode == 'common') $newmode = 'commonkanban'; dol_fiche_head($head, $newmode, '', -1); @@ -708,7 +708,7 @@ if ($mode == 'common' || $mode == 'commonkanban') { if (method_exists($objMod, 'alreadyUsed') && $objMod->alreadyUsed()) $codeenabledisable .= $langs->trans("Used"); else { - $codeenabledisable .= img_picto($langs->trans("Required"), 'switch_on', '', false, 0, 0, '', 'opacitymedium'); + $codeenabledisable .= img_picto($langs->trans("Required"), 'switch_on', '', false, 0, 0, '', 'opacitymedium valignmiddle'); //print $langs->trans("Required"); } if (!empty($conf->multicompany->enabled) && $user->entity) $disableSetup++; @@ -716,12 +716,12 @@ if ($mode == 'common' || $mode == 'commonkanban') else { if (!empty($objMod->warnings_unactivation[$mysoc->country_code]) && method_exists($objMod, 'alreadyUsed') && $objMod->alreadyUsed()) { - $codeenabledisable .= 'warnings_unactivation[$mysoc->country_code].'&value='.$modName.'&mode='.$mode.$param.'">'; + $codeenabledisable .= 'warnings_unactivation[$mysoc->country_code].'&value='.$modName.'&mode='.$mode.$param.'">'; $codeenabledisable .= img_picto($langs->trans("Activated"), 'switch_on'); $codeenabledisable .= ''; } else { - $codeenabledisable .= ''; + $codeenabledisable .= ''; $codeenabledisable .= img_picto($langs->trans("Activated"), 'switch_on'); $codeenabledisable .= ''; } @@ -754,28 +754,28 @@ if ($mode == 'common' || $mode == 'commonkanban') if (preg_match('/^([^@]+)@([^@]+)$/i', $urlpage, $regs)) { $urltouse = dol_buildpath('/'.$regs[2].'/admin/'.$regs[1], 1); - $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"', false, 0, 0, '', 'fa-15').''; } else { $urltouse = $urlpage; - $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"', false, 0, 0, '', 'fa-15').''; } } } } elseif (preg_match('/^([^@]+)@([^@]+)$/i', $objMod->config_page_url, $regs)) { - $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"', false, 0, 0, '', 'fa-15').''; } else { - $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"', false, 0, 0, '', 'fa-15').''; } } else { - $codetoconfig .= img_picto($langs->trans("NothingToSetup"), "setup", 'class="opacitytransp" style="padding-right: 6px"'); + $codetoconfig .= img_picto($langs->trans("NothingToSetup"), "setup", 'class="opacitytransp" style="padding-right: 6px"', false, 0, 0, '', 'fa-15'); } } else // Module not yet activated @@ -961,26 +961,24 @@ if ($mode == 'marketplace') $previouslink = $dolistore->get_previous_link(); $nextlink = $dolistore->get_next_link(); - print '
' + print '
'; + print '
'; ?> -
trans('Keyword') ?>:
-
'; print ''; diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 9b3f52957c7..f2e8e94ab78 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -577,9 +577,9 @@ function modules_prepare_head() $h = 0; $head = array(); - $head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=common"; + $head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=commonkanban"; $head[$h][1] = $langs->trans("AvailableModules"); - $head[$h][2] = 'common'; + $head[$h][2] = 'commonkanban'; $h++; $head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=marketplace"; diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 5920a93b64c..ebe77ee9b81 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -2261,9 +2261,11 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it /** * Return Kanban view of a module * - * @return string HTML code of Kanban view + * @param string $codeenabledisable HTML code for button to enable/disable module + * @param string $codetoconfig HTML code to go to config page + * @return string HTML code of Kanban view */ - public function getKanbanView() + public function getKanbanView($codeenabledisable = '', $codetoconfig = '') { global $conf, $langs; @@ -2301,15 +2303,44 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it { print img_object($alttext, 'generic', 'class="inline-block valignmiddle"'); } - print 'getVersion(1).'">'.$this->getVersion(1).''; + print 'getVersion(1).'">'; + print $this->getVersion(1); + print ''; + + /*print ''; + print '
'; + print '
'; + print $codeenabledisable; + print '
'; + print '
'; + print $codetoconfig; + print '
'; + print '
'; + print '
'; + */ + print '
'.$this->getName().' '.nl2br($this->getDesc()).''; - print ''.img_picto($langs->trans("ClickToShowDescription"), $imginfo).''; + /*print 'getVersion(1).'">'; + print $this->getVersion(1); + print ''; */ + + print '
'; + + print '
'; + print '
'; + print $codeenabledisable; + print '
'; + print '
'; + print $codetoconfig; + print '
'; + print '
'; - //print ''.$this->getVersion(1).''; print '
diff --git a/htdocs/theme/eldy/img/object_gravatar.png b/htdocs/theme/eldy/img/object_gravatar.png index f82840f386142f9ad2fb28c5152a0640db3f862d..4f5187babe6f5e8fc80bb2c1e21aa00a2ff92b05 100644 GIT binary patch literal 4618 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 transition: opacity 0.5s, visibility 0s 0.5s; } +.info-box-icon-action { + box-sizing: border-box; + display: block; + position: absolute; + width: 90px; + bottom: 0px; + color: #ffffff; + background-color: rgba(0,0,0,0.1); + cursor: default; + + font-size: 0.5em; + line-height: 22px; + padding: 0px 3px; + text-align: center; + opacity: 1; + -webkit-transition: opacity 0.5s, visibility 0s 0.5s; + transition: opacity 0.5s, visibility 0s 0.5s; +} +.info-box-actions { + position: absolute; + right: 0; + bottom: 0; +} global->MAIN_DISABLE_GLOBAL_BOXSTATS) && !empty($conf->global->MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD)) { ?> .info-box-icon-text{ diff --git a/htdocs/theme/md/img/object_gravatar.png b/htdocs/theme/md/img/object_gravatar.png index f82840f386142f9ad2fb28c5152a0640db3f862d..4f5187babe6f5e8fc80bb2c1e21aa00a2ff92b05 100644 GIT binary patch literal 4618 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