Works on delivery and billing address

first step: rename llx_societe_adresse_livraison to llx_societe_address
This commit is contained in:
Regis Houssin 2010-05-29 10:14:51 +00:00
parent 8e9af1583b
commit 1dc875749c
21 changed files with 334 additions and 318 deletions

View File

@ -1325,7 +1325,7 @@ CREATE TABLE `llx_commande` (
`fk_cond_reglement` int(11) DEFAULT NULL, `fk_cond_reglement` int(11) DEFAULT NULL,
`fk_mode_reglement` int(11) DEFAULT NULL, `fk_mode_reglement` int(11) DEFAULT NULL,
`date_livraison` date DEFAULT NULL, `date_livraison` date DEFAULT NULL,
`fk_adresse_livraison` int(11) DEFAULT NULL, `fk_address` int(11) DEFAULT NULL,
`import_key` varchar(14) DEFAULT NULL, `import_key` varchar(14) DEFAULT NULL,
PRIMARY KEY (`rowid`), PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_commande_ref` (`ref`,`entity`), UNIQUE KEY `uk_commande_ref` (`ref`,`entity`),
@ -2251,7 +2251,7 @@ CREATE TABLE `llx_expedition` (
`date_valid` datetime DEFAULT NULL, `date_valid` datetime DEFAULT NULL,
`fk_user_valid` int(11) DEFAULT NULL, `fk_user_valid` int(11) DEFAULT NULL,
`date_expedition` date DEFAULT NULL, `date_expedition` date DEFAULT NULL,
`fk_adresse_livraison` int(11) DEFAULT NULL, `fk_address` int(11) DEFAULT NULL,
`fk_expedition_methode` int(11) DEFAULT NULL, `fk_expedition_methode` int(11) DEFAULT NULL,
`tracking_number` varchar(50) DEFAULT NULL, `tracking_number` varchar(50) DEFAULT NULL,
`fk_statut` smallint(6) DEFAULT '0', `fk_statut` smallint(6) DEFAULT '0',
@ -2268,9 +2268,9 @@ CREATE TABLE `llx_expedition` (
KEY `idx_expedition_fk_soc` (`fk_soc`), KEY `idx_expedition_fk_soc` (`fk_soc`),
KEY `idx_expedition_fk_user_author` (`fk_user_author`), KEY `idx_expedition_fk_user_author` (`fk_user_author`),
KEY `idx_expedition_fk_user_valid` (`fk_user_valid`), KEY `idx_expedition_fk_user_valid` (`fk_user_valid`),
KEY `idx_expedition_fk_adresse_livraison` (`fk_adresse_livraison`), KEY `idx_expedition_fk_address` (`fk_address`),
KEY `idx_expedition_fk_expedition_methode` (`fk_expedition_methode`), KEY `idx_expedition_fk_expedition_methode` (`fk_expedition_methode`),
CONSTRAINT `fk_expedition_fk_adresse_livraison` FOREIGN KEY (`fk_adresse_livraison`) REFERENCES `llx_societe_adresse_livraison` (`rowid`), CONSTRAINT `fk_expedition_fk_address` FOREIGN KEY (`fk_address`) REFERENCES `llx_societe_address` (`rowid`),
CONSTRAINT `fk_expedition_fk_expedition_methode` FOREIGN KEY (`fk_expedition_methode`) REFERENCES `llx_expedition_methode` (`rowid`), CONSTRAINT `fk_expedition_fk_expedition_methode` FOREIGN KEY (`fk_expedition_methode`) REFERENCES `llx_expedition_methode` (`rowid`),
CONSTRAINT `fk_expedition_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), CONSTRAINT `fk_expedition_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`),
CONSTRAINT `fk_expedition_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), CONSTRAINT `fk_expedition_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`),
@ -2879,7 +2879,7 @@ CREATE TABLE `llx_livraison` (
`date_valid` datetime DEFAULT NULL, `date_valid` datetime DEFAULT NULL,
`fk_user_valid` int(11) DEFAULT NULL, `fk_user_valid` int(11) DEFAULT NULL,
`date_livraison` date DEFAULT NULL, `date_livraison` date DEFAULT NULL,
`fk_adresse_livraison` int(11) DEFAULT NULL, `fk_address` int(11) DEFAULT NULL,
`fk_statut` smallint(6) DEFAULT '0', `fk_statut` smallint(6) DEFAULT '0',
`total_ht` double(24,8) DEFAULT '0.00000000', `total_ht` double(24,8) DEFAULT '0.00000000',
`note` text, `note` text,
@ -2890,8 +2890,8 @@ CREATE TABLE `llx_livraison` (
KEY `idx_livraison_fk_soc` (`fk_soc`), KEY `idx_livraison_fk_soc` (`fk_soc`),
KEY `idx_livraison_fk_user_author` (`fk_user_author`), KEY `idx_livraison_fk_user_author` (`fk_user_author`),
KEY `idx_livraison_fk_user_valid` (`fk_user_valid`), KEY `idx_livraison_fk_user_valid` (`fk_user_valid`),
KEY `idx_livraison_fk_adresse_livraison` (`fk_adresse_livraison`), KEY `idx_livraison_fk_address` (`fk_address`),
CONSTRAINT `fk_livraison_fk_adresse_livraison` FOREIGN KEY (`fk_adresse_livraison`) REFERENCES `llx_societe_adresse_livraison` (`rowid`), CONSTRAINT `fk_livraison_fk_address` FOREIGN KEY (`fk_address`) REFERENCES `llx_societe_address` (`rowid`),
CONSTRAINT `fk_livraison_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), CONSTRAINT `fk_livraison_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`),
CONSTRAINT `fk_livraison_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), CONSTRAINT `fk_livraison_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`),
CONSTRAINT `fk_livraison_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) CONSTRAINT `fk_livraison_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`)
@ -3862,7 +3862,7 @@ CREATE TABLE `llx_propal` (
`note_public` text, `note_public` text,
`model_pdf` varchar(50) DEFAULT NULL, `model_pdf` varchar(50) DEFAULT NULL,
`date_livraison` date DEFAULT NULL, `date_livraison` date DEFAULT NULL,
`fk_adresse_livraison` int(11) DEFAULT NULL, `fk_address` int(11) DEFAULT NULL,
PRIMARY KEY (`rowid`), PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_propal_ref` (`ref`,`entity`), UNIQUE KEY `uk_propal_ref` (`ref`,`entity`),
KEY `idx_propal_fk_soc` (`fk_soc`), KEY `idx_propal_fk_soc` (`fk_soc`),
@ -4026,17 +4026,17 @@ INSERT INTO `llx_societe` VALUES (1,0,NULL,'2010-02-08 12:39:02','2010-02-07 02:
UNLOCK TABLES; UNLOCK TABLES;
-- --
-- Table structure for table `llx_societe_adresse_livraison` -- Table structure for table `llx_societe_address`
-- --
DROP TABLE IF EXISTS `llx_societe_adresse_livraison`; DROP TABLE IF EXISTS `llx_societe_address`;
CREATE TABLE `llx_societe_adresse_livraison` ( CREATE TABLE `llx_societe_address` (
`rowid` int(11) NOT NULL AUTO_INCREMENT, `rowid` int(11) NOT NULL AUTO_INCREMENT,
`datec` datetime DEFAULT NULL, `datec` datetime DEFAULT NULL,
`tms` timestamp NOT NULL, `tms` timestamp NOT NULL,
`label` varchar(30) DEFAULT NULL, `label` varchar(30) DEFAULT NULL,
`fk_societe` int(11) DEFAULT '0', `fk_soc` int(11) DEFAULT '0',
`nom` varchar(60) DEFAULT NULL, `name` varchar(60) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL, `address` varchar(255) DEFAULT NULL,
`cp` varchar(10) DEFAULT NULL, `cp` varchar(10) DEFAULT NULL,
`ville` varchar(50) DEFAULT NULL, `ville` varchar(50) DEFAULT NULL,
@ -4050,12 +4050,12 @@ CREATE TABLE `llx_societe_adresse_livraison` (
) TYPE=InnoDB; ) TYPE=InnoDB;
-- --
-- Dumping data for table `llx_societe_adresse_livraison` -- Dumping data for table `llx_societe_address`
-- --
LOCK TABLES `llx_societe_adresse_livraison` WRITE; LOCK TABLES `llx_societe_address` WRITE;
/*!40000 ALTER TABLE `llx_societe_adresse_livraison` DISABLE KEYS */; /*!40000 ALTER TABLE `llx_societe_address` DISABLE KEYS */;
/*!40000 ALTER TABLE `llx_societe_adresse_livraison` ENABLE KEYS */; /*!40000 ALTER TABLE `llx_societe_address` ENABLE KEYS */;
UNLOCK TABLES; UNLOCK TABLES;
-- --

View File

@ -29,7 +29,11 @@
require("../main.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'); require_once(DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php');
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php'); require_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php');
if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/lib/project.lib.php'); if ($conf->projet->enabled)
{
require_once(DOL_DOCUMENT_ROOT."/projet/class/project.class.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/project.lib.php');
}
$langs->load("propal"); $langs->load("propal");
if ($conf->projet->enabled) $langs->load("projects"); if ($conf->projet->enabled) $langs->load("projects");
@ -179,10 +183,10 @@ if ($_GET["action"] == 'create')
{ {
print '<tr><td>'.$langs->trans('DeliveryAddress').'</td>'; print '<tr><td>'.$langs->trans('DeliveryAddress').'</td>';
print '<td colspan="3">'; print '<td colspan="3">';
$numaddress = $html->select_adresse_livraison($soc->fk_delivery_address, $_GET['socid'],'adresse_livraison_id',1); $numaddress = $html->select_address($soc->fk_delivery_address, $_GET['socid'],'fk_address',1);
if ($numaddress==0) if ($numaddress==0)
{ {
print ' &nbsp; <a href=../comm/adresse_livraison.php?socid='.$soc->id.'&action=create>'.$langs->trans("AddAddress").'</a>'; print ' &nbsp; <a href=../comm/address.php?socid='.$soc->id.'&action=create>'.$langs->trans("AddAddress").'</a>';
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,15 +19,15 @@
*/ */
/** /**
\file htdocs/comm/adresse_livraison.php * \file htdocs/comm/address.php
\ingroup societe * \ingroup societe
\brief Onglet adresse de livraison d'un client * \brief Onglet adresses d'un client
\version $Id$ * \version $Id$
*/ */
require("../main.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
require_once(DOL_DOCUMENT_ROOT."/comm/class/adresse_livraison.class.php"); require_once(DOL_DOCUMENT_ROOT."/comm/class/address.class.php");
$langs->load("companies"); $langs->load("companies");
$langs->load("commercial"); $langs->load("commercial");
@ -49,26 +49,25 @@ $result = restrictedArea($user, 'societe', $socid);
if ($_POST["action"] == 'add' || $_POST["action"] == 'update') if ($_POST["action"] == 'add' || $_POST["action"] == 'update')
{ {
$livraison = new AdresseLivraison($db); $address = new Address($db);
$livraison->socid = $_POST["socid"]; $address->socid = $_POST["socid"];
$livraison->label = ($_POST["label"]!=$langs->trans('RequiredField')?$_POST["label"]:''); $address->label = ($_POST["label"]!=$langs->trans('RequiredField')?$_POST["label"]:'');
$livraison->nom = ($_POST["nom"]!=$langs->trans('RequiredField')?$_POST["nom"]:''); $address->name = ($_POST["name"]!=$langs->trans('RequiredField')?$_POST["name"]:'');
$livraison->adresse = $_POST["adresse"]; $address->address = $_POST["address"];
$livraison->address = $_POST["adresse"]; // TODO obsolete $address->cp = $_POST["cp"];
$livraison->cp = $_POST["cp"]; $address->ville = $_POST["ville"];
$livraison->ville = $_POST["ville"]; $address->pays_id = $_POST["pays_id"];
$livraison->pays_id = $_POST["pays_id"]; $address->tel = $_POST["tel"];
$livraison->tel = $_POST["tel"]; $address->fax = $_POST["fax"];
$livraison->fax = $_POST["fax"]; $address->note = $_POST["note"];
$livraison->note = $_POST["note"];
if ($_POST["action"] == 'add') if ($_POST["action"] == 'add')
{ {
$socid = $_POST["socid"]; $socid = $_POST["socid"];
$origin = $_POST["origin"]; $origin = $_POST["origin"];
$originid = $_POST["originid"]; $originid = $_POST["originid"];
$result = $livraison->create($socid, $user); $result = $address->create($socid, $user);
if ($result >= 0) if ($result >= 0)
{ {
@ -84,23 +83,23 @@ if ($_POST["action"] == 'add' || $_POST["action"] == 'update')
} }
else else
{ {
Header("Location: adresse_livraison.php?socid=".$socid); Header("Location: ".$_SERVER['PHP_SELF']."?socid=".$socid);
exit; exit;
} }
} }
else else
{ {
$mesg = $livraison->error; $mesg = $address->error;
$_GET["action"]='create'; $_GET["action"]='create';
} }
} }
if ($_POST["action"] == 'update') if ($_POST["action"] == 'update')
{ {
$socid = $_POST["socid"]; $socid = $_POST["socid"];
$origin = $_POST["origin"]; $origin = $_POST["origin"];
$originid = $_POST["originid"]; $originid = $_POST["originid"];
$result = $livraison->update($_POST["id"], $socid, $user); $result = $address->update($_POST["id"], $socid, $user);
if ($result >= 0) if ($result >= 0)
{ {
@ -121,14 +120,14 @@ if ($_POST["action"] == 'add' || $_POST["action"] == 'update')
} }
else else
{ {
Header("Location: adresse_livraison.php?socid=".$socid); Header("Location: ".$_SERVER['PHP_SELF']."?socid=".$socid);
exit; exit;
} }
} }
else else
{ {
$reload = 0; $reload = 0;
$mesg = $livraison->error; $mesg = $address->error;
$_GET["action"]= "edit"; $_GET["action"]= "edit";
} }
} }
@ -137,12 +136,12 @@ if ($_POST["action"] == 'add' || $_POST["action"] == 'update')
if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes' && $user->rights->societe->supprimer) if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes' && $user->rights->societe->supprimer)
{ {
$livraison = new AdresseLivraison($db); $address = new Address($db);
$result = $livraison->delete($_GET["id"], $socid); $result = $address->delete($_GET["id"], $socid);
if ($result == 0) if ($result == 0)
{ {
Header("Location: adresse_livraison.php?socid=".$socid); Header("Location: ".$_SERVER['PHP_SELF']."?socid=".$socid);
exit ; exit ;
} }
else else
@ -169,10 +168,10 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
if ($user->rights->societe->creer) if ($user->rights->societe->creer)
{ {
/* /*
* Fiche adresse de livraison en mode creation * Fiche adresse en mode creation
*/ */
$livraison = new AdresseLivraison($db); $address = new Address($db);
$societe=new Societe($db); $societe=new Societe($db);
$societe->fetch($socid); $societe->fetch($socid);
@ -180,25 +179,27 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
dol_fiche_head($head, 'customer', $societe->nom); dol_fiche_head($head, 'customer', $societe->nom);
if ($_POST["label"] && $_POST["nom"]) if ($_POST["label"] && $_POST["name"])
{ {
$livraison->socid=$_POST["socid"]; $address->socid = $_POST["socid"];
$livraison->label=$_POST["label"]; $address->label = $_POST["label"];
$livraison->nom=$_POST["nom"]; $address->name = $_POST["name"];
$livraison->adresse=$_POST["adresse"]; // TODO obsolete $address->address = $_POST["address"];
$livraison->address=$_POST["adresse"]; $address->cp = $_POST["cp"];
$livraison->cp=$_POST["cp"]; $address->ville = $_POST["ville"];
$livraison->ville=$_POST["ville"]; $address->tel = $_POST["tel"];
$livraison->tel=$_POST["tel"]; $address->fax = $_POST["fax"];
$livraison->fax=$_POST["fax"]; $address->note = $_POST["note"];
$livraison->note=$_POST["note"];
} }
// On positionne pays_id, pays_code et libelle du pays choisi // On positionne pays_id, pays_code et libelle du pays choisi
$livraison->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS; $address->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS;
if ($livraison->pays_id) if ($address->pays_id)
{ {
$sql = "SELECT code, libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$livraison->pays_id; $sql = "SELECT code, libelle";
$sql.= " FROM ".MAIN_DB_PREFIX."c_pays";
$sql.= " WHERE rowid = ".$address->pays_id;
$resql=$db->query($sql); $resql=$db->query($sql);
if ($resql) if ($resql)
{ {
@ -208,21 +209,21 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
{ {
dol_print_error($db); dol_print_error($db);
} }
$livraison->pays_code=$obj->code; $address->pays_code = $obj->code;
$livraison->pays=$obj->libelle; $address->pays = $obj->libelle;
} }
print_titre($langs->trans("NewDeliveryAddress")); print_titre($langs->trans("NewAddress"));
print "<br>\n"; print "<br>\n";
if ($livraison->error) if ($address->error)
{ {
print '<div class="error">'; print '<div class="error">';
print nl2br($livraison->error); print nl2br($address->error);
print '</div>'; print '</div>';
} }
print '<form action="adresse_livraison.php" method="post" name="formsoc">'; print '<form action="'.$_SERVER['PHP_SELF'].'" method="POST" name="formsoc">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="socid" value="'.$socid.'">'; print '<input type="hidden" name="socid" value="'.$socid.'">';
print '<input type="hidden" name="origin" value="'.$origin.'">'; print '<input type="hidden" name="origin" value="'.$origin.'">';
@ -231,32 +232,32 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
print '<tr><td>'.$langs->trans('DeliveryAddressLabel').'</td><td><input type="text" size="30" name="label" id="label" value="'.($livraison->label?$livraison->label:$langs->trans('RequiredField')).'" '.addHelpMessage("label",$langs->trans('RequiredField')).'></td></tr>'; print '<tr><td>'.$langs->trans('AddressLabel').'</td><td><input type="text" size="30" name="label" id="label" value="'.($address->label?$address->label:$langs->trans('RequiredField')).'" '.addHelpMessage("label",$langs->trans('RequiredField')).'></td></tr>';
print '<tr><td>'.$langs->trans('Name').'</td><td><input type="text" size="30" name="nom" id="nom" value="'.($livraison->nom?$livraison->nom:$langs->trans('RequiredField')).'" '.addHelpMessage("nom",$langs->trans('RequiredField')).'></td></tr>'; print '<tr><td>'.$langs->trans('Name').'</td><td><input type="text" size="30" name="name" id="name" value="'.($address->name?$address->name:$langs->trans('RequiredField')).'" '.addHelpMessage("name",$langs->trans('RequiredField')).'></td></tr>';
print '<tr><td valign="top">'.$langs->trans('Address').'</td><td colspan="3"><textarea name="adresse" cols="40" rows="3" wrap="soft">'; print '<tr><td valign="top">'.$langs->trans('Address').'</td><td colspan="3"><textarea name="address" cols="40" rows="3" wrap="soft">';
print $livraison->address; print $address->address;
print '</textarea></td></tr>'; print '</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$livraison->cp.'">'; print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$address->cp.'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' <input class="button" type="button" name="searchpostalcode" value="'.$langs->trans('FillTownFromZip').'" onclick="autofilltownfromzip_PopupPostalCode(\''.DOL_URL_ROOT.'\',cp.value,ville,pays_id,departement_id)">'; if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' <input class="button" type="button" name="searchpostalcode" value="'.$langs->trans('FillTownFromZip').'" onclick="autofilltownfromzip_PopupPostalCode(\''.DOL_URL_ROOT.'\',cp.value,ville,pays_id,departement_id)">';
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$livraison->ville.'"></td></tr>'; print '<tr><td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$address->ville.'"></td></tr>';
print '<tr><td width="25%">'.$langs->trans('Country').'</td><td colspan="3">'; print '<tr><td width="25%">'.$langs->trans('Country').'</td><td colspan="3">';
$form->select_pays($livraison->pays_id,'pays_id'); $form->select_pays($address->pays_id,'pays_id');
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel" value="'.$livraison->tel.'"></td></tr>'; print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel" value="'.$address->tel.'"></td></tr>';
print '<tr><td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax" value="'.$livraison->fax.'"></td></tr>'; print '<tr><td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax" value="'.$address->fax.'"></td></tr>';
print '<tr><td>'.$langs->trans('Note').'</td><td colspan="3"><textarea name="note" cols="40" rows="6" wrap="soft">'; print '<tr><td>'.$langs->trans('Note').'</td><td colspan="3"><textarea name="note" cols="40" rows="6" wrap="soft">';
print $livraison->note; print $address->note;
print '</textarea></td></tr>'; print '</textarea></td></tr>';
print '<tr><td colspan="4" align="center">'; print '<tr><td colspan="4" align="center">';
print '<input type="submit" class="button" value="'.$langs->trans('AddDeliveryAddress').'"></td></tr>'."\n"; print '<input type="submit" class="button" value="'.$langs->trans('AddAddress').'"></td></tr>'."\n";
print '</table>'."\n"; print '</table>'."\n";
print '</form>'."\n"; print '</form>'."\n";
@ -268,7 +269,7 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
/* /*
* Fiche societe en mode edition * Fiche societe en mode edition
*/ */
$livraison = new AdresseLivraison($db); $address = new Address($db);
$societe=new Societe($db); $societe=new Societe($db);
$societe->fetch($_GET["socid"]); $societe->fetch($_GET["socid"]);
@ -276,35 +277,37 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
dol_fiche_head($head, 'customer', $societe->nom); dol_fiche_head($head, 'customer', $societe->nom);
print_titre($langs->trans("EditDeliveryAddress")); print_titre($langs->trans("EditAddress"));
print "<br>\n"; print "<br>\n";
if ($socid) if ($socid)
{ {
if ($reload || ! $_POST["nom"]) if ($reload || ! $_POST["name"])
{ {
$livraison->socid = $socid; $address->socid = $socid;
$livraison->fetch_adresse($id); $address->fetch_address($id);
} }
else else
{ {
$livraison->id=$_POST["id"]; $address->id = $_POST["id"];
$livraison->socid=$_POST["socid"]; $address->socid = $_POST["socid"];
$livraison->label=$_POST["label"]; $address->label = $_POST["label"];
$livraison->nom=$_POST["nom"]; $address->name = $_POST["name"];
$livraison->adresse=$_POST["adresse"]; // TODO obsolete $address->address = $_POST["address"];
$livraison->address=$_POST["adresse"]; $address->zip = $_POST["zip"];
$livraison->zip=$_POST["zip"]; $address->ville = $_POST["ville"];
$livraison->ville=$_POST["ville"]; $address->pays_id = $_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS;
$livraison->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS; $address->tel = $_POST["tel"];
$livraison->tel=$_POST["tel"]; $address->fax = $_POST["fax"];
$livraison->fax=$_POST["fax"]; $address->note = $_POST["note"];
$livraison->note=$_POST["note"];
// On positionne pays_id, pays_code et libelle du pays choisi // On positionne pays_id, pays_code et libelle du pays choisi
if ($livraison->pays_id) if ($address->pays_id)
{ {
$sql = "SELECT code, libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$livraison->pays_id; $sql = "SELECT code, libelle";
$sql.= " FROM ".MAIN_DB_PREFIX."c_pays";
$sql.= "WHERE rowid = ".$address->pays_id;
$resql=$db->query($sql); $resql=$db->query($sql);
if ($resql) if ($resql)
{ {
@ -314,51 +317,51 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
{ {
dol_print_error($db); dol_print_error($db);
} }
$livraison->pays_code=$obj->code; $address->pays_code = $obj->code;
$livraison->pays=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle; $address->pays = $langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle;
} }
} }
if ($livraison->error) if ($address->error)
{ {
print '<div class="error">'; print '<div class="error">';
print $livraison->error; print $address->error;
print '</div>'; print '</div>';
} }
print '<form action="adresse_livraison.php?socid='.$livraison->socid.'" method="post" name="formsoc">'; print '<form action="'.$_SERVER['PHP_SELF'].'?socid='.$address->socid.'" method="POST" name="formsoc">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">'; print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="socid" value="'.$livraison->socid.'">'; print '<input type="hidden" name="socid" value="'.$address->socid.'">';
print '<input type="hidden" name="origin" value="'.$origin.'">'; print '<input type="hidden" name="origin" value="'.$origin.'">';
print '<input type="hidden" name="originid" value="'.$originid.'">'; print '<input type="hidden" name="originid" value="'.$originid.'">';
print '<input type="hidden" name="id" value="'.$livraison->id.'">'; print '<input type="hidden" name="id" value="'.$address->id.'">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
print '<tr><td>'.$langs->trans('DeliveryAddressLabel').'</td><td colspan="3"><input type="text" size="40" name="label" value="'.$livraison->label.'"></td></tr>'; print '<tr><td>'.$langs->trans('AddressLabel').'</td><td colspan="3"><input type="text" size="40" name="label" value="'.$address->label.'"></td></tr>';
print '<tr><td>'.$langs->trans('Name').'</td><td colspan="3"><input type="text" size="40" name="nom" value="'.$livraison->nom.'"></td></tr>'; print '<tr><td>'.$langs->trans('Name').'</td><td colspan="3"><input type="text" size="40" name="name" value="'.$address->name.'"></td></tr>';
print '<tr><td valign="top">'.$langs->trans('Address').'</td><td colspan="3"><textarea name="adresse" cols="40" rows="3" wrap="soft">'; print '<tr><td valign="top">'.$langs->trans('Address').'</td><td colspan="3"><textarea name="address" cols="40" rows="3" wrap="soft">';
print $livraison->address; print $address->address;
print '</textarea></td></tr>'; print '</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$livraison->cp.'">'; print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$address->cp.'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' <input class="button" type="button" name="searchpostalcode" value="'.$langs->trans('FillTownFromZip').'" onclick="autofilltownfromzip_PopupPostalCode(\''.DOL_URL_ROOT.'\',cp.value,ville,pays_id,departement_id)">'; if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' <input class="button" type="button" name="searchpostalcode" value="'.$langs->trans('FillTownFromZip').'" onclick="autofilltownfromzip_PopupPostalCode(\''.DOL_URL_ROOT.'\',cp.value,ville,pays_id,departement_id)">';
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$livraison->ville.'"></td></tr>'; print '<tr><td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$address->ville.'"></td></tr>';
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">'; print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">';
$form->select_pays($livraison->pays_id,'pays_id'); $form->select_pays($address->pays_id,'pays_id');
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel" value="'.$livraison->tel.'"></td></tr>'; print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel" value="'.$address->tel.'"></td></tr>';
print '<tr><td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax" value="'.$livraison->fax.'"></td></tr>'; print '<tr><td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax" value="'.$address->fax.'"></td></tr>';
print '<tr><td>'.$langs->trans('Note').'</td><td colspan="3"><textarea name="note" cols="40" rows="6" wrap="soft">'; print '<tr><td>'.$langs->trans('Note').'</td><td colspan="3"><textarea name="note" cols="40" rows="6" wrap="soft">';
print $livraison->note; print $address->note;
print '</textarea></td></tr>'; print '</textarea></td></tr>';
print '<tr><td align="center" colspan="4"><input type="submit" class="button" value="'.$langs->trans("Save").'"></td></tr>'; print '<tr><td align="center" colspan="4"><input type="submit" class="button" value="'.$langs->trans("Save").'"></td></tr>';
@ -372,58 +375,58 @@ else
/* /*
* Fiche societe en mode visu * Fiche societe en mode visu
*/ */
$livraison = new AdresseLivraison($db); $address = new Address($db);
$result=$livraison->fetch($socid); $result=$address->fetch($socid);
if ($result < 0) if ($result < 0)
{ {
dol_print_error($db,$livraison->error); dol_print_error($db,$address->error);
exit; exit;
} }
$societe=new Societe($db); $societe=new Societe($db);
$societe->fetch($livraison->socid); $societe->fetch($address->socid);
$head = societe_prepare_head($societe); $head = societe_prepare_head($societe);
dol_fiche_head($head, 'customer', $societe->nom); dol_fiche_head($head, 'customer', $societe->nom);
// Confirmation de la suppression de la facture // Confirmation de la suppression de l'adresse
if ($_GET["action"] == 'delete') if ($_GET["action"] == 'delete')
{ {
$html = new Form($db); $html = new Form($db);
$ret=$html->form_confirm("adresse_livraison.php?socid=".$livraison->socid."&amp;id=".$_GET["id"],$langs->trans("DeleteDeliveryAddress"),$langs->trans("ConfirmDeleteDeliveryAdress"),"confirm_delete"); $ret=$html->form_confirm($_SERVER['PHP_SELF']."?socid=".$address->socid."&amp;id=".$_GET["id"],$langs->trans("DeleteAddress"),$langs->trans("ConfirmDeleteAddress"),"confirm_delete");
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
if ($livraison->error) if ($address->error)
{ {
print '<div class="error">'; print '<div class="error">';
print $livraison->error; print $address->error;
print '</div>'; print '</div>';
} }
$nblignes = sizeof($livraison->lignes); $nblines = sizeof($address->lines);
if ($nblignes) if ($nblines)
{ {
for ($i = 0 ; $i < $nblignes ; $i++) for ($i = 0 ; $i < $nblines ; $i++)
{ {
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
print '<tr><td width="20%">'.$langs->trans('DeliveryAddressLabel').'</td><td colspan="3">'.$livraison->lignes[$i]->label.'</td>'; print '<tr><td width="20%">'.$langs->trans('AddressLabel').'</td><td colspan="3">'.$address->lines[$i]->label.'</td>';
print '<td valign="top" colspan="2" width="50%" rowspan="6">'.$langs->trans('Note').' :<br>'.nl2br($livraison->lignes[$i]->note).'</td></tr>'; print '<td valign="top" colspan="2" width="50%" rowspan="6">'.$langs->trans('Note').' :<br>'.nl2br($address->lines[$i]->note).'</td></tr>';
print '<tr><td width="20%">'.$langs->trans('Name').'</td><td colspan="3">'.$livraison->lignes[$i]->nom.'</td></tr>'; print '<tr><td width="20%">'.$langs->trans('Name').'</td><td colspan="3">'.$address->lines[$i]->name.'</td></tr>';
print "<tr><td valign=\"top\">".$langs->trans('Address')."</td><td colspan=\"3\">".nl2br($livraison->lignes[$i]->address)."</td></tr>"; print "<tr><td valign=\"top\">".$langs->trans('Address')."</td><td colspan=\"3\">".nl2br($address->lines[$i]->address)."</td></tr>";
print '<tr><td width="25%">'.$langs->trans('Zip').'</td><td width="25%">'.$livraison->lignes[$i]->cp."</td></tr>"; print '<tr><td width="25%">'.$langs->trans('Zip').'</td><td width="25%">'.$address->lines[$i]->cp."</td></tr>";
print '<tr><td width="25%">'.$langs->trans('Town').'</td><td width="25%">'.$livraison->lignes[$i]->ville."</td></tr>"; print '<tr><td width="25%">'.$langs->trans('Town').'</td><td width="25%">'.$address->lines[$i]->ville."</td></tr>";
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">'.$livraison->lignes[$i]->pays.'</td>'; print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">'.$address->lines[$i]->pays.'</td>';
print '<tr><td>'.$langs->trans('Phone').'</td><td>'.dol_print_phone($livraison->lignes[$i]->tel,$livraison->lignes[$i]->pays_code,0,$livraison->socid,'AC_TEL').'</td></tr>'; print '<tr><td>'.$langs->trans('Phone').'</td><td>'.dol_print_phone($address->lines[$i]->tel,$address->lines[$i]->pays_code,0,$address->socid,'AC_TEL').'</td></tr>';
print '<tr><td>'.$langs->trans('Fax').'</td><td>'.dol_print_phone($livraison->lignes[$i]->fax,$livraison->lignes[$i]->pays_code,0,$livraison->socid,'AC_FAX').'</td></tr>'; print '<tr><td>'.$langs->trans('Fax').'</td><td>'.dol_print_phone($address->lines[$i]->fax,$address->lines[$i]->pays_code,0,$address->socid,'AC_FAX').'</td></tr>';
print '</td></tr>'; print '</td></tr>';
@ -438,12 +441,12 @@ else
if ($user->rights->societe->creer) if ($user->rights->societe->creer)
{ {
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/adresse_livraison.php?socid='.$livraison->socid.'&amp;id='.$livraison->lignes[$i]->id.'&amp;action=edit">'.$langs->trans("Modify").'</a>'; print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?socid='.$address->socid.'&amp;id='.$address->lines[$i]->id.'&amp;action=edit">'.$langs->trans("Modify").'</a>';
} }
if ($user->rights->societe->supprimer) if ($user->rights->societe->supprimer)
{ {
print '<a class="butActionDelete" href="'.DOL_URL_ROOT.'/comm/adresse_livraison.php?socid='.$livraison->socid.'&amp;id='.$livraison->lignes[$i]->id.'&amp;action=delete">'.$langs->trans("Delete").'</a>'; print '<a class="butActionDelete" href="'.$_SERVER['PHP_SELF'].'?socid='.$address->socid.'&amp;id='.$address->lines[$i]->id.'&amp;action=delete">'.$langs->trans("Delete").'</a>';
} }
@ -468,7 +471,7 @@ else
if ($user->rights->societe->creer) if ($user->rights->societe->creer)
{ {
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/adresse_livraison.php?socid='.$livraison->socid.'&amp;action=create">'.$langs->trans("Add").'</a>'; print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?socid='.$address->socid.'&amp;action=create">'.$langs->trans("Add").'</a>';
} }
print '</div>'; print '</div>';
} }

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2006 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,27 +19,27 @@
*/ */
/** /**
\file htdocs/comm/adresse_livraison.class.php * \file htdocs/comm/class/address.class.php
\ingroup societe, expedition * \ingroup societe
\brief Fichier de la classe des adresses de livraison * \brief Fichier de la classe des adresses des tiers
\version $Id$ * \version $Id$
*/ */
/** /**
\class AdresseLivraison * \class Address
\brief Classe permettant la gestion des adresses de livraison * \brief Classe permettant la gestion des adresses des tiers
*/ */
class AdresseLivraison class Address
{ {
var $db; var $db;
var $id; var $id;
var $type;
var $label; var $label;
var $socid; var $socid;
var $nom; var $name;
var $adresse; // TODO obsolete
var $address; var $address;
var $cp; var $cp;
var $ville; var $ville;
@ -55,7 +55,7 @@ class AdresseLivraison
* \param DB handler acces base de donnees * \param DB handler acces base de donnees
* \param id id societe (0 par defaut) * \param id id societe (0 par defaut)
*/ */
function AdresseLivraison($DB, $id=0) function Address($DB, $id=0)
{ {
global $conf; global $conf;
@ -67,7 +67,7 @@ class AdresseLivraison
} }
/** /**
* \brief Cree l'adresse de livraison de la societe en base * \brief Cree l'adresse de la societe en base
* \param user Objet utilisateur qui demande la creation * \param user Objet utilisateur qui demande la creation
* \return int 0 si ok, < 0 si erreur * \return int 0 si ok, < 0 si erreur
*/ */
@ -77,10 +77,10 @@ class AdresseLivraison
global $langs,$conf; global $langs,$conf;
// Nettoyage parametres // Nettoyage parametres
$this->nom=trim($this->nom); $this->name = trim($this->name);
$this->label=trim($this->label); $this->label = trim($this->label);
dol_syslog("AdresseLivraison::create label=".$this->label); dol_syslog("Address::create label=".$this->label);
$this->db->begin(); $this->db->begin();
@ -88,25 +88,25 @@ class AdresseLivraison
if ($result >= 0) if ($result >= 0)
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_adresse_livraison (label, fk_societe, nom, datec, fk_user_creat) "; $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_address (label, fk_soc, name, datec, fk_user_creat) ";
$sql .= " VALUES ('".addslashes($this->label)."', '".$socid."', '".addslashes($this->nom)."', ".$this->db->idate(mktime()).", '".$user->id."')"; $sql .= " VALUES ('".addslashes($this->label)."', '".$socid."', '".addslashes($this->name)."', ".$this->db->idate(mktime()).", '".$user->id."')";
$result=$this->db->query($sql); $result=$this->db->query($sql);
if ($result) if ($result)
{ {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."societe_adresse_livraison"); $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."societe_address");
$ret = $this->update($this->id, $socid, $user); $ret = $this->update($this->id, $socid, $user);
if ($ret >= 0) if ($ret >= 0)
{ {
dol_syslog("AdresseLivraison::create success id=".$this->id); dol_syslog("Address::create success id=".$this->id);
$this->db->commit(); $this->db->commit();
return 0; return 0;
} }
else else
{ {
dol_syslog("AdresseLivraison::create echec update"); dol_syslog("Address::create echec update");
$this->db->rollback(); $this->db->rollback();
return -3; return -3;
} }
@ -121,7 +121,7 @@ class AdresseLivraison
} }
else else
{ {
dol_syslog("AdresseLivraison::create echec insert sql=$sql"); dol_syslog("Address::create echec insert sql=$sql");
} }
$this->db->rollback(); $this->db->rollback();
return -2; return -2;
@ -131,22 +131,22 @@ class AdresseLivraison
else else
{ {
$this->db->rollback(); $this->db->rollback();
dol_syslog("AdresseLivraison::create echec verify sql=$sql"); dol_syslog("Address::create echec verify sql=$sql");
return -1; return -1;
} }
} }
/** /**
* \brief Verification lors de la modification de l'adresse de livraison * \brief Verification lors de la modification de l'adresse
* \return 0 si ok, < 0 en cas d'erreur * \return 0 si ok, < 0 en cas d'erreur
*/ */
function verify() function verify()
{ {
$this->label=trim($this->label); $this->label = trim($this->label);
$this->nom=trim($this->nom); $this->name = trim($this->name);
$result = 0; $result = 0;
if (!$this->nom || !$this->label) if (!$this->name || !$this->label)
{ {
$this->error = "The name of company and the label can not be empty.\n"; $this->error = "The name of company and the label can not be empty.\n";
$result = -2; $result = -2;
@ -156,8 +156,8 @@ class AdresseLivraison
/** /**
* \brief Mise a jour des parametres de l'adresse de livraison * \brief Mise a jour des parametres de l'adresse
* \param id id adresse de livraison * \param id id address
* \param user Utilisateur qui demande la mise a jour * \param user Utilisateur qui demande la mise a jour
* \return int <0 si ko, >=0 si ok * \return int <0 si ko, >=0 si ok
*/ */
@ -165,35 +165,34 @@ class AdresseLivraison
{ {
global $langs; global $langs;
dol_syslog("AdresseLivraison::Update"); dol_syslog("Address::Update");
// Nettoyage des parametres // Nettoyage des parametres
$this->fk_societe = $socid; $this->fk_soc = $socid;
$this->label = trim($this->label); $this->label = trim($this->label);
$this->nom = trim($this->nom); $this->name = trim($this->name);
$this->adresse = trim($this->adresse); // TODO obsolete $this->address = trim($this->address);
$this->address = trim($this->address); $this->cp = trim($this->cp);
$this->cp = trim($this->cp); $this->ville = trim($this->ville);
$this->ville = trim($this->ville); $this->pays_id = trim($this->pays_id);
$this->pays_id = trim($this->pays_id); $this->tel = trim($this->tel);
$this->tel = trim($this->tel); $this->tel = preg_replace("/\s/","",$this->tel);
$this->tel = preg_replace("/\s/","",$this->tel); $this->tel = preg_replace("/\./","",$this->tel);
$this->tel = preg_replace("/\./","",$this->tel); $this->fax = trim($this->fax);
$this->fax = trim($this->fax); $this->fax = preg_replace("/\s/","",$this->fax);
$this->fax = preg_replace("/\s/","",$this->fax); $this->fax = preg_replace("/\./","",$this->fax);
$this->fax = preg_replace("/\./","",$this->fax); $this->note = trim($this->note);
$this->note = trim($this->note);
$result = $this->verify(); // Verifie que nom et label obligatoire $result = $this->verify(); // Verifie que nom et label obligatoire
if ($result >= 0) if ($result >= 0)
{ {
dol_syslog("AdresseLivraison::Update verify ok"); dol_syslog("Address::Update verify ok");
$sql = "UPDATE ".MAIN_DB_PREFIX."societe_adresse_livraison"; $sql = "UPDATE ".MAIN_DB_PREFIX."societe_address";
$sql.= " SET label = '" . addslashes($this->label) ."'"; // Champ obligatoire $sql.= " SET label = '" . addslashes($this->label) ."'"; // Champ obligatoire
$sql.= ",nom = '" . addslashes($this->nom) ."'"; // Champ obligatoire $sql.= ",name = '" . addslashes($this->name) ."'"; // Champ obligatoire
$sql.= ",address = '" . addslashes($this->address) ."'"; $sql.= ",address = '" . addslashes($this->address) ."'";
if ($this->cp) if ($this->cp)
@ -212,7 +211,7 @@ class AdresseLivraison
{ $sql .= ",fax = '" . $this->fax ."'"; } { $sql .= ",fax = '" . $this->fax ."'"; }
if ($user) $sql .= ",fk_user_modif = '".$user->id."'"; if ($user) $sql .= ",fk_user_modif = '".$user->id."'";
$sql .= " WHERE fk_societe = '" . $socid ."' AND rowid = '" . $id ."'"; $sql .= " WHERE fk_soc = '" . $socid ."' AND rowid = '" . $id ."'";
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
@ -231,7 +230,7 @@ class AdresseLivraison
{ {
$this->error = $langs->trans("Error sql=$sql"); $this->error = $langs->trans("Error sql=$sql");
dol_syslog("AdresseLivraison::Update echec sql=$sql"); dol_syslog("Address::Update echec sql=$sql");
$result = -2; $result = -2;
} }
} }
@ -242,7 +241,7 @@ class AdresseLivraison
} }
/** /**
* \brief Charge depuis la base toutes les adresses de livraison d'une societe * \brief Charge depuis la base toutes les adresses d'une societe
* \param socid Id de la societe a charger en memoire * \param socid Id de la societe a charger en memoire
* \param user Objet de l'utilisateur * \param user Objet de l'utilisateur
* \return int >0 si ok, <0 si ko * \return int >0 si ok, <0 si ko
@ -263,26 +262,26 @@ class AdresseLivraison
{ {
$obj = $this->db->fetch_object($resqlsoc); $obj = $this->db->fetch_object($resqlsoc);
$this->nom_societe = $obj->nom; $this->socname = $obj->nom;
$this->socid = $obj->rowid; $this->socid = $obj->rowid;
$this->id = $obj->rowid; $this->id = $obj->rowid;
$this->client = $obj->client; $this->client = $obj->client;
$this->fournisseur = $obj->fournisseur; $this->fournisseur = $obj->fournisseur;
} }
$this->lignes = array(); $this->lignes = array();
$this->db->free($resqlsoc); $this->db->free($resqlsoc);
// Adresses de livraison liees a la societe // Adresses liees a la societe
if ($this->socid) if ($this->socid)
{ {
$sql = 'SELECT a.rowid as id, a.label, a.nom, a.address, a.datec as dc'; $sql = 'SELECT a.rowid as id, a.label, a.name, a.address, a.datec as dc';
$sql .= ', a.tms as date_update, a.fk_societe'; $sql .= ', a.tms as date_update, a.fk_soc';
$sql .= ', a.cp, a.ville, a.note, a.fk_pays, a.tel, a.fax'; $sql .= ', a.cp, a.ville, a.note, a.fk_pays, a.tel, a.fax';
$sql .= ', p.code as pays_code, p.libelle as pays'; $sql .= ', p.code as pays_code, p.libelle as pays';
$sql .= ' FROM '.MAIN_DB_PREFIX.'societe_adresse_livraison as a'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_address as a';
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid';
$sql .= ' WHERE a.fk_societe = '.$this->socid; $sql .= ' WHERE a.fk_soc = '.$this->socid;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
@ -291,27 +290,26 @@ class AdresseLivraison
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$objp = $this->db->fetch_object($resql); $objp = $this->db->fetch_object($resql);
$ligne = new AdresseLivraisonLigne(); $line = new AddressLine();
$ligne->id = $objp->id; $line->id = $objp->id;
$ligne->date_creation = $this->db->jdate($objp->dc); $line->date_creation = $this->db->jdate($objp->dc);
$ligne->date_update = $this->db->jdate($objp->date_update); $line->date_update = $this->db->jdate($objp->date_update);
$ligne->label = $objp->label; $line->label = $objp->label;
$ligne->nom = $objp->nom; $line->name = $objp->name;
$ligne->address = $objp->address; $line->address = $objp->address;
$ligne->adresse = $objp->address; // TODO obsolete $line->cp = $objp->cp;
$ligne->cp = $objp->cp; $line->ville = $objp->ville;
$ligne->ville = $objp->ville; $line->pays_id = $objp->fk_pays;
$ligne->pays_id = $objp->fk_pays; $line->pays_code = $objp->fk_pays?$objp->pays_code:'';
$ligne->pays_code = $objp->fk_pays?$objp->pays_code:''; $line->pays = $objp->fk_pays?($langs->trans('Country'.$objp->pays_code)!='Country'.$objp->pays_code?strtoupper($langs->trans('Country'.$objp->pays_code)):$objp->pays):'';
$ligne->pays = $objp->fk_pays?($langs->trans('Country'.$objp->pays_code)!='Country'.$objp->pays_code?strtoupper($langs->trans('Country'.$objp->pays_code)):$objp->pays):''; $line->tel = $objp->tel;
$ligne->tel = $objp->tel; $line->fax = $objp->fax;
$ligne->fax = $objp->fax; $line->note = $objp->note;
$ligne->note = $objp->note;
$this->lignes[$i] = $ligne; $this->lines[$i] = $line;
$i++; $i++;
} }
$this->db->free($resql); $this->db->free($resql);
@ -319,39 +317,39 @@ class AdresseLivraison
} }
else else
{ {
dol_syslog('Erreur AdresseLivraison::Fetch aucune adresse dde livraison'); dol_syslog('Address::Fetch Erreur: aucune adresse');
return -1; return -1;
} }
} }
else else
{ {
dol_syslog('AdresseLivraison::Societe inconnue'); dol_syslog('Address::Fetch Erreur: societe inconnue');
return -2; return -2;
} }
} }
else else
{ {
dol_syslog('Erreur Societe::Fetch '.$this->db->error()); dol_syslog('Societe::Fetch '.$this->db->error());
$this->error=$this->db->error(); $this->error=$this->db->error();
} }
} }
/** /**
* \brief Charge depuis la base l'objet adresse de livraison * \brief Charge depuis la base l'objet adresse
* \param id Id de l'adresse de livraison a charger en memoire * \param id Id de l'adresse a charger en memoire
* \param user Objet de l'utilisateur * \param user Objet de l'utilisateur
* \return int >0 si ok, <0 si ko * \return int >0 si ok, <0 si ko
*/ */
function fetch_adresse($id, $user=0) function fetch_address($id, $user=0)
{ {
global $langs; global $langs;
global $conf; global $conf;
$sql = 'SELECT a.rowid, a.fk_societe, a.label, a.nom, a.address, a.datec as date_creation'; $sql = 'SELECT a.rowid, a.fk_soc, a.label, a.name, a.address, a.datec as date_creation';
$sql .= ', a.tms as date_update'; $sql .= ', a.tms as date_update';
$sql .= ', a.cp,a.ville, a.note, a.fk_pays, a.tel, a.fax'; $sql .= ', a.cp,a.ville, a.note, a.fk_pays, a.tel, a.fax';
$sql .= ', p.code as pays_code, p.libelle as pays'; $sql .= ', p.code as pays_code, p.libelle as pays';
$sql .= ' FROM '.MAIN_DB_PREFIX.'societe_adresse_livraison as a'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_address as a';
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid';
$sql .= ' WHERE a.rowid = '.$id; $sql .= ' WHERE a.rowid = '.$id;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@ -362,14 +360,13 @@ class AdresseLivraison
$obj = $this->db->fetch_object($resql); $obj = $this->db->fetch_object($resql);
$this->id = $obj->rowid; $this->id = $obj->rowid;
$this->socid = $obj->fk_societe; $this->socid = $obj->fk_soc;
$this->date_update = $this->db->jdate($obj->date_update); $this->date_update = $this->db->jdate($obj->date_update);
$this->date_creation = $this->db->jdate($obj->date_creation); $this->date_creation = $this->db->jdate($obj->date_creation);
$this->label = $obj->label; $this->label = $obj->label;
$this->nom = $obj->nom; $this->name = $obj->name;
$this->adresse = $obj->address; // TODO obsolete
$this->address = $obj->address; $this->address = $obj->address;
$this->cp = $obj->cp; $this->cp = $obj->cp;
$this->ville = $obj->ville; $this->ville = $obj->ville;
@ -386,8 +383,8 @@ class AdresseLivraison
} }
else else
{ {
dol_syslog('Erreur Societe::Fetch aucune adresse de livraison avec id='.$this->id.' - '.$sql); dol_syslog('Erreur Societe::Fetch aucune adresse avec id='.$this->id.' - '.$sql);
$this->error='Erreur Societe::Fetch aucune adresse de livraison avec id='.$this->id.' - '.$sql; $this->error='Erreur Societe::Fetch aucune adresse avec id='.$this->id.' - '.$sql;
$result = -2; $result = -2;
} }
@ -406,15 +403,16 @@ class AdresseLivraison
/** /**
* \brief Suppression d'une adresse de livraison * \brief Suppression d'une adresse
* \param id id de la societe a supprimer * \param id id de la societe a supprimer
*/ */
function delete($id,$socid) function delete($id,$socid)
{ {
dol_syslog("AdresseLivraison::Delete"); dol_syslog("Address::Delete");
$sql = "DELETE FROM ".MAIN_DB_PREFIX."societe_adresse_livraison"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."societe_address";
$sql .= " WHERE rowid=".$id." AND fk_societe = ".$socid; $sql.= " WHERE rowid = ".$id;
$sql.= " AND fk_soc = ".$socid;
$result = $this->db->query($sql); $result = $this->db->query($sql);
@ -472,14 +470,14 @@ class AdresseLivraison
} }
class AdresseLivraisonLigne class AddressLine
{ {
var $id; var $id;
var $date_creation; var $date_creation;
var $date_update; var $date_update;
var $label; var $label;
var $nom; var $name;
var $adresse; var $adresse;
var $cp; var $cp;
var $ville; var $ville;
@ -490,7 +488,7 @@ class AdresseLivraisonLigne
var $fax; var $fax;
var $note; var $note;
function AdresseLivraisonLigne() function AddressLine()
{ {
} }
} }

View File

@ -334,14 +334,14 @@ if ($socid > 0)
print '<td><td align="right">'; print '<td><td align="right">';
if ($user->rights->societe->creer) if ($user->rights->societe->creer)
{ {
print '<a href="'.DOL_URL_ROOT.'/comm/adresse_livraison.php?socid='.$objsoc->id.'">'.img_edit($langs->trans("Modify")).'</a>'; print '<a href="'.DOL_URL_ROOT.'/comm/address.php?socid='.$objsoc->id.'">'.img_edit($langs->trans("Modify")).'</a>';
} }
print '</td></tr></table>'; print '</td></tr></table>';
print '</td><td colspan="3">'; print '</td><td colspan="3">';
$sql = "SELECT count(rowid) as nb"; $sql = "SELECT count(rowid) as nb";
$sql.= " FROM ".MAIN_DB_PREFIX."societe_adresse_livraison"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_address";
$sql.= " WHERE fk_societe =".$objsoc->id; $sql.= " WHERE fk_soc =".$objsoc->id;
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql) if ($resql)

View File

@ -209,7 +209,7 @@ if ($_POST['action'] == 'setdeliveryadress' && $user->rights->propale->creer)
{ {
$propal = new Propal($db); $propal = new Propal($db);
$propal->fetch($_GET['propalid']); $propal->fetch($_GET['propalid']);
$result=$propal->set_adresse_livraison($user,$_POST['adresse_livraison_id']); $result=$propal->set_adresse_livraison($user,$_POST['fk_address']);
if ($result < 0) dol_print_error($db,$propal->error); if ($result < 0) dol_print_error($db,$propal->error);
} }
@ -240,7 +240,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
$propal->ref = $_POST['ref']; $propal->ref = $_POST['ref'];
$propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); $propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
$propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); $propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
$propal->fk_delivery_address = $_POST['adresse_livraison_id']; $propal->fk_delivery_address = $_POST['fk_address'];
$propal->duree_validite = $_POST['duree_validite']; $propal->duree_validite = $_POST['duree_validite'];
$propal->cond_reglement_id = $_POST['cond_reglement_id']; $propal->cond_reglement_id = $_POST['cond_reglement_id'];
$propal->mode_reglement_id = $_POST['mode_reglement_id']; $propal->mode_reglement_id = $_POST['mode_reglement_id'];
@ -267,7 +267,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
$propal->ref_client = $_POST['ref_client']; $propal->ref_client = $_POST['ref_client'];
$propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); $propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
$propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); $propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
$propal->fk_delivery_address = $_POST['fk_delivery_address']; $propal->fk_delivery_address = $_POST['fk_address'];
$propal->duree_validite = $_POST['duree_validite']; $propal->duree_validite = $_POST['duree_validite'];
$propal->cond_reglement_id = $_POST['cond_reglement_id']; $propal->cond_reglement_id = $_POST['cond_reglement_id'];
$propal->mode_reglement_id = $_POST['mode_reglement_id']; $propal->mode_reglement_id = $_POST['mode_reglement_id'];
@ -1227,11 +1227,11 @@ if ($id > 0 || ! empty($ref))
if ($_GET['action'] == 'editdelivery_adress') if ($_GET['action'] == 'editdelivery_adress')
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?propalid='.$propal->id,$propal->fk_delivery_address,$_GET['socid'],'fk_delivery_address','propal',$propal->id); $html->form_address($_SERVER['PHP_SELF'].'?propalid='.$propal->id,$propal->fk_delivery_address,$_GET['socid'],'fk_address','propal',$propal->id);
} }
else else
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?propalid='.$propal->id,$propal->fk_delivery_address,$_GET['socid'],'none','propal',$propal->id); $html->form_address($_SERVER['PHP_SELF'].'?propalid='.$propal->id,$propal->fk_delivery_address,$_GET['socid'],'none','propal',$propal->id);
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -1092,16 +1092,16 @@ class Propal extends CommonObject
* \param adresse_livraison Adresse de livraison * \param adresse_livraison Adresse de livraison
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_adresse_livraison($user, $adresse_livraison) function set_adresse_livraison($user, $address_id)
{ {
if ($user->rights->propale->creer) if ($user->rights->propale->creer)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_adresse_livraison = '".$adresse_livraison."'"; $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_adresse_livraison = '".$address_id."'";
$sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0";
if ($this->db->query($sql) ) if ($this->db->query($sql) )
{ {
$this->fk_delivery_address = $adresse_livraison; $this->fk_delivery_address = $address_id;
return 1; return 1;
} }
else else

View File

@ -1613,16 +1613,16 @@ class Commande extends CommonObject
* \param adresse_livraison Adresse de livraison * \param adresse_livraison Adresse de livraison
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_adresse_livraison($user, $fk_delivery_address) function set_adresse_livraison($user, $fk_address)
{ {
if ($user->rights->commande->creer) if ($user->rights->commande->creer)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."commande SET fk_adresse_livraison = '".$fk_delivery_address."'"; $sql = "UPDATE ".MAIN_DB_PREFIX."commande SET fk_adresse_livraison = '".$fk_address."'";
$sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0";
if ($this->db->query($sql) ) if ($this->db->query($sql) )
{ {
$this->fk_delivery_address = $fk_delivery_address; $this->fk_delivery_address = $fk_address;
return 1; return 1;
} }
else else

View File

@ -196,7 +196,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
$commande->cond_reglement_id = $_POST['cond_reglement_id']; $commande->cond_reglement_id = $_POST['cond_reglement_id'];
$commande->mode_reglement_id = $_POST['mode_reglement_id']; $commande->mode_reglement_id = $_POST['mode_reglement_id'];
$commande->date_livraison = $datelivraison; $commande->date_livraison = $datelivraison;
$commande->fk_delivery_address = $_POST['fk_delivery_address']; $commande->fk_delivery_address = $_POST['fk_address'];
$commande->contactid = $_POST['contactidp']; $commande->contactid = $_POST['contactidp'];
$NBLINES=8; $NBLINES=8;
@ -231,7 +231,7 @@ if ($_POST['action'] == 'add' && $user->rights->commande->creer)
} }
} }
$_GET['id'] = $commande->id; $_GET['id'] = $commande_id;
$action = ''; $action = '';
} }
@ -315,7 +315,7 @@ if ($_POST['action'] == 'setdeliveryadress' && $user->rights->commande->creer)
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($_GET['id']);
$commande->set_adresse_livraison($user,$_POST['adresse_livraison_id']); $commande->set_adresse_livraison($user,$_POST['fk_address']);
} }
if ($_POST['action'] == 'setmode' && $user->rights->commande->creer) if ($_POST['action'] == 'setmode' && $user->rights->commande->creer)
@ -1076,10 +1076,10 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer)
// Delivery address // Delivery address
if ($conf->global->COMMANDE_ADD_DELIVERY_ADDRESS) if ($conf->global->COMMANDE_ADD_DELIVERY_ADDRESS)
{ {
// Link to edit: $html->form_adresse_livraison($_SERVER['PHP_SELF'].'?action=create','',$soc->id,'adresse_livraison_id','commande',''); // Link to edit: $html->form_address($_SERVER['PHP_SELF'].'?action=create','',$soc->id,'adresse_livraison_id','commande','');
print '<tr><td nowrap="nowrap">'.$langs->trans('DeliveryAddress').'</td><td>'; print '<tr><td nowrap="nowrap">'.$langs->trans('DeliveryAddress').'</td><td>';
$numaddress = $html->select_adresse_livraison($soc->fk_delivery_address, $_GET['socid'],'fk_delivery_address',1); $numaddress = $html->select_address($soc->fk_delivery_address, $_GET['socid'],'fk_address',1);
print ' &nbsp; <a href="../comm/adresse_livraison.php?socid='.$soc->id.'&action=create">'.$langs->trans("AddAddress").'</a>'; print ' &nbsp; <a href="../comm/address.php?socid='.$soc->id.'&action=create">'.$langs->trans("AddAddress").'</a>';
print '</td></tr>'; print '</td></tr>';
} }
@ -1273,8 +1273,8 @@ else
/* *************************************************************************** */ /* *************************************************************************** */
$now=dol_now(); $now=dol_now();
$id = $_REQUEST['id']; $id = $_GET['id'];
$ref= $_REQUEST['ref']; $ref= $_GET['ref'];
if ($id > 0 || ! empty($ref)) if ($id > 0 || ! empty($ref))
{ {
@ -1531,11 +1531,11 @@ else
if ($_GET['action'] == 'editdelivery_adress') if ($_GET['action'] == 'editdelivery_adress')
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'fk_delivery_address','commande',$commande->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'fk_address','commande',$commande->id);
} }
else else
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id);
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -282,11 +282,11 @@ if ($id > 0 || ! empty($ref))
if ($_GET['action'] == 'editdelivery_adress') if ($_GET['action'] == 'editdelivery_adress')
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'adresse_livraison_id','commande',$commande->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'adresse_livraison_id','commande',$commande->id);
} }
else else
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id);
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -1311,19 +1311,19 @@ class Form
} }
/** /**
* \brief Retourne la liste deroulante des adresses de livraison * \brief Retourne la liste deroulante des adresses
* \param selected Id contact pre-selectionn * \param selected Id contact pre-selectionn
* \param htmlname Nom champ formulaire * \param htmlname Nom champ formulaire
*/ */
function select_adresse_livraison($selected='', $socid, $htmlname='adresse_livraison_id',$showempty=0) function select_address($selected='', $socid, $htmlname='address_id',$showempty=0)
{ {
// On recherche les utilisateurs // On recherche les utilisateurs
$sql = "SELECT a.rowid, a.label"; $sql = "SELECT a.rowid, a.label";
$sql .= " FROM ".MAIN_DB_PREFIX ."societe_adresse_livraison as a"; $sql .= " FROM ".MAIN_DB_PREFIX ."societe_address as a";
$sql .= " WHERE a.fk_societe = ".$socid; $sql .= " WHERE a.fk_soc = ".$socid;
$sql .= " ORDER BY a.label ASC"; $sql .= " ORDER BY a.label ASC";
dol_syslog("Form::select_adresse_livraison sql=".$sql); dol_syslog("Form::select_address sql=".$sql);
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
print '<select class="flat" name="'.$htmlname.'">'; print '<select class="flat" name="'.$htmlname.'">';
@ -2118,7 +2118,7 @@ class Form
* \param origin Origine de l'appel pour pouvoir creer un retour * \param origin Origine de l'appel pour pouvoir creer un retour
* \param originid Id de l'origine * \param originid Id de l'origine
*/ */
function form_adresse_livraison($page, $selected='', $socid, $htmlname='adresse_livraison_id', $origin='', $originid='') function form_address($page, $selected='', $socid, $htmlname='address_id', $origin='', $originid='')
{ {
global $langs,$conf; global $langs,$conf;
if ($htmlname != "none") if ($htmlname != "none")
@ -2128,21 +2128,21 @@ class Form
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">'; print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
print '<tr><td>'; print '<tr><td>';
$this->select_adresse_livraison($selected, $socid, $htmlname, 1); $this->select_address($selected, $socid, $htmlname, 1);
print '</td>'; print '</td>';
print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'">'; print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'">';
$langs->load("companies"); $langs->load("companies");
print ' &nbsp; <a href='.DOL_URL_ROOT.'/comm/adresse_livraison.php?socid='.$socid.'&action=create&origin='.$origin.'&originid='.$originid.'>'.$langs->trans("AddAddress").'</a>'; print ' &nbsp; <a href='.DOL_URL_ROOT.'/comm/address.php?socid='.$socid.'&action=create&origin='.$origin.'&originid='.$originid.'>'.$langs->trans("AddAddress").'</a>';
print '</td></tr></table></form>'; print '</td></tr></table></form>';
} }
else else
{ {
if ($selected) if ($selected)
{ {
require_once(DOL_DOCUMENT_ROOT ."/comm/class/adresse_livraison.class.php"); require_once(DOL_DOCUMENT_ROOT ."/comm/class/address.class.php");
$livraison=new AdresseLivraison($this->db); $address=new Address($this->db);
$result=$livraison->fetch_adresse($selected); $result=$address->fetch_address($selected);
print '<a href='.DOL_URL_ROOT.'/comm/adresse_livraison.php?socid='.$livraison->socid.'&id='.$livraison->id.'&action=edit&origin='.$origin.'&originid='.$originid.'>'.$livraison->label.'</a>'; print '<a href='.DOL_URL_ROOT.'/comm/address.php?socid='.$address->socid.'&id='.$address->id.'&action=edit&origin='.$origin.'&originid='.$originid.'>'.$address->label.'</a>';
} }
else else
{ {

View File

@ -392,7 +392,7 @@ if ($_GET["action"] == 'create')
print '<td colspan="3">'; print '<td colspan="3">';
if (!empty($object->fk_delivery_address)) if (!empty($object->fk_delivery_address))
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,$_GET['socid'],'none','commande',$object->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,$_GET['socid'],'none','commande',$object->id);
} }
print '</td></tr>'."\n"; print '</td></tr>'."\n";
} }
@ -809,7 +809,7 @@ else
print '<td colspan="3">'; print '<td colspan="3">';
if (!empty($expedition->fk_delivery_address)) if (!empty($expedition->fk_delivery_address))
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$expedition->id,$expedition->fk_delivery_address,$expedition->deliveryaddress->socid,'none','shipment',$expedition->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$expedition->id,$expedition->fk_delivery_address,$expedition->deliveryaddress->socid,'none','shipment',$expedition->id);
} }
print '</td></tr>'."\n"; print '</td></tr>'."\n";
} }

View File

@ -289,11 +289,11 @@ if ($id > 0 || ! empty($ref))
if ($_GET['action'] == 'editdelivery_adress') if ($_GET['action'] == 'editdelivery_adress')
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'delivery_address_id','commande',$commande->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'delivery_address_id','commande',$commande->id);
} }
else else
{ {
$html->form_adresse_livraison($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id); $html->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id);
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -205,3 +205,13 @@ UPDATE llx_const SET name = 'MAIN_MODULE_PRODUCT' WHERE name = 'MAIN_MODULE_PROD
-- Add more predefined action codes -- -- Add more predefined action codes --
insert into llx_c_actioncomm (id, code, type, libelle, module) values (30, 'AC_SUP_ORD', 'system', 'Send supplier invoice by email' ,'supplier_order'); insert into llx_c_actioncomm (id, code, type, libelle, module) values (30, 'AC_SUP_ORD', 'system', 'Send supplier invoice by email' ,'supplier_order');
insert into llx_c_actioncomm (id, code, type, libelle, module) values (31, 'AC_SUP_INV', 'system', 'Send supplier invoice by email' ,'supplier_invoice'); insert into llx_c_actioncomm (id, code, type, libelle, module) values (31, 'AC_SUP_INV', 'system', 'Send supplier invoice by email' ,'supplier_invoice');
-- rename llx_societe_adresse_livraison
ALTER TABLE llx_expedition DROP FOREIGN KEY fk_expedition_fk_adresse_livraison;
ALTER TABLE llx_expedition DROP INDEX idx_expedition_fk_adresse_livraison;
ALTER TABLE llx_livraison DROP FOREIGN KEY fk_livraison_fk_adresse_livraison;
ALTER TABLE llx_livraison DROP INDEX idx_livraison_fk_adresse_livraison;
ALTER TABLE llx_societe_adresse_livraison RENAME TO llx_societe_address;
ALTER TABLE llx_societe_address CHANGE nom name varchar(60);
ALTER TABLE llx_societe_address CHANGE fk_societe fk_soc integer DEFAULT 0;

View File

@ -20,7 +20,7 @@
-- ============================================================================ -- ============================================================================
-- Supprimme orphelins pour permettre montée de la clé -- Supprimme orphelins pour permettre montee de la cle
-- V4 DELETE llx_commande FROM llx_commande LEFT JOIN llx_societe ON llx_commande.fk_soc = llx_societe.rowid WHERE llx_societe.rowid IS NULL; -- V4 DELETE llx_commande FROM llx_commande LEFT JOIN llx_societe ON llx_commande.fk_soc = llx_societe.rowid WHERE llx_societe.rowid IS NULL;
ALTER TABLE llx_commande ADD UNIQUE INDEX uk_commande_ref (ref, entity); ALTER TABLE llx_commande ADD UNIQUE INDEX uk_commande_ref (ref, entity);

View File

@ -1,6 +1,6 @@
-- =================================================================== -- ===================================================================
-- Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> -- Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2008-2009 Regis Houssin <regis@dolibarr.fr> -- Copyright (C) 2008-2010 Regis Houssin <regis@dolibarr.fr>
-- --
-- This program is free software; you can redistribute it and/or modify -- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by -- it under the terms of the GNU General Public License as published by
@ -25,11 +25,13 @@ ALTER TABLE llx_expedition ADD UNIQUE INDEX idx_expedition_uk_ref (ref, entity);
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_soc (fk_soc); ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_soc (fk_soc);
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_user_author (fk_user_author); ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_user_author (fk_user_author);
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_user_valid (fk_user_valid); ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_user_valid (fk_user_valid);
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_adresse_livraison (fk_adresse_livraison); ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_address (fk_address);
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_expedition_methode (fk_expedition_methode); ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_expedition_methode (fk_expedition_methode);
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid);
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_user_author FOREIGN KEY (fk_user_author) REFERENCES llx_user (rowid); ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_user_author FOREIGN KEY (fk_user_author) REFERENCES llx_user (rowid);
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_user_valid FOREIGN KEY (fk_user_valid) REFERENCES llx_user (rowid); ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_user_valid FOREIGN KEY (fk_user_valid) REFERENCES llx_user (rowid);
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_adresse_livraison FOREIGN KEY (fk_adresse_livraison) REFERENCES llx_societe_adresse_livraison (rowid); ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_expedition_methode FOREIGN KEY (fk_expedition_methode) REFERENCES llx_expedition_methode (rowid);
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_expedition_methode FOREIGN KEY (fk_expedition_methode) REFERENCES llx_expedition_methode (rowid);
-- obsolete
-- ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_address FOREIGN KEY (fk_address) REFERENCES llx_societe_address (rowid);

View File

@ -34,7 +34,7 @@ create table llx_expedition
fk_user_valid integer, -- valideur fk_user_valid integer, -- valideur
date_expedition date, -- shipping date date_expedition date, -- shipping date
date_delivery date DEFAULT NULL, -- delivery date date_delivery date DEFAULT NULL, -- delivery date
fk_adresse_livraison integer DEFAULT NULL, -- adresse de livraison fk_address integer DEFAULT NULL, -- adresse de livraison
fk_expedition_methode integer, fk_expedition_methode integer,
tracking_number varchar(50), tracking_number varchar(50),
fk_statut smallint DEFAULT 0, fk_statut smallint DEFAULT 0,

View File

@ -1,6 +1,6 @@
-- =================================================================== -- ===================================================================
-- Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> -- Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
-- Copyright (C) 2008-2009 Regis Houssin <regis@dolibarr.fr> -- Copyright (C) 2008-2010 Regis Houssin <regis@dolibarr.fr>
-- --
-- This program is free software; you can redistribute it and/or modify -- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by -- it under the terms of the GNU General Public License as published by
@ -25,9 +25,10 @@ ALTER TABLE llx_livraison ADD UNIQUE INDEX idx_livraison_uk_ref (ref, entity);
ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_soc (fk_soc); ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_soc (fk_soc);
ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_user_author (fk_user_author); ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_user_author (fk_user_author);
ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_user_valid (fk_user_valid); ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_user_valid (fk_user_valid);
ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_adresse_livraison (fk_adresse_livraison); ALTER TABLE llx_livraison ADD INDEX idx_livraison_fk_address (fk_address);
ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid);
ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_user_author FOREIGN KEY (fk_user_author) REFERENCES llx_user (rowid); ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_user_author FOREIGN KEY (fk_user_author) REFERENCES llx_user (rowid);
ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_user_valid FOREIGN KEY (fk_user_valid) REFERENCES llx_user (rowid); ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_user_valid FOREIGN KEY (fk_user_valid) REFERENCES llx_user (rowid);
ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_adresse_livraison FOREIGN KEY (fk_adresse_livraison) REFERENCES llx_societe_adresse_livraison (rowid); -- obsolete
-- ALTER TABLE llx_livraison ADD CONSTRAINT fk_livraison_fk_address FOREIGN KEY (fk_address) REFERENCES llx_societe_address (rowid);

View File

@ -33,7 +33,7 @@ create table llx_livraison
date_valid datetime, -- date de validation date_valid datetime, -- date de validation
fk_user_valid integer, -- valideur du bon de livraison fk_user_valid integer, -- valideur du bon de livraison
date_delivery date DEFAULT NULL, -- delivery date date_delivery date DEFAULT NULL, -- delivery date
fk_adresse_livraison integer, -- adresse de livraison fk_address integer, -- adresse de livraison
fk_statut smallint DEFAULT 0, fk_statut smallint DEFAULT 0,
total_ht double(24,8) DEFAULT 0, total_ht double(24,8) DEFAULT 0,
note text, note text,

View File

@ -1,6 +1,6 @@
-- ======================================================================== -- ========================================================================
-- Copyright (C) 2000-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2000-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2005-2006 Houssin Régis <regis@dolibarr.fr> -- Copyright (C) 2005-2010 Houssin Regis <regis@dolibarr.fr>
-- --
-- This program is free software; you can redistribute it and/or modify -- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by -- it under the terms of the GNU General Public License as published by
@ -19,14 +19,14 @@
-- $Id$ -- $Id$
-- ======================================================================== -- ========================================================================
create table llx_societe_adresse_livraison create table llx_societe_address
( (
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
datec datetime, -- creation date datec datetime, -- creation date
tms timestamp, -- modification date tms timestamp, -- modification date
label varchar(30), -- label varchar(30), --
fk_societe integer DEFAULT 0, -- fk_soc integer DEFAULT 0, --
nom varchar(60), -- company name name varchar(60), -- company name
address varchar(255), -- company adresse address varchar(255), -- company adresse
cp varchar(10), -- zipcode cp varchar(10), -- zipcode
ville varchar(50), -- town ville varchar(50), -- town
@ -34,6 +34,6 @@ create table llx_societe_adresse_livraison
tel varchar(20), -- phone number tel varchar(20), -- phone number
fax varchar(20), -- fax number fax varchar(20), -- fax number
note text, -- note text, --
fk_user_creat integer, -- utilisateur qui a créé l'info fk_user_creat integer,
fk_user_modif integer -- utilisateur qui a modifié l'info fk_user_modif integer
)type=innodb; )type=innodb;

View File

@ -719,21 +719,20 @@ class Societe extends CommonObject
} }
/** /**
* * Lit une adresse
* Lit une adresse de livraison * TODO: utiliser la classe address
*
*/ */
function fetch_adresse_livraison($id) function fetch_address($id)
{ {
global $conf,$langs; global $conf,$langs;
$sql = "SELECT l.rowid, l.label, l.fk_societe, l.nom, l.address, l.cp"; $sql = "SELECT l.rowid, l.label, l.fk_soc, l.name, l.address, l.cp";
$sql .= ", l.tms as dm, l.datec as dc"; $sql .= ", l.tms as dm, l.datec as dc";
$sql .= ", l.ville, l.fk_pays, l.note, l.tel, l.fax"; $sql .= ", l.ville, l.fk_pays, l.note, l.tel, l.fax";
$sql .= ", p.libelle as pays, p.code as pays_code, s.nom as socname"; $sql .= ", p.libelle as pays, p.code as pays_code, s.nom as socname";
$sql .= " FROM ".MAIN_DB_PREFIX."societe_adresse_livraison as l"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_address as l";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON l.fk_pays = p.rowid"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON l.fk_pays = p.rowid";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON l.fk_societe = s.rowid"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON l.fk_soc = s.rowid";
$sql .= " WHERE l.rowid = ".$id; $sql .= " WHERE l.rowid = ".$id;
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
@ -746,11 +745,10 @@ class Societe extends CommonObject
$this->datec = $this->db->jdate($obj->dc); $this->datec = $this->db->jdate($obj->dc);
$this->datem = $this->db->jdate($obj->dm); $this->datem = $this->db->jdate($obj->dm);
$this->label = $obj->label; $this->label = $obj->label;
$this->socid = $obj->fk_societe; $this->socid = $obj->fk_soc;
$this->societe = $obj->socname; $this->societe = $obj->socname;
$this->nom = $obj->nom; $this->name = $obj->name;
$this->address = $obj->address; $this->address = $obj->address;
$this->adresse = $obj->address; // TODO obsolete
$this->cp = $obj->cp; $this->cp = $obj->cp;
$this->ville = $obj->ville; $this->ville = $obj->ville;
$this->pays_id = $obj->fk_pays; $this->pays_id = $obj->fk_pays;