New: Ajout du pays dans les propriétés du contact

This commit is contained in:
Laurent Destailleur 2005-08-18 17:57:18 +00:00
parent ad8c4b9777
commit b39f5668b8
4 changed files with 282 additions and 248 deletions

View File

@ -23,7 +23,8 @@
* *
*/ */
/** \file htdocs/contact.class.php /**
\file htdocs/contact.class.php
\ingroup societe \ingroup societe
\brief Fichier de la classe des contacts \brief Fichier de la classe des contacts
\version $Revision$ \version $Revision$
@ -33,7 +34,8 @@ require_once (DOL_DOCUMENT_ROOT."/lib/ldap.lib.php");
/** \class Contact /**
\class Contact
\brief Classe permettant la gestion des contacts \brief Classe permettant la gestion des contacts
*/ */
@ -46,13 +48,21 @@ class Contact
var $fullname; var $fullname;
var $nom; var $nom;
var $prenom; var $prenom;
var $name;
var $firstname;
var $address;
var $cp;
var $ville;
var $fk_pays;
var $code; var $code;
var $email; var $email;
var $birthday; var $birthday;
/** /**
* \brief Constructeur de l'objet contact * \brief Constructeur de l'objet contact
* * \param DB Habler d'accès base
* \param id Id contact
*/ */
function Contact($DB, $id=0) function Contact($DB, $id=0)
{ {
@ -65,9 +75,11 @@ class Contact
/** /**
* \brief Ajout d'un contact en base * \brief Ajout d'un contact en base
* \param user Utilisateur qui effectue l'ajout * \param user Utilisateur qui effectue l'ajout
* \return int <0 si ko, >0 si ok
*/ */
function create($user) function create($user)
{ {
$this->name=trim($this->name);
if (! $this->socid) if (! $this->socid)
{ {
$this->socid = 0; $this->socid = 0;
@ -80,13 +92,18 @@ class Contact
{ {
$id = $this->db->last_insert_id(MAIN_DB_PREFIX."socpeople"); $id = $this->db->last_insert_id(MAIN_DB_PREFIX."socpeople");
$this->update($id, $user); $ret=$this->update($id, $user);
if ($ret < 0)
{
$this->error=$this->db->error();
return -2;
}
return $id; return $id;
} }
else else
{ {
$this->error='Echec sql='.$sql; $this->error=$this->db->error();
return -1;
} }
} }
@ -94,21 +111,20 @@ class Contact
* \brief Mise à jour des infos * \brief Mise à jour des infos
* \param id id du contact à mettre à jour * \param id id du contact à mettre à jour
* \param user Utilisateur qui effectue la mise à jour * \param user Utilisateur qui effectue la mise à jour
* * \return int <0 si erreur, >0 si ok
*/ */
function update($id, $user=0) function update($id, $user=0)
{ {
dolibarr_syslog("Contact::Update id=".$id,LOG_DEBUG); dolibarr_syslog("Contact::Update id=".$id,LOG_DEBUG);
$this->id = $id; $this->id = $id;
$this->error = array();
$this->name=trim($this->name);
$this->firstname=trim($this->firstname);
$this->email=trim($this->email); $this->email=trim($this->email);
$this->phone_pro=trim($this->phone_pro);
//commenté suite a la nouvell fonction dolibarr_print_phone if ($this->phone_pro && $this->socid > 0)
//$this->phone_pro = ereg_replace(" ","",$this->phone_pro);
//$this->phone_perso = ereg_replace(" ","",$this->phone_perso);
if (strlen($this->phone_pro) == 0 && $this->socid > 0)
{ {
$soc = new Societe($this->db); $soc = new Societe($this->db);
$soc->fetch($this->socid); $soc->fetch($this->socid);
@ -117,11 +133,12 @@ class Contact
$sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET "; $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET ";
$sql .= " civilite='$this->civilite_id'"; $sql .= " civilite='$this->civilite_id'";
$sql .= ", name='".trim($this->name)."'"; $sql .= ", name='$this->name'";
$sql .= ", firstname='".trim($this->firstname)."'"; $sql .= ", firstname='$this->firstname'";
$sql .= ", address='$this->address'"; $sql .= ", address='$this->address'";
$sql .= ", cp='$this->cp'"; $sql .= ", cp='$this->cp'";
$sql .= ", ville='$this->ville'"; $sql .= ", ville='$this->ville'";
$sql .= ", fk_pays='$this->fk_pays'";
$sql .= ", poste='$this->poste'"; $sql .= ", poste='$this->poste'";
$sql .= ", fax='$this->fax'"; $sql .= ", fax='$this->fax'";
$sql .= ", email='$this->email'"; $sql .= ", email='$this->email'";
@ -130,29 +147,25 @@ class Contact
$sql .= ", phone_perso = '$this->phone_perso'"; $sql .= ", phone_perso = '$this->phone_perso'";
$sql .= ", phone_mobile = '$this->phone_mobile'"; $sql .= ", phone_mobile = '$this->phone_mobile'";
$sql .= ", jabberid = '$this->jabberid'"; $sql .= ", jabberid = '$this->jabberid'";
if ($user) $sql .= ", fk_user_modif='".$user->id."'";
if ($user) $sql .= " WHERE idp=".$id;
{
$sql .= ", fk_user_modif='".$user->id."'";
}
$sql .= " WHERE idp=$id";
$result = $this->db->query($sql); $result = $this->db->query($sql);
if (! $result) if (! $result)
{ {
$this->error='Echec sql='.$sql; $this->error=$this->db->error();
return -1;
} }
if (defined('MAIN_MODULE_LDAP') && MAIN_MODULE_LDAP) if ($conf->ldap->enabled)
{ {
if (defined('LDAP_CONTACT_ACTIVE') && LDAP_CONTACT_ACTIVE == 1) if ($conf->global->LDAP_CONTACT_ACTIVE)
{ {
$this->update_ldap($user); $this->update_ldap($user);
} }
} }
return $result; return 1;
} }
/** /**
@ -421,12 +434,13 @@ class Contact
*/ */
function fetch($id, $user=0) function fetch($id, $user=0)
{ {
$sql = "SELECT c.idp, c.fk_soc, c.civilite civilite_id, c.name, c.firstname"; $sql = "SELECT c.idp, c.fk_soc, c.civilite civilite_id, c.name, c.firstname,";
$sql .= ", c.address, c.cp, c.ville"; $sql.= " c.address, c.cp, c.ville,";
$sql .= ", c.birthday as birthday, poste"; $sql.= " c.fk_pays, p.libelle as pays, p.code as pays_code,";
$sql .= ", phone, phone_perso, phone_mobile, fax, c.email, jabberid, c.note"; $sql.= " c.birthday as birthday, c.poste,";
$sql.= " c.phone, c.phone_perso, c.phone_mobile, c.fax, c.email, c.jabberid, c.note";
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON c.fk_pays = p.rowid";
$sql.= " WHERE c.idp = ". $id; $sql.= " WHERE c.idp = ". $id;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@ -446,6 +460,9 @@ class Contact
$this->address = $obj->address; $this->address = $obj->address;
$this->cp = $obj->cp; $this->cp = $obj->cp;
$this->ville = $obj->ville; $this->ville = $obj->ville;
$this->fk_pays = $obj->fk_pays;
$this->pays_code = $obj->fk_pays?$obj->pays_code:'';
$this->pays = $obj->fk_pays?$obj->pays:'';
$this->societeid = $obj->fk_soc; $this->societeid = $obj->fk_soc;
$this->socid = $obj->fk_soc; $this->socid = $obj->fk_soc;
@ -489,7 +506,7 @@ class Contact
else else
{ {
dolibarr_syslog("Error in Contact::fetch() selectuser sql=$sql"); dolibarr_syslog("Error in Contact::fetch() selectuser sql=$sql");
$this->error="Error in Contact::fetch() selectuser sql=$sql"; $this->error="Error in Contact::fetch() selectuser - ".$this->db->error()." - ".$sql;
return -1; return -1;
} }
@ -514,7 +531,7 @@ class Contact
else else
{ {
dolibarr_syslog("Error in Contact::fetch() selectcontactfacture sql=$sql"); dolibarr_syslog("Error in Contact::fetch() selectcontactfacture sql=$sql");
$this->error="Error in Contact::fetch() selectcontactfacture sql=$sql"; $this->error="Error in Contact::fetch() selectcontactfacture - ".$this->db->error()." - ".$sql;
return -1; return -1;
} }
@ -538,7 +555,7 @@ class Contact
else else
{ {
dolibarr_syslog("Error in Contact::fetch() selectuseralert sql=$sql"); dolibarr_syslog("Error in Contact::fetch() selectuseralert sql=$sql");
$this->error="Error in Contact::fetch() selectuseralert sql=$sql"; $this->error="Error in Contact::fetch() selectuseralert - ".$this->db->error()." - ".$sql;
return -1; return -1;
} }
} }
@ -548,7 +565,7 @@ class Contact
else else
{ {
dolibarr_syslog("Error in Contact::fetch() selectsocpeople sql=$sql"); dolibarr_syslog("Error in Contact::fetch() selectsocpeople sql=$sql");
$this->error="Error in Contact::fetch() selectsocpeople sql=$sql"; $this->error="Error in Contact::fetch() selectsocpeople - ".$this->db->error()." - ".$sql;
return -1; return -1;
} }
} }

View File

@ -79,6 +79,7 @@ if ($_POST["action"] == 'add')
$contact->address = $_POST["address"]; $contact->address = $_POST["address"];
$contact->cp = $_POST["cp"]; $contact->cp = $_POST["cp"];
$contact->ville = $_POST["ville"]; $contact->ville = $_POST["ville"];
$contact->fk_pays = $_POST["pays_id"];
$contact->email = $_POST["email"]; $contact->email = $_POST["email"];
$contact->phone_pro = $_POST["phone_pro"]; $contact->phone_pro = $_POST["phone_pro"];
$contact->phone_perso = $_POST["phone_perso"]; $contact->phone_perso = $_POST["phone_perso"];
@ -88,7 +89,13 @@ if ($_POST["action"] == 'add')
$contact->note = $_POST["note"]; $contact->note = $_POST["note"];
$_GET["id"] = $contact->create($user); $id = $contact->create($user);
if ($id > 0)
{
Header("Location: fiche.php?id=".$id);
}
$error=array($contact->error);
} }
} }
@ -121,6 +128,7 @@ if ($_POST["action"] == 'update')
$contact->address = $_POST["address"]; $contact->address = $_POST["address"];
$contact->cp = $_POST["cp"]; $contact->cp = $_POST["cp"];
$contact->ville = $_POST["ville"]; $contact->ville = $_POST["ville"];
$contact->fk_pays = $_POST["pays_id"];
$contact->email = $_POST["email"]; $contact->email = $_POST["email"];
$contact->phone_pro = $_POST["phone_pro"]; $contact->phone_pro = $_POST["phone_pro"];
@ -215,7 +223,6 @@ if ($_GET["action"] == 'create')
* *
*/ */
print_fiche_titre($langs->trans("AddContact")); print_fiche_titre($langs->trans("AddContact"));
print '<br>'; print '<br>';
print '<form method="post" action="fiche.php">'; print '<form method="post" action="fiche.php">';
@ -231,7 +238,7 @@ if ($_GET["action"] == 'create')
} }
print '<tr><td>'.$langs->trans("Company").'</td>'; print '<tr><td>'.$langs->trans("Company").'</td>';
print '<td colspan="5"><a href="'.DOL_URL_ROOT.'/soc.php?socid='.$socid.'">'.$objsoc->nom.'</a></td>'; print '<td colspan="3"><a href="'.DOL_URL_ROOT.'/soc.php?socid='.$socid.'">'.$objsoc->nom.'</a></td>';
print '<input type="hidden" name="socid" value="'.$objsoc->id.'">'; print '<input type="hidden" name="socid" value="'.$objsoc->id.'">';
print '</td></tr>'; print '</td></tr>';
} }
@ -248,14 +255,16 @@ if ($_GET["action"] == 'create')
print '<tr><td width="15%">'.$langs->trans("Lastname").'</td><td width="35%"><input name="name" type="text" size="20" maxlength="80" value="'.$contact->nom.'"></td>'; print '<tr><td width="15%">'.$langs->trans("Lastname").'</td><td width="35%"><input name="name" type="text" size="20" maxlength="80" value="'.$contact->nom.'"></td>';
print '<td width="15%">'.$langs->trans("Firstname").'</td><td width="35%"><input name="firstname" type="text" size="15" maxlength="80" value="'.$contact->prenom.'"></td></tr>'; print '<td width="15%">'.$langs->trans("Firstname").'</td><td width="35%"><input name="firstname" type="text" size="15" maxlength="80" value="'.$contact->prenom.'"></td></tr>';
print '<tr><td>Poste/Fonction</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.$contact->poste.'"></td>'; print '<tr><td>Poste/Fonction</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.$contact->poste.'"></td>';
print '<tr><td>'.$langs->trans("Address").'</td><td colspan="3"><input name="address" type="text" size="50" maxlength="80"></td>'; print '<tr><td>'.$langs->trans("Address").'</td><td colspan="3"><input name="address" type="text" size="50" maxlength="80"></td>';
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="3"><input name="cp" type="text" size="6" maxlength="80" value="'.$contact->cp.'">&nbsp;'; print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="3"><input name="cp" type="text" size="6" maxlength="80" value="'.$contact->cp.'">&nbsp;';
print '<input name="ville" type="text" size="20" value="'.$contact->ville.'" maxlength="80"></td></tr>';
print '<input name="ville" type="text" size="20" value="'.$contact->ville.'" maxlength="80"></td>'; print '<tr><td>'.$langs->trans("Country").'</td><td colspan="3">';
$form->select_pays($contact->fk_pays);
print '</td></tr>';
print '<tr><td>Tel Pro</td><td><input name="phone_pro" type="text" size="18" maxlength="80" value="'.$contact->phone_pro.'"></td>'; print '<tr><td>Tel Pro</td><td><input name="phone_pro" type="text" size="18" maxlength="80" value="'.$contact->phone_pro.'"></td>';
print '<td>Tel Perso</td><td><input name="phone_perso" type="text" size="18" maxlength="80" value="'.$contact->phone_perso.'"></td></tr>'; print '<td>Tel Perso</td><td><input name="phone_perso" type="text" size="18" maxlength="80" value="'.$contact->phone_perso.'"></td></tr>';
@ -308,14 +317,16 @@ elseif ($_GET["action"] == 'edit')
print '<tr><td width="15%">'.$langs->trans("Lastname").'</td><td width="35%"><input name="name" type="text" size="20" maxlength="80" value="'.$contact->name.'"></td>'; print '<tr><td width="15%">'.$langs->trans("Lastname").'</td><td width="35%"><input name="name" type="text" size="20" maxlength="80" value="'.$contact->name.'"></td>';
print '<td width="15%">'.$langs->trans("Firstname").'</td><td width="35%"><input name="firstname" type="text" size="15" maxlength="80" value="'.$contact->firstname.'"></td></tr>'; print '<td width="15%">'.$langs->trans("Firstname").'</td><td width="35%"><input name="firstname" type="text" size="15" maxlength="80" value="'.$contact->firstname.'"></td></tr>';
print '<tr><td>Poste/Fonction</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.$contact->poste.'"></td></tr>'; print '<tr><td>Poste/Fonction</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.$contact->poste.'"></td></tr>';
print '<tr><td>'.$langs->trans("Address").'</td><td colspan="3"><input name="address" type="text" size="50" maxlength="80" value="'.$contact->address.'"></td>'; print '<tr><td>'.$langs->trans("Address").'</td><td colspan="3"><input name="address" type="text" size="50" maxlength="80" value="'.$contact->address.'"></td>';
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="3"><input name="cp" type="text" size="6" maxlength="80" value="'.$contact->cp.'">&nbsp;'; print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="3"><input name="cp" type="text" size="6" maxlength="80" value="'.$contact->cp.'">&nbsp;';
print '<input name="ville" type="text" size="20" value="'.$contact->ville.'" maxlength="80"></td></tr>';
print '<input name="ville" type="text" size="20" value="'.$contact->ville.'" maxlength="80"></td>'; print '<tr><td>'.$langs->trans("Country").'</td><td colspan="3">';
$form->select_pays($contact->fk_pays);
print '</td></tr>';
print '<tr><td>Tel Pro</td><td><input name="phone_pro" type="text" size="18" maxlength="80" value="'.$contact->phone_pro.'"></td>'; print '<tr><td>Tel Pro</td><td><input name="phone_pro" type="text" size="18" maxlength="80" value="'.$contact->phone_pro.'"></td>';
print '<td>Tel Perso</td><td><input name="phone_perso" type="text" size="18" maxlength="80" value="'.$contact->phone_perso.'"></td></tr>'; print '<td>Tel Perso</td><td><input name="phone_perso" type="text" size="18" maxlength="80" value="'.$contact->phone_perso.'"></td></tr>';
@ -374,6 +385,10 @@ else
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="3">'.$contact->cp.'&nbsp;'; print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td colspan="3">'.$contact->cp.'&nbsp;';
print $contact->ville.'</td></tr>'; print $contact->ville.'</td></tr>';
print '<tr><td>'.$langs->trans("Country").'</td><td colspan="3">';
print $contact->pays;
print '</td></tr>';
print '<tr><td>Tel Pro</td><td>'.$contact->phone_pro.'</td>'; print '<tr><td>Tel Pro</td><td>'.$contact->phone_pro.'</td>';
print '<td>Tel Perso</td><td>'.$contact->phone_perso.'</td></tr>'; print '<td>Tel Perso</td><td>'.$contact->phone_perso.'</td></tr>';

View File

@ -238,6 +238,7 @@ alter table llx_cond_reglement add code varchar(16) after rowid;
alter table llx_socpeople add cp varchar(25) after address; alter table llx_socpeople add cp varchar(25) after address;
alter table llx_socpeople add ville varchar(255) after cp; alter table llx_socpeople add ville varchar(255) after cp;
alter table llx_socpeople add fk_pays integer DEFAULT 0 after ville;
alter table llx_paiement add statut smallint DEFAULT 0 NOT NULL ; alter table llx_paiement add statut smallint DEFAULT 0 NOT NULL ;
alter table llx_facturedet add fk_export_compta integer DEFAULT 0 NOT NULL ; alter table llx_facturedet add fk_export_compta integer DEFAULT 0 NOT NULL ;

View File

@ -32,6 +32,7 @@ create table llx_socpeople
address varchar(255), address varchar(255),
cp varchar(25), cp varchar(25),
ville varchar(255), ville varchar(255),
fk_pays integer DEFAULT 0,
birthday date, birthday date,
poste varchar(80), poste varchar(80),
phone varchar(30), phone varchar(30),