From 01d444febd93e7725d43efebb7cd769b9e9e51e6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 17 Sep 2005 00:50:36 +0000 Subject: [PATCH] Qual: Utilisation de la methode select_projects plutot que code en dur --- htdocs/comm/addpropal.php | 307 ++++++++++++++++++-------------------- htdocs/comm/propal.php | 60 ++++---- 2 files changed, 175 insertions(+), 192 deletions(-) diff --git a/htdocs/comm/addpropal.php b/htdocs/comm/addpropal.php index 1a99881fb03..8596711aba3 100644 --- a/htdocs/comm/addpropal.php +++ b/htdocs/comm/addpropal.php @@ -18,7 +18,6 @@ * * $Id$ * $Source$ - * */ /** @@ -60,182 +59,160 @@ $form=new Form($db); */ if ($_GET["action"] == 'create') { - - $soc = new Societe($db); - /* TODO Ajouter un test ici */ - $soc->fetch($_GET["socidp"]); - - $obj = PROPALE_ADDON; - $modPropale = new $obj; - $numpr = $modPropale->propale_get_num($soc); - $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."propal WHERE ref like '$numpr%'"; - - if ( $db->query($sql) ) + $soc = new Societe($db); + $result=$soc->fetch($_GET["socidp"]); + if ($result < 0) { - $num = $db->result(0, 0); - $db->free(); - if ($num > 0) - { - $numpr .= "." . ($num + 1); - } + dolibarr_print_error($db,$soc->error); + exit; } - - print "
id."\" method=\"post\">"; - print ""; - - print ''; - - print ''; - print ''; - - print ''; - print ''; - - print ""; - - print ''; - print ''; + $obj = PROPALE_ADDON; + $modPropale = new $obj; + $numpr = $modPropale->propale_get_num($soc); + $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."propal WHERE ref like '$numpr%'"; - /* - * Destinataire de la propale - */ - print "'; - - print ''; - if ($conf->projet->enabled) { - - /* - * Projet associé - */ - print ''; + print '
'.$langs->trans("Ref").''; - print $langs->trans("Comments").'
'.$langs->trans("Company").''.$soc->nom.''; - print ''; - print '
".$langs->trans("Date").""; - $form->select_date(); - print "
'.$langs->trans("Author").''.$user->fullname.'
'.$langs->trans("ValidityDuration").' '.$langs->trans("days").'
".$langs->trans("Contact")."\n"; - $sql = "SELECT p.idp, p.name, p.firstname, p.poste, p.phone, p.fax, p.email FROM ".MAIN_DB_PREFIX."socpeople as p"; - $sql .= " WHERE p.fk_soc = ".$soc->id; - - if ( $db->query($sql) ) + if ( $db->query($sql) ) { - $i = 0 ; - $numdest = $db->num_rows(); - - if ($numdest==0) - { - print 'Cette societe n\'a pas de contact, veuillez en créer un avant de faire votre proposition commerciale
'; - print ''.$langs->trans("AddContact").''; - } - else - { - print "'; - } - - $db->free(); - } - else - { - dolibarr_print_error($db); - } - - print '
'.$langs->trans("Project").''; - print ''; - - $sql = "SELECT p.rowid, p.title FROM ".MAIN_DB_PREFIX."projet as p WHERE p.fk_soc =".$soc->id; - - if ( $db->query($sql) ) + $num = $db->result(0, 0); + $db->free(); + if ($num > 0) { - $i = 0 ; - $numprojet = $db->num_rows(); - - if ($numprojet==0) - { - print $langs->trans("NoProject").' - '; - print 'id.'&action=create>'.$langs->trans("AddProject").''; - } - else - { - print ''; - } - $db->free(); + $numpr .= "." . ($num + 1); } - else + } + + print "id."\" method=\"post\">"; + print ""; + + print ''; + + print ''; + + print ''; + + print ''; + print ''; + + print ""; + + print ''; + print ''; + + /* + * Destinataire de la propale + */ + print "'; - } - else { + $db->free(); + } + else + { + dolibarr_print_error($db); + } + + print ''; + + print ''; + if ($conf->projet->enabled) + { + /* + * Projet associ + */ + print ''; + } + else { print ''; - } - - print ''; - print '
'.$langs->trans("Ref").''; + print $langs->trans("Comments").'
'.$langs->trans("Company").''.$soc->nom.''; + print ''; + print '
".$langs->trans("Date").""; + $form->select_date(); + print "
'.$langs->trans("Author").''.$user->fullname.'
'.$langs->trans("ValidityDuration").' '.$langs->trans("days").'
".$langs->trans("Contact")."\n"; + $sql = "SELECT p.idp, p.name, p.firstname, p.poste, p.phone, p.fax, p.email FROM ".MAIN_DB_PREFIX."socpeople as p"; + $sql .= " WHERE p.fk_soc = ".$soc->id; + + if ( $db->query($sql) ) + { + $i = 0 ; + $numdest = $db->num_rows(); + + if ($numdest==0) { - dolibarr_print_error($db); + print 'Cette societe n\'a pas de contact, veuillez en créer un avant de faire votre proposition commerciale
'; + print ''.$langs->trans("AddContact").''; + } + else + { + print "'; } - print '
'.$langs->trans("Project").''; + + $numprojet=$form->select_projects($soc->id,0,'projetidp'); + if ($numprojet==0) + { + print '   id.'&action=create>'.$langs->trans("AddProject").''; + } + print ' Modèle'; - include_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php'); - $model=new ModelePDFPropales(); - $liste=$model->liste_modeles($db); - $form->select_array("modelpdf",$liste,$conf->global->PROPALE_ADDON_PDF); - print "
"; - - print '
'; - - if ($conf->produit->enabled || $conf->service->enabled) - { - $titre=$langs->trans("ProductsAndServices"); - $lib=$langs->trans("Product").'/'.$langs->trans("Services"); - - print_titre($titre); - - print ''; - print ''; - for ($i = 1 ; $i <= PROPALE_NEW_FORM_NB_PRODUCT ; $i++) - { - print ''; - print ''; - print ''; - } - - print "
'.$lib.''.$langs->trans("Qty").''.$langs->trans("Discount").'
'; - $form->select_produits('',"idprod".$i); - print ' %
"; - - print '
'; - } - - /* - * Si il n'y a pas de contact pour la societe on ne permet pas la creation de propale - */ - if ($numdest > 0) - { - $langs->load("bills"); - print ''; } - print ""; + + print '
Modèle'; + include_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php'); + $model=new ModelePDFPropales(); + $liste=$model->liste_modeles($db); + $form->select_array("modelpdf",$liste,$conf->global->PROPALE_ADDON_PDF); + print "
"; + + print '
'; + + if ($conf->produit->enabled || $conf->service->enabled) + { + $titre=$langs->trans("ProductsAndServices"); + $lib=$langs->trans("Product").'/'.$langs->trans("Services"); + + print_titre($titre); + + print ''; + print ''; + for ($i = 1 ; $i <= PROPALE_NEW_FORM_NB_PRODUCT ; $i++) + { + print ''; + print ''; + print ''; + } + + print "
'.$lib.''.$langs->trans("Qty").''.$langs->trans("Discount").'
'; + $form->select_produits('',"idprod".$i); + print ' %
"; + + print '
'; + } + + /* + * Si il n'y a pas de contact pour la societe on ne permet pas la creation de propale + */ + if ($numdest > 0) + { + $langs->load("bills"); + print '
'; + print ''; + print '
'; + } + print ""; } $db->close(); diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index f51c9e1a03a..284c79f4816 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -97,36 +97,42 @@ if ($_POST['action'] == 'confirm_validate' && $_POST['confirm'] == 'yes') if ($_POST['action'] == 'add') { - $propal = new Propal($db, $_GET['socidp']); - $propal->datep = mktime(12, 1 , 1, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); - - $propal->duree_validite = $_POST['duree_validite']; - - $propal->contactid = $_POST['contactidp']; - $propal->projetidp = $_POST['projetidp']; - $propal->modelpdf = $_POST['modelpdf']; - $propal->author = $user->id; - $propal->note = $_POST['note']; - - $propal->ref = $_POST['ref']; - - for ($i = 1 ; $i <= PROPALE_NEW_FORM_NB_PRODUCT ; $i++) + $propal = new Propal($db, $_GET['socidp']); + $propal->datep = mktime(12, 1 , 1, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); + + $propal->duree_validite = $_POST['duree_validite']; + + $propal->contactid = $_POST['contactidp']; + $propal->projetidp = $_POST['projetidp']; + $propal->modelpdf = $_POST['modelpdf']; + $propal->author = $user->id; + $propal->note = $_POST['note']; + + $propal->ref = $_POST['ref']; + + for ($i = 1 ; $i <= PROPALE_NEW_FORM_NB_PRODUCT ; $i++) { - $xid = 'idprod'.$i; - $xqty = 'qty'.$i; - $xremise = 'remise'.$i; - $propal->add_product($_POST[$xid],$_POST[$xqty],$_POST[$xremise]); + $xid = 'idprod'.$i; + $xqty = 'qty'.$i; + $xremise = 'remise'.$i; + $propal->add_product($_POST[$xid],$_POST[$xqty],$_POST[$xremise]); } - - $id = $propal->create(); - - /* - * Generation - */ - if ($id) + + $id = $propal->create(); + + /* + * Generation + */ + if ($id > 0) { - propale_pdf_create($db, $id, $_POST['modelpdf']); - Header ('Location: propal.php?propalid='.$id); + propale_pdf_create($db, $id, $_POST['modelpdf']); + Header ('Location: propal.php?propalid='.$id); + exit; + } + else + { + dolibarr_print_error($db,$propal->error); + exit; } }