2
0
forked from Wavyzz/dolibarr

Debug option MAIN_AUTOFILL_TOWNFROMZIP

This commit is contained in:
Laurent Destailleur
2009-08-04 12:47:09 +00:00
parent b729b14624
commit 2aa5173f29
5 changed files with 120 additions and 112 deletions

View File

@@ -230,14 +230,12 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
print '<tr><td>'.$langs->trans('DeliveryAddressLabel').'</td><td><input type="text" size="30" name="label" value="'.$livraison->label.'"></td></tr>'; print '<tr><td>'.$langs->trans('DeliveryAddressLabel').'</td><td><input type="text" size="30" name="label" value="'.$livraison->label.'"></td></tr>';
print '<tr><td>'.$langs->trans('Name').'</td><td><input type="text" size="30" name="nom" value="'.$livraison->nom.'"></td></tr>'; print '<tr><td>'.$langs->trans('Name').'</td><td><input type="text" size="30" name="nom" value="'.$livraison->nom.'"></td></tr>';
print '<tr><td>'.$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="adresse" cols="40" rows="3" wrap="soft">';
print $livraison->adresse; print $livraison->adresse;
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="'.$livraison->cp.'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' onChange="autofilltownfromzip_PopupPostalCode(cp.value,ville)"'; 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(cp.value,ville,pays_id,departement_id)">';
print '>';
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(cp.value,ville)">';
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="'.$livraison->ville.'"></td></tr>';
@@ -340,10 +338,8 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
print $livraison->adresse; print $livraison->adresse;
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="'.$livraison->cp.'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' onChange="autofilltownfromzip_PopupPostalCode(cp.value,ville)"'; 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(cp.value,ville,pays_id,departement_id)">';
print '>';
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(cp.value,ville)">';
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="'.$livraison->ville.'"></td></tr>';

View File

