Works on paypal module

Fix: replace ref_ext by ref_int
This commit is contained in:
Regis Houssin
2011-05-24 09:50:51 +00:00
parent 8231a6276b
commit e77298321a
12 changed files with 54 additions and 52 deletions

View File

@@ -54,6 +54,7 @@ class Commande extends CommonObject
var $ref;
var $ref_client;
var $ref_ext;
var $ref_int;
var $contactid;
var $fk_project;
var $statut; // -1=Canceled, 0=Draft, 1=Validated, (2=Accepted/On process not managed for customer orders), 3=Closed (Sent/Received, billed or not)

View File

@@ -540,7 +540,7 @@ if ($action == 'add' && $user->rights->facture->creer)
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_ext = $_POST['ref_ext'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = $_POST['cond_reglement_id'];
@@ -586,7 +586,7 @@ if ($action == 'add' && $user->rights->facture->creer)
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_ext = $_POST['ref_ext'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = 0;
@@ -634,7 +634,7 @@ if ($action == 'add' && $user->rights->facture->creer)
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_ext = $_POST['ref_ext'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
// Source facture
@@ -664,7 +664,7 @@ if ($action == 'add' && $user->rights->facture->creer)
$object->note_public = trim($_POST['note_public']);
$object->note = trim($_POST['note']);
$object->ref_client = $_POST['ref_client'];
$object->ref_ext = $_POST['ref_ext'];
$object->ref_int = $_POST['ref_int'];
$object->modelpdf = $_POST['model'];
$object->fk_project = $_POST['projectid'];
$object->cond_reglement_id = ($_POST['type'] == 3?1:$_POST['cond_reglement_id']);
@@ -1442,7 +1442,7 @@ if ($action == 'create')
$projectid = (!empty($objectsrc->fk_project)?$object->fk_project:'');
$ref_client = (!empty($objectsrc->ref_client)?$object->ref_client:'');
$ref_ext = (!empty($objectsrc->ref_ext)?$object->ref_ext:'');
$ref_int = (!empty($objectsrc->ref_int)?$object->ref_int:'');
$soc = $objectsrc->client;
$cond_reglement_id = (!empty($objectsrc->cond_reglement_id)?$objectsrc->cond_reglement_id:(!empty($soc->cond_reglement_id)?$soc->cond_reglement_id:1));
@@ -1475,7 +1475,7 @@ if ($action == 'create')
print '<input type="hidden" name="socid" value="'.$soc->id.'">' ."\n";
print '<input name="facnumber" type="hidden" value="provisoire">';
print '<input name="ref_client" type="hidden" value="'.$ref_client.'">';
print '<input name="ref_ext" type="hidden" value="'.$ref_ext.'">';
print '<input name="ref_int" type="hidden" value="'.$ref_int.'">';
print '<input type="hidden" name="origin" value="'.GETPOST('origin').'">';
print '<input type="hidden" name="originid" value="'.GETPOST('originid').'">';

View File

@@ -67,6 +67,7 @@ class Facture extends CommonObject
var $ref;
var $ref_client;
var $ref_ext;
var $ref_int;
//! 0=Standard invoice, 1=Replacement invoice, 2=Credit note invoice, 3=Deposit invoice, 4=Proforma invoice
var $type;
var $amount;
@@ -221,7 +222,7 @@ class Facture extends CommonObject
$sql.= ", datef";
$sql.= ", note";
$sql.= ", note_public";
$sql.= ", ref_client, ref_ext";
$sql.= ", ref_client, ref_int";
$sql.= ", fk_facture_source, fk_user_author, fk_projet";
$sql.= ", fk_cond_reglement, fk_mode_reglement, date_lim_reglement, model_pdf";
$sql.= ")";
@@ -238,7 +239,7 @@ class Facture extends CommonObject
$sql.= ",".($this->note?"'".$this->db->escape($this->note)."'":"null");
$sql.= ",".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null");
$sql.= ",".($this->ref_client?"'".$this->db->escape($this->ref_client)."'":"null");
$sql.= ",".($this->ref_ext?"'".$this->db->escape($this->ref_ext)."'":"null");
$sql.= ",".($this->ref_int?"'".$this->db->escape($this->ref_int)."'":"null");
$sql.= ",".($this->fk_facture_source?"'".$this->db->escape($this->fk_facture_source)."'":"null");
$sql.= ",".($user->id > 0 ? "'".$user->id."'":"null");
$sql.= ",".($this->fk_project?$this->fk_project:"null");
@@ -646,13 +647,13 @@ class Facture extends CommonObject
* @param ref External reference of invoice
* @return int >0 if OK, <0 if KO
*/
function fetch($rowid, $ref='', $ref_ext='')
function fetch($rowid, $ref='', $ref_ext='', $ref_int='')
{
global $conf;
if (empty($rowid) && empty($ref) && empty($ref_ext)) return -1;
if (empty($rowid) && empty($ref) && empty($ref_ext) && empty($ref_int)) return -1;
$sql = 'SELECT f.rowid,f.facnumber,f.ref_client,f.type,f.fk_soc,f.amount,f.tva, f.localtax1, f.localtax2, f.total,f.total_ttc,f.remise_percent,f.remise_absolue,f.remise';
$sql = 'SELECT f.rowid,f.facnumber,f.ref_client,f.ref_ext,f.ref_int,f.type,f.fk_soc,f.amount,f.tva, f.localtax1, f.localtax2, f.total,f.total_ttc,f.remise_percent,f.remise_absolue,f.remise';
$sql.= ', f.datef as df';
$sql.= ', f.date_lim_reglement as dlr';
$sql.= ', f.datec as datec';
@@ -672,6 +673,7 @@ class Facture extends CommonObject
if ($rowid) $sql.= " AND f.rowid=".$rowid;
if ($ref) $sql.= " AND f.facnumber='".$this->db->escape($ref)."'";
if ($ref_ext) $sql.= " AND f.ref_ext='".$this->db->escape($ref_ext)."'";
if ($ref_int) $sql.= " AND f.ref_int='".$this->db->escape($ref_int)."'";
dol_syslog("Facture::Fetch sql=".$sql, LOG_DEBUG);
$result = $this->db->query($sql);
@@ -685,6 +687,7 @@ class Facture extends CommonObject
$this->ref = $obj->facnumber;
$this->ref_client = $obj->ref_client;
$this->ref_ext = $obj->ref_ext;
$this->ref_int = $obj->ref_int;
$this->type = $obj->type;
$this->date = $this->db->jdate($obj->df);
$this->date_creation = $this->db->jdate($obj->datec);

View File

@@ -548,44 +548,20 @@ class CommonObject
}
/**
* Load object from import key
* Load object from specific field
* @param table Table element or element line
* @param field Field selected
* @param key Import key
* @return int <0 if KO, >0 if OK
*/
function fetchObjectFromImportKey($table,$key)
function fetchObjectFrom($table,$field,$key)
{
global $conf;
$result=false;
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$table;
$sql.= " WHERE import_key = '".$key."'";
$sql.= " AND entity = ".$conf->entity;
$resql = $this->db->query($sql);
if ($resql)
{
$row = $this->db->fetch_row($resql);
$result = $this->fetch($row[0]);
}
return $result;
}
/**
* Load object from external reference
* @param table Table element or element line
* @param ref External reference
* @return int <0 if KO, >0 if OK
*/
function fetchObjectFromRefExt($table,$ref)
{
global $conf;
$result=false;
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$table;
$sql.= " WHERE ref_ext = '".$ref."'";
$sql.= " WHERE ".$field." = '".$key."'";
$sql.= " AND entity = ".$conf->entity;
$resql = $this->db->query($sql);
if ($resql)

View File

@@ -114,6 +114,10 @@ ALTER TABLE llx_usergroup_user ADD UNIQUE INDEX uk_usergroup_entity (entity,fk_u
ALTER TABLE llx_usergroup_user ADD CONSTRAINT fk_usergroup_user_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
ALTER TABLE llx_usergroup_user ADD CONSTRAINT fk_usergroup_user_fk_usergroup FOREIGN KEY (fk_usergroup) REFERENCES llx_usergroup (rowid);
ALTER TABLE llx_commande ADD COLUMN ref_int varchar(30) AFTER ref_ext;
ALTER TABLE llx_facture ADD COLUMN ref_int varchar(30) AFTER ref_ext;
ALTER TABLE llx_societe ADD COLUMN ref_int varchar(60) AFTER ref_ext;
--Add Chile data (id pays=67)
-- Regions Chile
INSERT INTO llx_c_regions (rowid, code_region, fk_pays, cheflieu, tncc, nom, active) VALUES (6701, 6701, 67, NULL, NULL, 'Tarapacá', 1);

View File

@@ -31,6 +31,7 @@ create table llx_commande
entity integer DEFAULT 1 NOT NULL, -- multi company id
ref_ext varchar(30), -- reference into an external system (not used by dolibarr)
ref_int varchar(30), -- reference into an internal system (used by dolibarr)
ref_client varchar(30), -- reference for customer
date_creation datetime, -- date de creation

View File

@@ -30,6 +30,7 @@ create table llx_facture
entity integer DEFAULT 1 NOT NULL, -- multi company id
ref_ext varchar(30), -- reference into an external system (not used by dolibarr)
ref_int varchar(30), -- reference into an internal system (used by dolibarr)
ref_client varchar(30), -- reference for customer
type smallint DEFAULT 0 NOT NULL, -- type of invoice

View File

@@ -35,7 +35,8 @@ create table llx_societe
nom varchar(60), -- company reference name
entity integer DEFAULT 1 NOT NULL, -- multi company id
ref_ext varchar(60), -- reference into an external system (not used by dolibarr)
ref_ext varchar(60), -- reference into an external system (not used by dolibarr)
ref_int varchar(60), -- reference into an internal system (used by dolibarr)
code_client varchar(15), -- code client
code_fournisseur varchar(15), -- code founisseur

View File

@@ -68,7 +68,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$return_arr = array();
// Create customer if not exists
$ret = $soc->fetchObjectFromRefExt($soc->table_element,$_SESSION[$_GET['transaction_id']]['PAYERID']);
$ret = $soc->fetchObjectFrom($soc->table_element,'ref_int',$_SESSION[$_GET['transaction_id']]['PAYERID']);
if ($ret < 0)
{
// Load object modCodeTiers
@@ -82,7 +82,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$modCodeClient = new $module;
// Create customer and return rowid
$soc->ref_ext = $_SESSION[$_GET['transaction_id']]['PAYERID'];
$soc->ref_int = $_SESSION[$_GET['transaction_id']]['PAYERID'];
$soc->name = empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?trim($_SESSION[$_GET['transaction_id']]['FIRSTNAME'].' '.$_SESSION[$_GET['transaction_id']]['LASTNAME']):trim($_SESSION[$_GET['transaction_id']]['LASTNAME'].' '.$_SESSION[$_GET['transaction_id']]['FIRSTNAME']);
$soc->nom_particulier = $_SESSION[$_GET['transaction_id']]['LASTNAME'];
$soc->prenom = $_SESSION[$_GET['transaction_id']]['FIRSTNAME'];
@@ -159,7 +159,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$object->fetch_thirdparty();
$object->date = dol_now();
$object->ref_ext = $_SESSION[$_GET['transaction_id']]['TRANSACTIONID'];
$object->ref_int = $_SESSION[$_GET['transaction_id']]['TRANSACTIONID'];
$shipamount = ($_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']?$_SESSION[$_GET['transaction_id']]['SHIPPINGAMT']:$_SESSION[$_GET['transaction_id']]['SHIPAMOUNT']);
$object_id = $object->create($user);
@@ -238,6 +238,18 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
$return_arr['error'].= $langs->trans('ErrorUndefinedProductForShippingCost').'<br />';
}
}
// Add contact customer
if ($contact->id > 0)
{
$result=$object->add_contact($contact->id,'CUSTOMER','external');
if ($result < 0)
{
$error++;
$langs->load("errors");
$return_arr['error'].= $langs->trans('ErrorToAddContactCustomer').'<br />';
}
}
}
else
{
@@ -279,7 +291,7 @@ if (isset($_GET['action']) && ! empty($_GET['action']) && isset($_GET['transacti
if (! empty($objects)) $return_arr['element_created'] = true;
$soc = new Societe($db);
$ret = $soc->fetchObjectFromRefExt($soc->table_element, $_SESSION[$_GET['transaction_id']]['PAYERID']);
$ret = $soc->fetchObjectFrom($soc->table_element, 'ref_int', $_SESSION[$_GET['transaction_id']]['PAYERID']);
$var=true;

View File

@@ -173,7 +173,7 @@ function getLinkedObjects($transactionID)
$classname = ucfirst($subelement);
$object = new $classname($db);
$res = $object->fetchObjectFromRefExt($object->table_element, $transactionID);
$res = $object->fetchObjectFrom($object->table_element, 'ref_int', $transactionID);
if ($res > 0) $objectArray[$element] = $object;
}

View File

@@ -174,7 +174,7 @@ if (empty($conf->global->PAYPAL_API_USER) || empty($conf->global->PAYPAL_API_PAS
} else {
$.jnotify("<?php echo $langs->trans('PleaseBePatient'); ?>", 500);
$( "div #paypal-details" ).dialog( "close" );
location.href=value;
//location.href=value;
}
});
});

View File

@@ -129,7 +129,7 @@ class Societe extends CommonObject
var $canvas;
var $ref_ext;
var $ref_int;
var $import_key;
var $logo;
@@ -202,12 +202,12 @@ class Societe extends CommonObject
if ($result >= 0)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, datea, fk_user_creat, canvas, status, ref_ext)";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, datea, fk_user_creat, canvas, status, ref_int)";
$sql.= " VALUES ('".$this->db->escape($this->name)."', ".$conf->entity.", '".$this->db->idate($now)."', '".$this->db->idate($now)."'";
$sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null");
$sql.= ", ".($this->canvas ? "'".$this->canvas."'":"null");
$sql.= ", ".$this->status;
$sql.= ", ".($this->ref_ext ? "'".$this->ref_ext."'":"null");
$sql.= ", ".($this->ref_int ? "'".$this->ref_int."'":"null");
$sql.= ")";
dol_syslog("Societe::create sql=".$sql);
@@ -557,20 +557,21 @@ class Societe extends CommonObject
* @param rowid Id of third party to load
* @param ref Reference of third party, name (Warning, this can return several records)
* @param ref_ext External reference of third party (Warning, this information is a free field not provided by Dolibarr)
* @param ref_int Internal reference of third party
* @param idprof1 Prof id 1 of third party (Warning, this can return several records)
* @param idprof2 Prof id 2 of third party (Warning, this can return several records)
* @param idprof3 Prof id 3 of third party (Warning, this can return several records)
* @param idprof4 Prof id 4 of third party (Warning, this can return several records)
* @return int >0 if OK, <0 if KO or if two records found for same ref or idprof.
*/
function fetch($rowid, $ref='', $ref_ext='', $idprof1='',$idprof2='',$idprof3='',$idprof4='')
function fetch($rowid, $ref='', $ref_ext='', $ref_int='', $idprof1='',$idprof2='',$idprof3='',$idprof4='')
{
global $langs;
global $conf;
if (empty($rowid) && empty($ref) && empty($ref_ext)) return -1;
if (empty($rowid) && empty($ref) && empty($ref_ext) && empty($ref_int)) return -1;
$sql = 'SELECT s.rowid, s.nom as name, s.entity, s.ref_ext, s.address, s.datec as datec, s.prefix_comm';
$sql = 'SELECT s.rowid, s.nom as name, s.entity, s.ref_ext, s.ref_int, s.address, s.datec as datec, s.prefix_comm';
$sql .= ', s.price_level';
$sql .= ', s.tms as date_update';
$sql .= ', s.tel, s.fax, s.email, s.url, s.cp as zip, s.ville as town, s.note, s.client, s.fournisseur';
@@ -600,6 +601,7 @@ class Societe extends CommonObject
if ($rowid) $sql .= ' WHERE s.rowid = '.$rowid;
if ($ref) $sql .= " WHERE s.nom = '".$this->db->escape($ref)."' AND s.entity = ".$conf->entity;
if ($ref_ext) $sql .= " WHERE s.ref_ext = '".$this->db->escape($ref_ext)."' AND s.entity = ".$conf->entity;
if ($ref_int) $sql .= " WHERE s.ref_int = '".$this->db->escape($ref_int)."' AND s.entity = ".$conf->entity;
if ($idprof1) $sql .= " WHERE s.siren = '".$this->db->escape($siren)."' AND s.entity = ".$conf->entity;
if ($idprof2) $sql .= " WHERE s.siret = '".$this->db->escape($siret)."' AND s.entity = ".$conf->entity;
if ($idprof3) $sql .= " WHERE s.ape = '".$this->db->escape($ape)."' AND s.entity = ".$conf->entity;
@@ -627,6 +629,7 @@ class Societe extends CommonObject
$this->name = $obj->name;
$this->nom = $obj->name; // TODO obsolete
$this->ref_ext = $obj->ref_ext;
$this->ref_int = $obj->ref_int;
$this->datec = $this->db->jdate($obj->datec);
$this->date_update = $this->db->jdate($obj->date_update);