forked from Wavyzz/dolibarr
Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop
This commit is contained in:
@@ -266,6 +266,7 @@ if ($resql)
|
|||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
|
|
||||||
$params='';
|
$params='';
|
||||||
|
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
|
||||||
if ($search_field1 != '') $params.= '&search_field1='.urlencode($search_field1);
|
if ($search_field1 != '') $params.= '&search_field1='.urlencode($search_field1);
|
||||||
if ($search_field2 != '') $params.= '&search_field2='.urlencode($search_field2);
|
if ($search_field2 != '') $params.= '&search_field2='.urlencode($search_field2);
|
||||||
if ($optioncss != '') $param.='&optioncss='.$optioncss;
|
if ($optioncss != '') $param.='&optioncss='.$optioncss;
|
||||||
|
|||||||
@@ -1376,17 +1376,12 @@ else
|
|||||||
print $form->formconfirm("card.php?rowid=".$rowid,$langs->trans("DeleteMember"),$langs->trans("ConfirmDeleteMember"),"confirm_delete",$formquestion,0,1);
|
print $form->formconfirm("card.php?rowid=".$rowid,$langs->trans("DeleteMember"),$langs->trans("ConfirmDeleteMember"),"confirm_delete",$formquestion,0,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
// Confirm add in spip
|
||||||
* Confirm add in spip
|
|
||||||
*/
|
|
||||||
if ($action == 'add_spip')
|
if ($action == 'add_spip')
|
||||||
{
|
{
|
||||||
print $form->formconfirm("card.php?rowid=".$rowid, $langs->trans('AddIntoSpip'), $langs->trans('AddIntoSpipConfirmation'), 'confirm_add_spip');
|
print $form->formconfirm("card.php?rowid=".$rowid, $langs->trans('AddIntoSpip'), $langs->trans('AddIntoSpipConfirmation'), 'confirm_add_spip');
|
||||||
}
|
}
|
||||||
|
// Confirm removed from spip
|
||||||
/*
|
|
||||||
* Confirm removed from spip
|
|
||||||
*/
|
|
||||||
if ($action == 'del_spip')
|
if ($action == 'del_spip')
|
||||||
{
|
{
|
||||||
print $form->formconfirm("card.php?rowid=$rowid", $langs->trans('DeleteIntoSpip'), $langs->trans('DeleteIntoSpipConfirmation'), 'confirm_del_spip');
|
print $form->formconfirm("card.php?rowid=$rowid", $langs->trans('DeleteIntoSpip'), $langs->trans('DeleteIntoSpipConfirmation'), 'confirm_del_spip');
|
||||||
@@ -1550,10 +1545,18 @@ else
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (! $adht->cotisation)
|
||||||
|
{
|
||||||
|
print $langs->trans("SubscriptionNotRecorded");
|
||||||
|
if ($object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print $langs->trans("SubscriptionNotReceived");
|
||||||
if ($object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie
|
if ($object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie
|
||||||
}
|
}
|
||||||
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|||||||
@@ -721,10 +721,18 @@ if ($rowid > 0)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (! $adht->cotisation)
|
||||||
|
{
|
||||||
|
print $langs->trans("SubscriptionNotRecorded");
|
||||||
|
if ($object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print $langs->trans("SubscriptionNotReceived");
|
||||||
if ($object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie
|
if ($object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie
|
||||||
}
|
}
|
||||||
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|||||||
@@ -233,11 +233,6 @@ if ($id > 0)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Alias name (commercial, trademark or alias name)
|
|
||||||
print '<tr><td class="titelfield">'.$langs->trans('AliasNames').'</td><td colspan="3">';
|
|
||||||
print $object->name_alias;
|
|
||||||
print "</td></tr>";
|
|
||||||
|
|
||||||
// Prospect/Customer
|
// Prospect/Customer
|
||||||
print '<tr><td width="30%">'.$langs->trans('ProspectCustomer').'</td><td width="70%" colspan="3">';
|
print '<tr><td width="30%">'.$langs->trans('ProspectCustomer').'</td><td width="70%" colspan="3">';
|
||||||
print $object->getLibCustProspStatut();
|
print $object->getLibCustProspStatut();
|
||||||
|
|||||||
@@ -202,13 +202,14 @@ if ($resql)
|
|||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
$paramlist='';
|
$param='';
|
||||||
$paramlist.=(GETPOST("orphelins")?"&orphelins=1":"");
|
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
|
||||||
$paramlist.=($search_ref?"&search_ref=".urlencode($search_ref):"");
|
$param.=(GETPOST("orphelins")?"&orphelins=1":"");
|
||||||
$paramlist.=($search_company?"&search_company=".urlencode($search_company):"");
|
$param.=($search_ref?"&search_ref=".urlencode($search_ref):"");
|
||||||
$paramlist.=($search_amount?"&search_amount=".urlencode($search_amount):"");
|
$param.=($search_company?"&search_company=".urlencode($search_company):"");
|
||||||
$paramlist.=($search_payment_num?"&search_payment_num=".urlencode($search_payment_num):"");
|
$param.=($search_amount?"&search_amount=".urlencode($search_amount):"");
|
||||||
if ($optioncss != '') $paramlist.='&optioncss='.urlencode($optioncss);
|
$param.=($search_payment_num?"&search_payment_num=".urlencode($search_payment_num):"");
|
||||||
|
if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss);
|
||||||
|
|
||||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
||||||
@@ -218,24 +219,24 @@ if ($resql)
|
|||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
print '<input type="hidden" name="viewstatut" value="'.$viewstatut.'">';
|
print '<input type="hidden" name="viewstatut" value="'.$viewstatut.'">';
|
||||||
|
|
||||||
print_barre_liste($langs->trans("ReceivedCustomersPayments"), $page, $_SERVER["PHP_SELF"],$paramlist,$sortfield,$sortorder,'',$num, $nbtotalofrecords,'title_accountancy.png', 0, '', '', $limit);
|
print_barre_liste($langs->trans("ReceivedCustomersPayments"), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num, $nbtotalofrecords,'title_accountancy.png', 0, '', '', $limit);
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"p.rowid","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"p.rowid","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"dp","",$paramlist,'align="center"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"dp","",$param,'align="center"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Numero"),$_SERVER["PHP_SELF"],"p.num_paiement","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Numero"),$_SERVER["PHP_SELF"],"p.num_paiement","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"p.amount","",$paramlist,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"p.amount","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
//print_liste_field_titre($langs->trans("Invoices"),"","","",$paramlist,'align="left"',$sortfield,$sortorder);
|
//print_liste_field_titre($langs->trans("Invoices"),"","","",$param,'align="left"',$sortfield,$sortorder);
|
||||||
|
|
||||||
$parameters=array();
|
$parameters=array();
|
||||||
$reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook
|
$reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
|
|
||||||
if (! empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut","",$paramlist,'align="right"',$sortfield,$sortorder);
|
if (! empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
|
|||||||
@@ -328,7 +328,6 @@ if (empty($reshook))
|
|||||||
$label = $lines[$i]->product_label;
|
$label = $lines[$i]->product_label;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($conf->global->PRODUIT_DESC_IN_FORM)
|
|
||||||
$desc .= ($lines[$i]->desc && $lines[$i]->desc!=$lines[$i]->libelle)?dol_htmlentitiesbr($lines[$i]->desc):'';
|
$desc .= ($lines[$i]->desc && $lines[$i]->desc!=$lines[$i]->libelle)?dol_htmlentitiesbr($lines[$i]->desc):'';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -360,7 +359,6 @@ if (empty($reshook))
|
|||||||
$error++;
|
$error++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4297,7 +4297,7 @@ class Form
|
|||||||
}
|
}
|
||||||
$return.= '>'.vatrate($rate['libtva']);
|
$return.= '>'.vatrate($rate['libtva']);
|
||||||
//$return.=($rate['code']?' '.$rate['code']:'');
|
//$return.=($rate['code']?' '.$rate['code']:'');
|
||||||
$return.= (empty($defaultcode) && $rate['nprtva']) ? ' *': ''; // We show the * (old behaviour only if new vat code is not used)
|
$return.= (empty($rate['code']) && $rate['nprtva']) ? ' *': ''; // We show the * (old behaviour only if new vat code is not used)
|
||||||
|
|
||||||
$return.= '</option>';
|
$return.= '</option>';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ function societe_prepare_head(Societe $object)
|
|||||||
$head[$h][1] = $langs->trans("Events");
|
$head[$h][1] = $langs->trans("Events");
|
||||||
$head[$h][1].= '/';
|
$head[$h][1].= '/';
|
||||||
}
|
}
|
||||||
$head[$h][1].= $langs->trans("Info");
|
$head[$h][1].= $langs->trans("Agenda");
|
||||||
$head[$h][2] = 'agenda';
|
$head[$h][2] = 'agenda';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
|||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2303__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/clients.php?leftmenu=tax_vat', 'ReportByCustomers', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 2, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2303__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/clients.php?leftmenu=tax_vat', 'ReportByCustomers', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 2, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2304__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/quadri_detail.php?leftmenu=tax_vat', 'ReportByQuarter', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2304__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/quadri_detail.php?leftmenu=tax_vat', 'ReportByQuarter', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
||||||
-- Accounting Expert
|
-- Accounting Expert
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2400__+MAX_llx_menu__, 'accountancy', 'accounting', 6__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=accounting', 'MenuAccountancy', 0, 'accountancy', '(! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire', '', 0, 7, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2400__+MAX_llx_menu__, 'accountancy', 'accounting', 6__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=accounting', 'MenuAccountancy', 0, 'accountancy', '! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire', '', 0, 7, __ENTITY__);
|
||||||
-- Dispatch
|
-- Dispatch
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2401__+MAX_llx_menu__, 'accountancy', 'dispatch_customer', 2400__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=dispatch_customer', 'CustomersVentilation', 1, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2401__+MAX_llx_menu__, 'accountancy', 'dispatch_customer', 2400__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=dispatch_customer', 'CustomersVentilation', 1, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="dispatch_customer"', __HANDLER__, 'left', 2402__+MAX_llx_menu__, 'accountancy', '', 2401__+MAX_llx_menu__, '/accountancy/customer/list.php', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->ventilation->dispatch', '', 0, 2, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="dispatch_customer"', __HANDLER__, 'left', 2402__+MAX_llx_menu__, 'accountancy', '', 2401__+MAX_llx_menu__, '/accountancy/customer/list.php', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->ventilation->dispatch', '', 0, 2, __ENTITY__);
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ $coldisplay=-1; // We remove first td
|
|||||||
}
|
}
|
||||||
|
|
||||||
$coldisplay++;
|
$coldisplay++;
|
||||||
print '<td align="right"><input type="text" class="flat" size="8" id="price_ht" name="price_ht" value="' . (isset($line->pu_ht)?price($line->pu_ht,0,'',0):price($line->subprice,0,'',0)) . '"';
|
print '<td align="right"><input type="text" class="flat" size="5" id="price_ht" name="price_ht" value="' . (isset($line->pu_ht)?price($line->pu_ht,0,'',0):price($line->subprice,0,'',0)) . '"';
|
||||||
if ($this->situation_counter > 1) print ' readonly';
|
if ($this->situation_counter > 1) print ' readonly';
|
||||||
print '></td>';
|
print '></td>';
|
||||||
|
|
||||||
|
|||||||
@@ -705,7 +705,9 @@ class Expedition extends CommonObject
|
|||||||
// We decrement stock of product (and sub-products) -> update table llx_product_stock (key of this table is fk_product+fk_entrepot) and add a movement record
|
// We decrement stock of product (and sub-products) -> update table llx_product_stock (key of this table is fk_product+fk_entrepot) and add a movement record
|
||||||
$result=$mouvS->livraison($user, $obj->fk_product, $obj->fk_entrepot, $qty, $obj->subprice, $langs->trans("ShipmentValidatedInDolibarr",$numref));
|
$result=$mouvS->livraison($user, $obj->fk_product, $obj->fk_entrepot, $qty, $obj->subprice, $langs->trans("ShipmentValidatedInDolibarr",$numref));
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error++; break;
|
$error++;
|
||||||
|
$this->errors[]=$mouvS->error;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -713,17 +715,12 @@ class Expedition extends CommonObject
|
|||||||
// line with batch detail
|
// line with batch detail
|
||||||
|
|
||||||
// We decrement stock of product (and sub-products) -> update table llx_product_stock (key of this table is fk_product+fk_entrepot) and add a movement record
|
// We decrement stock of product (and sub-products) -> update table llx_product_stock (key of this table is fk_product+fk_entrepot) and add a movement record
|
||||||
$result=$mouvS->livraison($user, $obj->fk_product, $obj->fk_entrepot, $qty, $obj->subprice, $langs->trans("ShipmentValidatedInDolibarr",$numref), '', $obj->eatby, $obj->sellby, $obj->batch);
|
// ->fk_origin_stock = id into table llx_product_batch (may be rename into llx_product_stock_batch in another version)
|
||||||
|
$result=$mouvS->livraison($user, $obj->fk_product, $obj->fk_entrepot, $qty, $obj->subprice, $langs->trans("ShipmentValidatedInDolibarr",$numref), '', $obj->eatby, $obj->sellby, $obj->batch, $obj->fk_origin_stock);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error++; break;
|
$error++;
|
||||||
}
|
$this->errors[]=$mouvS->error;
|
||||||
|
break;
|
||||||
// We update content of table llx_product_batch (will be rename into llx_product_stock_batch inantoher version)
|
|
||||||
// We can set livraison_batch to deprecated and adapt livraison to handle batch too (mouvS->_create also calls mouvS->_create_batch)
|
|
||||||
if (! empty($conf->productbatch->enabled))
|
|
||||||
{
|
|
||||||
$result=$mouvS->livraison_batch($obj->fk_origin_stock, $qty); // ->fk_origin_stock = id into table llx_product_batch (will be rename into llx_product_stock_batch in another version)
|
|
||||||
if ($result < 0) { $error++; $this->errors[]=$mouvS->error; break; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ if ($action == "confirm_save_from_refuse" && GETPOST("confirm") == "yes" && $id
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN))
|
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition
|
||||||
{
|
{
|
||||||
// Send mail
|
// Send mail
|
||||||
|
|
||||||
@@ -390,6 +390,7 @@ if ($action == "confirm_save_from_refuse" && GETPOST("confirm") == "yes" && $id
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$mesg=$mailfile->error;
|
$mesg=$mailfile->error;
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
}
|
}
|
||||||
// END - Send mail
|
// END - Send mail
|
||||||
}
|
}
|
||||||
@@ -438,7 +439,7 @@ if ($action == "confirm_approve" && GETPOST("confirm") == "yes" && $id > 0 && $u
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN))
|
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition
|
||||||
{
|
{
|
||||||
// Send mail
|
// Send mail
|
||||||
|
|
||||||
@@ -542,7 +543,7 @@ if ($action == "confirm_refuse" && GETPOST('confirm')=="yes" && $id > 0 && $user
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN))
|
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition
|
||||||
{
|
{
|
||||||
// Send mail
|
// Send mail
|
||||||
|
|
||||||
@@ -583,7 +584,6 @@ if ($action == "confirm_refuse" && GETPOST('confirm')=="yes" && $id > 0 && $user
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors');
|
setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors');
|
||||||
$mesg="Impossible d'envoyer l'email.";
|
|
||||||
}
|
}
|
||||||
// END - Send mail
|
// END - Send mail
|
||||||
}
|
}
|
||||||
@@ -627,7 +627,7 @@ if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && GETPOST('detail_
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN))
|
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition
|
||||||
{
|
{
|
||||||
// Send mail
|
// Send mail
|
||||||
|
|
||||||
@@ -667,6 +667,7 @@ if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && GETPOST('detail_
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$mesg="Impossible d'envoyer l'email.";
|
$mesg="Impossible d'envoyer l'email.";
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
}
|
}
|
||||||
// END - Send mail
|
// END - Send mail
|
||||||
}
|
}
|
||||||
@@ -756,7 +757,7 @@ if ($action == 'set_paid' && $id > 0 && $user->rights->expensereport->to_paid)
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN))
|
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition
|
||||||
{
|
{
|
||||||
// Send mail
|
// Send mail
|
||||||
|
|
||||||
@@ -806,9 +807,8 @@ if ($action == 'set_paid' && $id > 0 && $user->rights->expensereport->to_paid)
|
|||||||
endif;
|
endif;
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
$mesg="Impossible d'envoyer l'email.";
|
$mesg="Impossible d'envoyer l'email.";
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
endif;
|
endif;
|
||||||
// END - Send mail
|
// END - Send mail
|
||||||
}
|
}
|
||||||
@@ -921,7 +921,7 @@ if ($action == 'confirm_delete_line' && GETPOST("confirm") == "yes")
|
|||||||
$total_ht = $object_ligne->total_ht;
|
$total_ht = $object_ligne->total_ht;
|
||||||
$total_tva = $object_ligne->total_tva;
|
$total_tva = $object_ligne->total_tva;
|
||||||
|
|
||||||
$result=$object->deleteline(GETPOST("rowid"));
|
$result=$object->deleteline(GETPOST("rowid"), $user);
|
||||||
if ($result >= 0)
|
if ($result >= 0)
|
||||||
{
|
{
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
@@ -961,7 +961,6 @@ if ($action == "updateligne" )
|
|||||||
|
|
||||||
$rowid = $_POST['rowid'];
|
$rowid = $_POST['rowid'];
|
||||||
$type_fees_id = GETPOST('fk_c_type_fees');
|
$type_fees_id = GETPOST('fk_c_type_fees');
|
||||||
$object_ligne->vatrate = price2num(GETPOST('vatrate'));
|
|
||||||
$projet_id = $fk_projet;
|
$projet_id = $fk_projet;
|
||||||
$comments = GETPOST('comments');
|
$comments = GETPOST('comments');
|
||||||
$qty = GETPOST('qty');
|
$qty = GETPOST('qty');
|
||||||
@@ -983,6 +982,7 @@ if ($action == "updateligne" )
|
|||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
|
// TODO Use update method of ExpenseReportLine
|
||||||
$result = $object->updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $id);
|
$result = $object->updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $id);
|
||||||
if ($result >= 0)
|
if ($result >= 0)
|
||||||
{
|
{
|
||||||
@@ -1078,29 +1078,6 @@ $formfile = new FormFile($db);
|
|||||||
$formproject = new FormProjets($db);
|
$formproject = new FormProjets($db);
|
||||||
$projecttmp = new Project($db);
|
$projecttmp = new Project($db);
|
||||||
|
|
||||||
if (! empty($conf->global->DEPLACEMENT_TO_CLEAN))
|
|
||||||
{
|
|
||||||
if(!empty($_GET['mesg']))
|
|
||||||
{
|
|
||||||
$text_mesg = explode(",",$_GET['mesg']);
|
|
||||||
|
|
||||||
foreach($text_mesg as $text)
|
|
||||||
{
|
|
||||||
$mesg.= "- ".$langs->trans($text)."<br />";
|
|
||||||
}
|
|
||||||
|
|
||||||
print "<div class=\"error\" style=\"font-size:15px;background-color:#FFB3B3;\">";
|
|
||||||
print $langs->trans("LINE_NOT_ADDED")."<br />";
|
|
||||||
print $mesg;
|
|
||||||
print "</div>";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($mesg) print "<div class=\"error\" style=\"font-size:16px;background-color:red;\">".$mesg."</div>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Create
|
// Create
|
||||||
if ($action == 'create')
|
if ($action == 'create')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -454,3 +454,9 @@ CREATE TABLE llx_advtargetemailing
|
|||||||
)ENGINE=InnoDB;
|
)ENGINE=InnoDB;
|
||||||
|
|
||||||
ALTER TABLE llx_advtargetemailing ADD UNIQUE INDEX uk_advtargetemailing_name (name);
|
ALTER TABLE llx_advtargetemailing ADD UNIQUE INDEX uk_advtargetemailing_name (name);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- At end
|
||||||
|
ALTER TABLE llx_product_batch ADD UNIQUE INDEX uk_product_batch (fk_product_stock, batch);
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,35 @@ delete from llx_adherent_extrafields where fk_object not in (select rowid from l
|
|||||||
delete from llx_product_extrafields where fk_object not in (select rowid from llx_product);
|
delete from llx_product_extrafields where fk_object not in (select rowid from llx_product);
|
||||||
--delete from llx_societe_commerciaux where fk_soc not in (select rowid from llx_societe);
|
--delete from llx_societe_commerciaux where fk_soc not in (select rowid from llx_societe);
|
||||||
|
|
||||||
|
|
||||||
|
-- Clean stocks
|
||||||
|
|
||||||
|
-- Reference for qty is llx_product_stock (detail in llx_product_batch may be not complete)
|
||||||
|
-- qty in llx_product may be not up to date
|
||||||
update llx_product_batch set batch = '' where batch = 'Non défini';
|
update llx_product_batch set batch = '' where batch = 'Non défini';
|
||||||
|
update llx_product_batch set batch = '' where batch = 'Non défini';
|
||||||
|
|
||||||
|
DELETE FROM llx_product_lot WHERE fk_product NOT IN (select rowid from llx_product);
|
||||||
|
DELETE FROM llx_product_stock WHERE fk_product NOT IN (select rowid from llx_product);
|
||||||
|
DELETE FROM llx_product_stock WHERE reel = 0 AND rowid NOT IN (SELECT fk_product_stock FROM llx_product_batch as pb);
|
||||||
|
|
||||||
|
-- Merge splitted lines into one in table llx_product_batch
|
||||||
|
DROP TABLE tmp_llx_product_batch;
|
||||||
|
DROP TABLE tmp_llx_product_batch2;
|
||||||
|
CREATE TABLE tmp_llx_product_batch AS select fk_product_stock, eatby, sellby, batch, SUM(qty) as qty, COUNT(rowid) as nb FROM llx_product_batch GROUP BY fk_product_stock, eatby, sellby, batch HAVING COUNT(rowid) > 1;
|
||||||
|
CREATE TABLE tmp_llx_product_batch2 AS select pb.rowid, pb.fk_product_stock, pb.eatby, pb.sellby, pb.batch, pb.qty from llx_product_batch as pb, tmp_llx_product_batch as tpb where pb.fk_product_stock = tpb.fk_product_stock and COALESCE(pb.eatby, '') = COALESCE(tpb.eatby,'') and COALESCE(pb.sellby, '') = COALESCE(tpb.sellby, '') and pb.batch = tpb.batch
|
||||||
|
--select * from tmp_llx_product_batch;
|
||||||
|
--select * from tmp_llx_product_batch2;
|
||||||
|
DELETE FROM llx_product_batch WHERE rowid IN (select rowid FROM tmp_llx_product_batch2);
|
||||||
|
INSERT INTO llx_product_batch(fk_product_stock, eatby, sellby, batch, qty) SELECT fk_product_stock, eatby, sellby, batch, qty FROM tmp_llx_product_batch;
|
||||||
|
|
||||||
|
DELETE FROM llx_product_stock WHERE reel = 0 AND rowid NOT IN (SELECT fk_product_stock FROM llx_product_batch as pb);
|
||||||
|
DELETE FROM llx_product_batch WHERE qty = 0;
|
||||||
|
|
||||||
|
|
||||||
|
-- Stock calculation on product
|
||||||
|
UPDATE llx_product p SET p.stock= (SELECT SUM(ps.reel) FROM llx_product_stock ps WHERE ps.fk_product = p.rowid);
|
||||||
|
|
||||||
|
|
||||||
-- Fix: delete category child with no category parent.
|
-- Fix: delete category child with no category parent.
|
||||||
drop table tmp_categorie;
|
drop table tmp_categorie;
|
||||||
@@ -123,12 +151,6 @@ insert into llx_c_actioncomm (id, code, type, libelle, module, position) values
|
|||||||
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 50, 'AC_OTH', 'system', 'Other' ,NULL, 5);
|
insert into llx_c_actioncomm (id, code, type, libelle, module, position) values ( 50, 'AC_OTH', 'system', 'Other' ,NULL, 5);
|
||||||
|
|
||||||
|
|
||||||
-- Stock calculation on product
|
|
||||||
DELETE FROM llx_product_stock WHERE fk_product NOT IN (select rowid from llx_product);
|
|
||||||
|
|
||||||
UPDATE llx_product p SET p.stock= (SELECT SUM(ps.reel) FROM llx_product_stock ps WHERE ps.fk_product = p.rowid);
|
|
||||||
|
|
||||||
|
|
||||||
-- VMYSQL4.1 DELETE T1 FROM llx_boxes_def as T1, llx_boxes_def as T2 where T1.entity = T2.entity AND T1.file = T2.file AND T1.note = T2.note and T1.rowid > T2.rowid;
|
-- VMYSQL4.1 DELETE T1 FROM llx_boxes_def as T1, llx_boxes_def as T2 where T1.entity = T2.entity AND T1.file = T2.file AND T1.note = T2.note and T1.rowid > T2.rowid;
|
||||||
-- VPGSQL8.2 DELETE FROM llx_boxes_def as T1 WHERE rowid NOT IN (SELECT min(rowid) FROM llx_boxes_def GROUP BY file, entity, note);
|
-- VPGSQL8.2 DELETE FROM llx_boxes_def as T1 WHERE rowid NOT IN (SELECT min(rowid) FROM llx_boxes_def GROUP BY file, entity, note);
|
||||||
|
|
||||||
|
|||||||
@@ -19,3 +19,6 @@
|
|||||||
ALTER TABLE llx_product_batch ADD INDEX idx_fk_product_stock(fk_product_stock);
|
ALTER TABLE llx_product_batch ADD INDEX idx_fk_product_stock(fk_product_stock);
|
||||||
ALTER TABLE llx_product_batch ADD INDEX idx_batch(batch);
|
ALTER TABLE llx_product_batch ADD INDEX idx_batch(batch);
|
||||||
ALTER TABLE llx_product_batch ADD CONSTRAINT fk_product_batch_fk_product_stock FOREIGN KEY (fk_product_stock) REFERENCES llx_product_stock (rowid);
|
ALTER TABLE llx_product_batch ADD CONSTRAINT fk_product_batch_fk_product_stock FOREIGN KEY (fk_product_stock) REFERENCES llx_product_stock (rowid);
|
||||||
|
|
||||||
|
ALTER TABLE llx_product_batch ADD UNIQUE INDEX uk_product_batch (fk_product_stock, batch);
|
||||||
|
|
||||||
|
|||||||
@@ -346,8 +346,8 @@ PaymentConditionPT_5050=50%% in advance, 50%% on delivery
|
|||||||
FixAmount=Fix amount
|
FixAmount=Fix amount
|
||||||
VarAmount=Variable amount (%% tot.)
|
VarAmount=Variable amount (%% tot.)
|
||||||
# PaymentType
|
# PaymentType
|
||||||
PaymentTypeVIR=Bank deposit
|
PaymentTypeVIR=Bank transfer
|
||||||
PaymentTypeShortVIR=Bank deposit
|
PaymentTypeShortVIR=Bank transfer
|
||||||
PaymentTypePRE=Bank's order
|
PaymentTypePRE=Bank's order
|
||||||
PaymentTypeShortPRE=Bank's order
|
PaymentTypeShortPRE=Bank's order
|
||||||
PaymentTypeLIQ=Cash
|
PaymentTypeLIQ=Cash
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ Int=Int
|
|||||||
DateAndTime=Date and time
|
DateAndTime=Date and time
|
||||||
PublicMemberCard=Member public card
|
PublicMemberCard=Member public card
|
||||||
MemberNotOrNoMoreExpectedToSubscribe=Member not or no more expected to subscribe
|
MemberNotOrNoMoreExpectedToSubscribe=Member not or no more expected to subscribe
|
||||||
|
SubscriptionNotRecorded=Subscription not recorded
|
||||||
AddSubscription=Create subscription
|
AddSubscription=Create subscription
|
||||||
ShowSubscription=Show subscription
|
ShowSubscription=Show subscription
|
||||||
MemberModifiedInDolibarr=Member modified in Dolibarr
|
MemberModifiedInDolibarr=Member modified in Dolibarr
|
||||||
|
|||||||
@@ -82,7 +82,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
|
$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
|
||||||
dol_fiche_head($head, 'margin', $titre, 0, $picto);
|
dol_fiche_head($head, 'margin', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|||||||
@@ -95,11 +95,6 @@ if ($socid > 0)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border tableforfield" width="100%">';
|
print '<table class="border tableforfield" width="100%">';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('AliasNames').'</td><td>';
|
|
||||||
print $object->name_alias;
|
|
||||||
print "</td></tr>";
|
|
||||||
|
|
||||||
if ($object->client)
|
if ($object->client)
|
||||||
{
|
{
|
||||||
print '<tr><td class="titlefield">';
|
print '<tr><td class="titlefield">';
|
||||||
|
|||||||
@@ -1409,7 +1409,9 @@ else
|
|||||||
$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
|
$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
|
||||||
dol_fiche_head($head, 'card', $titre, 0, $picto);
|
dol_fiche_head($head, 'card', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|||||||
@@ -429,8 +429,8 @@ class Productbatch extends CommonObject
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t";
|
$sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t";
|
||||||
$sql.= " WHERE fk_product_stock=".$fk_product_stock;
|
$sql.= " WHERE fk_product_stock=".$fk_product_stock;
|
||||||
|
|
||||||
if (! empty($eatby)) array_push($where," eatby = '".$this->db->idate($eatby)."'");
|
if (! empty($eatby)) array_push($where," eatby = '".$this->db->idate($eatby)."'"); // deprecated
|
||||||
if (! empty($sellby)) array_push($where," sellby = '".$this->db->idate($sellby)."'");
|
if (! empty($sellby)) array_push($where," sellby = '".$this->db->idate($sellby)."'"); // deprecated
|
||||||
if (! empty($batch_number)) $sql.= " AND batch = '".$this->db->escape($batch_number)."'";
|
if (! empty($batch_number)) $sql.= " AND batch = '".$this->db->escape($batch_number)."'";
|
||||||
|
|
||||||
if (! empty($where)) $sql.= " AND (".implode(" OR ",$where).")";
|
if (! empty($where)) $sql.= " AND (".implode(" OR ",$where).")";
|
||||||
|
|||||||
@@ -190,7 +190,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
*/
|
*/
|
||||||
if ($user->rights->produit->lire || $user->rights->service->lire)
|
if ($user->rights->produit->lire || $user->rights->service->lire)
|
||||||
{
|
{
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
|
|||||||
@@ -195,7 +195,9 @@ if ($object->id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -298,7 +298,9 @@ if ($id > 0 || $ref)
|
|||||||
$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
|
$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
|
||||||
dol_fiche_head($head, 'suppliers', $titre, 0, $picto);
|
dol_fiche_head($head, 'suppliers', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ if ($id > 0 || $ref)
|
|||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
$object->info($object->id);
|
$object->info($object->id);
|
||||||
|
|
||||||
|
|||||||
@@ -625,7 +625,9 @@ $titre = $langs->trans("CardProduct" . $object->type);
|
|||||||
$picto = ($object->type == Product::TYPE_SERVICE ? 'service' : 'product');
|
$picto = ($object->type == Product::TYPE_SERVICE ? 'service' : 'product');
|
||||||
dol_fiche_head($head, 'price', $titre, 0, $picto);
|
dol_fiche_head($head, 'price', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|||||||
@@ -255,7 +255,8 @@ if ($resql)
|
|||||||
$formProduct->loadWarehouses();
|
$formProduct->loadWarehouses();
|
||||||
$warehouses_list = $formProduct->cache_warehouses;
|
$warehouses_list = $formProduct->cache_warehouses;
|
||||||
$nb_warehouse = count($warehouses_list);
|
$nb_warehouse = count($warehouses_list);
|
||||||
$colspan_warehouse = $nb_warehouse > 1 ? $nb_warehouse+1 : 1;
|
$colspan_warehouse = 1;
|
||||||
|
if (! empty($conf->global->STOCK_DETAIL_ON_WAREHOUSE)) { $colspan_warehouse = $nb_warehouse > 1 ? $nb_warehouse+1 : 1; }
|
||||||
|
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">';
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">';
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,9 @@ if (! empty($id) || ! empty($ref) || GETPOST('id') == 'all')
|
|||||||
|
|
||||||
dol_fiche_head($head, 'stats', $titre, 0, $picto);
|
dol_fiche_head($head, 'stats', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook
|
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,9 @@ if ($id > 0 || ! empty($ref)) {
|
|||||||
if ($reshook < 0)
|
if ($reshook < 0)
|
||||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook
|
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook
|
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
$reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,9 @@ if ($id > 0 || ! empty($ref))
|
|||||||
$reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ if ($action == 'create')
|
|||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
print '<tr><td width="25%" class="fieldrequired">'.$langs->trans("Ref").'</td><td colspan="3"><input name="libelle" size="20" value=""></td></tr>';
|
print '<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans("Ref").'</td><td colspan="3"><input name="libelle" size="20" value=""></td></tr>';
|
||||||
|
|
||||||
print '<tr><td >'.$langs->trans("LocationSummary").'</td><td colspan="3"><input name="lieu" size="40" value="'.(!empty($object->lieu)?$object->lieu:'').'"></td></tr>';
|
print '<tr><td >'.$langs->trans("LocationSummary").'</td><td colspan="3"><input name="lieu" size="40" value="'.(!empty($object->lieu)?$object->lieu:'').'"></td></tr>';
|
||||||
|
|
||||||
@@ -209,7 +209,7 @@ if ($action == 'create')
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Country
|
// Country
|
||||||
print '<tr><td width="25%">'.$langs->trans('Country').'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">';
|
||||||
print $form->select_country((!empty($object->country_id)?$object->country_id:$mysoc->country_code),'country_id');
|
print $form->select_country((!empty($object->country_id)?$object->country_id:$mysoc->country_code),'country_id');
|
||||||
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
|
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@@ -65,9 +65,10 @@ class MouvementStock extends CommonObject
|
|||||||
* @param date $sellby sell-by date
|
* @param date $sellby sell-by date
|
||||||
* @param string $batch batch number
|
* @param string $batch batch number
|
||||||
* @param boolean $skip_batch If set to true, stock movement is done without impacting batch record
|
* @param boolean $skip_batch If set to true, stock movement is done without impacting batch record
|
||||||
|
* @param int $id_product_batch Id product_batch (when skip_batch is flase and we already know which record of product_batch to use)
|
||||||
* @return int <0 if KO, 0 if fk_product is null, >0 if OK
|
* @return int <0 if KO, 0 if fk_product is null, >0 if OK
|
||||||
*/
|
*/
|
||||||
function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $inventorycode='', $datem='',$eatby='',$sellby='',$batch='',$skip_batch=false)
|
function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $inventorycode='', $datem='',$eatby='',$sellby='',$batch='',$skip_batch=false, $id_product_batch=0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@@ -125,9 +126,14 @@ class MouvementStock extends CommonObject
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a serial number is provided, we check that sellby and eatby match already existing serial
|
// FIXME Code not complete to implement this
|
||||||
$sql = "SELECT pb.rowid, pb.batch, pb.eatby, pb.sellby FROM ".MAIN_DB_PREFIX."product_batch as pb, ".MAIN_DB_PREFIX."product_stock as ps";
|
// Check table llx_product_lot from batchnumber for same product
|
||||||
$sql.= " WHERE pb.fk_product_stock = ps.rowid AND ps.fk_product = ".$fk_product." AND pb.batch = '".$this->db->escape($batch)."'";
|
// If found and eatby/sellby defined into table and provided and differs, return error
|
||||||
|
// If found and eatby/sellby not defined into table and provided, we update table
|
||||||
|
// If found and eatby/sellby defined into table and not provided, we take value from table
|
||||||
|
// If not found, we add record
|
||||||
|
$sql = "SELECT pb.rowid, pb.batch, pb.eatby, pb.sellby FROM ".MAIN_DB_PREFIX."product_lot as pb";
|
||||||
|
$sql.= " WHERE pb.fk_product = ".$fk_product." AND pb.batch = '".$this->db->escape($batch)."'";
|
||||||
dol_syslog(get_class($this)."::_create scan serial for this product to check if eatby and sellby match", LOG_DEBUG);
|
dol_syslog(get_class($this)."::_create scan serial for this product to check if eatby and sellby match", LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
@@ -310,8 +316,15 @@ class MouvementStock extends CommonObject
|
|||||||
// Update detail stock for batch product
|
// Update detail stock for batch product
|
||||||
if (! $error && ! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch)
|
if (! $error && ! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch)
|
||||||
{
|
{
|
||||||
$param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby, 'sellby'=>$sellby, 'batchnumber'=>$batch);
|
if ($id_product_batch > 0)
|
||||||
$result=$this->_create_batch($param_batch, $qty);
|
{
|
||||||
|
$result=$this->createBatch($id_product_batch, $qty);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$param_batch=array('fk_product_stock' =>$fk_product_stock, 'batchnumber'=>$batch);
|
||||||
|
$result=$this->createBatch($param_batch, $qty);
|
||||||
|
}
|
||||||
if ($result<0) $error++;
|
if ($result<0) $error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,7 +347,7 @@ class MouvementStock extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If stock is now 0, we can remove entry into llx_stock_product, but only if there is no child lines into llx_product_batch (detail of batch, because we can imagine
|
// If stock is now 0, we can remove entry into llx_product_stock, but only if there is no child lines into llx_product_batch (detail of batch, because we can imagine
|
||||||
// having a lot1/qty=X and lot2/qty=-X, so 0 but we must not loose repartition of different lot.
|
// having a lot1/qty=X and lot2/qty=-X, so 0 but we must not loose repartition of different lot.
|
||||||
$sql="DELETE FROM ".MAIN_DB_PREFIX."product_stock WHERE reel = 0 AND rowid NOT IN (SELECT fk_product_stock FROM ".MAIN_DB_PREFIX."product_batch as pb)";
|
$sql="DELETE FROM ".MAIN_DB_PREFIX."product_stock WHERE reel = 0 AND rowid NOT IN (SELECT fk_product_stock FROM ".MAIN_DB_PREFIX."product_batch as pb)";
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
@@ -436,24 +449,14 @@ class MouvementStock extends CommonObject
|
|||||||
* @param date $eatby eat-by date
|
* @param date $eatby eat-by date
|
||||||
* @param date $sellby sell-by date
|
* @param date $sellby sell-by date
|
||||||
* @param string $batch batch number
|
* @param string $batch batch number
|
||||||
|
* @param int $id_product_batch Id product_batch
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function livraison($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $datem='', $eatby='', $sellby='', $batch='')
|
function livraison($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $datem='', $eatby='', $sellby='', $batch='', $id_product_batch=0)
|
||||||
{
|
{
|
||||||
return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, '', $datem, $eatby, $sellby, $batch, true);
|
$skip_batch = empty($conf->productbatch->enabled);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, '', $datem, $eatby, $sellby, $batch, $skip_batch, $id_product_batch);
|
||||||
* Decrease stock for batch record
|
|
||||||
*
|
|
||||||
* @param int $id_stock_dluo Id product_dluo
|
|
||||||
* @param int $qty Quantity
|
|
||||||
* @return int <0 if KO, >0 if OK
|
|
||||||
*/
|
|
||||||
function livraison_batch($id_stock_dluo, $qty)
|
|
||||||
{
|
|
||||||
$ret=$this->_create_batch($id_stock_dluo, (0 - $qty));
|
|
||||||
return $ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -527,16 +530,18 @@ class MouvementStock extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update batch record (update table llx_product_batch)
|
* Create or update batch record (update table llx_product_batch). No check is done here, done by parent.
|
||||||
*
|
*
|
||||||
* @param array|int $dluo Could be either
|
* @param array|int $dluo Could be either
|
||||||
* - int if row id of product_batch table
|
* - int if row id of product_batch table
|
||||||
* - or complete array('fk_product_stock'=>, 'eatby'=>, 'sellby'=> , 'batchnumber'=>)
|
* - or complete array('fk_product_stock'=>, 'batchnumber'=>)
|
||||||
* @param int $qty Quantity of product with batch number. May be a negative amount.
|
* @param int $qty Quantity of product with batch number. May be a negative amount.
|
||||||
* @return int <0 if KO, else return productbatch id
|
* @return int <0 if KO, else return productbatch id
|
||||||
*/
|
*/
|
||||||
function _create_batch($dluo, $qty)
|
private function createBatch($dluo, $qty)
|
||||||
{
|
{
|
||||||
|
global $user;
|
||||||
|
|
||||||
$pdluo=new Productbatch($this->db);
|
$pdluo=new Productbatch($this->db);
|
||||||
|
|
||||||
$result=0;
|
$result=0;
|
||||||
@@ -558,21 +563,19 @@ class MouvementStock extends CommonObject
|
|||||||
if (isset($dluo['fk_product_stock']))
|
if (isset($dluo['fk_product_stock']))
|
||||||
{
|
{
|
||||||
$vfk_product_stock=$dluo['fk_product_stock'];
|
$vfk_product_stock=$dluo['fk_product_stock'];
|
||||||
$veatby = $dluo['eatby'];
|
|
||||||
$vsellby = $dluo['sellby'];
|
|
||||||
$vbatchnumber = $dluo['batchnumber'];
|
$vbatchnumber = $dluo['batchnumber'];
|
||||||
|
|
||||||
$result = $pdluo->find($vfk_product_stock,$veatby,$vsellby,$vbatchnumber);
|
$result = $pdluo->find($vfk_product_stock,'','',$vbatchnumber); // Search on batch number only (eatby and sellby are deprecated here)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::_create_batch array param dluo must contain at least key fk_product_stock".$error, LOG_ERR);
|
dol_syslog(get_class($this)."::createBatch array param dluo must contain at least key fk_product_stock".$error, LOG_ERR);
|
||||||
$result = -1;
|
$result = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::_create_batch error invalid param dluo".$error, LOG_ERR);
|
dol_syslog(get_class($this)."::createBatch error invalid param dluo".$error, LOG_ERR);
|
||||||
$result = -1;
|
$result = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -585,9 +588,9 @@ class MouvementStock extends CommonObject
|
|||||||
$pdluo->qty += $qty;
|
$pdluo->qty += $qty;
|
||||||
if ($pdluo->qty == 0)
|
if ($pdluo->qty == 0)
|
||||||
{
|
{
|
||||||
$result=$pdluo->delete(0,1);
|
$result=$pdluo->delete($user,1);
|
||||||
} else {
|
} else {
|
||||||
$result=$pdluo->update(0,1);
|
$result=$pdluo->update($user,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // product_batch record not found
|
else // product_batch record not found
|
||||||
@@ -598,7 +601,7 @@ class MouvementStock extends CommonObject
|
|||||||
$pdluo->sellby = $vsellby;
|
$pdluo->sellby = $vsellby;
|
||||||
$pdluo->batch = $vbatchnumber;
|
$pdluo->batch = $vbatchnumber;
|
||||||
|
|
||||||
$result=$pdluo->create(0,1);
|
$result=$pdluo->create($user,1);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
$this->error=$pdluo->error;
|
$this->error=$pdluo->error;
|
||||||
|
|||||||
@@ -405,7 +405,9 @@ if ($id > 0 || $ref)
|
|||||||
|
|
||||||
dol_htmloutput_events();
|
dol_htmloutput_events();
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
@@ -746,12 +748,13 @@ if ($resql)
|
|||||||
print '<td colspan="4"><input type="submit" class="button" id="savelinebutton" name="save" value="'.$langs->trans("Save").'">';
|
print '<td colspan="4"><input type="submit" class="button" id="savelinebutton" name="save" value="'.$langs->trans("Save").'">';
|
||||||
print '<input type="submit" class="button" id="cancellinebutton" name="Cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
|
print '<input type="submit" class="button" id="cancellinebutton" name="Cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
|
||||||
print '</table></form>';
|
print '</table></form>';
|
||||||
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print "\n".'<tr><td align="right">';
|
print "\n".'<tr><td align="right">';
|
||||||
print img_picto($langs->trans("Tranfer"),'uparrow','class="hideonsmartphone"').' ';
|
print img_picto($langs->trans("Tranfer"),'uparrow','class="hideonsmartphone"').' ';
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=transfert&pdluoid='.$pdluo->id.'">'.$langs->trans("StockTransfer").'</a>';
|
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&id_entrepot='.$entrepotstatic->id.'&action=transfert&pdluoid='.$pdluo->id.'">'.$langs->trans("StockTransfer").'</a>';
|
||||||
// Disabled, because edition of stock content must use the "Correct stock menu".
|
// Disabled, because edition of stock content must use the "Correct stock menu".
|
||||||
// Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ...
|
// Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ...
|
||||||
//print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$id.'&action=editline&lineid='.$pdluo->id.'#'.$pdluo->id.'">';
|
//print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$id.'&action=editline&lineid='.$pdluo->id.'#'.$pdluo->id.'">';
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
print '<td colspan="3">';
|
print '<td colspan="3">';
|
||||||
print '<input type="text" name="label" size="60" value="'.dol_escape_htmltag($valformovementlabel).'">';
|
print '<input type="text" name="label" size="60" value="'.dol_escape_htmltag($valformovementlabel).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td width="20%">'.$langs->trans("InventoryCode").'</td><td width="20%"><input class="flat" name="inventorycode" id="inventorycode" size="14" value="'.GETPOST("inventorycode").'"></td>';
|
print '<td width="20%">'.$langs->trans("InventoryCode").'</td><td width="20%"><input class="flat" name="inventorycode" id="inventorycode" size="14" value="'.(GETPOST("inventorycode")?GETPOST("inventorycode",'alpha'):dol_print_date(dol_now(),'%y%m%d%H%M%S')).'"></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|||||||
@@ -185,7 +185,9 @@ if ($action == 'edit')
|
|||||||
|
|
||||||
dol_fiche_head($head, 'translation', $titre, 0, $picto);
|
dol_fiche_head($head, 'translation', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
if (! empty($object->multilangs))
|
if (! empty($object->multilangs))
|
||||||
{
|
{
|
||||||
@@ -227,7 +229,9 @@ else
|
|||||||
{
|
{
|
||||||
dol_fiche_head($head, 'translation', $titre, 0, $picto);
|
dol_fiche_head($head, 'translation', $titre, 0, $picto);
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
|
$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
|
||||||
|
|
||||||
$cnt_trans = 0;
|
$cnt_trans = 0;
|
||||||
if (! empty($object->multilangs))
|
if (! empty($object->multilangs))
|
||||||
|
|||||||
@@ -88,19 +88,14 @@ if ($socid)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border centpercent">';
|
print '<table class="border centpercent">';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('AliasNames').'</td><td colspan="3">';
|
|
||||||
print $object->name_alias;
|
|
||||||
print "</td></tr>";
|
|
||||||
|
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
print '<tr><td class="titlefield">'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($object->client)
|
if ($object->client)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
||||||
print $object->code_client;
|
print $object->code_client;
|
||||||
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
||||||
@@ -109,7 +104,7 @@ if ($socid)
|
|||||||
|
|
||||||
if ($object->fournisseur)
|
if ($object->fournisseur)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
||||||
print $object->code_fournisseur;
|
print $object->code_fournisseur;
|
||||||
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
||||||
|
|||||||
@@ -1009,7 +1009,7 @@ class Societe extends CommonObject
|
|||||||
global $langs;
|
global $langs;
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
if (empty($rowid) && empty($ref) && empty($ref_ext) && empty($ref_int)) return -1;
|
if (empty($rowid) && empty($ref) && empty($ref_ext) && empty($ref_int) && empty($idprof1) && empty($idprof2) && empty($idprof3) && empty($idprof4)) return -1;
|
||||||
|
|
||||||
$sql = 'SELECT s.rowid, s.nom as name, s.name_alias, s.entity, s.ref_ext, s.ref_int, s.address, s.datec as date_creation, s.prefix_comm';
|
$sql = 'SELECT s.rowid, s.nom as name, s.name_alias, s.entity, s.ref_ext, s.ref_int, s.address, s.datec as date_creation, s.prefix_comm';
|
||||||
$sql .= ', s.status';
|
$sql .= ', s.status';
|
||||||
|
|||||||
@@ -121,20 +121,16 @@ print '<div class="fichecenter">';
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
|
||||||
print '<tr id="name_alias"><td class="titlefield"><label for="name_alias_input">'.$langs->trans('AliasNames').'</label></td>';
|
|
||||||
print '<td colspan="3">'.$object->name_alias.'</td></tr>';
|
|
||||||
|
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
print '<tr><td class="titlefield">'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
//if ($conf->agenda->enabled && $user->rights->agenda->myactions->read) $elementTypeArray['action']=$langs->transnoentitiesnoconv('Events');
|
//if ($conf->agenda->enabled && $user->rights->agenda->myactions->read) $elementTypeArray['action']=$langs->transnoentitiesnoconv('Events');
|
||||||
|
|
||||||
if ($object->client)
|
if ($object->client)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
||||||
print $object->code_client;
|
print $object->code_client;
|
||||||
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
||||||
@@ -155,7 +151,7 @@ if ($object->client)
|
|||||||
|
|
||||||
if ($object->fournisseur)
|
if ($object->fournisseur)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
||||||
print $object->code_fournisseur;
|
print $object->code_fournisseur;
|
||||||
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
||||||
|
|||||||
@@ -116,20 +116,15 @@ if ($object->id)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border centpercent">';
|
print '<table class="border centpercent">';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
|
||||||
print '<tr><td class="titlefield" width="25%">'.$langs->trans('AliasNames').'</td><td colspan="3">';
|
|
||||||
print $object->name_alias;
|
|
||||||
print "</td></tr>";
|
|
||||||
|
|
||||||
// Prefix
|
// Prefix
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
print '<tr><td class="titlefield">'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($object->client)
|
if ($object->client)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
||||||
print $object->code_client;
|
print $object->code_client;
|
||||||
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
||||||
@@ -138,7 +133,7 @@ if ($object->id)
|
|||||||
|
|
||||||
if ($object->fournisseur)
|
if ($object->fournisseur)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
||||||
print $object->code_fournisseur;
|
print $object->code_fournisseur;
|
||||||
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
||||||
@@ -146,7 +141,7 @@ if ($object->id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Number of files
|
// Number of files
|
||||||
print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
|
print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
|
||||||
|
|
||||||
// Total size
|
// Total size
|
||||||
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
|
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
|
||||||
|
|||||||
@@ -82,19 +82,14 @@ if ($id > 0)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border centpercent">';
|
print '<table class="border centpercent">';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
|
||||||
print '<tr><td class="titlefield" width="25%">'.$langs->trans('AliasNames').'</td><td colspan="3">';
|
|
||||||
print $object->name_alias;
|
|
||||||
print "</td></tr>";
|
|
||||||
|
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
print '<tr><td class="titlefield">'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($object->client)
|
if ($object->client)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
||||||
print $object->code_client;
|
print $object->code_client;
|
||||||
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
||||||
@@ -103,7 +98,7 @@ if ($id > 0)
|
|||||||
|
|
||||||
if ($object->fournisseur)
|
if ($object->fournisseur)
|
||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td class="titlefield">';
|
||||||
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
||||||
print $object->code_fournisseur;
|
print $object->code_fournisseur;
|
||||||
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
||||||
|
|||||||
@@ -87,11 +87,6 @@ if ($socid)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border centpercent">';
|
print '<table class="border centpercent">';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('AliasNames').'</td><td colspan="3">';
|
|
||||||
print $object->name_alias;
|
|
||||||
print "</td></tr>";
|
|
||||||
|
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
||||||
|
|||||||
@@ -986,8 +986,8 @@ else
|
|||||||
print '<td colspan="3"><input type="text" size="60" name="name_alias" id="name_alias_input" value="'.$object->name_alias.'" size="32"></td></tr>';
|
print '<td colspan="3"><input type="text" size="60" name="name_alias" id="name_alias_input" value="'.$object->name_alias.'" size="32"></td></tr>';
|
||||||
|
|
||||||
// Prospect/Customer
|
// Prospect/Customer
|
||||||
print '<tr><td width="25%">'.fieldLabel('ProspectCustomer','customerprospect',1).'</td>';
|
print '<tr><td class="titlefieldcreate">'.fieldLabel('ProspectCustomer','customerprospect',1).'</td>';
|
||||||
print '<td width="25%" class="maxwidthonsmartphone">';
|
print '<td class="maxwidthonsmartphone">';
|
||||||
$selected=isset($_POST['client'])?GETPOST('client'):$object->client;
|
$selected=isset($_POST['client'])?GETPOST('client'):$object->client;
|
||||||
print '<select class="flat" name="client" id="customerprospect">';
|
print '<select class="flat" name="client" id="customerprospect">';
|
||||||
if (GETPOST("type") == '') print '<option value="-1"></option>';
|
if (GETPOST("type") == '') print '<option value="-1"></option>';
|
||||||
@@ -997,7 +997,7 @@ else
|
|||||||
print '<option value="0"'.((string) $selected == '0'?' selected':'').'>'.$langs->trans('NorProspectNorCustomer').'</option>';
|
print '<option value="0"'.((string) $selected == '0'?' selected':'').'>'.$langs->trans('NorProspectNorCustomer').'</option>';
|
||||||
print '</select></td>';
|
print '</select></td>';
|
||||||
|
|
||||||
print '<td width="25%">'.fieldLabel('CustomerCode','customer_code').'</td><td width="25%">';
|
print '<td>'.fieldLabel('CustomerCode','customer_code').'</td><td width="25%">';
|
||||||
print '<table class="nobordernopadding"><tr><td>';
|
print '<table class="nobordernopadding"><tr><td>';
|
||||||
$tmpcode=$object->code_client;
|
$tmpcode=$object->code_client;
|
||||||
if (empty($tmpcode) && ! empty($modCodeClient->code_auto)) $tmpcode=$modCodeClient->getNextValue($object,0);
|
if (empty($tmpcode) && ! empty($modCodeClient->code_auto)) $tmpcode=$modCodeClient->getNextValue($object,0);
|
||||||
@@ -1494,7 +1494,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Name
|
// Name
|
||||||
print '<tr><td width="25%">'.fieldLabel('ThirdPartyName','name',1).'</td>';
|
print '<tr><td class="titlefield">'.fieldLabel('ThirdPartyName','name',1).'</td>';
|
||||||
print '<td colspan="3"><input type="text" size="60" maxlength="128" name="name" id="name" value="'.dol_escape_htmltag($object->name).'" autofocus="autofocus"></td></tr>';
|
print '<td colspan="3"><input type="text" size="60" maxlength="128" name="name" id="name" value="'.dol_escape_htmltag($object->name).'" autofocus="autofocus"></td></tr>';
|
||||||
|
|
||||||
// Alias names (commercial, trademark or alias names)
|
// Alias names (commercial, trademark or alias names)
|
||||||
@@ -1519,8 +1519,8 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prospect/Customer
|
// Prospect/Customer
|
||||||
print '<tr><td width="25%">'.fieldLabel('ProspectCustomer','customerprospect',1).'</td>';
|
print '<tr><td>'.fieldLabel('ProspectCustomer','customerprospect',1).'</td>';
|
||||||
print '<td width="25%"><select class="flat" name="client" id="customerprospect">';
|
print '<td><select class="flat" name="client" id="customerprospect">';
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) print '<option value="2"'.($object->client==2?' selected':'').'>'.$langs->trans('Prospect').'</option>';
|
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) print '<option value="2"'.($object->client==2?' selected':'').'>'.$langs->trans('Prospect').'</option>';
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print '<option value="3"'.($object->client==3?' selected':'').'>'.$langs->trans('ProspectCustomer').'</option>';
|
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print '<option value="3"'.($object->client==3?' selected':'').'>'.$langs->trans('ProspectCustomer').'</option>';
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print '<option value="1"'.($object->client==1?' selected':'').'>'.$langs->trans('Customer').'</option>';
|
if (empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print '<option value="1"'.($object->client==1?' selected':'').'>'.$langs->trans('Customer').'</option>';
|
||||||
|
|||||||
@@ -3142,19 +3142,19 @@ table.cal_month { border-spacing: 0px; }
|
|||||||
table.cal_month td:first-child { border-left: 0px; }
|
table.cal_month td:first-child { border-left: 0px; }
|
||||||
table.cal_month td:last-child { border-right: 0px; }
|
table.cal_month td:last-child { border-right: 0px; }
|
||||||
.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
||||||
.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
.cal_current_month_peruserleft { border-top: 0; border-left: solid 2px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
||||||
.cal_current_month_oneday { border-right: solid 1px #E0E0E0; }
|
.cal_current_month_oneday { border-right: solid 1px #E0E0E0; }
|
||||||
.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; }
|
.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; }
|
||||||
.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; }
|
.cal_other_month_peruserleft { border-top: 0; border-left: solid 2px #6C7C7B !important; border-right: 0; }
|
||||||
.cal_current_month_right { border-right: solid 1px #E0E0E0; }
|
.cal_current_month_right { border-right: solid 1px #E0E0E0; }
|
||||||
.cal_other_month_right { border-right: solid 1px #C0C0C0; }
|
.cal_other_month_right { border-right: solid 1px #C0C0C0; }
|
||||||
.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 2px #6C7C7B; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 3px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 2px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_past { }
|
.cal_past { }
|
||||||
.cal_peruser { padding: 0px; }
|
.cal_peruser { padding: 0px; }
|
||||||
.cal_impair { background: #F8F8F8; }
|
.cal_impair { background: #F8F8F8; }
|
||||||
@@ -3642,9 +3642,9 @@ div.dolEventError h1, div.dolEventError h2 {
|
|||||||
/* ============================================================================== */
|
/* ============================================================================== */
|
||||||
|
|
||||||
.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, #google-visualization-geomap-embed-2 {
|
.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, #google-visualization-geomap-embed-2 {
|
||||||
-moz-box-shadow: 0px 0px 10px #AAA;
|
/* -moz-box-shadow: 0px 0px 10px #AAA;
|
||||||
-webkit-box-shadow: 0px 0px 10px #AAA;
|
-webkit-box-shadow: 0px 0px 10px #AAA;
|
||||||
box-shadow: 0px 0px 10px #AAA;
|
box-shadow: 0px 0px 10px #AAA; */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3019,19 +3019,19 @@ table.cal_month { border-spacing: 0px; }
|
|||||||
table.cal_month td:first-child { border-left: 0px; }
|
table.cal_month td:first-child { border-left: 0px; }
|
||||||
table.cal_month td:last-child { border-right: 0px; }
|
table.cal_month td:last-child { border-right: 0px; }
|
||||||
.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
||||||
.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
.cal_current_month_peruserleft { border-top: 0; border-left: solid 2px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; }
|
||||||
.cal_current_month_oneday { border-right: solid 1px #E0E0E0; }
|
.cal_current_month_oneday { border-right: solid 1px #E0E0E0; }
|
||||||
.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; }
|
.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; }
|
||||||
.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; }
|
.cal_other_month_peruserleft { border-top: 0; border-left: solid 2px #6C7C7B !important; border-right: 0; }
|
||||||
.cal_current_month_right { border-right: solid 1px #E0E0E0; }
|
.cal_current_month_right { border-right: solid 1px #E0E0E0; }
|
||||||
.cal_other_month_right { border-right: solid 1px #C0C0C0; }
|
.cal_other_month_right { border-right: solid 1px #C0C0C0; }
|
||||||
.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 2px #6C7C7B; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 3px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 2px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-<?php print $left; ?>: 2px; padding-<?php print $right; ?>: 1px; padding-top: 0px; padding-bottom: 0px; }
|
||||||
.cal_past { }
|
.cal_past { }
|
||||||
.cal_peruser { padding: 0px; }
|
.cal_peruser { padding: 0px; }
|
||||||
.cal_impair { background: #F8F8F8; }
|
.cal_impair { background: #F8F8F8; }
|
||||||
@@ -3518,9 +3518,9 @@ div.dolEventError h1, div.dolEventError h2 {
|
|||||||
/* ============================================================================== */
|
/* ============================================================================== */
|
||||||
|
|
||||||
.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 {
|
.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 {
|
||||||
-moz-box-shadow: 0px 0px 10px #AAA;
|
/* -moz-box-shadow: 0px 0px 10px #AAA;
|
||||||
-webkit-box-shadow: 0px 0px 10px #AAA;
|
-webkit-box-shadow: 0px 0px 10px #AAA;
|
||||||
box-shadow: 0px 0px 10px #AAA;
|
box-shadow: 0px 0px 10px #AAA; */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user