From fe614658c89999131a1e200aa12678667d27876e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 8 Apr 2020 16:13:29 +0200 Subject: [PATCH] Look and feel v12 --- htdocs/admin/accountant.php | 2 +- htdocs/admin/company.php | 36 ++-- htdocs/admin/modules.php | 317 +++++++++++++++-------------- htdocs/admin/openinghours.php | 2 +- htdocs/core/lib/functions.lib.php | 5 +- htdocs/langs/en_US/blockedlog.lang | 2 +- htdocs/theme/eldy/global.inc.php | 6 +- htdocs/theme/md/style.css.php | 2 +- 8 files changed, 191 insertions(+), 181 deletions(-) diff --git a/htdocs/admin/accountant.php b/htdocs/admin/accountant.php index b5a6e2e3dfe..a1b2e9db91c 100644 --- a/htdocs/admin/accountant.php +++ b/htdocs/admin/accountant.php @@ -109,7 +109,7 @@ print '
' print ''; print ''; -print ''; +print '
'; print ''."\n"; // Name diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index a66313e6294..b89e1546853 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -410,7 +410,7 @@ print ''; print ''; -print '
'.$langs->trans("CompanyInfo").''.$langs->trans("Value").'
'; +print '
'; print ''."\n"; // Name @@ -493,7 +493,7 @@ if (!empty($mysoc->logo_mini)) { print ''; print ''; } - print ''; + print ''; } else { print ''; } @@ -511,7 +511,7 @@ if (!empty($mysoc->logo_squarred_mini)) { print ''; print ''; } - print ''; + print ''; } else { print ''; } @@ -527,7 +527,7 @@ print '
'.$langs->trans("CompanyInfo").''.$langs->trans("Value").'
'; // Social networks print '
'; -print ''; +print '
'; print ''; print ''; print "\n"; @@ -547,7 +547,7 @@ print "
'.$langs->trans("SocialNetworksInformation").''.$langs->trans("Value").'
"; print '
'; // IDs of the company (country-specific) -print ''; +print '
'; print ''; $langs->load("companies"); @@ -680,7 +680,7 @@ print '
'.$langs->trans("CompanyIds").''.$langs->trans("Value").'
'; // Fiscal year start print '
'; -print ''; +print '
'; print ''; print ''; print "\n"; @@ -695,7 +695,7 @@ print '
'; // Sales taxes (VAT, IRPF, ...) print load_fiche_titre($langs->trans("TypeOfSaleTaxes")); -print '
'.$langs->trans("FiscalYearInformation").''.$langs->trans("Value").'
'; +print '
'; print ''; print ''; print ''; @@ -721,7 +721,7 @@ print "
'.$langs->trans("VATManagement").''.$langs->trans("Description").' 
"; // Second tax print '
'; -print ''; +print '
'; print ''; print ''; print ''; @@ -758,9 +758,9 @@ if ($mysoc->useLocalTax(1)) } else { if (empty($mysoc->country_code)) { - print ''; + print ''; } else { - print ''; + print ''; } } @@ -768,7 +768,7 @@ print "
'.$form->textwithpicto($langs->transcountry("LocalTax1Management", $mysoc->country_code), $langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").' 
'.$countrynotdefined.'
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry" , $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax1Management")).'
'.$langs->trans("NoLocalTaxXForThisCountry" , $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax1Management")).'
"; // Third tax system print '
'; -print ''; +print '
'; print ''; print ''; print ''; @@ -804,18 +804,18 @@ if ($mysoc->useLocalTax(2)) } else { if (empty($mysoc->country_code)) { - print ''; + print ''; } else { - print ''; + print ''; } } print "
'.$form->textwithpicto($langs->transcountry("LocalTax2Management", $mysoc->country_code), $langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").' 
'.$countrynotdefined.'
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry" , $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax2Management")).'
'.$langs->trans("NoLocalTaxXForThisCountry" , $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax2Management")).'
"; -// Third tax system +// Tax stamp print '
'; -print ''; +print '
'; print ''; print ''; print ''; @@ -823,7 +823,7 @@ print "\n"; if ($mysoc->useRevenueStamp()) { // Note: When option is not set, it must not appears as set on on, because there is no default value for this option - print ""; print ''; + print ''; } else { - print ''; + print ''; } } diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index c4387f09ffc..bc915d73af2 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -569,9 +569,11 @@ if ($mode == 'common' || $mode == 'commonkanban') // Show list of modules $oldfamily = ''; + $linenum = 0; foreach ($orders as $key => $value) { + $linenum++; $tab = explode('_', $value); $familykey = $tab[1]; $module_position = $tab[2]; @@ -617,6 +619,7 @@ if ($mode == 'common' || $mode == 'commonkanban') if ($search_nature) { if (preg_match('/^external/', $search_nature) && $objMod->isCoreOrExternalModule() != 'external') continue; + $reg = array(); if (preg_match('/^external_(.*)$/', $search_nature, $reg)) { //print $reg[1].'-'.dol_escape_htmltag($objMod->getPublisher()); @@ -685,12 +688,161 @@ if ($mode == 'common' || $mode == 'commonkanban') $imginfo = "info_black"; } + $codeenabledisable = ''; + $codetoconfig = ''; + + // Activate/Disable and Setup (2 columns) + if (!empty($conf->global->$const_name)) // If module is already activated + { + // Set $codeenabledisable + $disableSetup = 0; + if (!empty($arrayofwarnings[$modName])) + { + $codeenabledisable .= ''."\n"; + } + if (!empty($objMod->disabled)) + { + $codeenabledisable .= $langs->trans("Disabled"); + } + elseif (!empty($objMod->always_enabled) || ((!empty($conf->multicompany->enabled) && $objMod->core_enabled) && ($user->entity || $conf->entity != 1))) + { + if (method_exists($objMod, 'alreadyUsed') && $objMod->alreadyUsed()) $codeenabledisable .= $langs->trans("Used"); + else { + $codeenabledisable .= img_picto($langs->trans("Required"), 'switch_on', '', false, 0, 0, '', 'opacitymedium'); + //print $langs->trans("Required"); + } + if (!empty($conf->multicompany->enabled) && $user->entity) $disableSetup++; + } + 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 .= img_picto($langs->trans("Activated"), 'switch_on'); + $codeenabledisable .= ''; + } + else { + $codeenabledisable .= ''; + $codeenabledisable .= img_picto($langs->trans("Activated"), 'switch_on'); + $codeenabledisable .= ''; + } + } + + // Set $codetoconfig + if (!empty($objMod->config_page_url) && !$disableSetup) + { + $backtourlparam = ''; + if ($search_keyword != '') $backtourlparam .= ($backtourlparam ? '&' : '?').'search_keyword='.$search_keyword; // No urlencode here, done later + if ($search_nature > -1) $backtourlparam .= ($backtourlparam ? '&' : '?').'search_nature='.$search_nature; + if ($search_version > -1) $backtourlparam .= ($backtourlparam ? '&' : '?').'search_version='.$search_version; + if ($search_status > -1) $backtourlparam .= ($backtourlparam ? '&' : '?').'search_status='.$search_status; + $backtourl = $_SERVER["PHP_SELF"].$backtourlparam; + + $regs = array(); + if (is_array($objMod->config_page_url)) + { + $i = 0; + foreach ($objMod->config_page_url as $page) + { + $urlpage = $page; + if ($i++) + { + $codetoconfig .= ''.img_picto(ucfirst($page), "setup").''; + // print ''.ucfirst($page).' '; + } + else + { + 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"').''; + } + else + { + $urltouse = $urlpage; + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + } + } + } + } + elseif (preg_match('/^([^@]+)@([^@]+)$/i', $objMod->config_page_url, $regs)) + { + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + } + else + { + $codetoconfig .= ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; + } + } + else + { + $codetoconfig .= img_picto($langs->trans("NothingToSetup"), "setup", 'class="opacitytransp" style="padding-right: 6px"'); + } + } + else // Module not yet activated + { + // Set $codeenabledisable + if (!empty($objMod->always_enabled)) + { + // Should never happened + } + elseif (!empty($objMod->disabled)) + { + $codeenabledisable .= $langs->trans("Disabled"); + } + else + { + // Module qualified for activation + $warningmessage = ''; + if (!empty($arrayofwarnings[$modName])) + { + $codeenabledisable .= ''."\n"; + foreach ($arrayofwarnings[$modName] as $keycountry => $cursorwarningmessage) + { + if (preg_match('/^always/', $keycountry) || ($mysoc->country_code && preg_match('/^'.$mysoc->country_code.'/', $keycountry))) + { + $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans($cursorwarningmessage, $objMod->getName(), $mysoc->country_code); + } + } + } + if ($objMod->isCoreOrExternalModule() == 'external' && !empty($arrayofwarningsext)) + { + $codeenabledisable .= ''."\n"; + foreach ($arrayofwarningsext as $keymodule => $arrayofwarningsextbycountry) + { + $keymodulelowercase = strtolower(preg_replace('/^mod/', '', $keymodule)); + if (in_array($keymodulelowercase, $conf->modules)) // If module that request warning is on + { + foreach ($arrayofwarningsextbycountry as $keycountry => $cursorwarningmessage) + { + if (preg_match('/^always/', $keycountry) || ($mysoc->country_code && preg_match('/^'.$mysoc->country_code.'/', $keycountry))) + { + $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans($cursorwarningmessage, $objMod->getName(), $mysoc->country_code, $modules[$keymodule]->getName()); + $warningmessage .= ($warningmessage ? "\n" : "").($warningmessage ? "\n" : "").$langs->trans("Module").' : '.$objMod->getName(); + if (!empty($objMod->editor_name)) $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans("Publisher").' : '.$objMod->editor_name; + if (!empty($objMod->editor_name)) $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans("ModuleTriggeringThisWarning").' : '.$modules[$keymodule]->getName(); + } + } + } + } + } + $codeenabledisable .= ''."\n"; + $codeenabledisable .= 'trans("Disabled"), 'switch_off'); + $codeenabledisable .= "\n"; + } + + // Set $codetoconfig + $codetoconfig .= img_picto($langs->trans("NothingToSetup"), "setup", 'class="opacitytransp" style="padding-right: 6px"'); + } + if ($mode == 'commonkanban') { // Output Kanban - print $objMod->getKanbanView(); + print $objMod->getKanbanView($codeenabledisable, $codetoconfig); } else { print ''."\n"; - if (!empty($conf->global->MAIN_MODULES_SHOW_LINENUMBERS)) print ''; + if (!empty($conf->global->MAIN_MODULES_SHOW_LINENUMBERS)) print ''; // Picto + Name of module print ' \n"; - // Activate/Disable and Setup (2 columns) - if (!empty($conf->global->$const_name)) // If module is already activated - { - $disableSetup = 0; + // Link enable/disable + print '\n"; - // Link enable/disabme - print ''."\n"; - - // Link config - print ''; - } - else // Module not yet activated - { - // Link enable/disable - print '\n"; - - // Link config - print ''; - } + // Link config + print ''; print "\n"; } diff --git a/htdocs/admin/openinghours.php b/htdocs/admin/openinghours.php index 5d82ecbd5b9..85c07be8428 100644 --- a/htdocs/admin/openinghours.php +++ b/htdocs/admin/openinghours.php @@ -89,7 +89,7 @@ if (empty($action) || $action == 'edit' || $action == 'updateedit') print ''; print ''; - print '
'.$form->textwithpicto($langs->trans("RevenueStamp"), $langs->trans("RevenueStampDesc")).''.$langs->trans("Description").' 
"; + print '
'; print $langs->trans("UseRevenueStamp"); print "'; @@ -832,9 +832,9 @@ if ($mysoc->useRevenueStamp()) } else { if (empty($mysoc->country_code)) { - print '
'.$countrynotdefined.'
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry" , $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryRevenueStamp"), $langs->transnoentitiesnoconv("RevenueStamp")).'
'.$langs->trans("NoLocalTaxXForThisCountry" , $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryRevenueStamp"), $langs->transnoentitiesnoconv("RevenueStamp")).'
'.++$linenum.''.$linenum.''; @@ -723,7 +875,7 @@ if ($mode == 'common' || $mode == 'commonkanban') // Version print ''; print $versiontrans; - if (!empty($conf->global->CHECKLASTVERSION_EXTERNALMODULE)) { + if (!empty($conf->global->CHECKLASTVERSION_EXTERNALMODULE)) { // This is a bad practice to activate a synch external access during building of a page. 1 external module can hang the application. require_once DOL_DOCUMENT_ROOT.'/core/lib/geturl.lib.php'; if (!empty($objMod->url_last_version)) { $newversion = getURLContent($objMod->url_last_version); @@ -736,158 +888,15 @@ if ($mode == 'common' || $mode == 'commonkanban') } print "'; + print $codeenabledisable; + print "'; - if (!empty($arrayofwarnings[$modName])) - { - print ''."\n"; - } - if (!empty($objMod->disabled)) - { - print $langs->trans("Disabled"); - } - elseif (!empty($objMod->always_enabled) || ((!empty($conf->multicompany->enabled) && $objMod->core_enabled) && ($user->entity || $conf->entity != 1))) - { - if (method_exists($objMod, 'alreadyUsed') && $objMod->alreadyUsed()) print $langs->trans("Used"); - else { - print img_picto($langs->trans("Required"), 'switch_on', '', false, 0, 0, '', 'opacitymedium'); - //print $langs->trans("Required"); - } - if (!empty($conf->multicompany->enabled) && $user->entity) $disableSetup++; - } - else - { - if (!empty($objMod->warnings_unactivation[$mysoc->country_code]) && method_exists($objMod, 'alreadyUsed') && $objMod->alreadyUsed()) { - print 'warnings_unactivation[$mysoc->country_code].'&value='.$modName.'&mode='.$mode.$param.'">'; - print img_picto($langs->trans("Activated"), 'switch_on'); - print ''; - } - else { - print ''; - print img_picto($langs->trans("Activated"), 'switch_on'); - print ''; - } - } - print ''; - if (!empty($objMod->config_page_url) && !$disableSetup) - { - $backtourlparam = ''; - if ($search_keyword != '') $backtourlparam .= ($backtourlparam ? '&' : '?').'search_keyword='.$search_keyword; // No urlencode here, done later - if ($search_nature > -1) $backtourlparam .= ($backtourlparam ? '&' : '?').'search_nature='.$search_nature; - if ($search_version > -1) $backtourlparam .= ($backtourlparam ? '&' : '?').'search_version='.$search_version; - if ($search_status > -1) $backtourlparam .= ($backtourlparam ? '&' : '?').'search_status='.$search_status; - $backtourl = $_SERVER["PHP_SELF"].$backtourlparam; - - $regs = array(); - if (is_array($objMod->config_page_url)) - { - $i = 0; - foreach ($objMod->config_page_url as $page) - { - $urlpage = $page; - if ($i++) - { - print ''.img_picto(ucfirst($page), "setup").''; - // print ''.ucfirst($page).' '; - } - else - { - if (preg_match('/^([^@]+)@([^@]+)$/i', $urlpage, $regs)) - { - $urltouse = dol_buildpath('/'.$regs[2].'/admin/'.$regs[1], 1); - print ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; - } - else - { - $urltouse = $urlpage; - print ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; - } - } - } - } - elseif (preg_match('/^([^@]+)@([^@]+)$/i', $objMod->config_page_url, $regs)) - { - print ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; - } - else - { - print ''.img_picto($langs->trans("Setup"), "setup", 'style="padding-right: 6px"').''; - } - } - else - { - print img_picto($langs->trans("NothingToSetup"), "setup", 'class="opacitytransp" style="padding-right: 6px"'); - } - print ''; - if (!empty($objMod->always_enabled)) - { - // Should never happened - } - elseif (!empty($objMod->disabled)) - { - print $langs->trans("Disabled"); - } - else - { - // Module qualified for activation - $warningmessage = ''; - if (!empty($arrayofwarnings[$modName])) - { - print ''."\n"; - foreach ($arrayofwarnings[$modName] as $keycountry => $cursorwarningmessage) - { - if (preg_match('/^always/', $keycountry) || ($mysoc->country_code && preg_match('/^'.$mysoc->country_code.'/', $keycountry))) - { - $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans($cursorwarningmessage, $objMod->getName(), $mysoc->country_code); - } - } - } - if ($objMod->isCoreOrExternalModule() == 'external' && !empty($arrayofwarningsext)) - { - print ''."\n"; - foreach ($arrayofwarningsext as $keymodule => $arrayofwarningsextbycountry) - { - $keymodulelowercase = strtolower(preg_replace('/^mod/', '', $keymodule)); - if (in_array($keymodulelowercase, $conf->modules)) // If module that request warning is on - { - foreach ($arrayofwarningsextbycountry as $keycountry => $cursorwarningmessage) - { - if (preg_match('/^always/', $keycountry) || ($mysoc->country_code && preg_match('/^'.$mysoc->country_code.'/', $keycountry))) - { - $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans($cursorwarningmessage, $objMod->getName(), $mysoc->country_code, $modules[$keymodule]->getName()); - $warningmessage .= ($warningmessage ? "\n" : "").($warningmessage ? "\n" : "").$langs->trans("Module").' : '.$objMod->getName(); - if (!empty($objMod->editor_name)) $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans("Publisher").' : '.$objMod->editor_name; - if (!empty($objMod->editor_name)) $warningmessage .= ($warningmessage ? "\n" : "").$langs->trans("ModuleTriggeringThisWarning").' : '.$modules[$keymodule]->getName(); - } - } - } - } - } - print ''."\n"; - print ''; - print img_picto($langs->trans("Disabled"), 'switch_off'); - print "\n"; - } - print "'.img_picto($langs->trans("NothingToSetup"), "setup", 'class="opacitytransp" style="padding-right: 6px"').''; + print $codetoconfig; + print '
'; + print '
'; print ''."\n"; print '
'.$langs->trans("Day").''.$langs->trans("Value").'
'; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 5766703b7f8..989647d03e8 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -3504,15 +3504,16 @@ function img_view($titlealt = 'default', $float = 0, $other = '') * * @param string $titlealt Text on alt and title of image. Alt only if param notitle is set to 1. If text is "TextA:TextB", use Text A on alt and Text B on title. * @param string $other Add more attributes on img + * @param string $morecss More CSS * @return string Retourne tag img */ -function img_delete($titlealt = 'default', $other = 'class="pictodelete"') +function img_delete($titlealt = 'default', $other = 'class="pictodelete"', $morecss = '') { global $langs; if ($titlealt == 'default') $titlealt = $langs->trans('Delete'); - return img_picto($titlealt, 'delete.png', $other); + return img_picto($titlealt, 'delete.png', $other, false, 0, 0, '', $morecss); } /** diff --git a/htdocs/langs/en_US/blockedlog.lang b/htdocs/langs/en_US/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/en_US/blockedlog.lang +++ b/htdocs/langs/en_US/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 15f60cffd70..36cba17d06c 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -3194,7 +3194,7 @@ table.hidepaginationnext .paginationnext { .nohover:hover { - background: unset; + background: unset !important; } .nohoverborder:hover { border: unset; @@ -3443,7 +3443,7 @@ div.tabBar .noborder { /* Prepare to remove class pair - impair */ -.noborder > tbody > tr:nth-child(even):not(.liste_titre), .liste > tbody > tr:nth-child(even):not(.liste_titre), +.noborder:not(.editmode) > tbody > tr:nth-child(even):not(.liste_titre), .liste > tbody > tr:nth-child(even):not(.liste_titre), div:not(.fichecenter):not(.fichehalfleft):not(.fichehalfright):not(.ficheaddleft) > .border > tbody > tr:nth-of-type(even):not(.liste_titre), .liste > tbody > tr:nth-of-type(even):not(.liste_titre), div:not(.fichecenter):not(.fichehalfleft):not(.fichehalfright):not(.ficheaddleft) .oddeven.tagtr:nth-of-type(even):not(.liste_titre) { @@ -3459,7 +3459,7 @@ div:not(.fichecenter):not(.fichehalfleft):not(.fichehalfright):not(.ficheaddleft border-bottom: 1px solid #e0e0e0; } -.noborder > tbody > tr:nth-child(odd):not(.liste_titre), .liste > tbody > tr:nth-child(odd):not(.liste_titre), +.noborder:not(.editmode) > tbody > tr:nth-child(odd):not(.liste_titre), .liste > tbody > tr:nth-child(odd):not(.liste_titre), div:not(.fichecenter):not(.fichehalfleft):not(.fichehalfright):not(.ficheaddleft) > .border > tbody > tr:nth-of-type(odd):not(.liste_titre), .liste > tbody > tr:nth-of-type(odd):not(.liste_titre), div:not(.fichecenter):not(.fichehalfleft):not(.fichehalfright):not(.ficheaddleft) .oddeven.tagtr:nth-of-type(odd):not(.liste_titre) { diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 8f2a9f4eb2c..edc28e7b87e 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -3218,7 +3218,7 @@ ul.noborder li:nth-child(odd):not(.liste_titre) { .nohover:hover { - background: unset; + background: unset !important; } .nohoverborder:hover { border: unset;