Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2022-12-28 02:44:28 +01:00
commit 120dd6319f
13 changed files with 357 additions and 199 deletions

View File

@ -368,7 +368,7 @@ if (!is_array($result) && $result < 0) {
} elseif (count($result) > 0) {
$defval = reset($result)->value;
}
$formactions->form_select_status_action('agenda', $defval, 1, "AGENDA_EVENT_DEFAULT_STATUS", 0, 1, 'maxwidth200');
$formactions->form_select_status_action('agenda', $defval, 1, "AGENDA_EVENT_DEFAULT_STATUS", 0, 1, 'maxwidth200 onrightofpage');
print '</td></tr>'."\n";
// AGENDA_DEFAULT_FILTER_TYPE

View File

@ -642,16 +642,16 @@ if ($object->id > 0) {
print "</table>";
print '</div><div class="fichehalfright">';
// Prospection level and status
if ($object->client == 2 || $object->client == 3) {
print '<br>';
print '<div class="underbanner clearboth"></div>';
print '<table class="border centpercent tableforfield">';
// Level of prospection
print '<tr><td class="titlefield nowrap">';
print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
print '<table class="nobordernopadding centpercent"><tr><td class="nowrap">';
print $langs->trans('ProspectLevel');
print '<td>';
if ($action != 'editlevel' && $user->rights->societe->creer) {
@ -683,10 +683,11 @@ if ($object->id > 0) {
}
print '</div></td></tr>';
print "</table>";
}
print '</div><div class="fichehalfright">';
print '<div class="underbanner underbanner-before-box clearboth"></div>';
print '<br>';
} else {
print '<div class="underbanner underbanner-before-box clearboth"></div><br>';
}
$boxstat = '';
@ -695,7 +696,7 @@ if ($object->id > 0) {
// Lien recap
$boxstat .= '<div class="box box-halfright">';
$boxstat .= '<table summary="'.dol_escape_htmltag($langs->trans("DolibarrStateBoard")).'" class="border boxtable boxtablenobottom boxtablenotop" width="100%">';
$boxstat .= '<table summary="'.dol_escape_htmltag($langs->trans("DolibarrStateBoard")).'" class="border boxtable boxtablenobottom boxtablenotop boxtablenomarginbottom centpercent">';
$boxstat .= '<tr class="impair nohover"><td colspan="2" class="tdboxstats nohover">';
if (isModEnabled("propal") && $user->rights->propal->lire) {

View File

@ -142,7 +142,7 @@ class FormActions
$canedit = 0;
}
print ajax_combobox('select'.$htmlname);
print ajax_combobox('select'.$htmlname, array(), 0, 0, 'resolve', '-1', $morecss);
if (empty($onlyselect)) {
print ' <input type="text" id="val'.$htmlname.'" name="percentage" class="flat hideifna" value="'.($selected >= 0 ? $selected : '').'" size="2"'.($canedit && ($selected >= 0) ? '' : ' disabled').'>';

View File

@ -2265,7 +2265,7 @@ class Project extends CommonObject
$this->user_creation = $cuser;
}
if ($obj->fk_user_cloture) {
if (!empty($obj->fk_user_cloture)) {
$cluser = new User($this->db);
$cluser->fetch($obj->fk_user_cloture);
$this->user_cloture = $cluser;

View File

@ -376,8 +376,8 @@ $listofreferent = array(
'lang'=>'entrepot',
'buttonnew'=>'AddWarehouse',
'project_field'=>'fk_project',
'testnew'=>$user->rights->stock->creer,
'test'=>$conf->stock->enabled && $user->rights->stock->lire && !empty($conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_PROJECT)),
'testnew'=>$user->hasRight('stock', 'creer'),
'test'=>!empty($conf->stock->enabled) && $user->hasRight('stock', 'lire') && !empty($conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_PROJECT)),
'propal'=>array(
'name'=>"Proposals",
'title'=>"ListProposalsAssociatedProject",
@ -387,8 +387,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/comm/propal/card.php?action=create&origin=project&originid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'propal',
'buttonnew'=>'AddProp',
'testnew'=>$user->rights->propal->creer,
'test'=>$conf->propal->enabled && $user->rights->propal->lire),
'testnew'=>$user->hasRight('propal', 'creer'),
'test'=>!empty($conf->propal->enabled) && $user->hasRight('propal', 'lire')),
'order'=>array(
'name'=>"CustomersOrders",
'title'=>"ListOrdersAssociatedProject",
@ -398,8 +398,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/commande/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'orders',
'buttonnew'=>'CreateOrder',
'testnew'=>$user->rights->commande->creer,
'test'=>$conf->commande->enabled && $user->rights->commande->lire),
'testnew'=>$user->hasRight('commande', 'creer'),
'test'=>!empty($conf->commande->enabled) && $user->hasRight('commande', 'lire')),
'invoice'=>array(
'name'=>"CustomersInvoices",
'title'=>"ListInvoicesAssociatedProject",
@ -410,8 +410,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/compta/facture/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'bills',
'buttonnew'=>'CreateBill',
'testnew'=>$user->rights->facture->creer,
'test'=>$conf->facture->enabled && $user->rights->facture->lire),
'testnew'=>$user->hasRight('facture', 'creer'),
'test'=>!empty($conf->facture->enabled) && $user->hasRight('facture', 'lire')),
'invoice_predefined'=>array(
'name'=>"PredefinedInvoices",
'title'=>"ListPredefinedInvoicesAssociatedProject",
@ -421,8 +421,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/compta/facture/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'bills',
'buttonnew'=>'CreateBill',
'testnew'=>$user->rights->facture->creer,
'test'=>$conf->facture->enabled && $user->rights->facture->lire),
'testnew'=>$user->hasRight('facture', 'creer'),
'test'=>!empty($conf->facture->enabled) && $user->hasRight('facture', 'lire')),
'proposal_supplier'=>array(
'name'=>"SuppliersProposals",
'title'=>"ListSupplierProposalsAssociatedProject",
@ -432,8 +432,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/supplier_proposal/card.php?action=create&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id), // No socid parameter here, the socid is often the customer and we create a supplier object
'lang'=>'supplier_proposal',
'buttonnew'=>'AddSupplierProposal',
'testnew'=>$user->rights->supplier_proposal->creer,
'test'=>$conf->supplier_proposal->enabled && $user->rights->supplier_proposal->lire),
'testnew'=>$user->hasRight('supplier_proposal', 'creer'),
'test'=>!empty($conf->supplier_proposal->enabled) && $user->hasRight('supplier_proposal', 'lire')),
'order_supplier'=>array(
'name'=>"SuppliersOrders",
'title'=>"ListSupplierOrdersAssociatedProject",
@ -443,8 +443,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/fourn/commande/card.php?action=create&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id), // No socid parameter here, the socid is often the customer and we create a supplier object
'lang'=>'suppliers',
'buttonnew'=>'AddSupplierOrder',
'testnew'=>($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer),
'test'=>$conf->supplier_order->enabled && ($user->rights->fournisseur->commande->lire || $user->rights->supplier_order->lire)),
'testnew'=>$user->hasRight('fournisseur', 'commande', 'creer') || $user->hasRight('supplier_order', 'creer'),
'test'=>!empty($conf->supplier_order->enabled) && $user->hasRight('fournisseur', 'commande', 'lire') || $user->hasRight('supplier_order', 'lire')),
'invoice_supplier'=>array(
'name'=>"BillsSuppliers",
'title'=>"ListSupplierInvoicesAssociatedProject",
@ -455,8 +455,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/fourn/facture/card.php?action=create&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id), // No socid parameter here, the socid is often the customer and we create a supplier object
'lang'=>'suppliers',
'buttonnew'=>'AddSupplierInvoice',
'testnew'=>($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer),
'test'=>$conf->supplier_invoice->enabled && ($user->rights->fournisseur->facture->lire || $user->rights->supplier_invoice->lire)),
'testnew'=>$user->hasRight('fournisseur', 'facture', 'creer') || $user->hasRight('supplier_invoice', 'creer'),
'test'=>!empty($conf->supplier_invoice->enabled) && $user->hasRight('fournisseur', 'facture', 'lire') || $user->hasRight('supplier_invoice', 'lire')),
'contract'=>array(
'name'=>"Contracts",
'title'=>"ListContractAssociatedProject",
@ -466,8 +466,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/contrat/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'contracts',
'buttonnew'=>'AddContract',
'testnew'=>$user->rights->contrat->creer,
'test'=>$conf->contrat->enabled && $user->rights->contrat->lire),
'testnew'=>$user->hasRight('contrat', 'creer'),
'test'=>!empty($conf->contrat->enabled) && $user->hasRight('contrat', 'lire')),
'intervention'=>array(
'name'=>"Interventions",
'title'=>"ListFichinterAssociatedProject",
@ -479,8 +479,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/fichinter/card.php?action=create&origin=project&originid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'interventions',
'buttonnew'=>'AddIntervention',
'testnew'=>$user->rights->ficheinter->creer,
'test'=>$conf->ficheinter->enabled && $user->rights->ficheinter->lire),
'testnew'=>$user->hasRight('ficheinter', 'creer'),
'test'=>!empty($conf->ficheinter->enabled) && $user->hasRight('ficheinter', 'lire')),
'shipping'=>array(
'name'=>"Shippings",
'title'=>"ListShippingAssociatedProject",
@ -501,9 +501,9 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/mrp/mo_card.php?action=create&origin=project&originid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'mrp',
'buttonnew'=>'CreateMO',
'testnew'=>'$user->rights->mrp->write',
'testnew'=>$user->hasRight('mrp', 'write'),
'project_field'=>'fk_project',
'test'=>$conf->mrp->enabled && $user->rights->mrp->read),
'test'=>!empty($conf->mrp->enabled) && $user->hasRight('mrp', 'read')),
'trip'=>array(
'name'=>"TripsAndExpenses",
'title'=>"ListExpenseReportsAssociatedProject",
@ -515,8 +515,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/deplacement/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'trips',
'buttonnew'=>'AddTrip',
'testnew'=>$user->rights->deplacement->creer,
'test'=>$conf->deplacement->enabled && $user->rights->deplacement->lire),
'testnew'=>$user->hasRight('deplacement', 'creer'),
'test'=>!empty($conf->deplacement->enabled) && $user->hasRight('deplacement', 'lire')),
'expensereport'=>array(
'name'=>"ExpenseReports",
'title'=>"ListExpenseReportsAssociatedProject",
@ -528,8 +528,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/expensereport/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'trips',
'buttonnew'=>'AddTrip',
'testnew'=>$user->rights->expensereport->creer,
'test'=>$conf->expensereport->enabled && $user->rights->expensereport->lire),
'testnew'=>$user->hasRight('expensereport', 'creer'),
'test'=>!empty($conf->expensereport->enabled) && $user->hasRight('expensereport', 'lire')),
'donation'=>array(
'name'=>"Donation",
'title'=>"ListDonationsAssociatedProject",
@ -541,8 +541,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/don/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'donations',
'buttonnew'=>'AddDonation',
'testnew'=>$user->rights->don->creer,
'test'=>$conf->don->enabled && $user->rights->don->lire),
'testnew'=>$user->hasRight('don', 'creer'),
'test'=>!empty($conf->don->enabled) && $user->hasRight('don', 'lire')),
'loan'=>array(
'name'=>"Loan",
'title'=>"ListLoanAssociatedProject",
@ -554,8 +554,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/loan/card.php?action=create&projectid='.$id.'&socid='.$socid.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'loan',
'buttonnew'=>'AddLoan',
'testnew'=>$user->rights->loan->write,
'test'=>$conf->loan->enabled && $user->rights->loan->read),
'testnew'=>$user->hasRight('loan', 'write'),
'test'=>!empty($conf->loan->enabled) && $user->hasRight('loan', 'read')),
'chargesociales'=>array(
'name'=>"SocialContribution",
'title'=>"ListSocialContributionAssociatedProject",
@ -567,8 +567,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/compta/sociales/card.php?action=create&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'compta',
'buttonnew'=>'AddSocialContribution',
'testnew'=>$user->rights->tax->charges->lire,
'test'=>$conf->tax->enabled && $user->rights->tax->charges->lire),
'testnew'=>$user->hasRight('tax', 'charges', 'lire'),
'test'=>!empty($conf->tax->enabled) && $user->hasRight('tax', 'charges', 'lire')),
'project_task'=>array(
'name'=>"TaskTimeSpent",
'title'=>"ListTaskTimeUserProject",
@ -579,8 +579,8 @@ $listofreferent = array(
'disableamount'=>0,
'urlnew'=>DOL_URL_ROOT.'/projet/tasks/time.php?withproject=1&action=createtime&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'buttonnew'=>'AddTimeSpent',
'testnew'=>$user->rights->projet->creer,
'test'=>($conf->project->enabled && $user->rights->projet->lire && empty($conf->global->PROJECT_HIDE_TASKS))),
'testnew'=>$user->hasRight('project', 'creer'),
'test'=>!empty($conf->project->enabled) && $user->hasRight('projet', 'lire') && !empty($conf->global->PROJECT_HIDE_TASKS)),
'stock_mouvement'=>array(
'name'=>"MouvementStockAssociated",
'title'=>"ListMouvementStockProject",
@ -589,7 +589,7 @@ $listofreferent = array(
'table'=>'stock_mouvement',
'datefieldname'=>'datem',
'disableamount'=>0,
'test'=>($conf->stock->enabled && $user->rights->stock->mouvement->lire && !empty($conf->global->STOCK_MOVEMENT_INTO_PROJECT_OVERVIEW))),
'test'=>!empty($conf->stock->enabled) && $user->hasRight('stock', 'mouvement', 'lire') && !empty($conf->global->STOCK_MOVEMENT_INTO_PROJECT_OVERVIEW)),
'salaries'=>array(
'name'=>"Salaries",
'title'=>"ListSalariesAssociatedProject",
@ -601,8 +601,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/salaries/card.php?action=create&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'salaries',
'buttonnew'=>'AddSalary',
'testnew'=>$user->rights->salaries->write,
'test'=>$conf->salaries->enabled && $user->rights->salaries->read),
'testnew'=>$user->hasRight('salaries', 'write'),
'test'=>!empty($conf->salaries->enabled) && $user->hasRight('salaries', 'read')),
'variouspayment'=>array(
'name'=>"VariousPayments",
'title'=>"ListVariousPaymentsAssociatedProject",
@ -614,8 +614,8 @@ $listofreferent = array(
'urlnew'=>DOL_URL_ROOT.'/compta/bank/various_payment/card.php?action=create&projectid='.$id.'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.$id),
'lang'=>'banks',
'buttonnew'=>'AddVariousPayment',
'testnew'=>$user->rights->banque->modifier,
'test'=>$conf->banque->enabled && $user->rights->banque->lire && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)),
'testnew'=>$user->hasRight('banque', 'modifier'),
'test'=>!empty($conf->banque->enabled) && $user->hasRight('banque', 'lire') && !empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)),
/* No need for this, available on dedicated tab "Agenda/Events"
'agenda'=>array(
'name'=>"Agenda",

View File

@ -287,7 +287,6 @@ if (empty($reshook) && $action == 'add') {
$proj->ref = $defaultref;
$proj->statut = $proj::STATUS_DRAFT;
$proj->status = $proj::STATUS_DRAFT;
$proj->email = GETPOST("email");
$proj->public = 1;
$proj->usage_opportunity = 1;
$proj->title = $langs->trans("LeadFromPublicForm");

View File

@ -1853,7 +1853,8 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
print '<tr>';
print '<td>'.$form->editfieldkey('Currency', 'multicurrency_code', '', $object, 0).'</td>';
print '<td colspan="3" class="maxwidthonsmartphone">';
print $form->selectMultiCurrency((GETPOSTISSET('multicurrency_code') ? GETPOST('multicurrency_code') : ($object->multicurrency_code ? $object->multicurrency_code : $conf->currency)), 'multicurrency_code', 1);
print img_picto('', 'currency', 'class="pictofixedwidth"');
print $form->selectMultiCurrency((GETPOSTISSET('multicurrency_code') ? GETPOST('multicurrency_code') : ($object->multicurrency_code ? $object->multicurrency_code : $conf->currency)), 'multicurrency_code', 1, '', false, 'maxwidth150 widthcentpercentminusx');
print '</td></tr>';
}
@ -1893,7 +1894,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
// Accountancy codes
if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) {
print '<table class="border" width="100%">';
print '<table class="border centpercent">';
if (isModEnabled('accounting')) {
// Accountancy_code_sell
@ -2301,13 +2302,13 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
print '</td></tr>';
// Zip / Town
print '<tr><td>'.$form->editfieldkey('Zip', 'zipcode', '', $object, 0).'</td><td>';
print '<tr><td>'.$form->editfieldkey('Zip', 'zipcode', '', $object, 0).'</td><td'.($conf->browser->layout == 'phone' ? ' colspan="3"': '').'>';
print $formcompany->select_ziptown($object->zip, 'zipcode', array('town', 'selectcountry_id', 'state_id'), 0, 0, '', 'maxwidth100');
print '</td>';
if ($conf->browser->layout == 'phone') {
print '</tr><tr>';
}
print '<td>'.$form->editfieldkey('Town', 'town', '', $object, 0).'</td><td>';
print '<td>'.$form->editfieldkey('Town', 'town', '', $object, 0).'</td><td'.($conf->browser->layout == 'phone' ? ' colspan="3"': '').'>';
print $formcompany->select_ziptown($object->town, 'town', array('zipcode', 'selectcountry_id', 'state_id'));
print $form->widgetForTranslation("town", $object, $permissiontoadd, 'string', 'alphanohtml', 'maxwidth100 quatrevingtpercent');
print '</td></tr>';
@ -2336,30 +2337,24 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
// Phone / Fax
print '<tr><td>'.$form->editfieldkey('Phone', 'phone', GETPOST('phone', 'alpha'), $object, 0).'</td>';
print '<td>'.img_picto('', 'object_phoning', 'class="pictofixedwidth"').' <input type="text" name="phone" id="phone" class="maxwidth200 widthcentpercentminusx" value="'.(GETPOSTISSET('phone') ? GETPOST('phone', 'alpha') : $object->phone).'"></td>';
print '<td'.($conf->browser->layout == 'phone' ? ' colspan="3"': '').'>'.img_picto('', 'object_phoning', 'class="pictofixedwidth"').' <input type="text" name="phone" id="phone" class="maxwidth200 widthcentpercentminusx" value="'.(GETPOSTISSET('phone') ? GETPOST('phone', 'alpha') : $object->phone).'"></td>';
if ($conf->browser->layout == 'phone') {
print '</tr><tr>';
}
print '<td>'.$form->editfieldkey('Fax', 'fax', GETPOST('fax', 'alpha'), $object, 0).'</td>';
print '<td>'.img_picto('', 'object_phoning_fax', 'class="pictofixedwidth"').' <input type="text" name="fax" id="fax" class="maxwidth200 widthcentpercentminusx" value="'.(GETPOSTISSET('fax') ? GETPOST('fax', 'alpha') : $object->fax).'"></td></tr>';
print '<td'.($conf->browser->layout == 'phone' ? ' colspan="3"': '').'>'.img_picto('', 'object_phoning_fax', 'class="pictofixedwidth"').' <input type="text" name="fax" id="fax" class="maxwidth200 widthcentpercentminusx" value="'.(GETPOSTISSET('fax') ? GETPOST('fax', 'alpha') : $object->fax).'"></td>';
print '</tr>';
// EMail / Web
// Web
print '<tr><td>'.$form->editfieldkey('Web', 'url', GETPOST('url', 'alpha'), $object, 0).'</td>';
print '<td colspan="3">'.img_picto('', 'globe', 'class="pictofixedwidth"').' <input type="text" name="url" id="url" class="maxwidth200onsmartphone maxwidth300 widthcentpercentminusx " value="'.(GETPOSTISSET('url') ?GETPOST('url', 'alpha') : $object->url).'"></td>';
print '<td colspan="3">'.img_picto('', 'globe', 'class="pictofixedwidth"').' <input type="text" name="url" id="url" class="maxwidth200onsmartphone maxwidth300 widthcentpercentminusx " value="'.(GETPOSTISSET('url') ?GETPOST('url', 'alpha') : $object->url).'"></td></tr>';
// EMail
print '<tr><td>'.$form->editfieldkey('EMail', 'email', GETPOST('email', 'alpha'), $object, 0, 'string', '', (!empty($conf->global->SOCIETE_EMAIL_MANDATORY))).'</td>';
print '<td>';
print img_picto('', 'object_email');
print '<input type="text" name="email" id="email" class="maxwidth100onsmartphone quatrevingtpercent" value="'.(GETPOSTISSET('email') ?GETPOST('email', 'alpha') : $object->email).'"></td>';
if (!empty($conf->mailing->enabled)) {
$langs->load("mails");
print '<td class="nowrap">'.$langs->trans("NbOfEMailingsSend").'</td>';
print '<td>'.$object->getNbOfEMailings().'</td>';
} else {
print '<td colspan="2"></td>';
}
print '</tr>';
print '<td colspan="3">';
print img_picto('', 'object_email', 'class="pictofixedwidth"');
print '<input type="text" name="email" id="email" class="maxwidth500 widthcentpercentminusx" value="'.(GETPOSTISSET('email') ?GETPOST('email', 'alpha') : $object->email).'">';
print '</td></tr>';
// Unsubscribe
if (!empty($conf->mailing->enabled)) {
@ -2559,7 +2554,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
// Default language
if (getDolGlobalInt('MAIN_MULTILANGS')) {
print '<tr><td>'.$form->editfieldkey('DefaultLang', 'default_lang', '', $object, 0).'</td><td colspan="3">'."\n";
print img_picto('', 'language').$formadmin->select_language($object->default_lang, 'default_lang', 0, 0, 1);
print img_picto('', 'language', 'class="pictofixedwidth"').$formadmin->select_language($object->default_lang, 'default_lang', 0, null, '1', 0, 0, 'maxwidth300 widthcentpercentminusx');
print '</td>';
print '</tr>';
}
@ -2585,7 +2580,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
foreach ($cats as $cat) {
$arrayselected[] = $cat->id;
}
print img_picto('', 'category').$form->multiselectarray('custcats', $cate_arbo, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0);
print img_picto('', 'category', 'class="pictofixedwidth"').$form->multiselectarray('custcats', $cate_arbo, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0);
print "</td></tr>";
// Supplier
@ -2599,7 +2594,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
foreach ($cats as $cat) {
$arrayselected[] = $cat->id;
}
print img_picto('', 'category').$form->multiselectarray('suppcats', $cate_arbo, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0);
print img_picto('', 'category', 'class="pictofixedwidth"').$form->multiselectarray('suppcats', $cate_arbo, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0);
print "</td></tr>";
}
}
@ -2609,7 +2604,8 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
print '<tr>';
print '<td>'.$form->editfieldkey('Currency', 'multicurrency_code', '', $object, 0).'</td>';
print '<td colspan="3" class="maxwidthonsmartphone">';
print $form->selectMultiCurrency((GETPOSTISSET('multicurrency_code') ? GETPOST('multicurrency_code') : ($object->multicurrency_code ? $object->multicurrency_code : $conf->currency)), 'multicurrency_code', 1);
print img_picto('', 'currency', 'class="pictofixedwidth"');
print $form->selectMultiCurrency((GETPOSTISSET('multicurrency_code') ? GETPOST('multicurrency_code') : ($object->multicurrency_code ? $object->multicurrency_code : $conf->currency)), 'multicurrency_code', 1, '', false, 'maxwidth150 widthcentpercentminusx');
print '</td></tr>';
}
@ -2622,7 +2618,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
print '<tr>';
print '<td>'.$langs->trans('ParentCompany').'</td>';
print '<td colspan="3" class="maxwidthonsmartphone">';
print img_picto('', 'company', 'class="paddingrightonly"');
print img_picto('', 'company', 'class="pictofixedwidth"');
print $form->select_company(GETPOST('parent_company_id') ? GETPOST('parent_company_id') : $object->parent, 'parent_company_id', '', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300 maxwidth500 widthcentpercentminusxx');
print '</td></tr>';
}
@ -2674,7 +2670,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
if (empty($arrayselected)) {
$arrayselected = $object->getSalesRepresentatives($user, 1);
}
print img_picto('', 'user').$form->multiselectarray('commercial', $userlist, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0, '', '', '', 1);
print img_picto('', 'user', 'class="pictofixedwidth"').$form->multiselectarray('commercial', $userlist, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0, '', '', '', 1);
print '</td></tr>';
print '</table>';
@ -3061,13 +3057,6 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
}
print '</td></tr>';
// Email
if (!empty($conf->mailing->enabled)) {
$langs->load("mails");
print '<tr><td>'.$langs->trans("NbOfEMailingsSend").'</td>';
print '<td><a href="'.DOL_URL_ROOT.'/comm/mailing/list.php?filteremail='.urlencode($object->email).'">'.$object->getNbOfEMailings().'</a></td></tr>';
}
// Unsubscribe opt-out
if (!empty($conf->mailing->enabled)) {
$result = $object->getNoEmail();
@ -3080,6 +3069,10 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
} else {
print '<span class="opacitymedium">'.$langs->trans("EMailNotDefined").'</span>';
}
$langs->load("mails");
print ' &nbsp; <span class="badge badge-secondary" title="'.dol_escape_htmltag($langs->trans("NbOfEMailingsSend")).'">'.$object->getNbOfEMailings().'</span>';
print '</td></tr>';
}

View File

@ -215,6 +215,11 @@ print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border centpercent tableforfield">';
// Type Prospect/Customer/Supplier
print '<tr><td class="titlefield">'.$langs->trans('NatureOfThirdParty').'</td><td>';
print $object->getTypeUrl(1);
print '</td></tr>';
if (!empty($conf->global->SOCIETE_USEPREFIX)) { // Old not used prefix field
print '<tr><td class="titlefield">'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
}

View File

@ -1,6 +1,9 @@
<?php if (!defined('ISLOADEDBYSTEELSHEET')) {
<?php
if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by steelsheet');
} ?>
}
?>
/* <style type="text/css" > */
/* ============================================================================== */
@ -54,6 +57,8 @@
--productlinestocktoolow: #884400;
--infoboxmoduleenabledbgcolor : linear-gradient(0.4turn, #fff, #fff, #fff, #e4efe8);
--tablevalidbgcolor: rgb(252, 248, 227);
--colorblack: #000;
--colorwhite: #fff;
}
<?php
@ -107,6 +112,8 @@ if (!empty($conf->global->THEME_DARKMODEENABLED)) {
--amountremaintopaybackcolor:rbg(245,130,46);
--infoboxmoduleenabledbgcolor : linear-gradient(0.4turn, #000, #000, #000, #274231);
--tablevalidbgcolor: rgb(80, 64, 33);
--colorblack: #fff;
--colorwhite: #000;
}
body, button {
@ -285,7 +292,7 @@ section.setupsection {
border-radius: 5px;
}
.field-error-icon { color: #ea1212; !important; }
.field-error-icon { color: #ea1212 !important; }
/* Focus definitions must be after standard definition */
div.tabBar textarea:focus {
@ -492,13 +499,13 @@ input.pageplusone {
opacity: 0;
}
.colorwhite {
color: #fff;
color: var(--colorwhite);
}
.colorgrey {
color: #888 !important;
}
.colorblack {
color: #000;
color: var(--colorblack);
}
.fontsizeunset {
font-size: unset !important;
@ -3978,9 +3985,7 @@ div.pagination li.pagination span {
line-height: 1.42857143;
text-decoration: none;
background-repeat: repeat-x;
<?php if (empty($conf->global->THEME_DARKMODEENABLED)) { ?>
color: #000;
<?php } ?>
color: var(--color-black);
}
div.pagination li.pagination span.inactive {
cursor: default;
@ -4119,7 +4124,7 @@ table.hidepaginationnext .paginationnext {
{
font-family: <?php print $fontlist ?>;
margin-bottom: 1px;
color: var(--oddeven);
color: var(--oddevencolor);
}
.impair, .nohover .impair:hover, tr.impair td.nohover
{
@ -4612,6 +4617,9 @@ table.noborder.boxtable tr td {
.boxtablenobottom {
border-bottom-width: 0 !important;
}
.boxtablenomarginbottom {
margin-bottom: 0 !important;
}
.boxtable .fichehalfright, .boxtable .fichehalfleft {
min-width: 275px; /* increasing this, make chart on box not side by side on laptops */
}
@ -5033,12 +5041,30 @@ div.ui-tooltip.mytooltip {
-webkit-box-shadow:0.5px 0.5px 4px 0px rgba(0, 0, 0, 0.5);
-o-box-shadow: 0.5px 0.5px 4px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0.5px 0.5px 4px 0px rgba(0, 0, 0, 0.5);
filter:progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=134, Strength=5);
filter: progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=134, Strength=5);
background: var(--tooltipbgcolor) !important;
color : var(--tooltipfontcolor);
color: var(--tooltipfontcolor);
line-height: 1.6em;
min-width: 550px;
}
<?php
if (!empty($conf->global->THEME_DARKMODEENABLED)) {
print "/* For dark mode */\n";
if ($conf->global->THEME_DARKMODEENABLED != 2) {
print "@media (prefers-color-scheme: dark) {"; // To test, click on the 3 dots menu, then Other options then Display then emulate prefer-color-schemes
} else {
print "@media not print {";
}
?>
div.ui-tooltip.mytooltip {
border: 1px solid #bbb !important;
}
<?php
print '}';
}
?>
@media only screen and (max-width: 768px)
{
div.ui-tooltip.mytooltip {
@ -6486,10 +6512,12 @@ ul.select2-results__options li {
.select2-container.select2-container--open .select2-dropdown.ui-dialog {
min-width: 220px !important;
}
.select2-container.select2-container--open .select2-dropdown--below {
.select2-container.select2-container--open .select2-dropdown--below,
.select2-container.select2-container--open .select2-dropdown--above {
min-width: 220px !important;
}
.onrightofpage span.select2-dropdown.ui-dialog.select2-dropdown--below {
.onrightofpage span.select2-dropdown.ui-dialog.select2-dropdown--below,
.onrightofpage span.select2-dropdown.ui-dialog.select2-dropdown--above{
min-width: 140px !important;
}

View File

@ -434,7 +434,7 @@ if (GETPOSTISSET('THEME_SATURATE_RATIO')) {
/* USING FONTAWESOME FOR WEATHER */
.info-box-weather .info-box-icon{
background: rgba(0, 0, 0, 0.08) !important;
background: var(--colorbacktitle1) !important;
}
.fa-weather-level0:before{
content: "\f185";

View File

@ -91,7 +91,7 @@ if (GETPOST('theme', 'aZ09')) {
if (GETPOST('lang', 'aZ09')) {
$langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL
}
if (GETPOST('THEME_DARKMODEENABLED', 'int')) {
if (GETPOSTISSET('THEME_DARKMODEENABLED', 'int')) {
$conf->global->THEME_DARKMODEENABLED = GETPOST('THEME_DARKMODEENABLED', 'int'); // If darkmode was forced on URL
}

View File

@ -201,7 +201,7 @@ a.info-box-text-a i.fa.fa-exclamation-triangle {
text-align: center;
font-size: 45px;
line-height: 90px;
background: #eee;
background: var(--colorbacktitle1) !important;
<?php if (isset($conf->global->THEME_SATURATE_RATIO)) { ?>
filter: saturate(<?php echo $conf->global->THEME_SATURATE_RATIO; ?>);
<?php } ?>
@ -295,6 +295,17 @@ a.info-box-text-a i.fa.fa-exclamation-triangle {
padding: 5px 10px;
margin-left: 84px;
}
.info-box-sm .info-box-content {
margin-left: 80px;
height: 86px; /* 96 - margins of .info-box-sm .info-box-content */
}
.info-box-sm .info-box-module-enabled {
/* background: linear-gradient(0.35turn, #fff, #fff, #f6faf8, #e4efe8) */
background: var(--infoboxmoduleenabledbgcolor);
}
.info-box-content-warning span.font-status4 {
color: #bc9526 !important;
}
.info-box-number {
display: block;
@ -335,11 +346,14 @@ a.info-box-text{ text-decoration: none;}
/* ICONS INFO BOX */
.info-box-icon {
color: #000 !important;
}
<?php
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
$prefix = '';
if (!empty($conf->global->THEME_INFOBOX_COLOR_ON_BACKGROUND)) {
$prefix = 'background-';
}
if (!isset($conf->global->THEME_SATURATE_RATIO)) {
$conf->global->THEME_SATURATE_RATIO = 0.7;
}
@ -420,7 +434,7 @@ if (GETPOSTISSET('THEME_SATURATE_RATIO')) {
/* USING FONTAWESOME FOR WEATHER */
.info-box-weather .info-box-icon{
background: #eee !important;
background: var(--colorbacktitle1) !important;
}
.fa-weather-level0:before{
content: "\f185";
@ -502,11 +516,13 @@ if (GETPOSTISSET('THEME_SATURATE_RATIO')) {
height: 0;
}
.info-box-title {
width: calc(100% - 20px);
}
.info-box-module {
min-width: 350px;
max-width: 350px;
}
.info-box-module .info-box-content {
height: 6.3em;
}
@ -530,3 +546,5 @@ if (GETPOSTISSET('THEME_SATURATE_RATIO')) {
}
}

View File

@ -93,6 +93,10 @@ if (GETPOST('lang', 'aZ09')) {
$langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL
}
if (GETPOSTISSET('THEME_DARKMODEENABLED', 'int')) {
$conf->global->THEME_DARKMODEENABLED = GETPOST('THEME_DARKMODEENABLED', 'int'); // If darkmode was forced on URL
}
$langs->load("main", 0, 1);
$right = ($langs->trans("DIRECTION") == 'rtl' ? 'left' : 'right');
$left = ($langs->trans("DIRECTION") == 'rtl' ? 'right' : 'left');
@ -354,6 +358,8 @@ print '*/'."\n";
--tablevalidbgcolor: rgb(252, 248, 227);
--butactionbg : #<?php print $butactionbg; ?>;
--textbutaction : #<?php print $textbutaction; ?>;
--colorblack: #000;
--colorwhite: #fff;
}
<?php
@ -407,6 +413,8 @@ if (!empty($conf->global->THEME_DARKMODEENABLED)) {
--amountremaintopaybackcolor:rbg(245,130,46);
--infoboxmoduleenabledbgcolor : linear-gradient(0.4turn, #000, #000, #000, #274231);
--tablevalidbgcolor: rgb(80, 64, 33);
--colorblack: #fff;
--colorwhite: #000;
}
body, button {
@ -419,10 +427,7 @@ if (!empty($conf->global->THEME_DARKMODEENABLED)) {
body {
<?php if (GETPOST('optioncss', 'aZ09') == 'print') { ?>
background-color: #FFFFFF;
<?php } else { ?>
background: var(--colorbackbody);
<?php } ?>
color: rgb(<?php echo $colortext; ?>);
font-size: <?php print is_numeric($fontsize) ? $fontsize.'px' : $fontsize; ?>;
line-height: 1.4;
font-family: <?php print $fontlist ?>;
@ -430,9 +435,12 @@ body {
margin-bottom: 0;
margin-right: 0;
margin-left: 0;
font-weight: 400;
background-color: var(--colorbackbody);
<?php print 'direction: '.$langs->trans("DIRECTION").";\n"; ?>
}
/* Style used to protect html content in output to avoid attack by replacing full page with js content */
.sensiblehtmlcontent * {
position: static !important;
}
@ -441,16 +449,18 @@ body {
th a { font-weight: <?php echo ($useboldtitle ? 'bold' : 'normal'); ?> !important; }
a.tab { font-weight: 500 !important; }
a:link, a:visited, a:hover, a:active { font-family: <?php print $fontlist ?>; font-weight: normal; color: rgb(<?php print $colortextlink; ?>); text-decoration: none; }
a:hover { text-decoration: underline; color: rgb(<?php print $colortextlink; ?>); }
a.commonlink { color: rgb(<?php print $colortextlink; ?>) !important; text-decoration: none; }
a:link, a:visited, a:hover, a:active, .classlink { font-family: <?php print $fontlist ?>; font-weight: normal; color: var(--colortextlink); text-decoration: none; }
a:hover { text-decoration: underline; color: var(--colortextlink); }
a.commonlink { color: var(--colortextlink) !important; text-decoration: none; }
input {
font-size: unset;
}
/*
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
background-color: #FDFDFD;
}
*/
select.vmenusearchselectcombo {
background-color: unset;
}
@ -492,11 +502,16 @@ select#date_startday, select#date_startmonth, select#date_endday, select#date_en
margin-right: 4px;
}
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
font-family: <?php print $fontlist ?>;
color: var(--colortext);
border: none;
border<?php echo empty($conf->global->THEME_SHOW_BORDER_ON_INPUT) ? '-bottom' : ''; ?>: solid 1px var(--inputbordercolor);
font-family: <?php print $fontlist ?>;
outline: none;
margin: 0px 0px 0px 0px;
background-color: var(--inputbackgroundcolor);
<?php if (empty($conf->global->THEME_ADD_BACKGROUND_ON_INPUT)) { ?>
border<?php echo empty($conf->global->THEME_SHOW_BORDER_ON_INPUT) ? '-bottom' : ''; ?>: solid 1px var(--inputbordercolor);
<?php } ?>
}
input {
@ -629,11 +644,6 @@ input.buttonpaymentcb {
background-repeat: no-repeat;
background-position: 5px 4px;
}
input.buttonpaymentcheque {
background-image: url(<?php echo dol_buildpath($path.'/paypal/img/object_paypal.png', 1) ?>);
background-repeat: no-repeat;
background-position: 5px 4px;
}
input.buttonpaymentpaypal {
background-image: url(<?php echo dol_buildpath($path.'/paypal/img/object_paypal.png', 1) ?>);
background-repeat: no-repeat;
@ -681,6 +691,12 @@ td.onholidayallday {
td.onholidayallday:not(.weekend) input {
background-color: #f8f7f0;
}
td.weekend { /* must be after td.onholidayallday */
background-color: #eee;
}
td.weekend input {
background-color: #f8f8f8;
}
td.leftborder, td.hide0 {
border-left: 1px solid #ccc;
}
@ -690,12 +706,6 @@ td.leftborder, td.hide6 {
td.rightborder {
border-right: 1px solid #ccc;
}
td.weekend { /* must be after td.onholidayallday */
background-color: #eee;
}
td.weekend input {
background-color: #f8f8f8;
}
td.amount, span.amount, div.amount, b.amount {
@ -737,10 +747,13 @@ input.pageplusone, .divadvancedsearchfieldcompinput, {
opacity: 0;
}
.colorwhite {
color: #fff;
color: var(--colorwhite);
}
.colorgrey {
color: #888 !important;
}
.colorblack {
color: #000;
color: var(--colorblack);
}
.fontsizeunset {
font-size: unset !important;
@ -753,12 +766,13 @@ input.pageplusone, .divadvancedsearchfieldcompinput, {
transform: scale(-1, 1);
}
select:invalid {
select:invalid, select.--error {
color: gray;
}
input:disabled, textarea:disabled, select[disabled='disabled']
{
background:#eee;
background: var(--inputbackgroundcolordisabled);
color: var(--inputcolordisabled);
}
input.liste_titre {
@ -773,7 +787,7 @@ input.removedfile {
vertical-align: text-bottom;
}
input[type=file ] { background-color: transparent; border-top: none; border-left: none; border-right: none; box-shadow: none; }
input[type=file] { background-color: transparent; border-top: none; border-left: none; border-right: none; box-shadow: none; }
input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; vertical-align: middle; }
input[type=radio] { background-color: transparent; border: none; box-shadow: none; vertical-align: middle; }
input[type=image] { background-color: transparent; border: none; box-shadow: none; }
@ -807,6 +821,12 @@ input#onlinepaymenturl, input#directdownloadlink {
opacity: 0.7;
}
.formconsumeproduce {
background: #f3f3f3;
padding: 20px 0px 0px 0px;
border-radius: 8px;
}
div#moretabsList, div#moretabsListaction {
z-index: 5;
}
@ -873,7 +893,7 @@ table.tableforfield .buttonDelete:not(.bordertransp):not(.buttonpayment) {
}
.button_search, .button_removefilter {
border: unset;
background: unset;
background-color: unset;
}
.button_search:hover, .button_removefilter:hover {
cursor: pointer;
@ -882,6 +902,9 @@ form {
padding:0px;
margin:0px;
}
form#addproduct {
padding-top: 10px;
}
div.float, span.floatleft
{
float:<?php print $left; ?>;
@ -904,6 +927,9 @@ div.floatright
button:focus {
outline: none;
}
.fa-info-circle {
padding-<?php echo $left; ?>: 3px;
}
.line-height-large {
line-height: 1.8em;
}
@ -934,6 +960,9 @@ th .button {
.centpercent {
width: 100%;
}
.centpercentwithoutmenu {
width: calc(100% - 200px);
}
.quatrevingtpercent, .inputsearch {
width: 80%;
}
@ -946,18 +975,21 @@ th .button {
.quatrevingtquinzepercent {
width: 95%;
}
textarea.centpercent {
width: 96%;
}
.quatrevingtpercentminusx {
width: calc(80% - 52px);
}
textarea.centpercent {
width: 96%;
}
.small, small {
font-size: 85%;
}
.large {
font-size: 125%;
}
.double {
font-size: 2em;
}
.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small {
font-size: 65%;
@ -1038,6 +1070,9 @@ textarea.centpercent {
.nobold {
font-weight: normal !important;
}
.uppercase {
text-transform: uppercase;
}
.nounderline {
text-decoration: none;
}
@ -1083,18 +1118,6 @@ textarea.centpercent {
.paddingright2imp {
padding-<?php print $right; ?>: 2px !important;
}
.marginleft2 {
margin-<?php print $left; ?>: 2px;
}
.marginright2 {
margin-<?php print $right; ?>: 2px;
}
.nomarginleft {
margin-<?php print $left; ?>: unset;
}
.nomarginright {
margin-<?php print $right; ?>: unset;
}
.paddingtop {
padding-top: 4px;
}
@ -1107,6 +1130,18 @@ textarea.centpercent {
.paddingbottom2 {
padding-bottom: 2px;
}
.marginleft2 {
margin-<?php print $left; ?>: 2px;
}
.marginright2 {
margin-<?php print $right; ?>: 2px;
}
.nomarginleft {
margin-<?php print $left; ?>: unset;
}
.nomarginright {
margin-<?php print $right; ?>: unset;
}
.cursordefault {
cursor: default;
@ -1120,12 +1155,12 @@ textarea.centpercent {
.cursormove {
cursor: move;
}
.cursorwait {
cursor: wait;
}
.cursornotallowed {
cursor: not-allowed;
}
.cursorwait {
cursor: wait;
}
.backgroundblank {
background-color: #fff;
}
@ -1136,6 +1171,12 @@ textarea.centpercent {
font-size: 0.85em;
opacity: 0.7;
}
.borderimp {
border: 1px solid #888 !important;
}
.text-warning{
color : <?php print $textWarning; ?>
}
.longmessagecut {
max-height: 250px;
max-width: 100%;
@ -1155,9 +1196,6 @@ div.urllink, div.urllink a {
color: #339 !important;
}
.fa-info-circle {
padding-<?php echo $left; ?>: 3px;
}
i.fa-mars::before, i.fa-venus::before, i.fa-genderless::before, i.fa-transgender::before {
color: #888 !important;
opacity: 0.4;
@ -1194,23 +1232,18 @@ body[class*="colorblind-"] .text-success{
color : <?php print $textDanger; ?>
}
.editfielda span.fa-pencil-alt, .editfielda span.fa-trash {
.editfielda span.fa-pencil-alt, .editfielda span.fa-pencil-ruler, .editfielda span.fa-trash, .editfielda span.fa-crop,
.editfieldlang {
color: #ccc !important;
}
.editfielda span.fa-pencil-alt:hover, .editfielda span.fa-trash:hover {
.editfielda span.fa-pencil-alt:hover, .editfielda span.fa-pencil-ruler:hover, .editfielda span.fa-trash:hover, .editfielda span.fa-crop:hover,
.editfieldlang:hover {
color: var(--colortexttitle) !important;
}
a.editfielda.nohover *:hover:before {
color: #ccc !important;
}
.size15x { font-size: 1.5em !important; }
.fa-toggle-on, .fa-toggle-off, .size2x { font-size: 2em; }
.websiteselectionsection .fa-toggle-on, .websiteselectionsection .fa-toggle-off,
.asetresetmodule .fa-toggle-on, .asetresetmodule .fa-toggle-off {
font-size: 1.5em; vertical-align: text-bottom;
}
.fawidth30 {
width: 20px;
}
@ -1218,6 +1251,27 @@ a.editfielda.nohover *:hover:before {
float: none !important;
}
span.fa.fa-plus-circle.paddingleft {
padding-right: 4px;
padding-top: 3px;
padding-bottom: 2px;
}
.size15x { font-size: 1.5em !important; }
.fa-toggle-on, .fa-toggle-off, .size2x { font-size: 2em; }
.websiteselectionsection .fa-toggle-on, .websiteselectionsection .fa-toggle-off,
.asetresetmodule .fa-toggle-on, .asetresetmodule .fa-toggle-off,
.tdwebsitesearchresult .fa-toggle-on, .tdwebsitesearchresult .fa-toggle-off {
font-size: 1.5em; vertical-align: text-bottom;
}
.divoverflow {
overflow: hidden;
white-space: nowrap;
vertical-align: middle;
text-overflow: ellipsis;
}
/* Themes for badges */
<?php include dol_buildpath($path.'/theme/'.$theme.'/badges.inc.php', 0); ?>
@ -1453,9 +1507,15 @@ select.flat.selectlimit {
.margintoponly {
margin-top: 10px !important;
}
.margintoponlyshort {
margin-top: 3px !important;
}
.marginbottomonly {
margin-bottom: 10px !important;
}
.marginbottomonlyshort {
margin-bottom: 3px !important;
}
.nomargintop {
margin-top: 0 !important;
}
@ -1571,7 +1631,7 @@ select.flat.selectlimit {
max-width: 0;
overflow: auto;
}
.divintodwithtwolinesmax {
.divintowithtwolinesmax {
width: 75px;
display: -webkit-box;
-webkit-box-orient: vertical;
@ -1598,20 +1658,29 @@ select.flat.selectlimit {
.amountalreadypaid {
}
.amountpaymentcomplete {
color: #008800;
color: var(--amountpaymentcomplete);
font-weight: bold;
}
.amountremaintopay {
color: #880000;
color: var(--amountremaintopaycolor);
font-weight: bold;
}
.amountremaintopayback {
font-weight: bold;
}
.amountpaymentneutral {
color: var(--amountremaintopaybackcolor);
font-weight: bold;
font-size: 1.4em;
}
.onlinepaymentbody .amountpaymentcomplete {
background-color: var(--amountpaymentcomplete);
color: #fff;
padding: 5px;
border-radius: 5px;
}
.savingdocmask {
margin-top: 6px;
margin-bottom: 12px;
@ -1667,7 +1736,7 @@ div.fiche>form>div.div-table-responsive {
.flexcontainer {
<?php if (in_array($conf->browser->name, array('chrome', 'firefox'))) {
echo 'display: inline-flex;';
echo 'display: inline-flex;'."\n";
} ?>
flex-flow: row wrap;
justify-content: flex-start;
@ -1712,6 +1781,13 @@ table[summary="list_of_modules"] .fa-cog {
height: 100px;
}
.maxscreenheightless200 {
max-height: <?php echo isset($_SESSION['dol_screenheight']) ? max(500, $_SESSION['dol_screenheight'] - 200) : 700; ?>px; /* we guarantee height of 500 */
}
.maxscreenheightless300 {
max-height: <?php echo isset($_SESSION['dol_screenheight']) ? max(400, $_SESSION['dol_screenheight'] - 300) : 700; ?>px; /* we guarantee height of 500 */
}
tr.nobottom td {
border-bottom: 0px !important;
}
@ -1768,6 +1844,7 @@ tr.nobottom td {
.maxwidth40 { max-width: 40px; }
.maxwidth50 { max-width: 50px; }
.maxwidth75 { max-width: 75px; }
.maxwidthdate { max-width: 80px; }
.maxwidth100 { max-width: 100px; }
.maxwidth125 { max-width: 125px; }
.maxwidth150 { max-width: 150px; }
@ -1776,6 +1853,8 @@ tr.nobottom td {
.maxwidth300 { max-width: 300px; }
.maxwidth400 { max-width: 400px; }
.maxwidth500 { max-width: 500px; }
.maxwidth750 { max-width: 750px; }
.maxwidth1000 { max-width: 1000px; }
.maxwidth50imp { max-width: 50px !important; }
.maxwidth75imp { max-width: 75px !important; }
@ -1858,6 +1937,10 @@ select.widthcentpercentminusxx, span.widthcentpercentminusxx:not(.select2-select
div.refidno {
font-size: <?php print is_numeric($fontsize) ? ($fontsize).'px' : $fontsize; ?> !important;
}
.divadvancedsearchfield {
padding-left: 5px;
padding-right: 5px;
}
div.divphotoref {
padding-right: 10px !important;
@ -1936,16 +2019,12 @@ select.widthcentpercentminusxx, span.widthcentpercentminusxx:not(.select2-select
}
div.fiche {
margin-top: <?php print ($dol_hide_topmenu ? '12' : '6'); ?>px !important;
margin-top: <?php print ($dol_hide_topmenu ? '12' : '6'); ?>px !important;
}
.border tbody tr, .border tbody tr td, div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col {
height: 40px !important;
}
.quatrevingtpercent, .inputsearch {
width: 95%;
}
div.tabs div.tab a.tab {
max-width: 200px;
overflow: hidden;
@ -1953,6 +2032,10 @@ select.widthcentpercentminusxx, span.widthcentpercentminusxx:not(.select2-select
white-space: nowrap;
}
.quatrevingtpercent, .inputsearch {
width: 95%;
}
select {
padding-top: 4px;
padding-bottom: 5px;
@ -2035,7 +2118,7 @@ select.widthcentpercentminusxx, span.widthcentpercentminusxx:not(.select2-select
.linkobject { cursor: pointer; }
table.tableforfield tr:not(.liste_titre)>td:first-of-type, tr.trforfield:not(.liste_titre)>td:first-of-type, div.tableforfield div.tagtr:not(.liste_titre)>div.tagtd:first-of-type {
color: #666;
color: var(--tableforfieldcolor);
}
<?php if (GETPOST('optioncss', 'aZ09') == 'print') { ?>
@ -2522,11 +2605,6 @@ img.photoref, div.photoref {
width: 80px;
object-fit: contain;
}
.difforspanimgright {
display: table-cell;
padding-right: 10px;
}
img.photokanban, div.photokanban {
padding: 0;
border: none;
@ -2546,6 +2624,10 @@ div.photoref {
vertical-align:middle;
text-align:center;
}
.difforspanimgright {
display: table-cell;
padding-right: 10px;
}
img.photorefnoborder {
padding: 2px;
height: 48px;
@ -2655,7 +2737,7 @@ a.tmenudisabled:link, a.tmenudisabled:visited, a.tmenudisabled:hover, a.tmenudis
font-weight: normal;
padding: 0px 5px 0px 5px;
white-space: nowrap;
color: #<?php echo $colortextbackhmenu; ?>;
color: var(--colortextbackhmenu);
text-decoration: none;
cursor: not-allowed;
}
@ -2676,7 +2758,7 @@ a.tmenu:link, a.tmenu:visited, a.tmenu:hover, a.tmenu:active {
padding: 0px 5px 0px 5px;
white-space: nowrap;
/* text-shadow: 1px 1px 1px #000000; */
color: #<?php echo $colortextbackhmenu; ?>;
color: var(--colortextbackhmenu);
text-decoration: none;
}
a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active {
@ -2684,7 +2766,7 @@ a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active {
padding: 0px 5px 0px 5px;
margin: 0px 0px 0px 0px;
white-space: nowrap;
color: #<?php echo $colortextbackhmenu; ?>;
color: var(--colortextbackhmenu);
text-decoration: none !important;
}
@ -2765,6 +2847,8 @@ div.menu_titre {
{
padding-<?php print $left; ?>: 2px;
padding-<?php print $right; ?>: 2px;
font-family: Roboto,<?php echo $fontlist; ?>;
font-weight: 400;
}
div.mainmenu {
@ -2838,13 +2922,13 @@ div.mainmenu.menu {
// Img file not found
if (!$found) {
if (!defined('DISABLE_FONT_AWSOME')) {
print "/* A mainmenu entry was found but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n";
print "/* A mainmenu entry was found but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one. */\n";
print "/* Overwrite this definition in your own css with a different content to use your own font awesome icon. */\n";
print 'div.mainmenu.'.$val.'::before {
content: "\f249";
}'."\n";
} else {
print "/* A mainmenu entry was found but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one. */\n";
print "/* Overwrite this definition in your own css with a different content to use your own font awesome icon. */\n";
print "/* A mainmenu entry was found but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n";
$url = dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.(min($generic, 4))."_over.png", 1);
print "div.mainmenu.".$val." {\n";
print " background-image: url(".$url.");\n";
@ -3032,6 +3116,14 @@ div.login_block {
display: none;
<?php } ?>
}
div.login_block a {
color: var(--colortextbackhmenu);
display: inline-block;
}
div.login_block span.aversion {
color: var(--colortextbackhmenu);
filter: contrast(0.7);
}
div.login_block table {
display: inline;
}
@ -3041,10 +3133,10 @@ div.login {
float: right;
}
div.login a {
color: #<?php echo $colortextbackvmenu; ?>;
color: var(--colortextbackvmenu);
}
div.login a:hover {
color: #<?php echo $colortextbackvmenu; ?>;
color: var(--colortextbackvmenu);
text-decoration:underline;
}
div.login_block_user, div.login_block_other { clear: both; }
@ -3084,7 +3176,7 @@ a.aversion {
}
.atoplogin, .atoplogin:hover {
color: #<?php echo $colortextbackvmenu; ?> !important;
color: var(--colortextbackhmenu) !important;
}
.alogin, .alogin:hover {
color: #888 !important;
@ -3127,7 +3219,7 @@ img.userphotosmall { /* size for user photo in lists */
background-size: contain;
vertical-align: middle;
}
img.userphoto[alt="Gravatar avatar"] {
img.userphoto[alt="Gravatar avatar"], img.photouserphoto.dropdown-user-image[alt="Gravatar avatar"] {
background: #fff;
}
form[name="addtime"] img.userphoto {
@ -3194,7 +3286,7 @@ span.vsmenudisabled, font.vsmenudisabled {
font-family: <?php print $fontlist ?>;
text-align: <?php print $left; ?>;
font-weight: normal;
color: #aaa;
color: var(--colortextbackvmenu);
white-space: nowrap;
}
a.vsmenu:link, a.vsmenu:visited {
@ -3306,6 +3398,7 @@ div.blockvmenusearch, div.blockvmenubookmarks
padding-top: 3px;
padding-bottom: 3px;
margin: 1px 0px 2px 0px;
background: var(--colorbackvmenu1);
padding-bottom: 10px;
/* border-bottom: 1px solid #f4f4f4; */
@ -3405,6 +3498,10 @@ li.expanded > a.fmdirlia.jqft.ecmjqft {
font-weight: bold !important;
}
.divfmdirlia {
width: calc(100% - 100px);
}
a.fmdirlia {
white-space: break-spaces;
word-break: break-all;
@ -3428,7 +3525,7 @@ div.tabsElem a {
font-weight: normal !important;
}
div.tabBar {
color: #<?php echo $colortextbacktab; ?>;
color: var(--colortextbacktab);
padding-top: 23px;
padding-left: 24px;
padding-right: 24px;
@ -3443,8 +3540,10 @@ div.tabBar {
width: auto;
background: var(--colorbacktabcard1);
}
div.tabBar tr.titre td {
padding-top: 20px;
}
div.fiche table:not(.table-fiche-title) tr.titre td {
padding-top: 10px;
}
@ -3523,6 +3622,9 @@ div.tabs div.tabsElem:first-of-type a.tab {
margin-left: 0px !important;
}
a.tabunactive {
color: var(--colortextlink) !important;
}
a.tab:link, a.tab:visited, a.tab:hover, a.tab#active {
font-family: <?php print $fontlist ?>;
padding: 12px 13px 12px;
@ -3786,8 +3888,8 @@ div.colorback
table.liste, table.noborder:not(.paymenttable):not(.margintable):not(.tableforcontact), table.formdoc, div.noborder:not(.paymenttable):not(.margintable):not(.tableforcontact) {
<?php
if ($userborderontable) { ?>
border-left: 1px solid #BBB;
border-right: 1px solid #BBB;
border-left: 1px solid var(--colortopbordertitle1);
border-right: 1px solid var(--colortopbordertitle1);
<?php } ?>
}
table.liste, table.noborder.paymenttable, table.noborder.margintable, table.noborder.tableforcontact, table.formdoc, div.noborder.paymenttable, div.noborder.margintable, div.noborder.tableforcontact {
@ -3843,6 +3945,9 @@ tr.liste_titre_filter td.liste_titre {
border-top-color: var(--colortopbordertitle1);
border-top-style: solid;
}
tr#trlinefordates td {
border-bottom: 0px !important;
}
.liste_titre_add td, .liste_titre_add th, .liste_titre_add .tagtd
{
border-top-width: 2px;
@ -3856,7 +3961,7 @@ tr.liste_titre_filter td.liste_titre {
border-top-style: solid;
}
table.liste th, table.noborder th, table.noborder tr.liste_titre td {
table.liste th, table.noborder th, table.noborder tr.liste_titre td, table.noborder tr.box_titre td {
padding: 8px 6px 8px 6px; /* t r b l */
}
@ -3914,6 +4019,7 @@ table.listwithfilterbefore {
.tagtr, .table-border-row { display: table-row; }
.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; }
.confirmquestions .tagtr .tagtd:not(:first-child) { padding-left: 10px; }
.confirmquestions { margin-top: 5px; }
/* Pagination */
@ -3931,8 +4037,8 @@ a.refid {
div.refidno {
padding-top: 8px;
font-weight: normal;
color: #444;
font-size: <?php print $fontsize ?>px;
color: var(--refidnocolor);
font-size: <?php print is_numeric($fontsize) ? $fontsize.'px' : $fontsize ?>;
line-height: 21px;
}
div.refidno form {
@ -3971,7 +4077,7 @@ div.pagination li.pagination span {
padding: 6px 12px;
padding-top: 8px;
line-height: 1.42857143;
color: #000;
color: var(--color-black);
text-decoration: none;
}
div.pagination li.pagination span.inactive {
@ -4129,7 +4235,7 @@ ul.noborder li:nth-child(odd):not(.liste_titre) {
font-family: <?php print $fontlist ?>;
border: 0px;
margin-bottom: 1px;
color: #202020;
color: var(--oddeven);
}
.impair, .nohover .impair:hover, tr.impair td.nohover
{
@ -4142,7 +4248,7 @@ ul.noborder li:nth-child(odd):not(.liste_titre) {
.oddeven, .evenodd, .pair, .nohover .pair:hover, tr.pair td.nohover, .tagtr.oddeven {
font-family: <?php print $fontlist ?>;
margin-bottom: 1px;
color: #202020;
color: var(--oddevencolor);
}
.pair, .nohover .pair:hover, tr.pair td.nohover {
background-color: var(--colorbacklinepair1);
@ -4166,6 +4272,9 @@ td.evenodd, tr.nohoverpair td, #trlinefordates td {
border-bottom: 1pt solid black !important;
background-color: var(--colorbacklinebreak) !important;
}
.trforbreak.nobold td a, .trforbreak.nobold span.secondary {
font-weight: normal !important;
}
table.dataTable td {
padding: 5px 2px 5px 3px !important;
@ -4534,6 +4643,9 @@ span.dashboardlineko {
.boxtablenobottom {
/* border-bottom-width: 0 !important; */
}
.boxtablenomarginbottom {
margin-bottom: 0 !important;
}
.boxtable .fichehalfright, .boxtable .fichehalfleft {
min-width: 275px;
}
@ -4559,10 +4671,8 @@ tr.box_titre {
color: #000 !important; */
/* TO MATCH ELDY */
background: rgb(<?php echo $colorbacktitle1; ?>);
background-repeat: repeat-x;
color: rgb(<?php echo $colortexttitle; ?>);
background: var(--colorbacktitle1);
color: var(--colortexttitle);
font-family: <?php print $fontlist ?>, sans-serif;
font-weight: <?php echo $useboldtitle ? 'bold' : 'normal'; ?>;
border-bottom: 1px solid #FDFFFF;
@ -6309,10 +6419,12 @@ ul.select2-results__options li {
.select2-container.select2-container--open .select2-dropdown.ui-dialog {
min-width: 220px !important;
}
.select2-container.select2-container--open .select2-dropdown--below {
.select2-container.select2-container--open .select2-dropdown--below,
.select2-container.select2-container--open .select2-dropdown--above {
min-width: 220px !important;
}
.onrightofpage span.select2-dropdown.ui-dialog.select2-dropdown--below {
.onrightofpage span.select2-dropdown.ui-dialog.select2-dropdown--below,
.onrightofpage span.select2-dropdown.ui-dialog.select2-dropdown--above {
min-width: 140px !important;
}
@ -7309,6 +7421,8 @@ div.clipboardCPValue.hidewithsize {
border-left: none;
}
td.widthpictotitle { width: 30px; }
.box-flex-container {
margin: 0 0 0 -8px !important;
}