Remove clone feature on create page. Must be used on object page

This commit is contained in:
Laurent Destailleur 2009-03-25 19:12:35 +00:00
parent a4d7576558
commit 0116999026
10 changed files with 75 additions and 52 deletions

View File

@ -260,12 +260,12 @@ class Adherent extends CommonObject
global $conf,$langs; global $conf,$langs;
// Check parameters // Check parameters
if ($conf->global->ADHERENT_MAIL_REQUIRED && ! ValidEMail($this->email)) if ($conf->global->ADHERENT_MAIL_REQUIRED && ! isValidEMail($this->email))
{ {
$this->error = $langs->trans("ErrorBadEMail",$this->email); $this->error = $langs->trans("ErrorBadEMail",$this->email);
return -1; return -1;
} }
if (! $this->datec) $this->datec=time(); if (! $this->datec) $this->datec=gmmktime();
$this->db->begin(); $this->db->begin();
@ -352,7 +352,7 @@ class Adherent extends CommonObject
dol_syslog("Adherent::update notrigger=".$notrigger.", nosyncuser=".$nosyncuser.", email=".$this->email); dol_syslog("Adherent::update notrigger=".$notrigger.", nosyncuser=".$nosyncuser.", email=".$this->email);
// Verification parametres // Verification parametres
if ($conf->global->ADHERENT_MAIL_REQUIRED && ! ValidEMail($this->email)) if ($conf->global->ADHERENT_MAIL_REQUIRED && ! isValidEMail($this->email))
{ {
$this->error = $langs->trans("ErrorBadEMail",$this->email); $this->error = $langs->trans("ErrorBadEMail",$this->email);
return -1; return -1;

View File

@ -320,7 +320,7 @@ if ($user->rights->adherent->creer && $_POST["action"] == 'add')
$error++; $error++;
$errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Firstname"))."<br>\n"; $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Firstname"))."<br>\n";
} }
if ($conf->global->ADHERENT_MAIL_REQUIRED && ! ValidEMail($email)) { if ($conf->global->ADHERENT_MAIL_REQUIRED && ! isValidEMail($email)) {
$error++; $error++;
$errmsg .= $langs->trans("ErrorBadEMail",$email)."<br>\n"; $errmsg .= $langs->trans("ErrorBadEMail",$email)."<br>\n";
} }

View File

