Debut correction pour gestion cas utilisation no UCIN06.
Les remises de type avoir ne doivent pas s'inclure dans les lignes details mais dans comme paiements deja réalisé.
This commit is contained in:
parent
5ea6cf58ae
commit
85f5d72d64
@ -56,7 +56,7 @@ print_titre($langs->trans("NewProp"));
|
||||
|
||||
$html=new Form($db);
|
||||
|
||||
// Récupération de l'id de projet
|
||||
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet
|
||||
$projetid = 0;
|
||||
if ($_GET["projetid"])
|
||||
{
|
||||
@ -129,7 +129,7 @@ if ($_GET["action"] == 'create')
|
||||
else print $langs->trans("CompanyHasNoRelativeDiscount");
|
||||
$absolute_discount=$soc->getCurrentDiscount();
|
||||
print '. ';
|
||||
if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->monnaie));
|
||||
if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie));
|
||||
else print $langs->trans("CompanyHasNoAbsoluteDiscount");
|
||||
print '.';
|
||||
print '</td></tr>';
|
||||
@ -141,12 +141,12 @@ if ($_GET["action"] == 'create')
|
||||
|
||||
print '<tr><td>'.$langs->trans("ValidityDuration").'</td><td colspan="2"><input name="duree_validite" size="5" value="'.$conf->global->PROPALE_VALIDITY_DURATION.'"> '.$langs->trans("days").'</td></tr>';
|
||||
|
||||
// Conditions de réglement
|
||||
// Conditions de r<EFBFBD>glement
|
||||
print '<tr><td nowrap>'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
|
||||
$html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id');
|
||||
print '</td></tr>';
|
||||
|
||||
// Mode de réglement
|
||||
// Mode de r<EFBFBD>glement
|
||||
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">';
|
||||
$html->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
|
||||
print '</td></tr>';
|
||||
|
||||
@ -67,10 +67,10 @@ else if (isset($_GET["propalid"]) && $_GET["propalid"] > 0)
|
||||
$dbtable='propal';
|
||||
}
|
||||
|
||||
// Sécurité d'accès client et commerciaux
|
||||
// S<EFBFBD>curit<EFBFBD> d'acc<63>s client et commerciaux
|
||||
$socid = restrictedArea($user, $module, $objectid, $dbtable);
|
||||
|
||||
// Nombre de ligne pour choix de produit/service prédéfinis
|
||||
// Nombre de ligne pour choix de produit/service pr<EFBFBD>d<EFBFBD>finis
|
||||
$NBLINES=4;
|
||||
|
||||
$form=new Form($db);
|
||||
@ -180,7 +180,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
|
||||
|
||||
$db->begin();
|
||||
|
||||
// Si on a selectionné une propal à copier, on réalise la copie
|
||||
// Si on a selectionn<EFBFBD> une propal <20> copier, on r<>alise la copie
|
||||
if($_POST['createmode']=='copy' && $_POST['copie_propal'])
|
||||
{
|
||||
if ($propal->fetch($_POST['copie_propal']) > 0)
|
||||
@ -244,7 +244,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
|
||||
{
|
||||
$error=0;
|
||||
|
||||
// Insertion contact par defaut si défini
|
||||
// Insertion contact par defaut si d<EFBFBD>fini
|
||||
if ($_POST["contactidp"])
|
||||
{
|
||||
$result=$propal->add_contact($_POST["contactidp"],'CUSTOMER','external');
|
||||
@ -323,13 +323,13 @@ if ($_POST['action'] == 'send')
|
||||
|
||||
if ($_POST['sendto'])
|
||||
{
|
||||
// Le destinataire a été fourni via le champ libre
|
||||
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via le champ libre
|
||||
$sendto = $_POST['sendto'];
|
||||
$sendtoid = 0;
|
||||
}
|
||||
elseif ($_POST['receiver'])
|
||||
{
|
||||
// Le destinataire a été fourni via la liste déroulante
|
||||
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via la liste d<>roulante
|
||||
if ($_POST['receiver'] < 0) // Id du tiers
|
||||
{
|
||||
$sendto = $propal->client->email;
|
||||
@ -360,11 +360,11 @@ if ($_POST['action'] == 'send')
|
||||
}
|
||||
|
||||
$actiontypeid=3;
|
||||
$actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
|
||||
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>';
|
||||
|
||||
if ($message)
|
||||
{
|
||||
$actionmsg.='Texte utilisé dans le corps du message:<br>';
|
||||
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>';
|
||||
$actionmsg.=$message;
|
||||
}
|
||||
|
||||
@ -455,7 +455,7 @@ if ($_POST['action'] == 'send')
|
||||
{
|
||||
$langs->load("other");
|
||||
$mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>';
|
||||
dolibarr_syslog('Impossible de lire les données de la facture. Le fichier facture n\'a peut-être pas été généré.');
|
||||
dolibarr_syslog('Impossible de lire les donn<EFBFBD>es de la facture. Le fichier facture n\'a peut-<2D>tre pas <20>t<EFBFBD> g<>n<EFBFBD>r<EFBFBD>.');
|
||||
}
|
||||
}
|
||||
|
||||
@ -479,6 +479,27 @@ if ($_GET['action'] == 'modif' && $user->rights->propale->creer)
|
||||
$propal->set_draft($user->id);
|
||||
}
|
||||
|
||||
if ($_POST['action'] == "setabsolutediscount" && $user->rights->propale->creer)
|
||||
{
|
||||
if ($_POST["remise_id"])
|
||||
{
|
||||
$prop = new Propal($db);
|
||||
$prop->id=$_GET['propalid'];
|
||||
$ret=$prop->fetch($_GET['propalid']);
|
||||
if ($ret > 0)
|
||||
{
|
||||
$result=$prop->insert_discount($_POST["remise_id"]);
|
||||
if ($result < 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$prop->error.'</div>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dolibarr_print_error($db,$prop->error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Ajout d'une ligne produit dans la propale
|
||||
@ -577,7 +598,7 @@ if ($_POST['action'] == "addligne" && $user->rights->propale->creer)
|
||||
}
|
||||
|
||||
/*
|
||||
* Mise à jour d'une ligne dans la propale
|
||||
* Mise <EFBFBD> jour d'une ligne dans la propale
|
||||
*/
|
||||
if ($_POST['action'] == 'updateligne' && $user->rights->propale->creer && $_POST["save"] == $langs->trans("Save"))
|
||||
{
|
||||
@ -637,7 +658,7 @@ if ($_POST['action'] == 'classin')
|
||||
$propal->set_project($user, $_POST['projetidp']);
|
||||
}
|
||||
|
||||
// Conditions de règlement
|
||||
// Conditions de r<EFBFBD>glement
|
||||
if ($_POST["action"] == 'setconditions')
|
||||
{
|
||||
$propal = new Propal($db);
|
||||
@ -662,7 +683,7 @@ if ($_REQUEST['action'] == 'setremiseabsolue' && $user->rights->propale->creer)
|
||||
$_GET['propalid']=$_REQUEST['propalid'];
|
||||
}
|
||||
|
||||
// Mode de règlement
|
||||
// Mode de r<EFBFBD>glement
|
||||
if ($_POST["action"] == 'setmode')
|
||||
{
|
||||
$propal = new Propal($db);
|
||||
@ -794,7 +815,7 @@ if ($_GET['propalid'] > 0)
|
||||
|
||||
$rowspan=8;
|
||||
|
||||
// Société
|
||||
// Soci<EFBFBD>t<EFBFBD>
|
||||
print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$societe->getNomUrl(1).'</td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -802,21 +823,28 @@ if ($_GET['propalid'] > 0)
|
||||
print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="5">';
|
||||
if ($societe->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$societe->remise_client);
|
||||
else print $langs->trans("CompanyHasNoRelativeDiscount");
|
||||
$absolute_discount=$societe->getCurrentDiscount();
|
||||
$absolute_discount=$societe->getCurrentDiscount('','fk_facture_source IS NULL');
|
||||
$absolute_creditnote=$societe->getCurrentDiscount('','fk_facture_source IS NOT NULL');
|
||||
print '. ';
|
||||
if ($absolute_discount)
|
||||
{
|
||||
if ($propal->statut > 0)
|
||||
{
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie));
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->monnaie));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Remise dispo de type non avoir
|
||||
$filter='fk_facture_source IS NULL';
|
||||
print '<br>';
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?propalid='.$propal->id,0,'remise_id',$societe->id,$absolute_discount);
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?propalid='.$propal->id,0,'remise_id',$societe->id,$absolute_discount,$filter);
|
||||
}
|
||||
}
|
||||
else print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
if ($absolute_creditnote)
|
||||
{
|
||||
print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->monnaie)).'. ';
|
||||
}
|
||||
if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
print '</td></tr>';
|
||||
|
||||
// Dates
|
||||
@ -868,8 +896,8 @@ if ($_GET['propalid'] > 0)
|
||||
print '</tr>';
|
||||
|
||||
|
||||
// date de livraison (conditionné sur PROPALE_ADD_SHIPPING_DATE car carac à
|
||||
// gérer par les commandes et non les propal
|
||||
// date de livraison (conditionn<EFBFBD> sur PROPALE_ADD_SHIPPING_DATE car carac <20>
|
||||
// g<EFBFBD>rer par les commandes et non les propal
|
||||
if ($conf->expedition->enabled)
|
||||
{
|
||||
if ($conf->global->PROPALE_ADD_SHIPPING_DATE)
|
||||
@ -921,7 +949,7 @@ if ($_GET['propalid'] > 0)
|
||||
}
|
||||
}
|
||||
|
||||
// Conditions et modes de réglement
|
||||
// Conditions et modes de r<EFBFBD>glement
|
||||
print '<tr><td>';
|
||||
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
||||
print $langs->trans('PaymentConditionsShort');
|
||||
@ -1175,7 +1203,7 @@ if ($_GET['propalid'] > 0)
|
||||
print '<td class="nobordernopadding" nowrap="nowrap" align="left">';
|
||||
if (($objp->info_bits & 2) == 2)
|
||||
{
|
||||
// Ligne remise prédéfinie, on ne permet pas modif
|
||||
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on ne permet pas modif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1227,7 +1255,7 @@ if ($_GET['propalid'] > 0)
|
||||
print '<td align="center">';
|
||||
if (($objp->info_bits & 2) == 2)
|
||||
{
|
||||
// Ligne remise prédéfinie, on permet pas modif
|
||||
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on permet pas modif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1302,7 +1330,7 @@ if ($_GET['propalid'] > 0)
|
||||
}
|
||||
if ($_GET["action"] == 'editline')
|
||||
{
|
||||
// éditeur wysiwyg
|
||||
// <EFBFBD>diteur wysiwyg
|
||||
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
|
||||
@ -1351,7 +1379,7 @@ if ($_GET['propalid'] > 0)
|
||||
if ($conf->service->enabled)
|
||||
{
|
||||
print "<tr $bc[$var]>";
|
||||
print '<td colspan="5">Si produit de type service à durée limitée: Du ';
|
||||
print '<td colspan="5">Si produit de type service <EFBFBD> dur<75>e limit<69>e: Du ';
|
||||
print $html->select_date($objp->date_start,"date_start",0,0,$objp->date_start?0:1);
|
||||
print ' au ';
|
||||
print $html->select_date($objp->date_end,"date_end",0,0,$objp->date_end?0:1);
|
||||
@ -1389,7 +1417,7 @@ if ($_GET['propalid'] > 0)
|
||||
print '<td colspan="4"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
// Ajout produit produits/services personnalisés
|
||||
// Ajout produit produits/services personnalis<EFBFBD>s
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'#add" method="post">';
|
||||
print '<input type="hidden" name="propalid" value="'.$propal->id.'">';
|
||||
print '<input type="hidden" name="action" value="addligne">';
|
||||
@ -1398,7 +1426,7 @@ if ($_GET['propalid'] > 0)
|
||||
|
||||
print '<tr '.$bc[$var].">\n";
|
||||
print '<td '.$colspan.'>';
|
||||
// éditeur wysiwyg
|
||||
// <EFBFBD>diteur wysiwyg
|
||||
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
|
||||
@ -1428,7 +1456,7 @@ if ($_GET['propalid'] > 0)
|
||||
|
||||
print '</form>';
|
||||
|
||||
// Ajout de produits/services prédéfinis
|
||||
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis
|
||||
if ($conf->produit->enabled)
|
||||
{
|
||||
if ($conf->global->PRODUIT_USE_MARKUP)
|
||||
@ -1475,7 +1503,7 @@ if ($_GET['propalid'] > 0)
|
||||
|
||||
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
|
||||
{
|
||||
// éditeur wysiwyg
|
||||
// <EFBFBD>diteur wysiwyg
|
||||
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
|
||||
@ -1505,7 +1533,7 @@ if ($_GET['propalid'] > 0)
|
||||
print "\n";
|
||||
|
||||
/*
|
||||
* Formulaire cloture (signé ou non)
|
||||
* Formulaire cloture (sign<EFBFBD> ou non)
|
||||
*/
|
||||
$form_close = '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'" method="post">';
|
||||
$form_close.= '<table class="border" width="100%">';
|
||||
@ -1639,7 +1667,7 @@ if ($_GET['propalid'] > 0)
|
||||
|
||||
|
||||
/*
|
||||
* Documents générés
|
||||
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s
|
||||
*/
|
||||
$filename=sanitize_string($propal->ref);
|
||||
$filedir=$conf->propal->dir_output . "/" . sanitize_string($propal->ref);
|
||||
@ -1653,7 +1681,7 @@ if ($_GET['propalid'] > 0)
|
||||
|
||||
|
||||
/*
|
||||
* Commandes rattachées
|
||||
* Commandes rattach<EFBFBD>es
|
||||
*/
|
||||
if($conf->commande->enabled)
|
||||
{
|
||||
@ -1688,7 +1716,7 @@ if ($_GET['propalid'] > 0)
|
||||
print '</td><td valign="top" width="50%">';
|
||||
|
||||
/*
|
||||
* Liste des actions propres à la propal
|
||||
* Liste des actions propres <EFBFBD> la propal
|
||||
*/
|
||||
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
|
||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
|
||||
@ -1750,7 +1778,7 @@ if ($_GET['propalid'] > 0)
|
||||
$liste[$key]=$value;
|
||||
}
|
||||
|
||||
// Créé l'objet formulaire mail
|
||||
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail
|
||||
include_once('../html.formmail.class.php');
|
||||
$formmail = new FormMail($db);
|
||||
$formmail->fromname = $user->fullname;
|
||||
@ -1764,7 +1792,7 @@ if ($_GET['propalid'] > 0)
|
||||
$formmail->withdeliveryreceipt=1;
|
||||
// Tableau des substitutions
|
||||
$formmail->substit['__PROPREF__']=$propal->ref;
|
||||
// Tableau des paramètres complémentaires
|
||||
// Tableau des param<EFBFBD>tres compl<70>mentaires
|
||||
$formmail->param['action']='send';
|
||||
$formmail->param['models']='propal_send';
|
||||
$formmail->param['propalid']=$propal->id;
|
||||
@ -1917,7 +1945,7 @@ else
|
||||
$url = DOL_URL_ROOT.'/comm/prospect/fiche.php?socid='.$objp->rowid;
|
||||
}
|
||||
|
||||
// Société
|
||||
// Soci<EFBFBD>t<EFBFBD>
|
||||
print '<td><a href="'.$url.'">'.img_object($langs->trans('ShowCompany'),'company').' '.$objp->nom.'</a></td>';
|
||||
|
||||
// Date propale
|
||||
|
||||
@ -52,7 +52,7 @@ $user->getrights('expedition');
|
||||
if (!$user->rights->commande->lire) accessforbidden();
|
||||
|
||||
|
||||
// Sécurité accés client
|
||||
// S<EFBFBD>curit<EFBFBD> acc<63>s client
|
||||
$socid=0;
|
||||
if ($user->societe_id > 0)
|
||||
{
|
||||
@ -69,7 +69,7 @@ if ($user->societe_id >0 && isset($_GET["id"]) && $_GET["id"]>0)
|
||||
|
||||
|
||||
|
||||
// Récupération de l'id de projet
|
||||
// R<EFBFBD>cup<EFBFBD>ration de l'id de projet
|
||||
$projetid = 0;
|
||||
if ($_GET["projetid"])
|
||||
{
|
||||
@ -147,7 +147,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
|
||||
$commande->note = $_POST['note'];
|
||||
$commande->source = $_POST['source_id'];
|
||||
$commande->projetid = $_POST['projetid'];
|
||||
//$commande->remise_absolue = $_POST['remise_absolue']; //la remise était appliquée sur les lignes et sur le total
|
||||
//$commande->remise_absolue = $_POST['remise_absolue']; //la remise <EFBFBD>tait appliqu<71>e sur les lignes et sur le total
|
||||
//$commande->remise_percent = $_POST['remise_percent'];
|
||||
$commande->ref_client = $_POST['ref_client'];
|
||||
$commande->modelpdf = $_POST['model'];
|
||||
@ -173,7 +173,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
|
||||
|
||||
if ($commande_id > 0)
|
||||
{
|
||||
// Insertion contact par defaut si défini
|
||||
// Insertion contact par defaut si d<EFBFBD>fini
|
||||
if ($_POST["contactidp"])
|
||||
{
|
||||
$result=$commande->add_contact($_POST["contactidp"],'CUSTOMER','external');
|
||||
@ -193,7 +193,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
|
||||
$action = '';
|
||||
}
|
||||
|
||||
// Fin création facture, on l'affiche
|
||||
// Fin cr<EFBFBD>ation facture, on l'affiche
|
||||
if ($commande_id > 0 && ! $error)
|
||||
{
|
||||
$db->commit();
|
||||
@ -393,7 +393,7 @@ if ($_POST['action'] == 'addligne' && $user->rights->commande->creer)
|
||||
}
|
||||
|
||||
/*
|
||||
* Mise à jour d'une ligne dans la commande
|
||||
* Mise <EFBFBD> jour d'une ligne dans la commande
|
||||
*/
|
||||
if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POST['save'] == $langs->trans('Save'))
|
||||
{
|
||||
@ -423,12 +423,12 @@ if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POS
|
||||
exit;
|
||||
}
|
||||
|
||||
$_GET['id']=$_POST['id']; // Pour réaffichage de la fiche en cours d'édition
|
||||
$_GET['id']=$_POST['id']; // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition
|
||||
}
|
||||
|
||||
if ($_POST['action'] == 'updateligne' && $user->rights->commande->creer && $_POST['cancel'] == $langs->trans('Cancel'))
|
||||
{
|
||||
Header('Location: fiche.php?id='.$_POST['id']); // Pour réaffichage de la fiche en cours d'édition
|
||||
Header('Location: fiche.php?id='.$_POST['id']); // Pour r<EFBFBD>affichage de la fiche en cours d'<27>dition
|
||||
exit;
|
||||
}
|
||||
|
||||
@ -511,10 +511,10 @@ if ($_REQUEST['action'] == 'builddoc') // En get ou en post
|
||||
{
|
||||
/*
|
||||
* Generation de la commande
|
||||
* définit dans /includes/modules/commande/modules_commande.php
|
||||
* d<EFBFBD>finit dans /includes/modules/commande/modules_commande.php
|
||||
*/
|
||||
|
||||
// Sauvegarde le dernier modèle choisi pour générer un document
|
||||
// Sauvegarde le dernier mod<EFBFBD>le choisi pour g<>n<EFBFBD>rer un document
|
||||
$commande = new Commande($db, 0, $_REQUEST['id']);
|
||||
$commande->fetch($_REQUEST['id']);
|
||||
if ($_REQUEST['model'])
|
||||
@ -573,13 +573,13 @@ if ($_POST['action'] == 'send')
|
||||
|
||||
if ($_POST['sendto'])
|
||||
{
|
||||
// Le destinataire a été fourni via le champ libre
|
||||
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via le champ libre
|
||||
$sendto = $_POST['sendto'];
|
||||
$sendtoid = 0;
|
||||
}
|
||||
elseif ($_POST['receiver'])
|
||||
{
|
||||
// Le destinataire a été fourni via la liste déroulante
|
||||
// Le destinataire a <EFBFBD>t<EFBFBD> fourni via la liste d<>roulante
|
||||
if ($_POST['receiver'] < 0) // Id du tiers
|
||||
{
|
||||
$sendto = $commande->client->email;
|
||||
@ -610,11 +610,11 @@ if ($_POST['action'] == 'send')
|
||||
}
|
||||
|
||||
$actiontypeid=8;
|
||||
$actionmsg ='Mail envoyé par '.$from.' à '.$sendto.'.<br>';
|
||||
$actionmsg ='Mail envoy<EFBFBD> par '.$from.' <20> '.$sendto.'.<br>';
|
||||
|
||||
if ($message)
|
||||
{
|
||||
$actionmsg.='Texte utilisé dans le corps du message:<br>';
|
||||
$actionmsg.='Texte utilis<EFBFBD> dans le corps du message:<br>';
|
||||
$actionmsg.=$message;
|
||||
}
|
||||
|
||||
@ -705,7 +705,7 @@ if ($_POST['action'] == 'send')
|
||||
{
|
||||
$langs->load("other");
|
||||
$mesg='<div class="error">'.$langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")).'</div>';
|
||||
dolibarr_syslog('Impossible de lire les données de la facture. Le fichier facture n\'a peut-être pas été généré.');
|
||||
dolibarr_syslog('Impossible de lire les donn<EFBFBD>es de la facture. Le fichier facture n\'a peut-<2D>tre pas <20>t<EFBFBD> g<>n<EFBFBD>r<EFBFBD>.');
|
||||
}
|
||||
}
|
||||
|
||||
@ -822,12 +822,12 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
|
||||
|
||||
print '</td></tr>';
|
||||
|
||||
// Conditions de réglement
|
||||
// Conditions de r<EFBFBD>glement
|
||||
print '<tr><td nowrap="nowrap">'.$langs->trans('PaymentConditionsShort').'</td><td>';
|
||||
$html->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id',-1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Mode de réglement
|
||||
// Mode de r<EFBFBD>glement
|
||||
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td>';
|
||||
$html->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
|
||||
print '</td></tr>';
|
||||
@ -877,7 +877,7 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
|
||||
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE)
|
||||
{
|
||||
/*
|
||||
* Services/produits prédéfinis
|
||||
* Services/produits pr<EFBFBD>d<EFBFBD>finis
|
||||
*/
|
||||
$NBLINES=8;
|
||||
|
||||
@ -1022,7 +1022,7 @@ else
|
||||
*/
|
||||
if ($_GET['action'] == 'validate')
|
||||
{
|
||||
// on vérifie si la facture est en numérotation provisoire
|
||||
// on v<EFBFBD>rifie si la facture est en num<75>rotation provisoire
|
||||
$ref = substr($commande->ref, 1, 4);
|
||||
if ($ref == 'PROV')
|
||||
{
|
||||
@ -1075,8 +1075,7 @@ else
|
||||
|
||||
// Ref
|
||||
print '<tr><td width="18%">'.$langs->trans('Ref').'</td>';
|
||||
print '<td colspan="2">'.$commande->ref.'</td>';
|
||||
print '<td align="right">'.$langs->trans('Author').' : '.$author->fullname.'</td>';
|
||||
print '<td colspan="3">'.$commande->ref.'</td>';
|
||||
print '</tr>';
|
||||
|
||||
// Ref commande client
|
||||
@ -1103,7 +1102,7 @@ else
|
||||
print '</tr>';
|
||||
|
||||
|
||||
// Société
|
||||
// Soci<EFBFBD>t<EFBFBD>
|
||||
print '<tr><td>'.$langs->trans('Company').'</td>';
|
||||
print '<td colspan="3">'.$soc->getNomUrl(1).'</td>';
|
||||
print '</tr>';
|
||||
@ -1112,21 +1111,28 @@ else
|
||||
print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="3">';
|
||||
if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
|
||||
else print $langs->trans("CompanyHasNoRelativeDiscount");
|
||||
$absolute_discount=$soc->getCurrentDiscount();
|
||||
$absolute_discount=$soc->getCurrentDiscount('','fk_facture_source IS NULL');
|
||||
$absolute_creditnote=$soc->getCurrentDiscount('','fk_facture_source IS NOT NULL');
|
||||
print '. ';
|
||||
if ($absolute_discount)
|
||||
{
|
||||
if ($commande->statut > 0)
|
||||
{
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->monnaie));
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->transnoentities("Currency".$conf->monnaie));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Remise dispo de type non avoir
|
||||
$filter='fk_facture_source IS NULL';
|
||||
print '<br>';
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$commande->id,0,'remise_id',$soc->id,$absolute_discount);
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$commande->id,0,'remise_id',$soc->id,$absolute_discount,$filter);
|
||||
}
|
||||
}
|
||||
else print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
if ($absolute_creditnote)
|
||||
{
|
||||
print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->monnaie)).'. ';
|
||||
}
|
||||
if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
print '</td></tr>';
|
||||
|
||||
// Date
|
||||
@ -1194,7 +1200,7 @@ else
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// Conditions et modes de réglement
|
||||
// Conditions et modes de r<EFBFBD>glement
|
||||
print '<tr><td height="10">';
|
||||
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
||||
print $langs->trans('PaymentConditionsShort');
|
||||
@ -1213,7 +1219,7 @@ else
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
//Note public lorsque le module expedition n'est pas activé
|
||||
//Note public lorsque le module expedition n'est pas activ<EFBFBD>
|
||||
if (!$conf->projet->enabled) $nbrow--;
|
||||
if (!$conf->expedition->enabled)
|
||||
{
|
||||
@ -1342,7 +1348,7 @@ else
|
||||
$text.= ' - '.$objp->product;
|
||||
$description=($conf->global->PRODUIT_DESC_IN_FORM?'':$objp->description);
|
||||
print $html->textwithtooltip($text,$description,3,'','',$i);
|
||||
// Todo: voir si on insert ou pas en option les dates de début et de fin de service
|
||||
// Todo: voir si on insert ou pas en option les dates de d<EFBFBD>but et de fin de service
|
||||
//print_date_range($objp->date_start,$objp->date_end);
|
||||
if ($conf->global->PRODUIT_DESC_IN_FORM)
|
||||
{
|
||||
@ -1407,7 +1413,7 @@ else
|
||||
print '<td align="center">';
|
||||
if (($objp->info_bits & 2) == 2)
|
||||
{
|
||||
// Ligne remise prédéfinie, on permet pas modif
|
||||
// Ligne remise pr<EFBFBD>d<EFBFBD>finie, on permet pas modif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1479,7 +1485,7 @@ else
|
||||
print ' - '.nl2br($objp->product);
|
||||
print '<br>';
|
||||
}
|
||||
// éditeur wysiwyg
|
||||
// <EFBFBD>diteur wysiwyg
|
||||
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
|
||||
@ -1544,7 +1550,7 @@ else
|
||||
print '<td colspan="4"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
// Ajout produit produits/services personnalisés
|
||||
// Ajout produit produits/services personnalis<EFBFBD>s
|
||||
print '<form action="fiche.php?id='.$id.'#add" method="post">';
|
||||
print '<input type="hidden" name="id" value="'.$id.'">';
|
||||
print '<input type="hidden" name="action" value="addligne">';
|
||||
@ -1552,7 +1558,7 @@ else
|
||||
$var=true;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>';
|
||||
// éditeur wysiwyg
|
||||
// <EFBFBD>diteur wysiwyg
|
||||
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
|
||||
@ -1578,7 +1584,7 @@ else
|
||||
|
||||
print '</form>';
|
||||
|
||||
// Ajout de produits/services prédéfinis
|
||||
// Ajout de produits/services pr<EFBFBD>d<EFBFBD>finis
|
||||
if ($conf->produit->enabled)
|
||||
{
|
||||
print '<tr class="liste_titre">';
|
||||
@ -1618,7 +1624,7 @@ else
|
||||
|
||||
if (! $conf->global->PRODUIT_CHANGE_PROD_DESC)
|
||||
{
|
||||
// éditeur wysiwyg
|
||||
// <EFBFBD>diteur wysiwyg
|
||||
if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_DETAILS_PERSO)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
|
||||
@ -1656,7 +1662,7 @@ else
|
||||
print '<a class="butAction" ';
|
||||
if ($conf->use_ajax && $conf->global->MAIN_CONFIRM_AJAX)
|
||||
{
|
||||
// on vérifie si la facture est en numérotation provisoire
|
||||
// on v<EFBFBD>rifie si la facture est en num<75>rotation provisoire
|
||||
$ref = substr($commande->ref, 1, 4);
|
||||
if ($ref == 'PROV')
|
||||
{
|
||||
@ -1794,7 +1800,7 @@ else
|
||||
print '<a name="builddoc"></a>'; // ancre
|
||||
|
||||
/*
|
||||
* Documents générés
|
||||
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s
|
||||
*
|
||||
*/
|
||||
$comref = sanitize_string($commande->ref);
|
||||
@ -1850,7 +1856,7 @@ else
|
||||
print '</td><td valign="top" width="50%">';
|
||||
|
||||
/*
|
||||
* Liste des actions propres à la commande
|
||||
* Liste des actions propres <EFBFBD> la commande
|
||||
*/
|
||||
$sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
|
||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
|
||||
@ -1936,7 +1942,7 @@ else
|
||||
$liste[$key]=$value;
|
||||
}
|
||||
|
||||
// Créé l'objet formulaire mail
|
||||
// Cr<EFBFBD><EFBFBD> l'objet formulaire mail
|
||||
include_once('../html.formmail.class.php');
|
||||
$formmail = new FormMail($db);
|
||||
$formmail->fromname = $user->fullname;
|
||||
@ -1950,7 +1956,7 @@ else
|
||||
$formmail->withdeliveryreceipt=1;
|
||||
// Tableau des substitutions
|
||||
$formmail->substit['__ORDERREF__']=$commande->ref;
|
||||
// Tableau des paramètres complémentaires
|
||||
// Tableau des param<EFBFBD>tres compl<70>mentaires
|
||||
$formmail->param['action']='send';
|
||||
$formmail->param['models']='order_send';
|
||||
$formmail->param['orderid']=$commande->id;
|
||||
@ -1963,7 +1969,7 @@ else
|
||||
}
|
||||
else
|
||||
{
|
||||
// Commande non trouvée
|
||||
// Commande non trouv<EFBFBD>e
|
||||
dolibarr_print_error($db);
|
||||
}
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ $user->getrights('commande');
|
||||
|
||||
if (! $user->rights->commande->lire) accessforbidden();
|
||||
|
||||
// Sécurité accés client
|
||||
// S<EFBFBD>curit<EFBFBD> acc<63>s client
|
||||
if ($user->societe_id > 0)
|
||||
{
|
||||
$action = '';
|
||||
@ -126,7 +126,7 @@ if ($_GET["id"] > 0)
|
||||
print '</tr>';
|
||||
|
||||
|
||||
// Société
|
||||
// Soci<EFBFBD>t<EFBFBD>
|
||||
print '<tr><td>'.$langs->trans('Company').'</td>';
|
||||
print '<td colspan="3">'.$soc->getNomUrl(1,'compta').'</td>';
|
||||
print '</tr>';
|
||||
@ -135,21 +135,28 @@ if ($_GET["id"] > 0)
|
||||
print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="3">';
|
||||
if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
|
||||
else print $langs->trans("CompanyHasNoRelativeDiscount");
|
||||
$absolute_discount=$soc->getCurrentDiscount();
|
||||
$absolute_discount=$soc->getCurrentDiscount('','fk_facture_source IS NULL');
|
||||
$absolute_creditnote=$soc->getCurrentDiscount('','fk_facture_source IS NOT NULL');
|
||||
print '. ';
|
||||
if ($absolute_discount)
|
||||
{
|
||||
if ($commande->statut > 0)
|
||||
{
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie));
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->monnaie));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Remise dispo de type non avoir
|
||||
$filter='fk_facture_source IS NULL';
|
||||
print '<br>';
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$commande->id,0,'remise_id',$soc->id,$absolute_discount);
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$commande->id,0,'remise_id',$soc->id,$absolute_discount,$filter);
|
||||
}
|
||||
}
|
||||
else print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
if ($absolute_creditnote)
|
||||
{
|
||||
print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->monnaie)).'. ';
|
||||
}
|
||||
if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
print '</td></tr>';
|
||||
|
||||
// Date
|
||||
@ -214,7 +221,7 @@ if ($_GET["id"] > 0)
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
// Conditions et modes de réglement
|
||||
// Conditions et modes de r<EFBFBD>glement
|
||||
print '<tr><td height="10">';
|
||||
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
||||
print $langs->trans('PaymentConditionsShort');
|
||||
@ -436,7 +443,7 @@ if ($_GET["id"] > 0)
|
||||
|
||||
|
||||
/*
|
||||
* Documents générés
|
||||
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s
|
||||
*
|
||||
*/
|
||||
$comref = sanitize_string($commande->ref);
|
||||
@ -498,7 +505,7 @@ if ($_GET["id"] > 0)
|
||||
|
||||
|
||||
/*
|
||||
* Liste des expéditions
|
||||
* Liste des exp<EFBFBD>ditions
|
||||
*/
|
||||
$sql = "SELECT cd.fk_product, cd.description, cd.rowid, cd.qty as qty_commande";
|
||||
$sql .= " , ed.qty as qty_livre, e.ref, ed.fk_expedition as expedition_id";
|
||||
@ -593,7 +600,7 @@ if ($_GET["id"] > 0)
|
||||
}
|
||||
else
|
||||
{
|
||||
// Commande non trouvée
|
||||
// Commande non trouv<EFBFBD>e
|
||||
print "Commande inexistante";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1685,8 +1685,9 @@ else
|
||||
|
||||
$soc = new Societe($db, $fac->socid);
|
||||
$soc->fetch($fac->socid);
|
||||
$absolute_discount=$soc->getCurrentDiscount();
|
||||
|
||||
$absolute_discount=$soc->getCurrentDiscount('','fk_facture_source IS NULL');
|
||||
$absolute_creditnote=$soc->getCurrentDiscount('','fk_facture_source IS NOT NULL');
|
||||
|
||||
$totalpaye = $fac->getSommePaiement();
|
||||
$resteapayer = $fac->total_ttc - $totalpaye;
|
||||
if ($fac->paye) $resteapayer=0;
|
||||
@ -1956,15 +1957,32 @@ else
|
||||
{
|
||||
if ($fac->statut > 0 || $fac->type == 2)
|
||||
{
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie));
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->monnaie)).'. ';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Remise dispo de type non avoir
|
||||
$filter='fk_facture_source IS NULL';
|
||||
print '<br>';
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$fac->id,0,'remise_id',$soc->id,price($absolute_discount));
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$fac->id,0,'remise_id',$soc->id,$absolute_discount,$filter);
|
||||
}
|
||||
}
|
||||
else print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
if ($absolute_creditnote)
|
||||
{
|
||||
// If validated, we show link "add credit note to payment"
|
||||
if ($fac->statut != 1 || $fac->type == 2)
|
||||
{
|
||||
print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->monnaie)).'. ';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Remise dispo de type avoir
|
||||
$filter='fk_facture_source IS NOT NULL';
|
||||
if (! $absolute_discount) print '<br>';
|
||||
print $html->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$fac->id,0,'remise_id_for_payment',$soc->id,$absolute_creditnote,$filter);
|
||||
}
|
||||
}
|
||||
if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
|
||||
print '</td></tr>';
|
||||
|
||||
// Dates
|
||||
|
||||
@ -2382,10 +2382,9 @@ class Facture extends CommonObject
|
||||
if ($obj->fk_statut == 2) $qualified=1;
|
||||
if ($qualified)
|
||||
{
|
||||
|
||||
//$ref=$obj->facnumber;
|
||||
$ref=($obj->fk_paiement?1:0);
|
||||
$return[$obj->rowid]=$ref;
|
||||
$paymentornot=($obj->fk_paiement?1:0);
|
||||
$return[$obj->rowid]=$paymentornot;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||
* Copyright (C) 2006 Marc Barilley/Océbo <marc@ocebo.com>
|
||||
* Copyright (C) 2006 Marc Barilley/Oc<EFBFBD>bo <marc@ocebo.com>
|
||||
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be>
|
||||
* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
|
||||
*
|
||||
@ -30,14 +30,14 @@
|
||||
|
||||
/**
|
||||
\file htdocs/html.form.class.php
|
||||
\brief Fichier de la classe des fonctions prédéfinie de composants html
|
||||
\brief Fichier de la classe des fonctions pr<EFBFBD>d<EFBFBD>finie de composants html
|
||||
\version $Revision$
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
\class Form
|
||||
\brief Classe permettant la génération de composants html
|
||||
\brief Classe permettant la g<EFBFBD>n<EFBFBD>ration de composants html
|
||||
*/
|
||||
|
||||
class Form
|
||||
@ -54,7 +54,7 @@ class Form
|
||||
|
||||
/**
|
||||
\brief Constructeur
|
||||
\param DB handler d'accès base de donnée
|
||||
\param DB handler d'acc<EFBFBD>s base de donn<EFBFBD>e
|
||||
*/
|
||||
function Form($DB)
|
||||
{
|
||||
@ -66,10 +66,10 @@ class Form
|
||||
|
||||
/**
|
||||
\brief Affiche un texte+picto avec tooltip sur texte ou sur picto
|
||||
\param text Texte à afficher
|
||||
\param htmltext Contenu html du tooltip, codé en html
|
||||
\param tooltipon 1=tooltip sur texte, 2=tooltip sur picto, 3=tooltip sur les 2, 4=tooltip sur les 2 et forcé en Ajaxa
|
||||
\param direction -1=Le picto est avant, 0=pas de picto, 1=le picto est après
|
||||
\param text Texte <EFBFBD> afficher
|
||||
\param htmltext Contenu html du tooltip, cod<EFBFBD> en html
|
||||
\param tooltipon 1=tooltip sur texte, 2=tooltip sur picto, 3=tooltip sur les 2, 4=tooltip sur les 2 et forc<EFBFBD> en Ajaxa
|
||||
\param direction -1=Le picto est avant, 0=pas de picto, 1=le picto est apr<EFBFBD>s
|
||||
\param img Code img du picto
|
||||
\return string Code html du texte,picto
|
||||
*/
|
||||
@ -145,9 +145,9 @@ class Form
|
||||
|
||||
/**
|
||||
\brief Affiche un texte avec picto help qui affiche un tooltip
|
||||
\param text Texte à afficher
|
||||
\param text Texte <EFBFBD> afficher
|
||||
\param htmltooltip Contenu html du tooltip
|
||||
\param direction 1=Le picto est après, -1=le picto est avant
|
||||
\param direction 1=Le picto est apr<EFBFBD>s, -1=le picto est avant
|
||||
\param usehelpcursor 1=Utilise curseur help, 0=Curseur par defaut
|
||||
\return string Code html du texte,picto
|
||||
*/
|
||||
@ -158,9 +158,9 @@ class Form
|
||||
|
||||
/**
|
||||
\brief Affiche un texte avec picto warning qui affiche un tooltip
|
||||
\param text Texte à afficher
|
||||
\param text Texte <EFBFBD> afficher
|
||||
\param htmltooltip Contenu html du tooltip
|
||||
\param direction 1=Le picto est après, -1=le picto est avant
|
||||
\param direction 1=Le picto est apr<EFBFBD>s, -1=le picto est avant
|
||||
\return string Code html du texte,picto
|
||||
*/
|
||||
function textwithwarning($text,$htmltext,$direction=1)
|
||||
@ -170,13 +170,13 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des départements/province/cantons tout pays confondu ou pour un pays donné.
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des d<EFBFBD>partements/province/cantons tout pays confondu ou pour un pays donn<EFBFBD>.
|
||||
* \remarks Dans le cas d'une liste tout pays confondus, l'affichage fait une rupture sur le pays.
|
||||
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entrée pour
|
||||
* un code donnée mais dans ce cas, le champ pays diffère).
|
||||
* Ainsi les liens avec les départements se font sur un département indépendemment de nom som.
|
||||
* \param selected code forme juridique a présélectionné
|
||||
* \param pays_code 0=liste tous pays confondus, sinon code du pays à afficher
|
||||
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour
|
||||
* un code donn<EFBFBD>e mais dans ce cas, le champ pays diff<EFBFBD>re).
|
||||
* Ainsi les liens avec les d<EFBFBD>partements se font sur un d<EFBFBD>partement ind<EFBFBD>pendemment de nom som.
|
||||
* \param selected code forme juridique a pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param pays_code 0=liste tous pays confondus, sinon code du pays <EFBFBD> afficher
|
||||
*/
|
||||
function select_departement($selected='',$pays_code=0)
|
||||
{
|
||||
@ -187,7 +187,7 @@ class Form
|
||||
|
||||
$htmlname='departement_id';
|
||||
|
||||
// On recherche les départements/cantons/province active d'une region et pays actif
|
||||
// On recherche les d<EFBFBD>partements/cantons/province active d'une region et pays actif
|
||||
$sql = "SELECT d.rowid, d.code_departement as code , d.nom, d.active, p.libelle as libelle_pays, p.code as code_pays FROM";
|
||||
$sql .= " ".MAIN_DB_PREFIX ."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r,".MAIN_DB_PREFIX."c_pays as p";
|
||||
$sql .= " WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid";
|
||||
@ -232,7 +232,7 @@ class Form
|
||||
{
|
||||
print '<option value="'.$obj->rowid.'">';
|
||||
}
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
print $obj->code . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->nom!='-'?$obj->nom:''));
|
||||
print '</option>';
|
||||
}
|
||||
@ -248,9 +248,9 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des regions actives dont le pays est actif
|
||||
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entrée pour
|
||||
* un code donnée mais dans ce cas, le champ pays et lang diffère).
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des regions actives dont le pays est actif
|
||||
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour
|
||||
* un code donn<EFBFBD>e mais dans ce cas, le champ pays et lang diff<EFBFBD>re).
|
||||
* Ainsi les liens avec les regions se font sur une region independemment
|
||||
* de nom som.
|
||||
*/
|
||||
@ -307,7 +307,7 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Renvoie la liste des sources de commandes
|
||||
* \param selected Id de la source pré-sélectionnée
|
||||
* \param selected Id de la source pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom de la liste deroulante
|
||||
* \param addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
|
||||
* \return array Tableau des sources de commandes
|
||||
@ -364,11 +364,11 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des pays actifs, dans la langue de l'utilisateur
|
||||
* \param selected Id ou code pays pré-sélectionné
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des pays actifs, dans la langue de l'utilisateur
|
||||
* \param selected Id ou code pays pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la liste deroulante
|
||||
* \param htmloption Options html sur le select
|
||||
* \todo trier liste sur noms après traduction plutot que avant
|
||||
* \todo trier liste sur noms apr<EFBFBD>s traduction plutot que avant
|
||||
*/
|
||||
function select_pays($selected='',$htmlname='pays_id',$htmloption='')
|
||||
{
|
||||
@ -449,7 +449,7 @@ class Form
|
||||
{
|
||||
print '<option value="'.$obj->rowid.'">';
|
||||
}
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
if ($obj->code) { print $obj->code . ' - '; }
|
||||
print ($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code?$langs->trans("Country".$obj->code):($obj->libelle!='-'?$obj->libelle:' '));
|
||||
print '</option>';
|
||||
@ -469,8 +469,8 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des langues disponibles
|
||||
* \param selected Langue présélectionnée
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des langues disponibles
|
||||
* \param selected Langue pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param showauto Affiche choix auto
|
||||
*/
|
||||
@ -509,16 +509,16 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des menus disponibles (eldy_backoffice, ...)
|
||||
* \param selected Menu pré-sélectionnée
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des menus disponibles (eldy_backoffice, ...)
|
||||
* \param selected Menu pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param dirmenu Repértoire à scanner
|
||||
* \param dirmenu Rep<EFBFBD>rtoire <EFBFBD> scanner
|
||||
*/
|
||||
function select_menu($selected='',$htmlname,$dirmenu)
|
||||
{
|
||||
global $langs,$conf;
|
||||
|
||||
if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilité
|
||||
if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilit<EFBFBD>
|
||||
|
||||
$menuarray=array();
|
||||
$handle=opendir($dirmenu);
|
||||
@ -570,10 +570,10 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des menus disponibles (eldy)
|
||||
* \param selected Menu pré-sélectionnée
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des menus disponibles (eldy)
|
||||
* \param selected Menu pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param dirmenu Repértoire à scanner
|
||||
* \param dirmenu Rep<EFBFBD>rtoire <EFBFBD> scanner
|
||||
*/
|
||||
function select_menu_families($selected='',$htmlname,$dirmenu)
|
||||
{
|
||||
@ -615,7 +615,7 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des types de comptes financiers
|
||||
* \param selected Type pré-sélectionné
|
||||
* \param selected Type pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom champ formulaire
|
||||
*/
|
||||
function select_type_comptes_financiers($selected=1,$htmlname='type')
|
||||
@ -648,8 +648,8 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des sociétés
|
||||
* \param selected Societe présélectionnée
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des soci<EFBFBD>t<EFBFBD>s
|
||||
* \param selected Societe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom champ formulaire
|
||||
* \param filter Criteres optionnels de filtre
|
||||
*/
|
||||
@ -733,8 +733,8 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des remises fixes
|
||||
* \param selected Id remise fixe présélectionnée
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des remises fixes
|
||||
* \param selected Id remise fixe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom champ formulaire
|
||||
* \param filter Criteres optionnels de filtre
|
||||
*/
|
||||
@ -789,12 +789,12 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des contacts d'une société donnée
|
||||
* \param socid Id de la société
|
||||
* \param selected Id contact pré-sélectionn
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des contacts d'une soci<EFBFBD>t<EFBFBD> donn<EFBFBD>e
|
||||
* \param socid Id de la soci<EFBFBD>t<EFBFBD>
|
||||
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn
|
||||
* \param htmlname Nom champ formulaire ('none' pour champ non editable)
|
||||
* \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
|
||||
* \param exclude Liste des id contacts à exclure
|
||||
* \param exclude Liste des id contacts <EFBFBD> exclure
|
||||
* \return int <0 if KO, Nb of contact in list if OK
|
||||
*/
|
||||
function select_contacts($socid,$selected='',$htmlname='contactid',$showempty=0,$exclude='')
|
||||
@ -857,11 +857,11 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des utilisateurs
|
||||
* \param selected Id contact pré-sélectionn
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des utilisateurs
|
||||
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn
|
||||
* \param htmlname Nom champ formulaire
|
||||
* \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue
|
||||
* \param exclude Liste des id utilisateurs à exclure
|
||||
* \param exclude Liste des id utilisateurs <EFBFBD> exclure
|
||||
*/
|
||||
function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude='')
|
||||
{
|
||||
@ -910,9 +910,9 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
\brief Affiche la liste déroulante des projets d'une société donnée
|
||||
\param socid Id société
|
||||
\param selected Id projet présélectionné
|
||||
\brief Affiche la liste d<EFBFBD>roulante des projets d'une soci<EFBFBD>t<EFBFBD> donn<EFBFBD>e
|
||||
\param socid Id soci<EFBFBD>t<EFBFBD>
|
||||
\param selected Id projet pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
\param htmlname Nom de la zone html
|
||||
\return int Nbre de projet si ok, <0 si ko
|
||||
*/
|
||||
@ -958,11 +958,11 @@ class Form
|
||||
}
|
||||
}
|
||||
/**
|
||||
\brief Retourne la liste des produits en Ajax si ajax activé ou renvoie à select_produits_do
|
||||
\param selected Produit présélectionné
|
||||
\brief Retourne la liste des produits en Ajax si ajax activ<EFBFBD> ou renvoie <EFBFBD> select_produits_do
|
||||
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
\param htmlname Nom de la zone select
|
||||
\param filtretype Pour filtre sur type de produit
|
||||
\param limit Limite sur le nombre de lignes retournées
|
||||
\param limit Limite sur le nombre de lignes retourn<EFBFBD>es
|
||||
\param price_level Niveau de prix en fonction du client
|
||||
*/
|
||||
function select_produits($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0)
|
||||
@ -993,12 +993,12 @@ class Form
|
||||
|
||||
/**
|
||||
\brief Retourne la liste des produits
|
||||
\param selected Produit présélectionné
|
||||
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
\param htmlname Nom de la zone select
|
||||
\param filtretype Pour filtre sur type de produit
|
||||
\param limit Limite sur le nombre de lignes retournées
|
||||
\param limit Limite sur le nombre de lignes retourn<EFBFBD>es
|
||||
\param price_level Niveau de prix en fonction du client
|
||||
\param ajaxkeysearch Filtre des produits si ajax est utilisé
|
||||
\param ajaxkeysearch Filtre des produits si ajax est utilis<EFBFBD>
|
||||
*/
|
||||
function select_produits_do($selected='',$htmlname='productid',$filtretype='',$limit=20,$price_level=0,$ajaxkeysearch='')
|
||||
{
|
||||
@ -1032,7 +1032,7 @@ class Form
|
||||
$result=$this->db->query($sql);
|
||||
if (! $result) dolibarr_print_error($this->db);
|
||||
|
||||
// Multilang : on construit une liste des traductions des produits listés
|
||||
// Multilang : on construit une liste des traductions des produits list<EFBFBD>s
|
||||
if ($conf->global->MAIN_MULTILANGS)
|
||||
{
|
||||
$sqld = "SELECT d.fk_product, d.label";
|
||||
@ -1071,7 +1071,7 @@ class Form
|
||||
{
|
||||
$objp = $this->db->fetch_object($result);
|
||||
|
||||
// Multilangs : modification des donnée si une traduction existe
|
||||
// Multilangs : modification des donn<EFBFBD>e si une traduction existe
|
||||
if ($conf->global->MAIN_MULTILANGS)
|
||||
{
|
||||
if ( $objp->rowid == $objtp->fk_product ) // si on a une traduction
|
||||
@ -1147,11 +1147,11 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
\brief Retourne la liste des produits fournisseurs en Ajax si ajax activé ou renvoie à select_produits_fournisseurs_do
|
||||
\param selected Produit présélectionné
|
||||
\brief Retourne la liste des produits fournisseurs en Ajax si ajax activ<EFBFBD> ou renvoie <EFBFBD> select_produits_fournisseurs_do
|
||||
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
\param htmlname Nom de la zone select
|
||||
\param filtretype Pour filtre sur type de produit
|
||||
\param limit Limite sur le nombre de lignes retournées
|
||||
\param limit Limite sur le nombre de lignes retourn<EFBFBD>es
|
||||
*/
|
||||
function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='')
|
||||
{
|
||||
@ -1169,12 +1169,12 @@ class Form
|
||||
|
||||
/**
|
||||
\brief Retourne la liste des produits de fournisseurs
|
||||
\param socid Id société fournisseur (0 pour aucun filtre)
|
||||
\param selected Produit présélectionné
|
||||
\param socid Id soci<EFBFBD>t<EFBFBD> fournisseur (0 pour aucun filtre)
|
||||
\param selected Produit pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
\param htmlname Nom de la zone select
|
||||
\param filtretype Pour filtre sur type de produit
|
||||
\param filtre Pour filtre
|
||||
\param ajaxkeysearch Filtre des produits si ajax est utilisé
|
||||
\param ajaxkeysearch Filtre des produits si ajax est utilis<EFBFBD>
|
||||
*/
|
||||
function select_produits_fournisseurs_do($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='',$ajaxkeysearch='')
|
||||
{
|
||||
@ -1359,8 +1359,8 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des adresses de livraison
|
||||
* \param selected Id contact pré-sélectionn
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des adresses de livraison
|
||||
* \param selected Id contact pr<EFBFBD>-s<EFBFBD>lectionn
|
||||
* \param htmlname Nom champ formulaire
|
||||
*/
|
||||
function select_adresse_livraison($selected='', $socid, $htmlname='adresse_livraison_id',$showempty=0)
|
||||
@ -1405,13 +1405,13 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Charge dans cache la liste des conditions de paiements possibles
|
||||
* \return int Nb lignes chargées, 0 si déjà chargées, <0 si ko
|
||||
* \return int Nb lignes charg<EFBFBD>es, 0 si d<EFBFBD>j<EFBFBD> charg<EFBFBD>es, <0 si ko
|
||||
*/
|
||||
function load_cache_conditions_paiements()
|
||||
{
|
||||
global $langs;
|
||||
|
||||
if (sizeof($this->cache_conditions_paiements_code)) return 0; // Cache déja chargé
|
||||
if (sizeof($this->cache_conditions_paiements_code)) return 0; // Cache d<EFBFBD>ja charg<72>
|
||||
|
||||
dolibarr_syslog('Form::load_cache_conditions_paiements',LOG_DEBUG);
|
||||
|
||||
@ -1428,7 +1428,7 @@ class Form
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
$libelle=($langs->trans("PaymentConditionShort".$obj->code)!=("PaymentConditionShort".$obj->code)?$langs->trans("PaymentConditionShort".$obj->code):($obj->libelle!='-'?$obj->libelle:''));
|
||||
$this->cache_conditions_paiements_code[$obj->rowid]=$obj->code;
|
||||
$this->cache_conditions_paiements_libelle[$obj->rowid]=$libelle;
|
||||
@ -1444,13 +1444,13 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Charge dans cache la liste des types de paiements possibles
|
||||
* \return int Nb lignes chargées, 0 si déjà chargées, <0 si ko
|
||||
* \return int Nb lignes charg<EFBFBD>es, 0 si d<EFBFBD>j<EFBFBD> charg<EFBFBD>es, <0 si ko
|
||||
*/
|
||||
function load_cache_types_paiements()
|
||||
{
|
||||
global $langs;
|
||||
|
||||
if (sizeof($this->cache_types_paiements_code)) return 0; // Cache déja chargé
|
||||
if (sizeof($this->cache_types_paiements_code)) return 0; // Cache d<EFBFBD>ja charg<72>
|
||||
|
||||
dolibarr_syslog('Form::load_cache_types_paiements',LOG_DEBUG);
|
||||
|
||||
@ -1467,7 +1467,7 @@ class Form
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
$libelle=($langs->trans("PaymentTypeShort".$obj->code)!=("PaymentTypeShort".$obj->code)?$langs->trans("PaymentTypeShort".$obj->code):($obj->libelle!='-'?$obj->libelle:''));
|
||||
$this->cache_types_paiements_code[$obj->id]=$obj->code;
|
||||
$this->cache_types_paiements_libelle[$obj->id]=$libelle;
|
||||
@ -1486,10 +1486,10 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des types de paiements possibles
|
||||
* \param selected Id du type de paiement présélectionné
|
||||
* \param selected Id du type de paiement pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param filtertype Pour filtre
|
||||
* \param addempty Ajoute entrée vide
|
||||
* \param addempty Ajoute entr<EFBFBD>e vide
|
||||
*/
|
||||
function select_conditions_paiements($selected='',$htmlname='condid',$filtertype=-1,$addempty=0)
|
||||
{
|
||||
@ -1517,7 +1517,7 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Selection HT ou TTC
|
||||
* \param selected Id présélectionné
|
||||
* \param selected Id pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
*/
|
||||
function select_PriceBaseType($selected='',$htmlname='price_base_type')
|
||||
@ -1545,7 +1545,7 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des modes de paiements possibles
|
||||
* \param selected Id du mode de paiement présélectionné
|
||||
* \param selected Id du mode de paiement pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param filtertype Pour filtre
|
||||
* \param format 0=id+libelle, 1=code+code, 2=code+libelle
|
||||
@ -1568,7 +1568,7 @@ class Form
|
||||
if ($empty) print '<option value=""> </option>';
|
||||
foreach($this->cache_types_paiements_code as $id => $code)
|
||||
{
|
||||
// On passe si on a demandé de filtrer sur des modes de paiments particulièrs
|
||||
// On passe si on a demand<EFBFBD> de filtrer sur des modes de paiments particuli<6C>rs
|
||||
if (sizeof($filterarray) && ! in_array($this->cache_types_paiements_type[$id],$filterarray)) continue;
|
||||
|
||||
if ($format == 0) print '<option value="'.$id.'"';
|
||||
@ -1587,9 +1587,9 @@ class Form
|
||||
print '</select>';
|
||||
}
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des différents états d'une propal.
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des diff<EFBFBD>rents <EFBFBD>tats d'une propal.
|
||||
* Les valeurs de la liste sont les id de la table c_propalst
|
||||
* \param selected etat pre-séléctionné
|
||||
* \param selected etat pre-s<EFBFBD>l<EFBFBD>ctionn<EFBFBD>
|
||||
*/
|
||||
function select_propal_statut($selected='')
|
||||
{
|
||||
@ -1615,7 +1615,7 @@ class Form
|
||||
{
|
||||
print '<option value="'.$obj->id.'">';
|
||||
}
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
//print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:''));
|
||||
print $obj->label;
|
||||
print '</option>';
|
||||
@ -1633,9 +1633,9 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des comptes
|
||||
* \param selected Id compte présélectionné
|
||||
* \param selected Id compte pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param statut Statut des comptes recherchés
|
||||
* \param statut Statut des comptes recherch<EFBFBD>s
|
||||
* \param filtre Pour filtre sur la liste
|
||||
* \param useempty Affiche valeur vide dans liste
|
||||
*/
|
||||
@ -1682,7 +1682,7 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des catégories du type choisi
|
||||
* \brief Retourne la liste des cat<EFBFBD>gories du type choisi
|
||||
* \param type Type de categories (0=produit, 1=fournisseur, 2=client)
|
||||
* \param selected Id categorie preselectionnee
|
||||
* \param select_name Nom formulaire HTML
|
||||
@ -1726,8 +1726,8 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des civilite actives
|
||||
* \param selected civilite pré-sélectionnée
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des civilite actives
|
||||
* \param selected civilite pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
|
||||
*/
|
||||
function select_civilite($selected='')
|
||||
{
|
||||
@ -1756,7 +1756,7 @@ class Form
|
||||
{
|
||||
print '<option value="'.$obj->code.'">';
|
||||
}
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:''));
|
||||
print '</option>';
|
||||
$i++;
|
||||
@ -1772,9 +1772,9 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne le nom traduit de la civilité
|
||||
* \param code Code de la civilité
|
||||
* \return string Nom traduit de la civilité
|
||||
* \brief Retourne le nom traduit de la civilit<EFBFBD>
|
||||
* \param code Code de la civilit<EFBFBD>
|
||||
* \return string Nom traduit de la civilit<EFBFBD>
|
||||
*/
|
||||
function civilite_name($code)
|
||||
{
|
||||
@ -1785,10 +1785,10 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste déroulante des formes juridiques tous pays confondus ou pour un pays donné.
|
||||
* \brief Retourne la liste d<EFBFBD>roulante des formes juridiques tous pays confondus ou pour un pays donn<EFBFBD>.
|
||||
* \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays
|
||||
* \param selected Code forme juridique a présélectionn
|
||||
* \param pays_code 0=liste tous pays confondus, sinon code du pays à afficher
|
||||
* \param selected Code forme juridique a pr<EFBFBD>s<EFBFBD>lectionn
|
||||
* \param pays_code 0=liste tous pays confondus, sinon code du pays <EFBFBD> afficher
|
||||
*/
|
||||
function select_forme_juridique($selected='',$pays_code=0)
|
||||
{
|
||||
@ -1837,7 +1837,7 @@ class Form
|
||||
{
|
||||
print '<option value="'.$obj->code.'">';
|
||||
}
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
print $obj->code . ' - ' .($langs->trans("JuridicalStatus".$obj->code)!="JuridicalStatus".$obj->code?$langs->trans("JuridicalStatus".$obj->code):($obj->nom!='-'?$obj->nom:''));
|
||||
print '</option>';
|
||||
}
|
||||
@ -1948,13 +1948,13 @@ class Form
|
||||
{
|
||||
global $langs;
|
||||
|
||||
// Si il existe une traduction, on peut renvoyer de suite le libellé
|
||||
// Si il existe une traduction, on peut renvoyer de suite le libell<EFBFBD>
|
||||
if ($langs->trans("Currency".$code_iso)!="Currency".$code_iso)
|
||||
{
|
||||
return $langs->trans("Currency".$code_iso);
|
||||
}
|
||||
|
||||
// Si pas de traduction, on consulte libellé par défaut en table
|
||||
// Si pas de traduction, on consulte libell<EFBFBD> par d<>faut en table
|
||||
$sql = "SELECT label FROM ".MAIN_DB_PREFIX."c_currencies";
|
||||
$sql.= " WHERE code_iso='$code_iso';";
|
||||
|
||||
@ -2075,7 +2075,7 @@ class Form
|
||||
* \brief Affiche formulaire de selection de projet
|
||||
* \param page Page
|
||||
* \param socid Id societe
|
||||
* \param selected Id projet présélectionné
|
||||
* \param selected Id projet pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom du formulaire select
|
||||
*/
|
||||
function form_project($page, $socid, $selected='', $htmlname='projectid')
|
||||
@ -2109,9 +2109,9 @@ class Form
|
||||
/**
|
||||
* \brief Affiche formulaire de selection de conditions de paiement
|
||||
* \param page Page
|
||||
* \param selected Id condition présélectionnée
|
||||
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom du formulaire select
|
||||
* \param addempty Ajoute entrée vide
|
||||
* \param addempty Ajoute entr<EFBFBD>e vide
|
||||
*/
|
||||
function form_conditions_reglement($page, $selected='', $htmlname='cond_reglement_id', $addempty=0)
|
||||
{
|
||||
@ -2140,9 +2140,9 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Affiche formulaire de selection de l'assujétissement à la TVA
|
||||
* \brief Affiche formulaire de selection de l'assuj<EFBFBD>tissement <EFBFBD> la TVA
|
||||
* \param page Page
|
||||
* \param selected Id condition présélectionnée
|
||||
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom du formulaire select
|
||||
*/
|
||||
function form_assujetti_tva($page, $selected='', $htmlname='')
|
||||
@ -2175,7 +2175,7 @@ class Form
|
||||
/**
|
||||
* \brief Affiche formulaire de selection des modes de reglement
|
||||
* \param page Page
|
||||
* \param selected Id mode présélectionné
|
||||
* \param selected Id mode pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom du formulaire select
|
||||
*/
|
||||
function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id')
|
||||
@ -2296,12 +2296,15 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Affiche formulaire de selection de la remise fixe
|
||||
* \param page Page
|
||||
* \param selected Valeur à appliquer
|
||||
* \param htmlname Nom du formulaire select. Si none, non modifiable
|
||||
* \brief Affiche formulaire de selection de la remise fixe
|
||||
* \param page Page
|
||||
* \param selected Valeur a appliquer
|
||||
* \param htmlname Nom du formulaire select. Si none, non modifiable
|
||||
* \param socid
|
||||
* \param amount
|
||||
* \param filter Filtre
|
||||
*/
|
||||
function form_remise_dispo($page, $selected='', $htmlname='remise_id',$socid, $absolute_discount)
|
||||
function form_remise_dispo($page, $selected='', $htmlname='remise_id',$socid, $amount, $filter='')
|
||||
{
|
||||
global $conf,$langs;
|
||||
if ($htmlname != "none")
|
||||
@ -2310,11 +2313,17 @@ class Form
|
||||
print '<input type="hidden" name="action" value="setabsolutediscount">';
|
||||
print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
|
||||
print '<tr><td>';
|
||||
print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->monnaie)).': ';
|
||||
// print $langs->trans("AvailableGlobalDiscounts").': ';
|
||||
print $this->select_remises('',$htmlname,'fk_facture IS NULL',$socid);
|
||||
if (! $filter || $filter=='fk_facture_source IS NULL') print $langs->trans("CompanyHasAbsoluteDiscount",price($amount),$langs->transnoentities("Currency".$conf->monnaie)).': ';
|
||||
else print $langs->trans("CompanyHasCreditNote",price($amount),$langs->transnoentities("Currency".$conf->monnaie)).': ';
|
||||
// print $langs->trans("AvailableGlobalDiscounts").': ';
|
||||
$newfilter='fk_facture IS NULL'; // Remises disponibles
|
||||
if ($filter) $newfilter.=' AND '.$filter;
|
||||
print $this->select_remises('',$htmlname,$newfilter,$socid);
|
||||
print '</td>';
|
||||
print '<td align="left"> <input type="submit" class="button" value="'.$langs->trans("UseDiscount").'"></td>';
|
||||
print '<td align="left"> <input type="submit" class="button" value="';
|
||||
if (! $filter || $filter=='fk_facture_source IS NULL') print $langs->trans("UseDiscount");
|
||||
else print $langs->trans("UseCreditNoteInInvoicePayment");
|
||||
print '"></td>';
|
||||
print '</tr></table></form>';
|
||||
}
|
||||
else
|
||||
@ -2334,7 +2343,7 @@ class Form
|
||||
/**
|
||||
* \brief Affiche formulaire de selection des contacts
|
||||
* \param page Page
|
||||
* \param selected Id contact présélectionné
|
||||
* \param selected Id contact pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom du formulaire select
|
||||
*/
|
||||
function form_contacts($page, $societe, $selected='', $htmlname='contactidp')
|
||||
@ -2349,7 +2358,7 @@ class Form
|
||||
$num=$this->select_contacts($societe->id, $selected, $htmlname);
|
||||
if ($num==0)
|
||||
{
|
||||
print '<font class="error">Cette societe n\'a pas de contact, veuillez en créer un avant de faire votre proposition commerciale</font><br>';
|
||||
print '<font class="error">Cette societe n\'a pas de contact, veuillez en cr<EFBFBD>er un avant de faire votre proposition commerciale</font><br>';
|
||||
print '<a href="'.DOL_URL_ROOT.'/contact/fiche.php?socid='.$societe->id.'&action=create&backtoreferer=1">'.$langs->trans('AddContact').'</a>';
|
||||
}
|
||||
print '</td>';
|
||||
@ -2375,9 +2384,9 @@ class Form
|
||||
/**
|
||||
* \brief Affiche formulaire de selection de l'adresse de livraison
|
||||
* \param page Page
|
||||
* \param selected Id condition présélectionnée
|
||||
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom du formulaire select
|
||||
* \param origin Origine de l'appel pour pouvoir créer un retour
|
||||
* \param origin Origine de l'appel pour pouvoir cr<EFBFBD>er un retour
|
||||
* \param originid Id de l'origine
|
||||
*/
|
||||
function form_adresse_livraison($page, $selected='', $socid, $htmlname='adresse_livraison_id', $origin='', $originid='')
|
||||
@ -2414,16 +2423,16 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des devises, dans la langue de l'utilisateur
|
||||
* \param selected code devise pré-sélectionnée
|
||||
* \param selected code devise pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname nom de la liste deroulante
|
||||
* \todo trier liste sur noms après traduction plutot que avant
|
||||
* \todo trier liste sur noms apr<EFBFBD>s traduction plutot que avant
|
||||
*/
|
||||
function select_currency($selected='',$htmlname='currency_id')
|
||||
{
|
||||
global $conf,$langs;
|
||||
$langs->load("dict");
|
||||
|
||||
if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilité
|
||||
if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilit<EFBFBD>
|
||||
|
||||
$sql = "SELECT code_iso, label, active FROM ".MAIN_DB_PREFIX."c_currencies";
|
||||
$sql .= " WHERE active = 1";
|
||||
@ -2449,7 +2458,7 @@ class Form
|
||||
{
|
||||
print '<option value="'.$obj->code_iso.'">';
|
||||
}
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libellé par défaut
|
||||
// Si traduction existe, on l'utilise, sinon on prend le libell<EFBFBD> par d<>faut
|
||||
if ($obj->code_iso) { print $obj->code_iso . ' - '; }
|
||||
print ($obj->code_iso && $langs->trans("Currency".$obj->code_iso)!="Currency".$obj->code_iso?$langs->trans("Currency".$obj->code_iso):($obj->label!='-'?$obj->label:''));
|
||||
print '</option>';
|
||||
@ -2467,17 +2476,17 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Selection du taux de tva appliqué par vendeur
|
||||
* \brief Selection du taux de tva appliqu<EFBFBD> par vendeur
|
||||
* \param name Nom champ html
|
||||
* \param defaulttx Forçage du taux tva présélectionné. Mettre '' pour aucun forcage.
|
||||
* \param societe_vendeuse Objet société vendeuse
|
||||
* \param societe_acheteuse Objet société acheteuse
|
||||
* \param defaulttx For<EFBFBD>age du taux tva pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>. Mettre '' pour aucun forcage.
|
||||
* \param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse
|
||||
* \param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse
|
||||
* \param taux_produit Taux par defaut du produit vendu
|
||||
* \remarks Si vendeur non assujeti à TVA, TVA par défaut=0. Fin de règle.
|
||||
* Si le (pays vendeur = pays acheteur) alors la TVA par défaut=TVA du produit vendu. Fin de règle.
|
||||
* Si (vendeur et acheteur dans Communauté européenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
|
||||
* Si (vendeur et acheteur dans Communauté européenne) et bien vendu autre que transport neuf alors la TVA par défaut=TVA du produit vendu. Fin de règle.
|
||||
* Sinon la TVA proposée par défaut=0. Fin de règle.
|
||||
* \remarks Si vendeur non assujeti <EFBFBD> TVA, TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
||||
* Si le (pays vendeur = pays acheteur) alors la TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
||||
* Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par d<EFBFBD>faut=0 (La TVA doit <EFBFBD>tre pay<EFBFBD> par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de r<EFBFBD>gle.
|
||||
* Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et bien vendu autre que transport neuf alors la TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
||||
* Sinon la TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
||||
*/
|
||||
function select_tva($name='tauxtva', $defaulttx='', $societe_vendeuse='', $societe_acheteuse='', $taux_produit='')
|
||||
{
|
||||
@ -2539,13 +2548,13 @@ class Form
|
||||
print '<font class="error">'.$this->db->error().'</font>';
|
||||
}
|
||||
|
||||
// Définition du taux à présélectionner (si defaulttx non forcé et donc vaut -1 ou '')
|
||||
// D<EFBFBD>finition du taux <20> pr<70>s<EFBFBD>lectionner (si defaulttx non forc<72> et donc vaut -1 ou '')
|
||||
if ($defaulttx < 0 || strlen($defaulttx) == 0)
|
||||
{
|
||||
$defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit);
|
||||
}
|
||||
// Si taux par defaut n'a pu etre déterminé, on prend dernier de la liste.
|
||||
// Comme ils sont triés par ordre croissant, dernier = plus élevé = taux courant
|
||||
// Si taux par defaut n'a pu etre d<EFBFBD>termin<EFBFBD>, on prend dernier de la liste.
|
||||
// Comme ils sont tri<EFBFBD>s par ordre croissant, dernier = plus <20>lev<65> = taux courant
|
||||
if ($defaulttx < 0 || strlen($defaulttx) == 0)
|
||||
{
|
||||
$defaulttx = $txtva[sizeof($txtva)-1];
|
||||
@ -2582,7 +2591,7 @@ class Form
|
||||
* \brief Selection des unites de mesure
|
||||
* \param name Nom champ html
|
||||
* \param measuring_style Le style de mesure : weight, volume,...
|
||||
* \param default Forçage de l'unite
|
||||
* \param default For<EFBFBD>age de l'unite
|
||||
* \remarks pour l'instant on ne definit pas les unites dans la base
|
||||
*/
|
||||
function select_measuring_units($name='measuring_units', $measuring_style='', $default='0', $adddefault=0)
|
||||
@ -2657,10 +2666,10 @@ class Form
|
||||
}
|
||||
}
|
||||
|
||||
// Définition du taux à présélectionner
|
||||
// D<EFBFBD>finition du taux <20> pr<70>s<EFBFBD>lectionner
|
||||
if ($defaulttx == '') $defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit);
|
||||
// Si taux par defaut n'a pu etre trouvé, on prend dernier.
|
||||
// Comme ils sont triés par ordre croissant, dernier = plus élevé = taux courant
|
||||
// Si taux par defaut n'a pu etre trouv<EFBFBD>, on prend dernier.
|
||||
// Comme ils sont tri<EFBFBD>s par ordre croissant, dernier = plus <20>lev<65> = taux courant
|
||||
if ($defaulttx == '') $defaulttx = $txtva[sizeof($txtva)-1];
|
||||
|
||||
$nbdetaux = sizeof($txtva);
|
||||
@ -2676,16 +2685,16 @@ class Form
|
||||
/**
|
||||
* \brief Affiche zone de selection de date
|
||||
* Liste deroulante pour les jours, mois, annee et eventuellement heurs et minutes
|
||||
* Les champs sont présélectionnées avec:
|
||||
* Les champs sont pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>es avec:
|
||||
* - La date set_time (timestamps ou date au format YYYY-MM-DD ou YYYY-MM-DD HH:MM)
|
||||
* - La date du jour si set_time vaut ''
|
||||
* - Aucune date (champs vides) si set_time vaut -1 (dans ce cas empty doit valoir 1)
|
||||
* \param set_time Date de pré-sélection
|
||||
* \param set_time Date de pr<EFBFBD>-s<EFBFBD>lection
|
||||
* \param prefix Prefix pour nom champ
|
||||
* \param h 1=Affiche aussi les heures
|
||||
* \param m 1=Affiche aussi les minutes
|
||||
* \param empty 0=Champ obligatoire, 1=Permet une saisie vide
|
||||
* \param form_name Nom du formulaire de provenance. Utilisé pour les dates en popup style andre.
|
||||
* \param form_name Nom du formulaire de provenance. Utilis<EFBFBD> pour les dates en popup style andre.
|
||||
* \param d 1=Affiche aussi les jours, mois, annees
|
||||
*/
|
||||
function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1)
|
||||
@ -2699,7 +2708,7 @@ class Form
|
||||
|
||||
if (! $set_time && $empty == 0) $set_time = time();
|
||||
|
||||
// Analyse de la date de préselection
|
||||
// Analyse de la date de pr<EFBFBD>selection
|
||||
if (eregi('^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?',$set_time,$reg))
|
||||
{
|
||||
// Date au format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS'
|
||||
@ -2834,7 +2843,7 @@ class Form
|
||||
}
|
||||
print "</select>";
|
||||
|
||||
// Année
|
||||
// Ann<EFBFBD>e
|
||||
if ($empty || $set_time == -1)
|
||||
{
|
||||
print '<input class="flat" type="text" size="3" maxlength="4" name="'.$prefix.'year" value="'.$syear.'">';
|
||||
@ -2917,7 +2926,7 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
\brief Fonction servant a afficher une durée dans une liste déroulante
|
||||
\brief Fonction servant a afficher une dur<EFBFBD>e dans une liste d<EFBFBD>roulante
|
||||
\param prefix prefix
|
||||
\param iSecond Nombre de secondes
|
||||
*/
|
||||
@ -2954,13 +2963,13 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
\brief Affiche un select à partir d'un tableau
|
||||
\brief Affiche un select <EFBFBD> partir d'un tableau
|
||||
\param htmlname Nom de la zone select
|
||||
\param array Tableau de key+valeur
|
||||
\param id Key pré-sélectionnée
|
||||
\param id Key pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
|
||||
\param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon
|
||||
\param key_in_label 1 pour afficher la key dans la valeur "[key] value"
|
||||
\param value_as_key 1 pour utiliser la valeur comme clé
|
||||
\param value_as_key 1 pour utiliser la valeur comme cl<EFBFBD>
|
||||
\param $use_java 1 pour utiliser des fonctions javascript
|
||||
\param $fonction Fonction javascript
|
||||
\param $translate Traduire la valeur
|
||||
@ -2985,7 +2994,7 @@ class Form
|
||||
while (list($key, $value) = each ($array))
|
||||
{
|
||||
print '<option value="'.($value_as_key?$value:$key).'"';
|
||||
// Si il faut présélectionner une valeur
|
||||
// Si il faut pr<EFBFBD>s<EFBFBD>lectionner une valeur
|
||||
if ($id != '' && ($id == $key || $id == $value))
|
||||
{
|
||||
print ' selected="true"';
|
||||
@ -3007,7 +3016,7 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la chaîne de caractère décrivant l'erreur
|
||||
* \brief Renvoie la cha<EFBFBD>ne de caract<EFBFBD>re d<EFBFBD>crivant l'erreur
|
||||
*/
|
||||
function error()
|
||||
{
|
||||
@ -3018,7 +3027,7 @@ class Form
|
||||
/**
|
||||
* \brief Selection de oui/non en chaine (renvoie yes/no)
|
||||
* \param name Nom du select
|
||||
* \param value Valeur présélectionnée
|
||||
* \param value Valeur pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param option 0 retourne yes/no, 1 retourne 1/0
|
||||
*/
|
||||
function selectyesno($name,$value='',$option=0)
|
||||
@ -3063,13 +3072,13 @@ class Form
|
||||
|
||||
|
||||
/**
|
||||
* \brief Affiche la cartouche générique d'un rapport
|
||||
* \brief Affiche la cartouche g<EFBFBD>n<EFBFBD>rique d'un rapport
|
||||
* \param nom Valeur pour nom du rapport
|
||||
* \param variante Lien optionnel de variante du rapport
|
||||
* \param period Periode du reporting
|
||||
* \param periodlink Lien pour changer de période
|
||||
* \param periodlink Lien pour changer de p<EFBFBD>riode
|
||||
* \param description Description
|
||||
* \param builddate Date génération
|
||||
* \param builddate Date g<EFBFBD>n<EFBFBD>ration
|
||||
* \param exportlink Lien pour export
|
||||
*/
|
||||
function report_header($nom,$variante='',$period,$periodlink,$description,$builddate,$exportlink)
|
||||
@ -3128,18 +3137,18 @@ class Form
|
||||
/**
|
||||
* \brief Affiche la cartouche de la liste des documents d'une propale, facture...
|
||||
* \param modulepart propal=propal, facture=facture, ...
|
||||
* \param filename Sous rep à scanner (vide si filedir deja complet)
|
||||
* \param filedir Repertoire à scanner
|
||||
* \param filename Sous rep <EFBFBD> scanner (vide si filedir deja complet)
|
||||
* \param filedir Repertoire <EFBFBD> scanner
|
||||
* \param urlsource Url page origine
|
||||
* \param genallowed Génération autorisée (1/0 ou array des formats)
|
||||
* \param delallowed Suppression autorisée (1/0)
|
||||
* \param modelselected Modele à présélectionner par défaut
|
||||
* \param genallowed G<EFBFBD>n<EFBFBD>ration autoris<EFBFBD>e (1/0 ou array des formats)
|
||||
* \param delallowed Suppression autoris<EFBFBD>e (1/0)
|
||||
* \param modelselected Modele <EFBFBD> pr<EFBFBD>s<EFBFBD>lectionner par d<EFBFBD>faut
|
||||
* \param modelliste Tableau des modeles possibles
|
||||
* \param forcenomultilang N'affiche pas option langue meme si MAIN_MULTILANGS défini
|
||||
* \param forcenomultilang N'affiche pas option langue meme si MAIN_MULTILANGS d<EFBFBD>fini
|
||||
* \param iconPDF N'affiche que l'icone PDF avec le lien (1/0)
|
||||
* \remarks Le fichier de facture détaillée est de la forme
|
||||
* \remarks Le fichier de facture d<EFBFBD>taill<EFBFBD>e est de la forme
|
||||
* REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse
|
||||
* \return int <0 si ko, nbre de fichiers affichés si ok
|
||||
* \return int <0 si ko, nbre de fichiers affich<EFBFBD>s si ok
|
||||
*/
|
||||
function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0)
|
||||
{
|
||||
@ -3308,7 +3317,7 @@ class Form
|
||||
}
|
||||
$file_list=dolibarr_dir_list($filedir,'files',0,$filter,'\.meta$'.$png,'date',SORT_DESC);
|
||||
|
||||
// Affiche en-tete tableau si non deja affiché
|
||||
// Affiche en-tete tableau si non deja affich<EFBFBD>
|
||||
if (sizeof($file_list) && ! $headershown && !$iconPDF)
|
||||
{
|
||||
$headershown=1;
|
||||
@ -3316,22 +3325,22 @@ class Form
|
||||
print '<table class="border" width="100%">';
|
||||
}
|
||||
|
||||
// Boucle sur chaque ligne trouvée
|
||||
// Boucle sur chaque ligne trouv<EFBFBD>e
|
||||
foreach($file_list as $i => $file)
|
||||
{
|
||||
// Défini chemin relatif par rapport au module pour lien download
|
||||
// D<EFBFBD>fini chemin relatif par rapport au module pour lien download
|
||||
$relativepath=$file["name"]; // Cas general
|
||||
if ($filename) $relativepath=$filename."/".$file["name"]; // Cas prpal, facture...
|
||||
// Autre cas
|
||||
if ($modulepart == 'don') { $relativepath = get_exdir($filename,2).$file["name"]; }
|
||||
if ($modulepart == 'export') { $relativepath = $file["name"]; }
|
||||
|
||||
// Défini le type MIME du document
|
||||
// D<EFBFBD>fini le type MIME du document
|
||||
if (eregi('\.([^\.]+)$',$file["name"],$reg)) $extension=$reg[1];
|
||||
$mimetype=strtoupper($extension);
|
||||
if ($extension == 'pdf') $mimetype='PDF';
|
||||
if ($extension == 'html') $mimetype='HTML';
|
||||
if (eregi('\-detail\.pdf',$file["name"])) $mimetype='PDF Détaillé';
|
||||
if (eregi('\-detail\.pdf',$file["name"])) $mimetype='PDF D<EFBFBD>taill<EFBFBD>';
|
||||
|
||||
if (!$iconPDF) print "<tr $bc[$var]>";
|
||||
|
||||
@ -3423,10 +3432,10 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des modéles d'export
|
||||
* \param selected Id modéle présélectionné
|
||||
* \brief Retourne la liste des mod<EFBFBD>les d'export
|
||||
* \param selected Id mod<EFBFBD>le pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param type Type des modéles recherchés
|
||||
* \param type Type des mod<EFBFBD>les recherch<EFBFBD>s
|
||||
* \param useempty Affiche valeur vide dans liste
|
||||
*/
|
||||
function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0)
|
||||
@ -3471,7 +3480,7 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des mois
|
||||
* \param selected Id mois présélectionné
|
||||
* \param selected Id mois pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param useempty Affiche valeur vide dans liste
|
||||
*/
|
||||
@ -3540,11 +3549,11 @@ class Form
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Liste de sélection du générateur de codes barres
|
||||
* \param selected Id code présélectionné
|
||||
* \brief Liste de s<EFBFBD>lection du g<EFBFBD>n<EFBFBD>rateur de codes barres
|
||||
* \param selected Id code pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param code_id Id du code barre
|
||||
* \param idForm Id du formulaire
|
||||
* Todo : ajouter une vérification de désactivation du code barre si il est déjà utilisé dans un module
|
||||
* Todo : ajouter une v<EFBFBD>rification de d<EFBFBD>sactivation du code barre si il est d<EFBFBD>j<EFBFBD> utilis<EFBFBD> dans un module
|
||||
*/
|
||||
function setBarcodeEncoder($selected=0,$code_id,$idForm='formbarcode')
|
||||
{
|
||||
@ -3552,7 +3561,7 @@ class Form
|
||||
|
||||
$disable = '';
|
||||
|
||||
// On vérifie si le code de barre est déjà sélectionné par défaut dans le module produit
|
||||
// On v<EFBFBD>rifie si le code de barre est d<>j<EFBFBD> s<>lectionn<6E> par d<>faut dans le module produit
|
||||
if ($conf->produit->enabled && $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE == $code_id)
|
||||
{
|
||||
$disable = 'disabled="disabled"';
|
||||
@ -3573,7 +3582,7 @@ class Form
|
||||
|
||||
/**
|
||||
* \brief Retourne la liste des types de codes barres
|
||||
* \param selected Id code présélectionné
|
||||
* \param selected Id code pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>
|
||||
* \param htmlname Nom de la zone select
|
||||
* \param useempty Affiche valeur vide dans liste
|
||||
*/
|
||||
@ -3627,7 +3636,7 @@ class Form
|
||||
/**
|
||||
* \brief Affiche formulaire de selection du type de code barre
|
||||
* \param page Page
|
||||
* \param selected Id condition présélectionnée
|
||||
* \param selected Id condition pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
|
||||
* \param htmlname Nom du formulaire select
|
||||
*/
|
||||
function form_barcode_type($page, $selected='', $htmlname='barcodetype_id')
|
||||
|
||||
@ -291,6 +291,7 @@ LawApplicationPart4=their price.
|
||||
VATDischarged=VAT paid on debits.
|
||||
LimitedLiabilityCompanyCapital=SARL with Capital of
|
||||
UseDiscount=Use discount
|
||||
UseCreditNoteInInvoicePayment=Include credit note as payment
|
||||
MenuChequeDeposits=Cheques deposits
|
||||
MenuCheques=Cheques
|
||||
MenuChequesReceipts=Cheques receipts
|
||||
|
||||
@ -117,6 +117,7 @@ CustomerAbsoluteDiscountShort=Absolute discount
|
||||
CompanyHasRelativeDiscount=This customer has a discount of <b>%s%%</b>
|
||||
CompanyHasNoRelativeDiscount=This customer has no relative discount by default
|
||||
CompanyHasAbsoluteDiscount=This customer still has discount credits for <b>%s %s</b>
|
||||
CompanyHasCreditNote=This customer still has credit notes for <b>%s %s</b>
|
||||
CompanyHasNoAbsoluteDiscount=This customer has no discount credit available
|
||||
CustomerAbsoluteDiscountAllUsers=Absolute discounts (granted by all users)
|
||||
CustomerAbsoluteDiscountMy=Absolute discounts (granted by yourself)
|
||||
|
||||
@ -290,6 +290,7 @@ LawApplicationPart4=leurs prix.
|
||||
VATDischarged=TVA acquittée sur les débits.
|
||||
LimitedLiabilityCompanyCapital=SARL au Capital de
|
||||
UseDiscount=Appliquer remise
|
||||
UseCreditNoteInInvoicePayment=Appliquer avoir en tant que paiement
|
||||
MenuChequeDeposits=Remises de chèques
|
||||
MenuCheques=Gestion chèques
|
||||
MenuChequesReceipts=Bordereaux
|
||||
|
||||
@ -117,6 +117,7 @@ CustomerAbsoluteDiscountShort=Remise fixe
|
||||
CompanyHasRelativeDiscount=Ce client a une remise par défaut de <b>%s%%</b>
|
||||
CompanyHasNoRelativeDiscount=Ce client n'a pas de remises relatives par défaut
|
||||
CompanyHasAbsoluteDiscount=Ce client a <b>%s %s</b> de remises fixes disponibles
|
||||
CompanyHasCreditNote=Ce client a <b>%s %s</b> d'avoirs disponibles
|
||||
CompanyHasNoAbsoluteDiscount=Ce client n'a pas ou plus de remises fixes disponibles
|
||||
CustomerAbsoluteDiscountAllUsers=Remises fixes en cours (accordées par tout utilisateur)
|
||||
CustomerAbsoluteDiscountMy=Remises fixes en cours (accordées personnellement)
|
||||
|
||||
@ -95,12 +95,12 @@ class Societe
|
||||
|
||||
var $price_level;
|
||||
|
||||
var $commercial_id; //Id du commercial affecté
|
||||
var $commercial_id; //Id du commercial affect<EFBFBD>
|
||||
|
||||
|
||||
/**
|
||||
* \brief Constructeur de la classe
|
||||
* \param DB handler accès base de données
|
||||
* \param DB handler acc<EFBFBD>s base de donn<EFBFBD>es
|
||||
* \param id id societe (0 par defaut)
|
||||
*/
|
||||
function Societe($DB, $id=0)
|
||||
@ -123,8 +123,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Crée la societe en base
|
||||
* \param user Objet utilisateur qui demande la création
|
||||
* \brief Cr<EFBFBD>e la societe en base
|
||||
* \param user Objet utilisateur qui demande la cr<EFBFBD>ation
|
||||
* \return int 0 si ok, < 0 si erreur
|
||||
*/
|
||||
|
||||
@ -132,7 +132,7 @@ class Societe
|
||||
{
|
||||
global $langs,$conf;
|
||||
|
||||
// Nettoyage paramètres
|
||||
// Nettoyage param<EFBFBD>tres
|
||||
$this->nom=trim($this->nom);
|
||||
|
||||
dolibarr_syslog("Societe::create ".$this->nom);
|
||||
@ -157,12 +157,12 @@ class Societe
|
||||
|
||||
$ret = $this->update($this->id,$user,0,1,1);
|
||||
|
||||
// si un commercial crée un client il lui est affecté automatiquement
|
||||
// si un commercial cr<EFBFBD>e un client il lui est affect<63> automatiquement
|
||||
if (!$user->rights->commercial->client->voir)
|
||||
{
|
||||
$this->add_commercial($user, $user->id);
|
||||
}
|
||||
// Ajout du commercial affecté
|
||||
// Ajout du commercial affect<EFBFBD>
|
||||
else if ($this->commercial_id != '' && $this->commercial_id != -1)
|
||||
{
|
||||
$this->add_commercial($user, $this->commercial_id);
|
||||
@ -227,13 +227,13 @@ class Societe
|
||||
|
||||
if (! $this->nom)
|
||||
{
|
||||
$this->error = "Le nom de la société ne peut être vide.\n";
|
||||
$this->error = "Le nom de la soci<EFBFBD>t<EFBFBD> ne peut <20>tre vide.\n";
|
||||
$result = -2;
|
||||
}
|
||||
if ($this->client && $this->codeclient_modifiable())
|
||||
{
|
||||
// On ne vérifie le code client que si la société est un client / prospect et que le code est modifiable
|
||||
// Si il n'est pas modifiable il n'est pas mis à jour lors de l'update
|
||||
// On ne v<EFBFBD>rifie le code client que si la soci<63>t<EFBFBD> est un client / prospect et que le code est modifiable
|
||||
// Si il n'est pas modifiable il n'est pas mis <EFBFBD> jour lors de l'update
|
||||
$rescode = $this->check_codeclient();
|
||||
if ($rescode <> 0)
|
||||
{
|
||||
@ -247,19 +247,19 @@ class Societe
|
||||
}
|
||||
if ($rescode == -3)
|
||||
{
|
||||
$this->error .= "Ce code client est déjà utilisé.\n";
|
||||
$this->error .= "Ce code client est d<EFBFBD>j<EFBFBD> utilis<69>.\n";
|
||||
}
|
||||
if ($rescode == -4)
|
||||
{
|
||||
$this->error .= "Vous devez renseigner le préfix pour générer le code client.\n";
|
||||
$this->error .= "Vous devez renseigner le pr<EFBFBD>fix pour g<>n<EFBFBD>rer le code client.\n";
|
||||
}
|
||||
$result = -3;
|
||||
}
|
||||
}
|
||||
if ($this->fournisseur && $this->codefournisseur_modifiable())
|
||||
{
|
||||
// On ne vérifie le code fournisseur que si la société est un fournisseur et que le code est modifiable
|
||||
// Si il n'est pas modifiable il n'est pas mis à jour lors de l'update
|
||||
// On ne v<EFBFBD>rifie le code fournisseur que si la soci<63>t<EFBFBD> est un fournisseur et que le code est modifiable
|
||||
// Si il n'est pas modifiable il n'est pas mis <EFBFBD> jour lors de l'update
|
||||
$rescode = $this->check_codefournisseur();
|
||||
if ($rescode <> 0)
|
||||
{
|
||||
@ -273,11 +273,11 @@ class Societe
|
||||
}
|
||||
if ($rescode == -3)
|
||||
{
|
||||
$this->error .= "Ce code fournisseur est déjà utilisé.\n";
|
||||
$this->error .= "Ce code fournisseur est d<EFBFBD>j<EFBFBD> utilis<69>.\n";
|
||||
}
|
||||
if ($rescode == -5)
|
||||
{
|
||||
$this->error .= "Vous devez renseigner le préfix pour générer le code fournisseur.\n";
|
||||
$this->error .= "Vous devez renseigner le pr<EFBFBD>fix pour g<>n<EFBFBD>rer le code fournisseur.\n";
|
||||
}
|
||||
$result = -3;
|
||||
}
|
||||
@ -287,9 +287,9 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Mise a jour des paramètres de la société
|
||||
* \brief Mise a jour des param<EFBFBD>tres de la soci<EFBFBD>t<EFBFBD>
|
||||
* \param id id societe
|
||||
* \param user Utilisateur qui demande la mise à jour
|
||||
* \param user Utilisateur qui demande la mise <EFBFBD> jour
|
||||
* \param call_trigger 0=non, 1=oui
|
||||
* \param allowmodcodeclient Autorise modif code client
|
||||
* \param allowmodcodefournisseur Autorise modif code fournisseur
|
||||
@ -301,7 +301,7 @@ class Societe
|
||||
|
||||
dolibarr_syslog("Societe::Update id=".$id." call_trigger=".$call_triger." allowmodcodeclient=".$allowmodcodeclient." allowmodcodefournisseur=".$allowmodcodefournisseur);
|
||||
|
||||
// Nettoyage des paramètres
|
||||
// Nettoyage des param<EFBFBD>tres
|
||||
$this->id=$id;
|
||||
$this->capital=trim($this->capital);
|
||||
$this->nom=trim($this->nom);
|
||||
@ -414,7 +414,7 @@ class Societe
|
||||
if ($resql)
|
||||
{
|
||||
|
||||
//Si c'est un particulier on crée la fiche contact
|
||||
//Si c'est un particulier on cr<EFBFBD>e la fiche contact
|
||||
if ($this->particulier == 1)
|
||||
{
|
||||
require_once (DOL_DOCUMENT_ROOT."/contact.class.php");
|
||||
@ -477,7 +477,7 @@ class Societe
|
||||
|
||||
/**
|
||||
* \brief Charge depuis la base l'objet societe
|
||||
* \param socid Id de la société à charger en mémoire
|
||||
* \param socid Id de la soci<EFBFBD>t<EFBFBD> <EFBFBD> charger en m<EFBFBD>moire
|
||||
* \param user Objet de l'utilisateur
|
||||
* \return int >0 si ok, <0 si ko
|
||||
*/
|
||||
@ -680,8 +680,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Suppression d'une societe de la base avec ses dépendances (contacts, rib...)
|
||||
* \param id id de la societe à supprimer
|
||||
* \brief Suppression d'une societe de la base avec ses d<EFBFBD>pendances (contacts, rib...)
|
||||
* \param id id de la societe <EFBFBD> supprimer
|
||||
*/
|
||||
function delete($id)
|
||||
{
|
||||
@ -725,7 +725,7 @@ class Societe
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error .= "Impossible de supprimer la société.\n";
|
||||
$this->error .= "Impossible de supprimer la soci<EFBFBD>t<EFBFBD>.\n";
|
||||
dolibarr_syslog("Societe::Delete erreur -3");
|
||||
}
|
||||
|
||||
@ -739,7 +739,7 @@ class Societe
|
||||
|
||||
$this->db->commit();
|
||||
|
||||
// Suppression du répertoire document
|
||||
// Suppression du r<EFBFBD>pertoire document
|
||||
$docdir = $conf->societe->dir_output . "/" . $id;
|
||||
if (file_exists ($docdir))
|
||||
{
|
||||
@ -759,8 +759,8 @@ class Societe
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retournes les factures impayées de la société
|
||||
* \return array tableau des id de factures impayées
|
||||
* \brief Retournes les factures impay<EFBFBD>es de la soci<EFBFBD>t<EFBFBD>
|
||||
* \return array tableau des id de factures impay<EFBFBD>es
|
||||
*
|
||||
*/
|
||||
function factures_impayes()
|
||||
@ -792,7 +792,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Attribut le prefix de la société en base
|
||||
* \brief Attribut le prefix de la soci<EFBFBD>t<EFBFBD> en base
|
||||
*
|
||||
*/
|
||||
function attribute_prefix()
|
||||
@ -843,10 +843,10 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Génère le préfix de la sociét
|
||||
* \param nom nom de la sociét
|
||||
* \param taille taille du prefix à retourner
|
||||
* \param mot l'indice du mot à utiliser
|
||||
* \brief G<EFBFBD>n<EFBFBD>re le pr<EFBFBD>fix de la soci<EFBFBD>t
|
||||
* \param nom nom de la soci<EFBFBD>t
|
||||
* \param taille taille du prefix <EFBFBD> retourner
|
||||
* \param mot l'indice du mot <EFBFBD> utiliser
|
||||
*/
|
||||
function genprefix($nom, $taille=4, $mot=0)
|
||||
{
|
||||
@ -856,7 +856,7 @@ class Societe
|
||||
if ($mot < count($tab))
|
||||
{
|
||||
$prefix = strtoupper(substr($tab[$mot],0,$taille));
|
||||
// On vérifie que ce prefix n'a pas déjà été pris ...
|
||||
// On v<EFBFBD>rifie que ce prefix n'a pas d<>j<EFBFBD> <20>t<EFBFBD> pris ...
|
||||
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE prefix_comm = '$prefix'";
|
||||
$resql=$this->db->query( $sql);
|
||||
if ($resql)
|
||||
@ -877,7 +877,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Définit la société comme un client
|
||||
* \brief D<EFBFBD>finit la soci<EFBFBD>t<EFBFBD> comme un client
|
||||
*
|
||||
*/
|
||||
function set_as_client()
|
||||
@ -893,10 +893,10 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Définit la société comme un client
|
||||
* \brief D<EFBFBD>finit la soci<EFBFBD>t<EFBFBD> comme un client
|
||||
* \param remise Valeur en % de la remise
|
||||
* \param note Note/Motif de modification de la remise
|
||||
* \param user Utilisateur qui définie la remise
|
||||
* \param user Utilisateur qui d<EFBFBD>finie la remise
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function set_remise_client($remise, $note, $user)
|
||||
@ -951,7 +951,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Ajoute une remise fixe pour la société
|
||||
* \brief Ajoute une remise fixe pour la soci<EFBFBD>t<EFBFBD>
|
||||
* \param remise Montant de la remise
|
||||
* \param user Utilisateur qui accorde la remise
|
||||
* \param desc Motif de l'avoir
|
||||
@ -1002,8 +1002,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Supprime un avoir (à condition que non affecté à une facture)
|
||||
* \param id Id de l'avoir à supprimer
|
||||
* \brief Supprime un avoir (<EFBFBD> condition que non affect<EFBFBD> <EFBFBD> une facture)
|
||||
* \param id Id de l'avoir <EFBFBD> supprimer
|
||||
* \return int <0 si ko, id de l'avoir si ok
|
||||
*/
|
||||
function del_remise_except($id)
|
||||
@ -1022,21 +1022,22 @@ class Societe
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie montant des avoirs en cours
|
||||
* \param user Filtre sur un user auteur des l'avoir
|
||||
* \brief Renvoie montant des avoirs en cours disponibles
|
||||
* \param user Filtre sur un user auteur des remises
|
||||
* \param filter Filtre autre
|
||||
* \return int <0 si ko, montant avoir sinon
|
||||
*/
|
||||
function getCurrentDiscount($user='')
|
||||
function getCurrentDiscount($user='',$filter='')
|
||||
{
|
||||
$sql = "SELECT SUM(rc.amount_ht) as amount";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as rc";
|
||||
$sql.= " WHERE rc.fk_soc =". $this->id;
|
||||
if (is_object($user)) $sql.= " AND rc.fk_user = ".$user->id;
|
||||
$sql.= " AND rc.fk_facture IS NULL";
|
||||
$resql=$this->db->query($sql);
|
||||
if ($filter) $sql.=' AND '.$filter;
|
||||
|
||||
dolibarr_syslog("Societe::getCurrentDiscount sql=".$sql);
|
||||
|
||||
dolibarr_syslog("Societe::getCurrentDiscount sql=".$sql,LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
@ -1157,8 +1158,8 @@ class Societe
|
||||
|
||||
/**
|
||||
* \brief Renvoie le nom d'une societe a partir d'un id
|
||||
* \param id id de la société recherchée
|
||||
* \return string Nom de la société
|
||||
* \param id id de la soci<EFBFBD>t<EFBFBD> recherch<EFBFBD>e
|
||||
* \return string Nom de la soci<EFBFBD>t<EFBFBD>
|
||||
*/
|
||||
function get_nom($id)
|
||||
{
|
||||
@ -1184,7 +1185,7 @@ class Societe
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la liste des contacts emails existant pour la sociét
|
||||
* \brief Renvoie la liste des contacts emails existant pour la soci<EFBFBD>t
|
||||
* \return array tableau des contacts emails
|
||||
*/
|
||||
function thirdparty_and_contact_email_array()
|
||||
@ -1194,14 +1195,14 @@ class Societe
|
||||
$contact_email = $this->contact_email_array();
|
||||
if ($this->email)
|
||||
{
|
||||
// TODO: Tester si email non deja présent dans tableau contact
|
||||
// TODO: Tester si email non deja pr<EFBFBD>sent dans tableau contact
|
||||
$contact_email[-1]=$langs->trans("ThirdParty").': '.dolibarr_trunc($this->nom,16)." <".$this->email.">";;
|
||||
}
|
||||
return $contact_email;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoie la liste des contacts emails existant pour la société
|
||||
* \brief Renvoie la liste des contacts emails existant pour la soci<EFBFBD>t<EFBFBD>
|
||||
* \return array tableau des contacts emails
|
||||
*/
|
||||
function contact_email_array()
|
||||
@ -1235,7 +1236,7 @@ class Societe
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la liste des contacts de cette sociét
|
||||
* \brief Renvoie la liste des contacts de cette soci<EFBFBD>t
|
||||
* \return array tableau des contacts
|
||||
*/
|
||||
function contact_array()
|
||||
@ -1298,7 +1299,7 @@ class Societe
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la liste des libellés traduits des types actifs de sociétés
|
||||
* \brief Renvoie la liste des libell<EFBFBD>s traduits des types actifs de soci<EFBFBD>t<EFBFBD>s
|
||||
* \param mode 0=renvoi id+libelle, 1=renvoi code+libelle
|
||||
* \return array tableau des typesl
|
||||
*/
|
||||
@ -1440,7 +1441,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Attribut un code client à partir du module de controle des codes.
|
||||
* \brief Attribut un code client <EFBFBD> partir du module de controle des codes.
|
||||
* \return code_client Code client automatique
|
||||
*/
|
||||
function get_codeclient($objsoc=0,$type=0)
|
||||
@ -1460,7 +1461,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Attribut un code fournisseur à partir du module de controle des codes.
|
||||
* \brief Attribut un code fournisseur <EFBFBD> partir du module de controle des codes.
|
||||
* \return code_fournisseur Code fournisseur automatique
|
||||
*/
|
||||
function get_codefournisseur($objsoc=0,$type=1)
|
||||
@ -1538,7 +1539,7 @@ class Societe
|
||||
|
||||
/**
|
||||
* \brief Verifie code client
|
||||
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilisé
|
||||
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD>
|
||||
*/
|
||||
function check_codeclient()
|
||||
{
|
||||
@ -1563,7 +1564,7 @@ class Societe
|
||||
|
||||
/**
|
||||
* \brief Verifie code fournisseur
|
||||
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilisé
|
||||
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD>
|
||||
*/
|
||||
function check_codefournisseur()
|
||||
{
|
||||
@ -1588,8 +1589,8 @@ class Societe
|
||||
|
||||
/**
|
||||
* \brief Renvoie un code compta, suivant le module de code compta.
|
||||
* Peut être identique à celui saisit ou généré automatiquement.
|
||||
* A ce jour seule la génération automatique est implémentée
|
||||
* Peut <EFBFBD>tre identique <EFBFBD> celui saisit ou g<EFBFBD>n<EFBFBD>r<EFBFBD> automatiquement.
|
||||
* A ce jour seule la g<EFBFBD>n<EFBFBD>ration automatique est impl<EFBFBD>ment<EFBFBD>e
|
||||
* \param type Type de tiers ('customer' ou 'supplier')
|
||||
* \return string Code compta si ok, 0 si aucun, <0 si ko
|
||||
*/
|
||||
@ -1623,8 +1624,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Défini la société mère pour les filiales
|
||||
* \param id id compagnie mère à positionner
|
||||
* \brief D<EFBFBD>fini la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re pour les filiales
|
||||
* \param id id compagnie m<EFBFBD>re <EFBFBD> positionner
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function set_parent($id)
|
||||
@ -1647,8 +1648,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Supprime la société mère
|
||||
* \param id id compagnie mère à effacer
|
||||
* \brief Supprime la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re
|
||||
* \param id id compagnie m<EFBFBD>re <EFBFBD> effacer
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function remove_parent($id)
|
||||
@ -1723,7 +1724,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoi url de vérification d'un identifiant professionnal
|
||||
* \brief Renvoi url de v<EFBFBD>rification d'un identifiant professionnal
|
||||
* \param idprof 1,2,3,4 (Exemple: 1=siren,2=siret,3=naf,4=rcs/rm)
|
||||
* \param soc Objet societe
|
||||
* \return string url ou chaine vide si aucune url connue
|
||||
@ -1741,8 +1742,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Indique si la société a des projets
|
||||
* \return bool true si la société a des projets, false sinon
|
||||
* \brief Indique si la soci<EFBFBD>t<EFBFBD> a des projets
|
||||
* \return bool true si la soci<EFBFBD>t<EFBFBD> a des projets, false sinon
|
||||
*/
|
||||
function has_projects()
|
||||
{
|
||||
@ -1823,12 +1824,12 @@ class Societe
|
||||
}
|
||||
|
||||
/*
|
||||
* \brief Renvoi si pays appartient à CEE
|
||||
* \brief Renvoi si pays appartient <EFBFBD> CEE
|
||||
* \param boolean true = pays dans CEE, false= pays hors CEE
|
||||
*/
|
||||
function isInEEC()
|
||||
{
|
||||
// \todo liste code pays à compléter
|
||||
// \todo liste code pays <EFBFBD> compl<70>ter
|
||||
$country_code_in_EEC=array('BE','FR','LU','GB');
|
||||
//print "dd".$this->pays_code;
|
||||
return in_array($this->pays_code,$country_code_in_EEC);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user