dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dolibarr-dev] Insertion d'un appel à un module de numérotati on des con


From: ATHANASE Jean-René
Subject: [Dolibarr-dev] Insertion d'un appel à un module de numérotati on des contrats
Date: Tue, 17 Apr 2007 09:23:49 +0200
User-agent: Thunderbird 1.5.0.4 (X11/20060516)

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]