@ -49,7 +49,7 @@ $langs->load("deliveries");
llxHeader(); llxHeader();
print_titre($langs->trans("NewProp")); print_fiche_titre($langs->trans("NewProp"));
$html=new Form($db); $html=new Form($db);
@ -212,40 +212,49 @@ if ($_GET["action"] == 'create')
/* /*
* Combobox pour la fonction de copie * Combobox pour la fonction de copie
*/ */
print '<table>'; print '<table>';
print '<tr>'; if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE))
print '<td><input type="radio" name="createmode" value="copy"></td>';
print '<td>'.$langs->trans("CopyPropalFrom").' </td>';
print '<td>';
$liste_propal = array();
$liste_propal[0] = '';
$sql ="SELECT p.rowid as id, p.ref, s.nom";
$sql.=" FROM ".MAIN_DB_PREFIX."propal p, ".MAIN_DB_PREFIX."societe s";
$sql.=" WHERE s.rowid = p.fk_soc AND fk_statut <> 0 ORDER BY Id";
$resql = $db->query($sql);
if ($resql)
{ {
$num = $db->num_rows($resql); print '<tr><td colspan="3"><input type="hidden" name="createmode" value="empty"></td></tr>';
$i = 0;
while ($i < $num)
{
$row = $db->fetch_row($resql);
$propalRefAndSocName = $row[1]." - ".$row[2];
$liste_propal[$row[0]]=$propalRefAndSocName;
$i++;
}
$html->select_array("copie_propal",$liste_propal, 0);
} }
else else
{ {
dol_print_error($db); // For backward compatibility
print '<tr>';
print '<td><input type="radio" name="createmode" value="copy"></td>';
print '<td>'.$langs->trans("CopyPropalFrom").' </td>';
print '<td>';
$liste_propal = array();
$liste_propal[0] = '';
$sql ="SELECT p.rowid as id, p.ref, s.nom";
$sql.=" FROM ".MAIN_DB_PREFIX."propal p, ".MAIN_DB_PREFIX."societe s";
$sql.=" WHERE s.rowid = p.fk_soc AND fk_statut <> 0 ORDER BY Id";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$i = 0;
while ($i < $num)
{
$row = $db->fetch_row($resql);
$propalRefAndSocName = $row[1]." - ".$row[2];
$liste_propal[$row[0]]=$propalRefAndSocName;
$i++;
}
$html->select_array("copie_propal",$liste_propal, 0);
}
else
{
dol_print_error($db);
}
print '</td></tr>';
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE) print '<tr><td colspan="3">&nbsp;</td></tr>';
print '<tr><td valign="top"><input type="radio" name="createmode" value="empty" checked="true"></td>';
print '<td valign="top" colspan="2">'.$langs->trans("CreateEmptyPropal").'</td></tr>';
} }
print '</td></tr>';
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE) print '<tr><td colspan="3">&nbsp;</td></tr>';
print '<tr><td valign="top"><input type="radio" name="createmode" value="empty" checked="true"></td>';
print '<td valign="top" colspan="2">'.$langs->trans("CreateEmptyPropal").'</td></tr>';
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE) if ($conf->global->PRODUCT_SHOW_WHEN_CREATE)
{ {

View File

@ -145,7 +145,7 @@ class mailing_peche extends MailingTargets
{ {
//print 'xx'.strlen($buffer).empty($buffer)."<br>\n"; //print 'xx'.strlen($buffer).empty($buffer)."<br>\n";
$id=$cpt; $id=$cpt;
if (ValidEMail($email)) if (isValidEMail($email))
{ {
if ($old <> $email) if ($old <> $email)
{ {

View File

@ -71,7 +71,7 @@ Estimate=Devis :
EstimateShort=Devis EstimateShort=Devis
OtherPropals=Autres propositions OtherPropals=Autres propositions
CopyPropalFrom=Créer proposition/devis par recopie d'un proposition existante CopyPropalFrom=Créer proposition/devis par recopie d'un proposition existante
CreateEmptyPropal=Créer proposition/devis vierge ou depuis liste de produits prédéfinis CreateEmptyPropal=Créer proposition/devis vierge
DefaultProposalDurationValidity=Délai de validité par défaut (en jours) DefaultProposalDurationValidity=Délai de validité par défaut (en jours)
UseCustomerContactAsPropalRecipientIfExist=Utiliser adresse contact suivi client si défini plutot que adresse tiers comme destinataire des propositions UseCustomerContactAsPropalRecipientIfExist=Utiliser adresse contact suivi client si défini plutot que adresse tiers comme destinataire des propositions
ClonePropal=Cloner proposition commerciale ClonePropal=Cloner proposition commerciale

View File

@ -118,14 +118,15 @@ function dol_print_object_info($object)
/** /**
* \brief Return true if email syntax is ok * \brief Return true if email syntax is ok
* \param address email (Ex: "toto@titi.com", "John Do <johndo@titi.com>") * \param address email (Ex: "toto@titi.com", "John Do <johndo@titi.com>")
* \return boolean true if email ok, false if ko * \return boolean true if email syntax is OK, false if KO
*/ */
function ValidEmail($address) function isValidEmail($address)
{ {
if (eregi(".*<(.+)>", $address, $regs)) { if (eregi(".*<(.+)>", $address, $regs)) {
$address = $regs[1]; $address = $regs[1];
} }
if (eregi("^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|asso|aero|biz|com|coop|edu|gov|info|int|mil|name|net|org|pro)\$",$address)) // 3 letters domains extensions: biz|com|edu|gov|int|mil|net|org|pro
if (eregi("^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2,3}|asso|aero|coop|info|name)\$",$address))
{ {
return true; return true;
} }
@ -136,11 +137,11 @@ function ValidEmail($address)
} }
/** /**
* \brief Renvoi vrai si l'email a un nom de domaine qui r<EFBFBD>soud via dns * \brief Return true if email has a domain name that can't be resolved
* \param mail adresse email (Ex: "toto@titi.com", "John Do <johndo@titi.com>") * \param mail adresse email (Ex: "toto@titi.com", "John Do <johndo@titi.com>")
* \return boolean true si email valide, false sinon * \return boolean true if domain email is OK, false if KO
*/ */
function CheckMailDomain($mail) function isValidMailDomain($mail)
{ {
list($user, $domain) = split("@", $mail, 2); list($user, $domain) = split("@", $mail, 2);
if (checkdnsrr($domain, "MX")) if (checkdnsrr($domain, "MX"))
@ -153,6 +154,7 @@ function CheckMailDomain($mail)
} }
} }
/** /**
* \brief Return lines of an html table from an array * \brief Return lines of an html table from an array
* \remarks Used by array2table function only * \remarks Used by array2table function only

View File

@ -83,10 +83,10 @@ if ($_REQUEST["action"] == 'dopayment')
$ID=$_REQUEST["id"]; $ID=$_REQUEST["id"];
$mesg=''; $mesg='';
if (empty($PRICE)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount")); if (empty($PRICE)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount"));
elseif (empty($EMAIL)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("YourEMail")); elseif (empty($EMAIL)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("YourEMail"));
elseif (! ValidEMail($EMAIL)) $mesg=$langs->trans("ErrorBadEMail",$EMAIL); elseif (! isValidEMail($EMAIL)) $mesg=$langs->trans("ErrorBadEMail",$EMAIL);
elseif (empty($TAG)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentCode")); elseif (empty($TAG)) $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentCode"));
if (empty($mesg)) if (empty($mesg))
{ {

View File

@ -63,9 +63,11 @@ if ($_POST["getsuppliercode"])
$_POST["code_fournisseur"]="aa"; $_POST["code_fournisseur"]="aa";
} }
// Add new third party
if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"]) if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
&& ($_POST["action"] == 'add' || $_POST["action"] == 'update') && $user->rights->societe->creer) && ($_POST["action"] == 'add' || $_POST["action"] == 'update') && $user->rights->societe->creer)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
$error=0; $error=0;
if ($_REQUEST["private"] == 1) if ($_REQUEST["private"] == 1)
@ -88,7 +90,7 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
$soc->departement_id = $_POST["departement_id"]; $soc->departement_id = $_POST["departement_id"];
$soc->tel = $_POST["tel"]; $soc->tel = $_POST["tel"];
$soc->fax = $_POST["fax"]; $soc->fax = $_POST["fax"];
$soc->email = $_POST["email"]; $soc->email = trim($_POST["email"]);
$soc->url = $_POST["url"]; $soc->url = $_POST["url"];
$soc->siren = $_POST["idprof1"]; $soc->siren = $_POST["idprof1"];
$soc->siret = $_POST["idprof2"]; $soc->siret = $_POST["idprof2"];
@ -109,7 +111,7 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
$soc->effectif_id = $_POST["effectif_id"]; $soc->effectif_id = $_POST["effectif_id"];
if ($_REQUEST["private"] == 1) if ($_REQUEST["private"] == 1)
{ {
$soc->typent_id = 8; //todo prévoir autre méthode si le champs "particulier" change de rowid $soc->typent_id = 8; // TODO prévoir autre méthode si le champs "particulier" change de rowid
} }
else else
{ {
@ -121,12 +123,22 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
$soc->commercial_id = $_POST["commercial_id"]; $soc->commercial_id = $_POST["commercial_id"];
# A virer
print 'ttt'.$soc->email.isValidEMail($soc->email).$_POST["action"];
exit;
// Check parameters
if (! empty($soc->email) && ! isValidEMail($soc->email))
{
$error = 1;
$soc->error = $langs->trans("ErrorBadEMail",$soc->email);
$_GET["action"]= $_POST["action"]=='add'?'add':'edit';
}
if ($soc->fournisseur && ! $conf->fournisseur->enabled) if ($soc->fournisseur && ! $conf->fournisseur->enabled)
{ {
$error = 1; $error = 1;
$soc->error = $langs->trans("ErrorSupplierModuleNotEnabled"); $soc->error = $langs->trans("ErrorSupplierModuleNotEnabled");
$_GET["action"]= "create"; $_GET["action"]= $_POST["action"]=='add'?'add':'edit';
} }
if (! $error) if (! $error)

View File

@ -138,7 +138,7 @@ class Societe extends CommonObject
{ {
global $langs,$conf; global $langs,$conf;
// clean parameters // Clean parameters
$this->nom=trim($this->nom); $this->nom=trim($this->nom);
dol_syslog("Societe::create ".$this->nom); dol_syslog("Societe::create ".$this->nom);

View File

@ -133,13 +133,13 @@ if ($_POST["action"] == 'add')
$verif = "nok"; $verif = "nok";
} }
if (!ValidEmail(trim($contact->email)) && $verif == 'ok') if (! isValidEmail(trim($contact->email)) && $verif == 'ok')
{ {
$mesg = "Email invalide"; $mesg = "Email invalide";
$verif = "nok"; $verif = "nok";
} }
if (!CheckMailDomain(trim($contact->email)) && $verif == 'ok') if (! isValidMailDomain(trim($contact->email)) && $verif == 'ok')
{ {
$mesg = "Email invalide (domaine invalide)"; $mesg = "Email invalide (domaine invalide)";
$verif = "nok"; $verif = "nok";