@@ -25,14 +25,17 @@ function barcode_coder_save(formNameID)
/*================================================================= /*=================================================================
Purpose: Pour la fonction de saisie auto des villes Purpose: Pour la fonction de saisie auto des villes
Input: postalcode,objectville Input: postalcode,objecttown,objectcountry,objectstate
Author: Eric Seigne Author: Eric Seigne
Licence: GPL Licence: GPL
==================================================================*/ ==================================================================*/
function autofilltownfromzip_PopupPostalCode(postalcode,objectville) function autofilltownfromzip_PopupPostalCode(postalcode,objecttown,objectcountry,objectstate)
{ {
var url = 'searchpostalcode.php?cp=' + postalcode + '&targetobject=window.opener.document.formsoc.' + objectville.name; var url = 'searchpostalcode.php?cp=' + postalcode;
url = url + '&targettown=window.opener.document.formsoc.' + objecttown.name;
url = url + '&targetcountry=window.opener.document.formsoc.' + objectcountry.name;
url = url + '&targetstate=window.opener.document.formsoc.' + objectstate.name;
// alert(url); // alert(url);
var hWnd = window.open(url, "SearchPostalCodeWindow", "width=" + 300 + ",height=" + 150 + ",resizable=yes,scrollbars=yes"); var hWnd = window.open(url, "SearchPostalCodeWindow", "width=" + 300 + ",height=" + 150 + ",resizable=yes,scrollbars=yes");
if((document.window != null) && (!hWnd.opener)) hWnd.opener = document.window; if((document.window != null) && (!hWnd.opener)) hWnd.opener = document.window;

View File

@@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com> /* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* 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
@@ -26,20 +26,17 @@
* *
* Description: * Description:
* ------------ * ------------
* @version $Id$
* @revision $Id$
* @author Eric Seigne * @author Eric Seigne
* @project
* @copyright Eric Seigne 13/06/2005 * @copyright Eric Seigne 13/06/2005
* *
* ************************************************************************* */ * ************************************************************************* */
/** /**
\file htdocs/searchpostalcode.php * \file htdocs/searchpostalcode.php
\ingroup societe * \ingroup societe
\brief Recherche de la ville correspondant au code postal saisi. 1er tour on cherche dans la table societe, si on a deux clients dans la meme ville c'est direct. Si jamais la recherche ne donne rien alors on lance la recherche dans la table des codes postaux. * \brief Recherche de la ville correspondant au code postal saisi. 1er tour on cherche dans la table societe, si on a deux clients dans la meme ville c'est direct. Si jamais la recherche ne donne rien alors on lance la recherche dans la table des codes postaux.
\version $Revision$ * \version $Id$
*/ */
require("pre.inc.php"); require("pre.inc.php");
$langs->load("companies"); $langs->load("companies");
@@ -49,19 +46,28 @@ function run_request($table)
{ {
global $db; global $db;
$cp=isset($_GET["cp"])?trim($_GET["cp"]):''; $cp=isset($_GET["cp"])?trim($_GET["cp"]):'';
$cp=eregi_replace('\*','%',$cp);
$sql = "SELECT DISTINCT ville, cp"; $sql = "SELECT DISTINCT cp, ville, fk_departement, fk_pays, p.code as pays_code, p.libelle as pays_lib";
$sql.= " FROM ".MAIN_DB_PREFIX.$table; $sql.= " FROM ".MAIN_DB_PREFIX.$table;
$sql.= " WHERE cp ".($cp?"LIKE":"=")." '".addslashes($cp)."'"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX.'c_pays as p ON fk_pays = p.rowid';
$sql.= " ORDER by ville"; $sql.= " WHERE";
if ($cp)
{
$cp=eregi_replace('\*','%',$cp);
$sql.= " cp LIKE '".addslashes($cp)."' AND";
$sql.= " (ville IS NOT NULL OR fk_departement IS NOT NULL OR fk_pays IS NOT NULL)";
}
else $sql.= " cp != '' AND cp IS NOT NULL";
$sql.= " ORDER by fk_pays, ville, cp";
$sql.= ' '.$db->plimit(50); // Avoid pb with bad criteria
$result=$db->query($sql); //print $sql.'<br>';
$result=$db->query($sql);
if (!$result) if (!$result)
{ {
dol_print_error($db); dol_print_error($db);
} }
//print $sql.'<br>'; return $result;
} }
@@ -74,99 +80,106 @@ if ($user->societe_id > 0)
} }
/*
* View
*/
top_htmlhead("", $langs->trans("SearchTown")); $javascript="
print "<body>";
print "
<script language=\"JavaScript\" type=\"text/javascript\"> <script language=\"JavaScript\" type=\"text/javascript\">
<!-- <!--
function MAJ(target) function MAJ(targettown,targetcountry,targetstate)
{ {
var e2 = \"\"; for (var i = 0; i < document.searchform.elements.length; i++)
for (var i = 0; i < document.villes.elements.length && e2 == \"\"; i++)
{ {
var e = document.villes.elements[i]; var e = document.searchform.elements[i];
if (e.checked){ if (e.checked)
e2 = e.value; {
target.value = unescape(e2); newtown = e.value;
targettown.value = unescape(newtown);
break;
} }
} }
window.close(); window.close();
} }
function change_categorie(urlbase,leselect)
{
if (leselect.options[leselect.selectedIndex].value!=\"dummy\")
eval(\"location='\"+urlbase+\"?c=\"+leselect.options[leselect.selectedIndex].value+\"&objet=$objet'\");
}
//--> //-->
</script>\n"; </script>\n";
top_htmlhead("", $langs->trans("SearchTown"));
print "<div><div><br>"; // Ouvre 3 div a la place de top_menu car le llxFooter en ferme 3 // Same as llxHeader. Open what llxFooter close
print '<body>';
print $javascript;
print "<form method=\"post\" action=\"javascript:MAJ(" . $_GET['targetobject'] . ");\" name=\"villes\" enctype=\"application/x-www-form-urlencoded\">"; print '<table summary="" width="100%"><tr><td>';
print "<div><br>"; // Ouvre div a la place de top_menu car le llxFooter en ferme un
print "<form method=\"post\" action=\"javascript:MAJ(".$_GET['targettown'].",".$_GET['targetcountry'].",".$_GET['targetstate'].");\" name=\"searchform\" enctype=\"application/x-www-form-urlencoded\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<table class=\"noborder\" align=\"center\" width=\"90%\">"; print "<table summary=\"listoftowns\" class=\"nobordernopadding\" align=\"center\" width=\"90%\">";
print "<tr class=\"liste_titre\">"; print "<tr class=\"liste_titre\">";
print " <td colspan=\"3\" align=\"center\">"; print " <td colspan=\"3\" align=\"center\">";
print " <b>Recherche code postal: " . $_GET['cp'] . " </b>"; print " <b>Recherche code postal: " . $_GET['cp'] . " </b>";
print " </td>"; print " </td>";
print "</tr>\n"; print "</tr>\n";
$num=0;
$result = run_request("societe"); $result = run_request("societe");
if ($result)
$num=$db->num_rows($result);
if($num == 0)
{ {
$result = run_request("postalcode");
$num=$db->num_rows($result); $num=$db->num_rows($result);
//print 'sql='.$sql.' num='.$num; exit;
if($num == 0)
{
$result = run_request("postalcode");
$num=$db->num_rows($result);
}
// Si on n'a pas ou un seul resultat on switche direct et on remplit le formulaire
if($num <= 1)
{
$obj = $db->fetch_object($result);
$ville = $obj->ville;
$ville_code = urlencode("$ville");
print "<tr ".$bc[$var]."><td width=\"10%\">";
print '<input type="radio" name="town" value="'.$ville.'" checked>';
print "<script language=\"javascript\" type=\"text/javascript\">document.searchform.submit();</script>\n";
print "</td></tr>";
}
else
{
// Sinon on affiche la liste des villes dont c'est le code postal ...
for ($i = 0; $i < $num; $i++)
{
$obj = $db->fetch_object($result);
$cp = $obj->cp;
$ville = $obj->ville;
$dep = $obj->fk_departement;
$dep_lib = $obj->fk_departement;
$country_code = $obj->pays_code;
$temp=$obj->pays_code?$langs->transcountry("Country",$obj->pays_code):'';
if ($temp == 'Country') $temp=$obj->pays_lib;
$country_lib = $temp;
$var=!$var;
print "<tr ".$bc[$var].">";
print '<td>'.$country_lib.'</td>';
print "<td width=\"80\" nowrap=\"nowrap\">";
print '<input type="radio" name="town" value="'.$ville.'">'.$cp.'</td>';
print '<td>'.$ville.'</td>';
print "</tr>";
}
}
} }
// Si on n'a qu'un seul resultat on switche direct et on remplit le formulaire
if($num <= 1)
{
$obj = $db->fetch_object($result);
$ville = $obj->ville;
$ville_code = urlencode("$ville");
print "<tr ".$bc[$var]."><td width=\"10%\">";
print "<input type=\"radio\" name=\"choix\" value=\"$ville\" checked>";
print "<script language=\"javascript\" type=\"text/javascript\">document.villes.submit();</script>\n";
print "</td></tr>";
}
else
{
// Sinon on affiche la liste des villes dont c'est le code postal ...
for ($i = 0; $i < $num; $i++)
{
$obj = $db->fetch_object($result);
$ville = $obj->ville;
$ville_code = urlencode("$ville");
if ($obj->cp)
$cp = "(" . $obj->cp . ")";
else
$cp = "";
if($bgcolor=="#DDDDFF")
$bgcolor="#EEEEFF";
else
$bgcolor="#DDDDFF";
$var=!$var;
print "<tr ".$bc[$var]."><td width=\"10%\">";
print '<input type="radio" name="choix" value="'.$ville.'"> '.$ville.' '.$cp;
print "</td></tr>";
}
}
$var=!$var; $var=!$var;
print "<tr><td align=\"center\" colspan=\"3\">"; print "<tr><td align=\"center\" colspan=\"3\">";
print "<input type=\"hidden\" name=\"nb_i\" value=\"$i\">"; print "<br><input type=\"hidden\" name=\"nb_i\" value=\"$i\">";
print "<input type=\"submit\" class=\"button\" name=\"envoyer\" value=\"".$langs->trans("Modify")."\">"; print "<input type=\"submit\" class=\"button\" name=\"envoyer\" value=\"".$langs->trans("Select")."\">";
print " &nbsp; "; print " &nbsp; ";
print "<input type=\"button\" class=\"button\" value=\"".$langs->trans("Cancel")."\" onClick=\"window.close();\">"; print "<input type=\"button\" class=\"button\" value=\"".$langs->trans("Cancel")."\" onClick=\"window.close();\">";
print "</td></tr>"; print "</td></tr>";

View File

@@ -461,14 +461,12 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
print '</textarea></td></tr>'; print '</textarea></td></tr>';
} }
print '<tr><td>'.$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="adresse" cols="40" rows="3" wrap="soft">';
print $soc->adresse; print $soc->adresse;
print '</textarea></td></tr>'; print '</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$soc->cp.'"'; print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$soc->cp.'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' onChange="autofilltownfromzip_PopupPostalCode(cp.value,ville)"'; 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(cp.value,ville,pays_id,departement_id)">';
print '>';
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(cp.value,ville)">';
print '</td>'; print '</td>';
print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>'; print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>';
@@ -820,10 +818,8 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
print $soc->adresse; print $soc->adresse;
print '</textarea></td></tr>'; print '</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$soc->cp.'"'; print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$soc->cp.'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' onChange="autofilltownfromzip_PopupPostalCode(cp.value,ville)"'; 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(cp.value,ville,pays_id,departement_id)">';
print '>';
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(cp.value,ville)">';
print '</td>'; print '</td>';
print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>'; print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>';

View File

@@ -444,10 +444,10 @@ class Translate {
/** /**
* \brief Retourne la version traduite du texte passe en parametre complete du code pays * \brief Return translation of a key depending on country
* \param str chaine a traduire * \param str string root to translate
* \param countrycode code pays (FR, ...) * \param countrycode country code (FR, ...)
* \return string chaine traduite * \return string translated string
*/ */
function transcountry($str, $countrycode) function transcountry($str, $countrycode)
{ {
@@ -458,9 +458,9 @@ class Translate {
/** /**
* \brief Retourne la version traduite du texte passe en parametre complete du code pays * \brief Retourne la version traduite du texte passe en parametre complete du code pays
* \param str chaine a traduire * \param str string root to translate
* \param countrycode code pays (FR, ...) * \param countrycode country code (FR, ...)
* \return string chaine traduite * \return string translated string
*/ */
function transcountrynoentities($str, $countrycode) function transcountrynoentities($str, $countrycode)
{ {