Hello,
Suite à mon message d'hier, je vous propose la modification suivante de
contrat.class.php :
/**
* \brief Constructeur de la classe
* \param DB handler accès base de données
*/
function Contrat($DB)
{
global $langs;
$this->db = $DB ;
$this->product = new Product($DB);
$this->societe = new Societe($DB);
$this->user_service = new User($DB);
$this->user_cloture = new User($DB);
// Statut 0=ouvert, 1=actif, 2=cloturé
$this->statuts[0]=$langs->trans("Draft");
$this->statuts[1]=$langs->trans("Validated");
$this->statuts[2]=$langs->trans("Closed");
// definit module code contrat
$varcontrat = $conf->global->CONTRAT_CODECONTRAT_ADDON;
require_once
DOL_DOCUMENT_ROOT.'/includes/modules/contrat/'.$varcontrat.'.php';
$this->mod_codecontrat = new $varcontrat;
}
/**
* \brief Crée un contrat vierge en base
* \param user Utilisateur qui crée
* \param langs Environnement langue de
l'utilisateur
* \param conf Environnement de configuration lors
de l'opération
* \return int <0 si erreur, id contrat créé
sinon
*/
function create($user,$langs='',$conf='')
{
// Controle validité des paramètres
$paramsok=1;
if ($this->commercial_signature_id <= 0)
{
$langs->load("commercial");
$this->error.=$langs->trans("ErrorFieldRequired",$langs->trans("SalesRepresentativeSignature"));
$paramsok=0;
}
if ($this->commercial_suivi_id <= 0)
{
$langs->load("commercial");
$this->error.=($this->error?"<br>":'');
$this->error.=$langs->trans("ErrorFieldRequired",$langs->trans("SalesRepresentativeFollowUp"));
$paramsok=0;
}
if(($rescode =
$this->mod_codecontrat->verif($this->db, $this->ref,
$this)) <> 0)
{
if ($rescode == -1)
{
$this->error .= $langs->trans("CodeContractSyntaxError");
}
if ($rescode == -2)
{
$this->error .= $langs->trans("CodeContractMandatory");
}
if ($rescode == -3)
{
$this->error .= $langs->trans("CodeContratAlreadyExist");
}
dolibarr_syslog("Contrat::Create : $this->error");
$paramsok=0;
}
if (! $paramsok) return -1;
$this->db->begin();
// Insère contrat
$sql = "INSERT INTO ".MAIN_DB_PREFIX."contrat (datec, fk_soc,
fk_user_author, date_contrat";
Chacun est libre de mettre en place la numérotation ou les contrôles
qu'il veut suivant le modèle proposition ou société.
Cordialement.
JR ATHANASE
|