Merge branch '3.2' of ssh://git@github.com/Dolibarr/dolibarr.git into 3.2

This commit is contained in:
Laurent Destailleur 2012-04-11 10:46:06 +02:00
commit 3870428f16
21 changed files with 325 additions and 246 deletions

View File

@ -4,7 +4,7 @@ English Dolibarr ChangeLog
***** ChangeLog for 3.2 compared to 3.1 ***** ***** ChangeLog for 3.2 compared to 3.1 *****
WARNING: PHP lower than 5.x are no more supported. WARNING: PHP lower than 5.x are no more supported.
WARNING: Because of a major datastructure change onto supplier prices tabkes, be aware WARNING: Because of a major datastructure change onto supplier prices tables, be aware
to make a backup of your database before making upgrade. to make a backup of your database before making upgrade.
For users: For users:

View File

@ -1,4 +1,4 @@
dolibarr (3.2.0+nmu1) unstable; urgency=low dolibarr (3.3.0+nmu1) unstable; urgency=low
* Non-maintainer upload. * Non-maintainer upload.
* New upstream release. * New upstream release.

View File

@ -40,6 +40,9 @@ if (!$user->admin) accessforbidden();
$action=GETPOST('action','alpha'); $action=GETPOST('action','alpha');
$value=GETPOST('value','alpha'); $value=GETPOST('value','alpha');
$label = GETPOST('label','alpha');
$scandir = GETPOST('scandir','alpha');
$type='shipping';
if (empty($conf->global->EXPEDITION_ADDON_NUMBER)) if (empty($conf->global->EXPEDITION_ADDON_NUMBER))
{ {
@ -50,6 +53,59 @@ if (empty($conf->global->EXPEDITION_ADDON_NUMBER))
/* /*
* Actions * Actions
*/ */
if ($action == 'updateMask')
{
$maskconst=GETPOST('maskconstexpedition','alpha');
$maskvalue=GETPOST('maskexpedition','alpha');
if ($maskconst) $res = dolibarr_set_const($db,$maskconst,$maskvalue,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
if ($action == 'set_SHIPPING_FREE_TEXT')
{
$freetext=GETPOST('SHIPPING_FREE_TEXT','alpha');
$res = dolibarr_set_const($db, "SHIPPING_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
if ($action == 'set_SHIPPING_DRAFT_WATERMARK')
{
$draft=GETPOST('SHIPPING_DRAFT_WATERMARK','alpha');
$res = dolibarr_set_const($db, "SHIPPING_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
if ($action == 'specimen') if ($action == 'specimen')
{ {
$modele=GETPOST('module','alpha'); $modele=GETPOST('module','alpha');
@ -84,8 +140,8 @@ if ($action == 'specimen')
} }
else else
{ {
$mesg='<font class="error">'.$module->error.'</font>'; $mesg='<font class="error">'.$obj->error.'</font>';
dol_syslog($module->error, LOG_ERR); dol_syslog($obj->error, LOG_ERR);
} }
} }
else else
@ -98,30 +154,13 @@ if ($action == 'specimen')
// Activate a model // Activate a model
if ($action == 'set') if ($action == 'set')
{ {
$label = GETPOST('label','alpha'); $ret = addDocumentModel($value, $type, $label, $scandir);
$scandir = GETPOST('scandir','alpha');
$type='shipping';
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."','".$type."',".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
$sql.= ")";
if ($db->query($sql))
{
}
} }
if ($action == 'del') if ($action == 'del')
{ {
$type='shipping'; $ret = delDocumentModel($value, $type);
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model"; if ($ret > 0)
$sql.= " WHERE nom = '".$db->escape($value)."'";
$sql.= " AND type = '".$type."'";
$sql.= " AND entity = ".$conf->entity;
if ($db->query($sql))
{ {
if ($conf->global->EXPEDITION_ADDON_PDF == "$value") dolibarr_del_const($db, 'EXPEDITION_ADDON_PDF',$conf->entity); if ($conf->global->EXPEDITION_ADDON_PDF == "$value") dolibarr_del_const($db, 'EXPEDITION_ADDON_PDF',$conf->entity);
} }
@ -130,37 +169,18 @@ if ($action == 'del')
// Set default model // Set default model
if ($action == 'setdoc') if ($action == 'setdoc')
{ {
$label = GETPOST('label','alpha');
$scandir = GETPOST('scandir','alpha');
$db->begin();
if (dolibarr_set_const($db, "EXPEDITION_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) if (dolibarr_set_const($db, "EXPEDITION_ADDON_PDF",$value,'chaine',0,'',$conf->entity))
{ {
// La constante qui a ete lue en avant du nouveau set
// on passe donc par une variable pour avoir un affichage coherent
$conf->global->EXPEDITION_ADDON_PDF = $value; $conf->global->EXPEDITION_ADDON_PDF = $value;
} }
// On active le modele // On active le modele
$type='shipping'; $ret = delDocumentModel($value, $type);
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model"; if ($ret > 0)
$sql_del.= " WHERE nom = '".$db->escape($value)."'";
$sql_del.= " AND type = '".$type."'";
$sql_del.= " AND entity = ".$conf->entity;
$result1=$db->query($sql_del);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."', '".$type."', ".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
$sql.= ")";
$result2=$db->query($sql);
if ($result1 && $result2)
{ {
$db->commit(); $ret = addDocumentModel($value, $type, $label, $scandir);
}
else
{
$db->rollback();
} }
} }
@ -240,28 +260,8 @@ if ($action == 'setmod')
// TODO Verifier si module numerotation choisi peut etre active // TODO Verifier si module numerotation choisi peut etre active
// par appel methode canBeActivated // par appel methode canBeActivated
$module=GETPOST('module','alpha'); dolibarr_set_const($db, "EXPEDITION_ADDON",$value,'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "EXPEDITION_ADDON",$module,'chaine',0,'',$conf->entity);
}
if ($action == 'updateMask')
{
$maskconst=GETPOST('maskconstexpedition','alpha');
$maskvalue=GETPOST('maskexpedition','alpha');
if ($maskconst) $res = dolibarr_set_const($db,$maskconst,$maskvalue,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
} }
if ($action == 'setmodel') if ($action == 'setmodel')
@ -269,39 +269,6 @@ if ($action == 'setmodel')
dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity); dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity);
} }
if ($action == 'set_SHIPPING_DRAFT_WATERMARK')
{
$draft=GETPOST('SHIPPING_DRAFT_WATERMARK','alpha');
$res = dolibarr_set_const($db, "SHIPPING_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
if ($action == 'set_SHIPPING_FREE_TEXT')
{
$free=GETPOST('SHIPPING_FREE_TEXT','alpha');
$res = dolibarr_set_const($db, "SHIPPING_FREE_TEXT",$free,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
/* /*
* View * View

View File

@ -44,11 +44,14 @@ if ($action == 'setvalue' && $user->admin)
$mailfrom = GETPOST('MAILING_EMAIL_FROM','alpha'); $mailfrom = GETPOST('MAILING_EMAIL_FROM','alpha');
$mailerror = GETPOST('MAILING_EMAIL_ERRORSTO','alpha'); $mailerror = GETPOST('MAILING_EMAIL_ERRORSTO','alpha');
$checkread = GETPOST('value','alpha');
$res=dolibarr_set_const($db, "MAILING_EMAIL_FROM",$mailfrom,'chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "MAILING_EMAIL_FROM",$mailfrom,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++; if (! $res > 0) $error++;
$res=dolibarr_set_const($db, "MAILING_EMAIL_ERRORSTO",$mailerror,'chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "MAILING_EMAIL_ERRORSTO",$mailerror,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++; if (! $res > 0) $error++;
$res=dolibarr_set_const($db, "MAIN_SOCIETE_UNSUBSCRIBE",$checkread,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error) if (! $error)
{ {
@ -101,6 +104,25 @@ print '<input size="32" type="text" name="MAILING_EMAIL_ERRORSTO" value="'.$conf
if (!empty($conf->global->MAILING_EMAIL_ERRORSTO) && ! isValidEmail($conf->global->MAILING_EMAIL_ERRORSTO)) print ' '.img_warning($langs->trans("BadEMail")); if (!empty($conf->global->MAILING_EMAIL_ERRORSTO) && ! isValidEmail($conf->global->MAILING_EMAIL_ERRORSTO)) print ' '.img_warning($langs->trans("BadEMail"));
print '</td></tr>'; print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td>';
print $langs->trans("ActivateCheckRead").'</td><td>';
if ($conf->global->MAIN_SOCIETE_UNSUBSCRIBE==1)
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setvalue&value=0">';
print img_picto($langs->trans("Enabled"),'switch_on');
print '</a>';
}
else
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setvalue&value=1">';
print img_picto($langs->trans("Disabled"),'switch_off');
print '</a>';
}
print '</td></tr>';
print '<tr><td colspan="3" align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td></tr>'; print '<tr><td colspan="3" align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td></tr>';
print '</table></form>'; print '</table></form>';

View File

@ -49,6 +49,7 @@ $substitutionarray=array(
'__EMAIL__' => 'EMail', '__EMAIL__' => 'EMail',
'__LASTNAME__' => 'Lastname', '__LASTNAME__' => 'Lastname',
'__FIRSTNAME__' => 'Firstname', '__FIRSTNAME__' => 'Firstname',
'__MAILTOEMAIL__' => 'MailtoEmail',
'__OTHER1__' => 'Other1', '__OTHER1__' => 'Other1',
'__OTHER2__' => 'Other2', '__OTHER2__' => 'Other2',
'__OTHER3__' => 'Other3', '__OTHER3__' => 'Other3',
@ -73,6 +74,7 @@ $substitutionarrayfortest=array(
'__EMAIL__' => 'TESTEMail', '__EMAIL__' => 'TESTEMail',
'__LASTNAME__' => 'TESTLastname', '__LASTNAME__' => 'TESTLastname',
'__FIRSTNAME__' => 'TESTFirstname', '__FIRSTNAME__' => 'TESTFirstname',
'__MAILTOEMAIL__' => 'TESTMailtoEmail',
'__OTHER1__' => 'TESTOther1', '__OTHER1__' => 'TESTOther1',
'__OTHER2__' => 'TESTOther2', '__OTHER2__' => 'TESTOther2',
'__OTHER3__' => 'TESTOther3', '__OTHER3__' => 'TESTOther3',
@ -208,8 +210,9 @@ if ($action == 'sendallconfirmed' && $confirm == 'yes')
$substitutionarray=array( $substitutionarray=array(
'__ID__' => $obj->source_id, '__ID__' => $obj->source_id,
'__EMAIL__' => $obj->email, '__EMAIL__' => $obj->email,
'__CHECK_READ__' => '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$obj->tag.'" width="0" height="0" style="width:0px;height:0px" border="0"/>', '__CHECK_READ__' => '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$obj->tag.'" width="1" height="1" style="width:1px;height:1px" border="0"/>',
'__UNSUSCRIBE__' => '<a href="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-unsubscribe.php?tag='.$obj->tag.'&unsuscrib=1" target="_blank">'.$langs->trans("MailUnsubcribe").'</a>', '__UNSUSCRIBE__' => '<a href="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-unsubscribe.php?tag='.$obj->tag.'&unsuscrib=1" target="_blank">'.$langs->trans("MailUnsubcribe").'</a>',
'__MAILTOEMAIL__' => '<a href="mailto:'.$obj->email.'">'.$obj->email.'</a>',
'__LASTNAME__' => $obj->nom, '__LASTNAME__' => $obj->nom,
'__FIRSTNAME__' => $obj->prenom, '__FIRSTNAME__' => $obj->prenom,
'__OTHER1__' => $other1, '__OTHER1__' => $other1,
@ -1048,6 +1051,7 @@ else
print '__CHECK_READ__ = '.$langs->trans("CheckRead").'<br>'; print '__CHECK_READ__ = '.$langs->trans("CheckRead").'<br>';
print '__UNSUSCRIBE__ = '.$langs->trans("MailUnsubcribe").'<br>'; print '__UNSUSCRIBE__ = '.$langs->trans("MailUnsubcribe").'<br>';
} }
print '__MAILTOEMAIL__ = '.$langs->trans("MailtoEMail").'<br>';
print '__LASTNAME__ = '.$langs->trans("Lastname").'<br>'; print '__LASTNAME__ = '.$langs->trans("Lastname").'<br>';
print '__FIRSTNAME__ = '.$langs->trans("Firstname").'<br>'; print '__FIRSTNAME__ = '.$langs->trans("Firstname").'<br>';
print '__OTHER1__ = '.$langs->trans("Other").'1<br>'; print '__OTHER1__ = '.$langs->trans("Other").'1<br>';

View File

@ -94,7 +94,7 @@ class Conf
$this->syslog = (object) array(); $this->syslog = (object) array();
$this->browser = (object) array(); $this->browser = (object) array();
$this->multicompany = (object) array(); $this->multicompany = (object) array();
// First level object // First level object
$this->expedition_bon = (object) array(); $this->expedition_bon = (object) array();
$this->livraison_bon = (object) array(); $this->livraison_bon = (object) array();
@ -111,7 +111,7 @@ class Conf
$this->bank = (object) array(); $this->bank = (object) array();
$this->notification = (object) array(); $this->notification = (object) array();
$this->mailing = (object) array(); $this->mailing = (object) array();
//! Charset for HTML output and for storing data in memory //! Charset for HTML output and for storing data in memory
$this->file->character_set_client='UTF-8'; // UTF-8, ISO-8859-1 $this->file->character_set_client='UTF-8'; // UTF-8, ISO-8859-1
} }
@ -207,12 +207,12 @@ class Conf
} }
$i++; $i++;
} }
$db->free($resql); $db->free($resql);
} }
//var_dump($this->modules); //var_dump($this->modules);
//var_dump($this->modules_parts); //var_dump($this->modules_parts);
// Object $mc // Object $mc
if (! defined('NOREQUIREMC') && ! empty($this->multicompany->enabled)) if (! defined('NOREQUIREMC') && ! empty($this->multicompany->enabled))
{ {
@ -220,7 +220,7 @@ class Conf
$ret = @dol_include_once('/multicompany/class/actions_multicompany.class.php'); $ret = @dol_include_once('/multicompany/class/actions_multicompany.class.php');
if ($ret) $mc = new ActionsMulticompany($db); if ($ret) $mc = new ActionsMulticompany($db);
} }
// Second or others levels object // Second or others levels object
$this->propal->cloture = (object) array(); $this->propal->cloture = (object) array();
$this->propal->facturation = (object) array(); $this->propal->facturation = (object) array();
@ -289,7 +289,7 @@ class Conf
// For backward compatibility // For backward compatibility
$this->user->dir_output=$rootforuser."/users"; $this->user->dir_output=$rootforuser."/users";
$this->user->dir_temp=$rootforuser."/users/temp"; $this->user->dir_temp=$rootforuser."/users/temp";
// For propal storage // For propal storage
$this->propal->dir_output=$rootforuser."/propale"; $this->propal->dir_output=$rootforuser."/propale";
$this->propal->dir_temp=$rootforuser."/propale/temp"; $this->propal->dir_temp=$rootforuser."/propale/temp";
@ -307,7 +307,7 @@ class Conf
$this->fournisseur->commande->dir_temp =$rootfordata."/fournisseur/commande/temp"; $this->fournisseur->commande->dir_temp =$rootfordata."/fournisseur/commande/temp";
$this->fournisseur->facture->dir_output =$rootfordata."/fournisseur/facture"; $this->fournisseur->facture->dir_output =$rootfordata."/fournisseur/facture";
$this->fournisseur->facture->dir_temp =$rootfordata."/fournisseur/facture/temp"; $this->fournisseur->facture->dir_temp =$rootfordata."/fournisseur/facture/temp";
// Module product/service // Module product/service
$this->product->multidir_output=array($this->entity => $rootfordata."/produit"); $this->product->multidir_output=array($this->entity => $rootfordata."/produit");
$this->product->multidir_temp =array($this->entity => $rootfordata."/produit/temp"); $this->product->multidir_temp =array($this->entity => $rootfordata."/produit/temp");
@ -318,7 +318,7 @@ class Conf
$this->product->dir_temp =$rootfordata."/produit/temp"; $this->product->dir_temp =$rootfordata."/produit/temp";
$this->service->dir_output=$rootfordata."/produit"; $this->service->dir_output=$rootfordata."/produit";
$this->service->dir_temp =$rootfordata."/produit/temp"; $this->service->dir_temp =$rootfordata."/produit/temp";
// Module contrat // Module contrat
$this->contrat->dir_output=$rootfordata."/contracts"; $this->contrat->dir_output=$rootfordata."/contracts";
$this->contrat->dir_temp =$rootfordata."/contracts/temp"; $this->contrat->dir_temp =$rootfordata."/contracts/temp";
@ -414,11 +414,11 @@ class Conf
$this->bank->cheque->warning_delay=(isset($this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT)?$this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT:0)*24*60*60; $this->bank->cheque->warning_delay=(isset($this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT)?$this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT:0)*24*60*60;
// For backward compatibility // For backward compatibility
$this->produit=$this->product; if (isset($this->product)) $this->produit=$this->product;
$this->invoice=$this->facture; if (isset($this->facture)) $this->invoice=$this->facture;
$this->order=$this->commande; if (isset($this->commande)) $this->order=$this->commande;
$this->contract=$this->contrat; if (isset($this->contrat)) $this->contract=$this->contrat;
$this->category=$this->categorie; if (isset($this->categorie)) $this->category=$this->categorie;
// Define menu manager in setup // Define menu manager in setup
@ -435,7 +435,7 @@ class Conf
// For backward compatibility // For backward compatibility
if ($this->top_menu == 'eldy.php') $this->top_menu='eldy_backoffice.php'; if ($this->top_menu == 'eldy.php') $this->top_menu='eldy_backoffice.php';
elseif ($this->top_menu == 'rodolphe.php') $this->top_menu='eldy_backoffice.php'; elseif ($this->top_menu == 'rodolphe.php') $this->top_menu='eldy_backoffice.php';
// Object $mc // Object $mc
if (! defined('NOREQUIREMC') && ! empty($this->multicompany->enabled)) if (! defined('NOREQUIREMC') && ! empty($this->multicompany->enabled))
{ {

View File

@ -221,7 +221,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target
// Tel // Tel
if ($sourcecompany->tel) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Phone").": ".$outputlangs->convToOutputCharset($sourcecompany->tel); if ($sourcecompany->tel) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Phone").": ".$outputlangs->convToOutputCharset($sourcecompany->tel);
// Fax // Fax
if ($sourcecompany->fax) $stringaddress .= ($stringaddress ? ($sourcecompany->tel ? " - " : "\n") : '' ).$outputlangs->transnoentities("Fax").": ".$outputlangs->convToOutputCharset($sourcecompany->fax); if ($sourcecompany->fax) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Fax").": ".$outputlangs->convToOutputCharset($sourcecompany->fax);
// EMail // EMail
if ($sourcecompany->email) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Email").": ".$outputlangs->convToOutputCharset($sourcecompany->email); if ($sourcecompany->email) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Email").": ".$outputlangs->convToOutputCharset($sourcecompany->email);
// Web // Web

View File

@ -98,8 +98,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
$this->franchise=!$mysoc->tva_assuj; $this->franchise=!$mysoc->tva_assuj;
// Get source company // Get source company
if (! is_object($object->thirdparty)) $object->fetch_thirdparty(); $this->emetteur=$mysoc;
$this->emetteur=$object->thirdparty;
if (! $this->emetteur->country_code) $this->emetteur->country_code=substr($langs->defaultlang,-2); // By default, if was not defined if (! $this->emetteur->country_code) $this->emetteur->country_code=substr($langs->defaultlang,-2); // By default, if was not defined
// Defini position des colonnes // Defini position des colonnes
@ -902,9 +901,8 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
$pdf->SetXY($this->marge_gauche,$posy); $pdf->SetXY($this->marge_gauche,$posy);
// Logo // Logo
/* $logo=$conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo;
$logo=$conf->mycompany->dir_output.'/logos/'.$mysoc->logo; if ($this->emetteur->logo)
if ($mysoc->logo)
{ {
if (is_readable($logo)) if (is_readable($logo))
{ {
@ -920,10 +918,10 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
} }
} }
else else
{*/ {
$text=$this->emetteur->name; $text=$this->emetteur->name;
$pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L'); $pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L');
//} }
$pdf->SetFont('', 'B', $default_font_size + 3); $pdf->SetFont('', 'B', $default_font_size + 3);
$pdf->SetXY($posx,$posy); $pdf->SetXY($posx,$posy);
@ -991,7 +989,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
// If BILLING contact defined on order, we use it // If BILLING contact defined on order, we use it
$usecontact=false; $usecontact=false;
$arrayidcontact=$object->getIdContact('internal','BILLING'); $arrayidcontact=$object->getIdContact('external','BILLING');
if (count($arrayidcontact) > 0) if (count($arrayidcontact) > 0)
{ {
$usecontact=true; $usecontact=true;
@ -1003,15 +1001,15 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
{ {
// On peut utiliser le nom de la societe du contact // On peut utiliser le nom de la societe du contact
if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname; if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname;
else $socname = $mysoc->nom; else $socname = $object->client->name;
$carac_client_name=$outputlangs->convToOutputCharset($socname); $carac_client_name=$outputlangs->convToOutputCharset($socname);
} }
else else
{ {
$carac_client_name=$outputlangs->convToOutputCharset($mysoc->nom); $carac_client_name=$outputlangs->convToOutputCharset($object->client->name);
} }
$carac_client=pdf_build_address($outputlangs,$this->emetteur,$mysoc,$object->contact,$usecontact,'target'); $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target');
// Show recipient // Show recipient
$posy=42; $posy=42;

View File

@ -54,6 +54,7 @@ class CommandeFournisseur extends Commande
var $fourn_id; var $fourn_id;
var $date; var $date;
var $date_commande; var $date_commande;
var $date_livraison; // Date livraison souhaitee
var $total_ht; var $total_ht;
var $total_tva; var $total_tva;
var $total_localtax1; // Total Local tax 1 var $total_localtax1; // Total Local tax 1
@ -112,7 +113,7 @@ class CommandeFournisseur extends Commande
$sql = "SELECT c.rowid, c.ref, c.date_creation, c.fk_soc, c.fk_user_author, c.fk_statut, c.amount_ht, c.total_ht, c.total_ttc, c.tva,"; $sql = "SELECT c.rowid, c.ref, c.date_creation, c.fk_soc, c.fk_user_author, c.fk_statut, c.amount_ht, c.total_ht, c.total_ttc, c.tva,";
$sql.= " c.localtax1, c.localtax2, "; $sql.= " c.localtax1, c.localtax2, ";
$sql.= " c.date_commande as date_commande, c.fk_cond_reglement, c.fk_mode_reglement, c.fk_projet as fk_project, c.remise_percent, c.source, c.fk_methode_commande,"; $sql.= " c.date_commande as date_commande, c.date_livraison as date_livraison, c.fk_cond_reglement, c.fk_mode_reglement, c.fk_projet as fk_project, c.remise_percent, c.source, c.fk_methode_commande,";
$sql.= " c.note as note_private, c.note_public, c.model_pdf, c.extraparams,"; $sql.= " c.note as note_private, c.note_public, c.model_pdf, c.extraparams,";
$sql.= " cm.libelle as methode_commande,"; $sql.= " cm.libelle as methode_commande,";
$sql.= " cr.code as cond_reglement_code, cr.libelle as cond_reglement_libelle,"; $sql.= " cr.code as cond_reglement_code, cr.libelle as cond_reglement_libelle,";
@ -150,6 +151,7 @@ class CommandeFournisseur extends Commande
$this->total_ttc = $obj->total_ttc; $this->total_ttc = $obj->total_ttc;
$this->date_commande = $this->db->jdate($obj->date_commande); // date a laquelle la commande a ete transmise $this->date_commande = $this->db->jdate($obj->date_commande); // date a laquelle la commande a ete transmise
$this->date = $this->db->jdate($obj->date_creation); $this->date = $this->db->jdate($obj->date_creation);
$this->date_livraison = $this->db->jdate($obj->date_livraison);
$this->remise_percent = $obj->remise_percent; $this->remise_percent = $obj->remise_percent;
$this->methode_commande_id = $obj->fk_methode_commande; $this->methode_commande_id = $obj->fk_methode_commande;
$this->methode_commande = $obj->methode_commande; $this->methode_commande = $obj->methode_commande;
@ -888,6 +890,7 @@ class CommandeFournisseur extends Commande
$sql.= ", entity"; $sql.= ", entity";
$sql.= ", fk_soc"; $sql.= ", fk_soc";
$sql.= ", date_creation"; $sql.= ", date_creation";
$sql.= ", date_livraison";
$sql.= ", fk_user_author"; $sql.= ", fk_user_author";
$sql.= ", fk_statut"; $sql.= ", fk_statut";
$sql.= ", source"; $sql.= ", source";
@ -899,6 +902,7 @@ class CommandeFournisseur extends Commande
$sql.= ", ".$conf->entity; $sql.= ", ".$conf->entity;
$sql.= ", ".$this->socid; $sql.= ", ".$this->socid;
$sql.= ", ".$this->db->idate($now); $sql.= ", ".$this->db->idate($now);
$sql.= ", ".$this->db->idate($now);
$sql.= ", ".$user->id; $sql.= ", ".$user->id;
$sql.= ", 0"; $sql.= ", 0";
$sql.= ", 0"; $sql.= ", 0";
@ -1367,6 +1371,41 @@ class CommandeFournisseur extends Commande
return $result ; return $result ;
} }
/**
* Set the planned delivery date
*
* @param User $user Objet utilisateur qui modifie
* @param timestamp $date_livraison Date de livraison
* @return int <0 si ko, >0 si ok
*/
function set_date_livraison($user, $date_livraison)
{
if ($user->rights->fournisseur->commande->creer)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur";
$sql.= " SET date_livraison = ".($date_livraison ? "'".$this->db->idate($date_livraison)."'" : 'null');
$sql.= " WHERE rowid = ".$this->id;
dol_syslog("CommandeFournisseur::set_date_livraison sql=".$sql,LOG_DEBUG);
$resql=$this->db->query($sql);
if ($resql)
{
$this->date_livraison = $date_livraison;
return 1;
}
else
{
$this->error=$this->db->error();
dol_syslog("CommandeFournisseur::set_date_livraison ".$this->error,LOG_ERR);
return -1;
}
}
else
{
return -2;
}
}
/** /**
* Update a supplier order from a customer order * Update a supplier order from a customer order
* *
@ -1830,4 +1869,4 @@ class CommandeFournisseurLigne extends OrderLine
} }
} }
?> ?>

View File

@ -48,12 +48,12 @@ $langs->load('products');
$langs->load('stocks'); $langs->load('stocks');
$id = GETPOST('id','int'); $id = GETPOST('id','int');
$ref = GETPOST("ref"); $ref = GETPOST('ref','alpha');
$action = GETPOST("action"); $action = GETPOST('action','alpha');
$confirm = GETPOST("confirm"); $confirm = GETPOST('confirm','alpha');
$comclientid = GETPOST("comid"); $comclientid = GETPOST('comid','int');
$socid = GETPOST('socid','int'); $socid = GETPOST('socid','int');
$projectid = GETPOST("projectid"); $projectid = GETPOST('projectid','int');
// Security check // Security check
if ($user->societe_id) $socid=$user->societe_id; if ($user->societe_id) $socid=$user->societe_id;
@ -87,6 +87,19 @@ else if ($action == 'setmode' && $user->rights->fournisseur->commande->creer)
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int')); $result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int'));
} }
// date de livraison
if ($action == 'setdate_livraison' && $user->rights->fournisseur->commande->creer)
{
$datelivraison=dol_mktime(0, 0, 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'),GETPOST('liv_year','int'));
$object->fetch($id);
$result=$object->set_date_livraison($user,$datelivraison);
if ($result < 0)
{
$mesg='<div class="error">'.$object->error.'</div>';
}
}
// Set project // Set project
else if ($action == 'classin' && $user->rights->fournisseur->commande->creer) else if ($action == 'classin' && $user->rights->fournisseur->commande->creer)
{ {
@ -100,18 +113,18 @@ else if ($action == 'setremisepercent' && $user->rights->fournisseur->commande->
$result = $object->set_remise($user, $_POST['remise_percent']); $result = $object->set_remise($user, $_POST['remise_percent']);
} }
else if ($action == 'setnote_public' && $user->rights->propale->creer) else if ($action == 'setnote_public' && $user->rights->propale->creer)
{ {
$object->fetch($id); $object->fetch($id);
$result=$object->update_note_public(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES)); $result=$object->update_note_public(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES));
if ($result < 0) dol_print_error($db,$object->error); if ($result < 0) dol_print_error($db,$object->error);
} }
else if ($action == 'setnote' && $user->rights->propale->creer) else if ($action == 'setnote' && $user->rights->propale->creer)
{ {
$object->fetch($id); $object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note'), ENT_QUOTES)); $result=$object->update_note(dol_html_entity_decode(GETPOST('note'), ENT_QUOTES));
if ($result < 0) dol_print_error($db,$object->error); if ($result < 0) dol_print_error($db,$object->error);
} }
else if ($action == 'reopen' && $user->rights->fournisseur->commande->approuver) else if ($action == 'reopen' && $user->rights->fournisseur->commande->approuver)
@ -812,64 +825,64 @@ if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_P
} }
} }
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB)) if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
{ {
if ($action == 'addcontact' && $user->rights->fournisseur->commande->creer) if ($action == 'addcontact' && $user->rights->fournisseur->commande->creer)
{ {
$result = $object->fetch($id); $result = $object->fetch($id);
if ($result > 0 && $id > 0) if ($result > 0 && $id > 0)
{ {
$contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid'));
$result = $result = $object->add_contact($contactid, $_POST["type"], $_POST["source"]); $result = $result = $object->add_contact($contactid, $_POST["type"], $_POST["source"]);
} }
if ($result >= 0) if ($result >= 0)
{ {
Header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); Header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
exit; exit;
} }
else else
{ {
if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
{ {
$langs->load("errors"); $langs->load("errors");
$mesg = '<div class="error">'.$langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType").'</div>'; $mesg = '<div class="error">'.$langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType").'</div>';
} }
else else
{ {
$mesg = '<div class="error">'.$object->error.'</div>'; $mesg = '<div class="error">'.$object->error.'</div>';
} }
} }
} }
// bascule du statut d'un contact // bascule du statut d'un contact
else if ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer) else if ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer)
{ {
if ($object->fetch($id)) if ($object->fetch($id))
{ {
$result=$object->swapContactStatus(GETPOST('ligne')); $result=$object->swapContactStatus(GETPOST('ligne'));
} }
else else
{ {
dol_print_error($db); dol_print_error($db);
} }
} }
// Efface un contact // Efface un contact
else if ($action == 'deletecontact' && $user->rights->fournisseur->commande->creer) else if ($action == 'deletecontact' && $user->rights->fournisseur->commande->creer)
{ {
$object->fetch($id); $object->fetch($id);
$result = $object->delete_contact($_GET["lineid"]); $result = $object->delete_contact($_GET["lineid"]);
if ($result >= 0) if ($result >= 0)
{ {
Header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); Header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
exit; exit;
} }
else { else {
dol_print_error($db); dol_print_error($db);
} }
} }
} }
@ -1102,6 +1115,30 @@ if ($id > 0 || ! empty($ref))
} }
print '</td></tr>'; print '</td></tr>';
// Delivery date planed
print '<tr><td height="10">';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('DateDeliveryPlanned');
print '</td>';
if ($action != 'editdate_livraison') print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate_livraison&amp;id='.$object->id.'">'.img_edit($langs->trans('SetDeliveryDate'),1).'</a></td>';
print '</tr></table>';
print '</td><td colspan="2">';
if ($action == 'editdate_livraison')
{
print '<form name="setdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="setdate_livraison">';
$form->select_date($object->date_livraison?$object->date_livraison:-1,'liv_','','','',"setdate_livraison");
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
print '</form>';
}
else
{
print $object->date_livraison ? dol_print_date($object->date_livraison,'daytext') : '&nbsp;';
}
print '</td>';
// Project // Project
if ($conf->projet->enabled) if ($conf->projet->enabled)
{ {
@ -1155,22 +1192,22 @@ if ($id > 0 || ! empty($ref))
print "</table><br>"; print "</table><br>";
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB)) if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
{ {
require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'); require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php');
require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php");
$formcompany= new FormCompany($db); $formcompany= new FormCompany($db);
$blocname = 'contacts'; $blocname = 'contacts';
$title = $langs->trans('ContactsAddresses'); $title = $langs->trans('ContactsAddresses');
include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php'); include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php');
} }
if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB))
{ {
$blocname = 'notes'; $blocname = 'notes';
$title = $langs->trans('Notes'); $title = $langs->trans('Notes');
include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php'); include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php');
} }
dol_htmloutput_mesg($mesg); dol_htmloutput_mesg($mesg);
@ -1722,4 +1759,4 @@ if ($id > 0 || ! empty($ref))
// End of page // End of page
llxFooter(); llxFooter();
$db->close(); $db->close();
?> ?>

View File

@ -35,11 +35,11 @@ $langs->setDefaultLang($setuplang);
$langs->load("install"); $langs->load("install");
// Init "forced values" to nothing. "forced values" are used after an doliwamp install wizard. // Now we load forced value from install.forced.php file.
if (! isset($force_install_dolibarrlogin)) $force_install_dolibarrlogin='';
$useforcedwizard=false; $useforcedwizard=false;
if (@file_exists("./install.forced.php")) { $useforcedwizard=true; include_once("./install.forced.php"); } $forcedfile="./install.forced.php";
else if (@file_exists("/etc/dolibarr/install.forced.php")) { $useforcedwizard=include_once("/etc/dolibarr/install.forced.php"); } if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once($forcedfile); }
dolibarr_install_syslog("Dolibarr install/upgrade process started"); dolibarr_install_syslog("Dolibarr install/upgrade process started");

View File

@ -43,10 +43,11 @@ $passroot=isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:"";
// Repertoire des pages dolibarr // Repertoire des pages dolibarr
$main_dir=isset($_POST["main_dir"])?trim($_POST["main_dir"]):''; $main_dir=isset($_POST["main_dir"])?trim($_POST["main_dir"]):'';
// Init "forced values" to nothing. "forced values" are used after an doliwamp install wizard. // Now we load forced value from install.forced.php file.
$useforcedwizard=false; $useforcedwizard=false;
if (file_exists("./install.forced.php")) { $useforcedwizard=true; include_once("./install.forced.php"); } $forcedfile="./install.forced.php";
else if (file_exists("/etc/dolibarr/install.forced.php")) { $useforcedwizard=include_once("/etc/dolibarr/install.forced.php"); } if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once($forcedfile); }
dolibarr_install_syslog("--- etape1: Entering etape1.php page"); dolibarr_install_syslog("--- etape1: Entering etape1.php page");

View File

@ -52,10 +52,11 @@ if ($dolibarr_main_db_type == "pgsql") $choix=2;
if ($dolibarr_main_db_type == "mssql") $choix=3; if ($dolibarr_main_db_type == "mssql") $choix=3;
//if (empty($choix)) dol_print_error('','Database type '.$dolibarr_main_db_type.' not supported into etape2.php page'); //if (empty($choix)) dol_print_error('','Database type '.$dolibarr_main_db_type.' not supported into etape2.php page');
// Init "forced values" to nothing. "forced values" are used after a Doliwamp install wizard. // Now we load forced value from install.forced.php file.
$useforcedwizard=false; $useforcedwizard=false;
if (file_exists("./install.forced.php")) { $useforcedwizard=true; include_once("./install.forced.php"); } $forcedfile="./install.forced.php";
else if (file_exists("/etc/dolibarr/install.forced.php")) { $useforcedwizard=include_once("/etc/dolibarr/install.forced.php"); } if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once($forcedfile); }
dolibarr_install_syslog("--- etape2: Entering etape2.php page"); dolibarr_install_syslog("--- etape2: Entering etape2.php page");

View File

@ -36,11 +36,11 @@ $langs->setDefaultLang($setuplang);
$langs->load("admin"); $langs->load("admin");
$langs->load("install"); $langs->load("install");
// Init "forced values" to nothing. "forced values" are used after an doliwamp install wizard. // Now we load forced value from install.forced.php file.
if (! isset($force_install_dolibarrlogin)) $force_install_dolibarrlogin='';
$useforcedwizard=false; $useforcedwizard=false;
if (file_exists("./install.forced.php")) { $useforcedwizard=true; include_once("./install.forced.php"); } $forcedfile="./install.forced.php";
else if (file_exists("/etc/dolibarr/install.forced.php")) { $useforcedwizard=include_once("/etc/dolibarr/install.forced.php"); } if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once($forcedfile); }
dolibarr_install_syslog("--- etape4: Entering etape4.php page"); dolibarr_install_syslog("--- etape4: Entering etape4.php page");
@ -74,7 +74,7 @@ $db=getDoliDBInstance($conf->db->type,$conf->db->host,$conf->db->user,$conf->db-
if ($db->ok == 1) if ($db->ok == 1)
{ {
print '<tr><td>'.$langs->trans("DolibarrAdminLogin").' :</td><td>'; print '<tr><td>'.$langs->trans("DolibarrAdminLogin").' :</td><td>';
print '<input name="login" value="'.(! empty($_GET["login"])?$_GET["login"]:$force_install_dolibarrlogin).'"></td></tr>'; print '<input name="login" value="'.(! empty($_GET["login"])?$_GET["login"]:(isset($force_install_dolibarrlogin)?$force_install_dolibarrlogin:'')).'"></td></tr>';
print '<tr><td>'.$langs->trans("Password").' :</td><td>'; print '<tr><td>'.$langs->trans("Password").' :</td><td>';
print '<input type="password" name="pass"></td></tr>'; print '<input type="password" name="pass"></td></tr>';
print '<tr><td>'.$langs->trans("PasswordAgain").' :</td><td>'; print '<tr><td>'.$langs->trans("PasswordAgain").' :</td><td>';
@ -106,9 +106,9 @@ if ($db->ok == 1)
} }
$db->close();
dolibarr_install_syslog("--- install/etape4.php end", LOG_INFO); dolibarr_install_syslog("--- install/etape4.php end", LOG_INFO);
pFooter($err,$setuplang); pFooter($err,$setuplang);
$db->close();
?> ?>

View File

@ -61,9 +61,11 @@ if (! isset($force_install_databasepass)) $force_install_databasepass='';
if (! isset($force_install_databaserootlogin)) $force_install_databaserootlogin=''; if (! isset($force_install_databaserootlogin)) $force_install_databaserootlogin='';
if (! isset($force_install_databaserootpass)) $force_install_databaserootpass=''; if (! isset($force_install_databaserootpass)) $force_install_databaserootpass='';
if (! isset($force_install_lockinstall)) $force_install_lockinstall=''; if (! isset($force_install_lockinstall)) $force_install_lockinstall='';
// Now we load forced value from install.forced.php file.
$useforcedwizard=false; $useforcedwizard=false;
if (file_exists("./install.forced.php")) { $useforcedwizard=true; include_once("./install.forced.php"); } $forcedfile="./install.forced.php";
else if (file_exists("/etc/dolibarr/install.forced.php")) { $useforcedwizard=include_once("/etc/dolibarr/install.forced.php"); } if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once($forcedfile); }
dolibarr_install_syslog("--- etape5: Entering etape5.php page", LOG_INFO); dolibarr_install_syslog("--- etape5: Entering etape5.php page", LOG_INFO);

View File

@ -53,14 +53,14 @@ if (! isset($force_install_databaserootlogin)) $force_install_databaserootlogin=
if (! isset($force_install_databaserootpass)) $force_install_databaserootpass=''; if (! isset($force_install_databaserootpass)) $force_install_databaserootpass='';
// Now we load forced value from install.forced.php file. // Now we load forced value from install.forced.php file.
$useforcedwizard=false; $useforcedwizard=false;
if (file_exists("./install.forced.php")) { $useforcedwizard=true; include_once("./install.forced.php"); } $forcedfile="./install.forced.php";
else if (file_exists("/etc/dolibarr/install.forced.php")) { $useforcedwizard=include_once("/etc/dolibarr/install.forced.php"); } if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once($forcedfile); }
dolibarr_install_syslog("Fileconf: Entering fileconf.php page"); dolibarr_install_syslog("Fileconf: Entering fileconf.php page");
/* /*
* View * View
*/ */

View File

@ -451,3 +451,5 @@ ALTER TABLE llx_commande_fournisseur ADD COLUMN extraparams varchar(255) AFTER i
ALTER TABLE llx_facture_fourn ADD COLUMN extraparams varchar(255) AFTER import_key; ALTER TABLE llx_facture_fourn ADD COLUMN extraparams varchar(255) AFTER import_key;
ALTER TABLE llx_boxes ADD COLUMN maxline integer NULL; ALTER TABLE llx_boxes ADD COLUMN maxline integer NULL;
ALTER TABLE llx_commande_fournisseur ADD COLUMN date_livraison date NULL;

View File

@ -53,11 +53,12 @@ create table llx_commande_fournisseur
note text, note text,
note_public text, note_public text,
model_pdf varchar(255), model_pdf varchar(255),
date_livraison date default NULL,
fk_cond_reglement integer, -- condition de reglement fk_cond_reglement integer, -- condition de reglement
fk_mode_reglement integer, -- mode de reglement fk_mode_reglement integer, -- mode de reglement
fk_methode_commande integer default 0, -- should be named fk_input_method fk_methode_commande integer default 0, -- should be named fk_input_method
import_key varchar(14), import_key varchar(14),
extraparams varchar(255) -- for stock other parameters with json format extraparams varchar(255) -- for stock other parameters with json format
)ENGINE=innodb; )ENGINE=innodb;

View File

@ -75,6 +75,8 @@ SentTo=Sent to <b>%s</b>
MailingStatusRead=Read MailingStatusRead=Read
CheckRead=Read Receipt CheckRead=Read Receipt
YourMailUnsubcribeOK=The email <b>%s</b> is correctly unsubcribe from mailing list YourMailUnsubcribeOK=The email <b>%s</b> is correctly unsubcribe from mailing list
MailtoEMail=Hyper link to email
ActivateCheckRead=Activate Read receipt and unsubcribe tag
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=Contacts of all third parties (customer, prospect, supplier, ...) MailingModuleDescContactCompanies=Contacts of all third parties (customer, prospect, supplier, ...)

View File

@ -75,6 +75,8 @@ SentTo=Envoyés à <b>%s</b>
MailingStatusRead=Lu MailingStatusRead=Lu
CheckRead=Accusé de lecture CheckRead=Accusé de lecture
YourMailUnsubcribeOK=L'adresse e-mail <b>%s</b> est bien désincrite de la liste. YourMailUnsubcribeOK=L'adresse e-mail <b>%s</b> est bien désincrite de la liste.
MailtoEMail=Ecrire a e-mail (lien)
ActivateCheckRead=Activer les tag d'accusé de lecture et de désincription
# Libelle des modules de liste de destinataires mailing # Libelle des modules de liste de destinataires mailing
MailingModuleDescContactCompanies=Contacts de tiers (prospects, clients, fournisseurs...) MailingModuleDescContactCompanies=Contacts de tiers (prospects, clients, fournisseurs...)

View File

@ -139,8 +139,9 @@ if ($resql)
$substitutionarray=array( $substitutionarray=array(
'__ID__' => $obj->source_id, '__ID__' => $obj->source_id,
'__EMAIL__' => $obj->email, '__EMAIL__' => $obj->email,
'__CHECK_READ__' => '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$obj->tag.'" width="0" height="0" style="width:0px;height:0px" border="0"/>', '__CHECK_READ__' => '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$obj->tag.'" width="1" height="1" style="width:1px;height:1px" border="0"/>',
'__UNSUSCRIBE__' => '<a href="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-unsubscribe.php?tag='.$obj->tag.'&unsuscrib=1" target="_blank">'.$langs->trans("MailUnsubcribe").'</a>', '__UNSUSCRIBE__' => '<a href="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-unsubscribe.php?tag='.$obj->tag.'&unsuscrib=1" target="_blank">'.$langs->trans("MailUnsubcribe").'</a>',
'__MAILTOEMAIL__' => '<a href="mailto:'.$obj->email.'">'.$obj->email.'</a>',
'__LASTNAME__' => $obj->lastname, '__LASTNAME__' => $obj->lastname,
'__FIRSTNAME__' => $obj->firstname, '__FIRSTNAME__' => $obj->firstname,
'__OTHER1__' => $other1, '__OTHER1__' => $other1,