forked from Wavyzz/dolibarr
New: An external module can force the third party code to be required whatever is the rule of third party code module.
This commit is contained in:
@@ -38,6 +38,8 @@ For translators:
|
|||||||
- Update some language files.
|
- Update some language files.
|
||||||
|
|
||||||
For developers:
|
For developers:
|
||||||
|
- An external module can force the third party code to be required whatever is the rule of
|
||||||
|
third party code module.
|
||||||
- Update fckeditor to 2.6.4.
|
- Update fckeditor to 2.6.4.
|
||||||
- Removed some deprecated files.
|
- Removed some deprecated files.
|
||||||
- Creation of directory in module descriptor is simpler.
|
- Creation of directory in module descriptor is simpler.
|
||||||
|
|||||||
@@ -197,12 +197,16 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Verifie la validite du code
|
* \brief Check validity of code according to its rules
|
||||||
* \param $db Handler acces base
|
* \param $db Database handler
|
||||||
* \param $code Code a verifier/corriger
|
* \param $code Code to check/correct
|
||||||
* \param $soc Objet societe
|
* \param $soc Object third party
|
||||||
* \param $type 0 = client/prospect , 1 = fournisseur
|
* \param $type 0 = customer/prospect , 1 = supplier
|
||||||
* \return int <0 if KO, 0 if OK
|
* \return int 0 if OK
|
||||||
|
* -1 ErrorBadCustomerCodeSyntax
|
||||||
|
* -2 ErrorCustomerCodeRequired
|
||||||
|
* -3 ErrorCustomerCodeAlreadyUsed
|
||||||
|
* -4 ErrorPrefixRequired
|
||||||
*/
|
*/
|
||||||
function verif($db, &$code, $soc, $type)
|
function verif($db, &$code, $soc, $type)
|
||||||
{
|
{
|
||||||
@@ -213,10 +217,14 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode
|
|||||||
$result=0;
|
$result=0;
|
||||||
$code = strtoupper(trim($code));
|
$code = strtoupper(trim($code));
|
||||||
|
|
||||||
if (! $code && $this->code_null)
|
if (empty($code) && $this->code_null && empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED))
|
||||||
{
|
{
|
||||||
$result=0;
|
$result=0;
|
||||||
}
|
}
|
||||||
|
else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) )
|
||||||
|
{
|
||||||
|
$result=-2;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Get Mask value
|
// Get Mask value
|
||||||
|
|||||||
@@ -29,17 +29,17 @@ require_once(DOL_DOCUMENT_ROOT."/includes/modules/societe/modules_societe.class.
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\class mod_codeclient_leopard
|
\class mod_codeclient_leopard
|
||||||
\brief Classe permettant la gestion leopard des codes tiers
|
\brief Classe permettant la gestion leopard des codes tiers
|
||||||
*/
|
*/
|
||||||
class mod_codeclient_leopard extends ModeleThirdPartyCode
|
class mod_codeclient_leopard extends ModeleThirdPartyCode
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Attention ce module est utilise par defaut si aucun module n'a
|
* Attention ce module est utilise par defaut si aucun module n'a
|
||||||
* ete definit dans la configuration
|
* ete definit dans la configuration
|
||||||
*
|
*
|
||||||
* Le fonctionnement de celui-ci doit dont rester le plus ouvert possible
|
* Le fonctionnement de celui-ci doit dont rester le plus ouvert possible
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var $nom; // Nom du modele
|
var $nom; // Nom du modele
|
||||||
var $code_modifiable; // Code modifiable
|
var $code_modifiable; // Code modifiable
|
||||||
@@ -51,7 +51,7 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/** \brief Constructeur classe
|
/** \brief Constructeur classe
|
||||||
*/
|
*/
|
||||||
function mod_codeclient_leopard()
|
function mod_codeclient_leopard()
|
||||||
{
|
{
|
||||||
$this->nom = "Leopard";
|
$this->nom = "Leopard";
|
||||||
@@ -65,9 +65,9 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoie la description du module
|
* \brief Renvoie la description du module
|
||||||
* \return string Texte descripif
|
* \return string Texte descripif
|
||||||
*/
|
*/
|
||||||
function info($langs)
|
function info($langs)
|
||||||
{
|
{
|
||||||
return $langs->trans("LeopardNumRefModelDesc");
|
return $langs->trans("LeopardNumRefModelDesc");
|
||||||
@@ -75,27 +75,45 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/** \brief Return next value available
|
/** \brief Return next value available
|
||||||
* \return string Value
|
* \return string Value
|
||||||
*/
|
*/
|
||||||
function getNextValue($objsoc=0,$type=-1)
|
function getNextValue($objsoc=0,$type=-1)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief check validity of code
|
* \brief Check validity of code according to its rules
|
||||||
* \param $db Handler acces base
|
* \param $db Database handler
|
||||||
* \param $code Code to check
|
* \param $code Code to check/correct
|
||||||
* \param $soc Objet societe
|
* \param $soc Object third party
|
||||||
*/
|
* \param $type 0 = customer/prospect , 1 = supplier
|
||||||
function verif($db, &$code, $soc)
|
* \return int 0 if OK
|
||||||
|
* -1 ErrorBadCustomerCodeSyntax
|
||||||
|
* -2 ErrorCustomerCodeRequired
|
||||||
|
* -3 ErrorCustomerCodeAlreadyUsed
|
||||||
|
* -4 ErrorPrefixRequired
|
||||||
|
*/
|
||||||
|
function verif($db, &$code, $soc, $type)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
$result=0;
|
||||||
$code = strtoupper(trim($code));
|
$code = strtoupper(trim($code));
|
||||||
|
|
||||||
// Renvoie toujours ok
|
if (empty($code) && $this->code_null && empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED))
|
||||||
return 0;
|
{
|
||||||
|
$result=0;
|
||||||
|
}
|
||||||
|
else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) )
|
||||||
|
{
|
||||||
|
$result=-2;
|
||||||
|
}
|
||||||
|
|
||||||
|
dol_syslog("mod_codeclient_leopard::verif type=".$type." result=".$result);
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ require_once(DOL_DOCUMENT_ROOT."/includes/modules/societe/modules_societe.class.
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\class mod_codeclient_monkey
|
\class mod_codeclient_monkey
|
||||||
\brief Classe permettant la gestion monkey des codes tiers
|
\brief Classe permettant la gestion monkey des codes tiers
|
||||||
*/
|
*/
|
||||||
class mod_codeclient_monkey extends ModeleThirdPartyCode
|
class mod_codeclient_monkey extends ModeleThirdPartyCode
|
||||||
{
|
{
|
||||||
var $nom; // Nom du modele
|
var $nom; // Nom du modele
|
||||||
@@ -46,7 +46,7 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
|
|||||||
var $prefixsupplier='SU';
|
var $prefixsupplier='SU';
|
||||||
|
|
||||||
/** \brief Constructeur classe
|
/** \brief Constructeur classe
|
||||||
*/
|
*/
|
||||||
function mod_codeclient_monkey()
|
function mod_codeclient_monkey()
|
||||||
{
|
{
|
||||||
$this->nom = "Monkey";
|
$this->nom = "Monkey";
|
||||||
@@ -60,8 +60,8 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/** \brief Renvoi la description du module
|
/** \brief Renvoi la description du module
|
||||||
* \return string Texte descripif
|
* \return string Texte descripif
|
||||||
*/
|
*/
|
||||||
function info($langs)
|
function info($langs)
|
||||||
{
|
{
|
||||||
return $langs->trans("MonkeyNumRefModelDesc",$this->prefixcustomer,$this->prefixsupplier);
|
return $langs->trans("MonkeyNumRefModelDesc",$this->prefixcustomer,$this->prefixsupplier);
|
||||||
@@ -69,8 +69,8 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/** \brief Renvoi la description du module
|
/** \brief Renvoi la description du module
|
||||||
* \return string Texte descripif
|
* \return string Texte descripif
|
||||||
*/
|
*/
|
||||||
function getExample($langs,$objsoc=0,$type=-1)
|
function getExample($langs,$objsoc=0,$type=-1)
|
||||||
{
|
{
|
||||||
return $this->prefixcustomer.'0901-0001<br>'.$this->prefixsupplier.'0901-0001';
|
return $this->prefixcustomer.'0901-0001<br>'.$this->prefixsupplier.'0901-0001';
|
||||||
@@ -105,51 +105,62 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
|
|||||||
if ($type == 0) $prefix=$this->prefixcustomer;
|
if ($type == 0) $prefix=$this->prefixcustomer;
|
||||||
if ($type == 1) $prefix=$this->prefixsupplier;
|
if ($type == 1) $prefix=$this->prefixsupplier;
|
||||||
|
|
||||||
// D'abord on r<>cup<75>re la valeur max (r<>ponse imm<6D>diate car champ ind<6E>x<EFBFBD>)
|
// D'abord on r<>cup<75>re la valeur max (r<>ponse imm<6D>diate car champ ind<6E>x<EFBFBD>)
|
||||||
$posindice=8;
|
$posindice=8;
|
||||||
$sql = "SELECT MAX(0+SUBSTRING(".$field.",".$posindice.")) as max";
|
$sql = "SELECT MAX(0+SUBSTRING(".$field.",".$posindice.")) as max";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
|
||||||
$sql.= " WHERE ".$field." LIKE '".$prefix."%'";
|
$sql.= " WHERE ".$field." LIKE '".$prefix."%'";
|
||||||
|
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
if ($obj) $max = $obj->max;
|
if ($obj) $max = $obj->max;
|
||||||
else $max=0;
|
else $max=0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("mod_codeclient_monkey::getNextValue sql=".$sql);
|
dol_syslog("mod_codeclient_monkey::getNextValue sql=".$sql);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//$date=time();
|
//$date=time();
|
||||||
$date=gmmktime();
|
$date=gmmktime();
|
||||||
$yymm = strftime("%y%m",$date);
|
$yymm = strftime("%y%m",$date);
|
||||||
$num = sprintf("%04s",$max+1);
|
$num = sprintf("%04s",$max+1);
|
||||||
|
|
||||||
dol_syslog("mod_codeclient_monkey::getNextValue return ".$prefix.$yymm."-".$num);
|
dol_syslog("mod_codeclient_monkey::getNextValue return ".$prefix.$yymm."-".$num);
|
||||||
return $prefix.$yymm."-".$num;
|
return $prefix.$yymm."-".$num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Verifie la validite du code
|
* \brief Check validity of code according to its rules
|
||||||
* \param $db Handler acces base
|
* \param $db Database handler
|
||||||
* \param $code Code a verifier/corriger
|
* \param $code Code to check/correct
|
||||||
* \param $soc Objet societe
|
* \param $soc Object third party
|
||||||
* \return int <0 si KO, 0 si OK
|
* \param $type 0 = customer/prospect , 1 = supplier
|
||||||
*/
|
* \return int 0 if OK
|
||||||
function verif($db, &$code, $soc)
|
* -1 ErrorBadCustomerCodeSyntax
|
||||||
|
* -2 ErrorCustomerCodeRequired
|
||||||
|
* -3 ErrorCustomerCodeAlreadyUsed
|
||||||
|
* -4 ErrorPrefixRequired
|
||||||
|
*/
|
||||||
|
function verif($db, &$code, $soc, $type)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$result=0;
|
$result=0;
|
||||||
$code = strtoupper(trim($code));
|
$code = strtoupper(trim($code));
|
||||||
|
|
||||||
if (! $code && $this->code_null)
|
if (empty($code) && $this->code_null && empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED))
|
||||||
{
|
{
|
||||||
$result=0;
|
$result=0;
|
||||||
}
|
}
|
||||||
|
else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) )
|
||||||
|
{
|
||||||
|
$result=-2;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($this->verif_syntax($code) >= 0)
|
if ($this->verif_syntax($code) >= 0)
|
||||||
@@ -176,18 +187,19 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dol_syslog("mod_codeclient_monkey::verif result=".$result);
|
|
||||||
|
dol_syslog("mod_codeclient_monkey::verif type=".$type." result=".$result);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoi si un code est pris ou non (par autre tiers)
|
* \brief Renvoi si un code est pris ou non (par autre tiers)
|
||||||
* \param $db Handler acces base
|
* \param $db Handler acces base
|
||||||
* \param $code Code a verifier
|
* \param $code Code a verifier
|
||||||
* \param $soc Objet societe
|
* \param $soc Objet societe
|
||||||
* \return int 0 si dispo, <0 si erreur
|
* \return int 0 si dispo, <0 si erreur
|
||||||
*/
|
*/
|
||||||
function verif_dispo($db, $code, $soc)
|
function verif_dispo($db, $code, $soc)
|
||||||
{
|
{
|
||||||
$sql = "SELECT code_client FROM ".MAIN_DB_PREFIX."societe";
|
$sql = "SELECT code_client FROM ".MAIN_DB_PREFIX."societe";
|
||||||
@@ -215,10 +227,10 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoi si un code respecte la syntaxe
|
* \brief Renvoi si un code respecte la syntaxe
|
||||||
* \param $code Code a verifier
|
* \param $code Code a verifier
|
||||||
* \return int 0 si OK, <0 si KO
|
* \return int 0 si OK, <0 si KO
|
||||||
*/
|
*/
|
||||||
function verif_syntax($code)
|
function verif_syntax($code)
|
||||||
{
|
{
|
||||||
$res = 0;
|
$res = 0;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||||
* Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net>
|
* Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.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
|
||||||
|
|||||||
@@ -147,10 +147,11 @@ class Societe extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
// For automatic creation during create action (not used by Dolibarr)
|
// For automatic creation during create action (not used by Dolibarr GUI, can be used by scripts)
|
||||||
if ($this->code_client == -1) $this->get_codeclient($this->prefix_comm,0);
|
if ($this->code_client == -1) $this->get_codeclient($this->prefix_comm,0);
|
||||||
if ($this->code_fournisseur == -1) $this->get_codefournisseur($this->prefix_comm,1);
|
if ($this->code_fournisseur == -1) $this->get_codefournisseur($this->prefix_comm,1);
|
||||||
|
|
||||||
|
// Check more parameters
|
||||||
$result = $this->verify();
|
$result = $this->verify();
|
||||||
|
|
||||||
if ($result >= 0)
|
if ($result >= 0)
|
||||||
@@ -229,7 +230,7 @@ class Societe extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Check properties of third party are ok
|
* \brief Check properties of third party are ok (like name, third party codes, ...)
|
||||||
* \return int 0 if OK, <0 if KO
|
* \return int 0 if OK, <0 if KO
|
||||||
*/
|
*/
|
||||||
function verify()
|
function verify()
|
||||||
@@ -1553,8 +1554,12 @@ class Societe extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Verifie code client
|
* \brief Check customer code
|
||||||
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilise
|
* \return int 0 if OK
|
||||||
|
* -1 ErrorBadCustomerCodeSyntax
|
||||||
|
* -2 ErrorCustomerCodeRequired
|
||||||
|
* -3 ErrorCustomerCodeAlreadyUsed
|
||||||
|
* -4 ErrorPrefixRequired
|
||||||
*/
|
*/
|
||||||
function check_codeclient()
|
function check_codeclient()
|
||||||
{
|
{
|
||||||
@@ -1578,8 +1583,12 @@ class Societe extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Verifie code fournisseur
|
* \brief Check supplier code
|
||||||
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilise
|
* \return int 0 if OK
|
||||||
|
* -1 ErrorBadCustomerCodeSyntax
|
||||||
|
* -2 ErrorCustomerCodeRequired
|
||||||
|
* -3 ErrorCustomerCodeAlreadyUsed
|
||||||
|
* -4 ErrorPrefixRequired
|
||||||
*/
|
*/
|
||||||
function check_codefournisseur()
|
function check_codefournisseur()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user