From 866e5952b0721f7e03f9e4c295144b62acf2b0b7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 6 May 2009 17:09:45 +0000 Subject: [PATCH] Qual: Use a so much simpler way to have ajax confirmation boxes --- htdocs/comm/addpropal.php | 7 +-- htdocs/comm/propal.php | 89 ++++++++++++++++----------------------- htdocs/compta/facture.php | 8 ++-- htdocs/propal.class.php | 24 +++++++++-- 4 files changed, 62 insertions(+), 66 deletions(-) diff --git a/htdocs/comm/addpropal.php b/htdocs/comm/addpropal.php index 38a9650ad8e..e41a22e853f 100644 --- a/htdocs/comm/addpropal.php +++ b/htdocs/comm/addpropal.php @@ -61,9 +61,7 @@ if ($_GET["projetid"]) } /* - * * Creation d'une nouvelle propale - * */ if ($_GET["action"] == 'create') { @@ -88,7 +86,6 @@ if ($_GET["action"] == 'create') $sql.= " FROM ".MAIN_DB_PREFIX."propal"; $sql.= " WHERE ref like '$numpr%'"; $sql.= " AND entity = ".$conf->entity; - $resql=$db->query($sql); if ($resql) { @@ -231,7 +228,7 @@ if ($_GET["action"] == 'create') print ''; $liste_propal = array(); $liste_propal[0] = ''; - + $sql ="SELECT p.rowid as id, p.ref, s.nom"; $sql.=" FROM ".MAIN_DB_PREFIX."propal p"; $sql.= ", ".MAIN_DB_PREFIX."societe s"; @@ -239,7 +236,7 @@ if ($_GET["action"] == 'create') $sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.fk_statut <> 0"; $sql.= " ORDER BY Id"; - + $resql = $db->query($sql); if ($resql) { diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 2d0eb59b113..95eea8d224b 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -78,7 +78,7 @@ $NBLINES=4; /******************************************************************************/ // Action clone object -if ($_POST["action"] == 'confirm_clone' && $_POST['confirm'] == 'yes') +if ($_REQUEST["action"] == 'confirm_clone' && $_REQUEST['confirm'] == 'yes') { if (1==0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"])) { @@ -129,7 +129,7 @@ if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes') // Remove line if (($_REQUEST['action'] == 'confirm_deleteline' && $_REQUEST['confirm'] == 'yes' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE) -|| ($_GET['action'] == 'deleteline' && !$conf->global->PRODUIT_CONFIRM_DELETE_LINE)) +|| ($_REQUEST['action'] == 'deleteline' && ! $conf->global->PRODUIT_CONFIRM_DELETE_LINE)) { if ($user->rights->propale->creer) { @@ -145,8 +145,10 @@ if (($_REQUEST['action'] == 'confirm_deleteline' && $_REQUEST['confirm'] == 'yes } propale_pdf_create($db, $propal->id, $propal->modelpdf, $outputlangs); } - Header('Location: '.$_SERVER["PHP_SELF"].'?propalid='.$_GET['propalid']); - exit; + else + { + $mesg='
'.$propal->error.'
'; + } } // Validation @@ -227,6 +229,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer) { if ($propal->fetch($_POST['copie_propal']) > 0) { + $propal->ref = $_POST['ref']; $propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); $propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); $propal->adresse_livraison_id = $_POST['adresse_livraison_id']; @@ -241,7 +244,6 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer) $propal->modelpdf = $_POST['model']; $propal->author = $user->id; // deprecated $propal->note = $_POST['note']; - $propal->ref = $_POST['ref']; $propal->statut = 0; $id = $propal->create_from($user); @@ -253,6 +255,8 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer) } else { + $propal->ref = $_POST['ref']; + $propal->ref_client = $_POST['ref_client']; $propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); $propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); $propal->adresse_livraison_id = $_POST['adresse_livraison_id']; @@ -265,8 +269,6 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer) $propal->modelpdf = $_POST['model']; $propal->author = $user->id; // deprecated $propal->note = $_POST['note']; - $propal->ref_client = $_POST['ref_client']; - $propal->ref = $_POST['ref']; for ($i = 1 ; $i <= $conf->global->PROPALE_NEW_FORM_NB_PRODUCT ; $i++) { @@ -916,7 +918,7 @@ if ($id > 0 || ! empty($ref)) //array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1) ); // Paiement incomplet. On demande si motif = escompte ou autre - $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id,$langs->trans('ClonePropal'),$langs->trans('ConfirmClonePropal',$propal->ref),'confirm_clone',$formquestion,'yes'); + $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id,$langs->trans('ClonePropal'),$langs->trans('ConfirmClonePropal',$propal->ref),'confirm_clone',$formquestion,'yes',1); if ($ret == 'html') print '
'; } @@ -925,7 +927,7 @@ if ($id > 0 || ! empty($ref)) */ if ($_GET['action'] == 'delete') { - $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp'), 'confirm_delete'); + $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp'), 'confirm_delete','',0,1); if ($ret == 'html') print '
'; } @@ -934,7 +936,7 @@ if ($id > 0 || ! empty($ref)) */ if ($_GET['action'] == 'ask_deleteline' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE) { - $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&lineid='.$_GET["lineid"], $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline'); + $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&lineid='.$_GET["lineid"], $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline','',0,1); if ($ret == 'html') print '
'; } @@ -943,7 +945,7 @@ if ($id > 0 || ! empty($ref)) */ if ($_GET['action'] == 'validate') { - $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id, $langs->trans('ValidateProp'), $langs->trans('ConfirmValidateProp'), 'confirm_validate'); + $ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id, $langs->trans('ValidateProp'), $langs->trans('ConfirmValidateProp'), 'confirm_validate','',0,1); if ($ret == 'html') print '
'; } @@ -1708,37 +1710,30 @@ if ($id > 0 || ! empty($ref)) print ''; print "\n"; - /* - * Formulaire cloture (signe ou non) - */ - $form_close = '
'; - $form_close.= ''; - $form_close.= ''; - $form_close.= ''; - $form_close.= ''; - $form_close.= '
'.$langs->trans('Note').'
'.$langs->trans("CloseAs").''; - $form_close.= ''; - $form_close.= ''; - $form_close.= '
'; - $form_close.= ''; - if ($conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX) - { - $form_close.= '   '; - } - else - { - $form_close.= '   '; - } - $form_close.= '
'; - if ($_GET['action'] == 'statut') { + /* + * Formulaire cloture (signe ou non) + */ + $form_close = '
'; + $form_close.= ''; + $form_close.= ''; + $form_close.= ''; + $form_close.= ''; + $form_close.= '
'.$langs->trans('Note').'
'.$langs->trans("CloseAs").''; + $form_close.= ''; + $form_close.= ''; + $form_close.= '
'; + $form_close.= ''; + $form_close.= '   '; + $form_close.= '
'; + print $form_close; } @@ -1779,19 +1774,7 @@ if ($id > 0 || ! empty($ref)) // Close if ($propal->statut == 1 && $user->rights->propale->cloturer) { - print ''."\n"; - - print 'use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX) - { - print 'href="#" onClick="dialogInfo($(\'confirm_close\').innerHTML)"'."\n"; - } - else - { - print 'href="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&action=statut"'; - } + print ''.$langs->trans('Close').''; } diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index efcbf6abbd5..2a3c94d4837 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -72,7 +72,7 @@ $usehm=$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE; /******************************************************************************/ // Action clone object -if ($_POST["action"] == 'confirm_clone' && $_POST['confirm'] == 'yes') +if ($_REQUEST["action"] == 'confirm_clone' && $_REQUEST['confirm'] == 'yes') { if (1==0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"])) { @@ -139,7 +139,7 @@ if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes' && * Supprime une ligne produit AVEC ou SANS confirmation */ if (($_REQUEST['action'] == 'confirm_deleteproductline' && $_REQUEST['confirm'] == 'yes' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE) -|| ($_GET['action'] == 'deleteline' && !$conf->global->PRODUIT_CONFIRM_DELETE_LINE)) +|| ($_REQUEST['action'] == 'deleteline' && !$conf->global->PRODUIT_CONFIRM_DELETE_LINE)) { if ($user->rights->facture->creer) { @@ -392,7 +392,7 @@ if ($_REQUEST['action'] == 'confirm_payed_partially' && $_REQUEST['confirm'] == } } // Classe à "abandonnée" -if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes') +if ($_REQUEST['action'] == 'confirm_canceled' && $_REQUEST['confirm'] == 'yes') { $fac = new Facture($db); $fac->fetch($_GET['facid']); @@ -409,7 +409,7 @@ if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes') } // Convertir en reduc -if ($_POST['action'] == 'confirm_converttoreduc' && $_POST['confirm'] == 'yes' && $user->rights->facture->creer) +if ($_REQUEST['action'] == 'confirm_converttoreduc' && $_REQUEST['confirm'] == 'yes' && $user->rights->facture->creer) { $db->begin(); diff --git a/htdocs/propal.class.php b/htdocs/propal.class.php index 18ae5521606..2e59d1a706b 100644 --- a/htdocs/propal.class.php +++ b/htdocs/propal.class.php @@ -559,7 +559,7 @@ class Propal extends CommonObject $sql.= ", 0"; $sql.= ", ".$this->db->idate($this->datep); $sql.= ", ".$this->db->idate(mktime()); - $sql.= ", '".$this->ref."'"; + $sql.= ", '(PROV)'"; $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); $sql.= ", '".addslashes($this->note)."'"; $sql.= ", '".addslashes($this->note_public)."'"; @@ -580,6 +580,13 @@ class Propal extends CommonObject if ($this->id) { + if (empty($this->ref)) $this->ref='(PROV'.$this->id.')'; + $sql = 'UPDATE '.MAIN_DB_PREFIX."propal SET ref='".$this->ref."' WHERE rowid=".$this->id; + + dol_syslog("Propal::create sql=".$sql); + $resql=$this->db->query($sql); + if (! $resql) $error++; + /* * Insertion du detail des produits dans la base */ @@ -687,7 +694,7 @@ class Propal extends CommonObject */ function createFromClone($fromid,$invertdetail=0) { - global $user,$langs; + global $user,$langs,$conf; $error=0; @@ -700,14 +707,23 @@ class Propal extends CommonObject $object->id=0; $object->statut=0; + if (defined("PROPALE_ADDON") && is_readable(DOL_DOCUMENT_ROOT ."/includes/modules/propale/".PROPALE_ADDON.".php")) + { + require_once(DOL_DOCUMENT_ROOT ."/includes/modules/propale/".PROPALE_ADDON.".php"); + } + $obj = $conf->global->PROPALE_ADDON; + $modPropale = new $obj; + $numpr = $modPropale->getNextValue($soc,$object); + // Clear fields + $object->ref = $numpr; $object->user_author = $user->id; $object->user_valid = ''; $object->date = ''; - $object->datep = gmmktime(); + $object->datep = dol_now('gmt'); $object->fin_validite = ''; $object->ref_client = ''; - $object->products = $object->lignes; // Tant que products encore utilis� + $object->products = $object->lignes; // Tant que products encore utilise // Create clone $result=$object->create($user);