Qual: Use a so much simpler way to have ajax confirmation boxes

This commit is contained in:
Laurent Destailleur 2009-05-06 17:09:45 +00:00
parent 3ccecb4e7f
commit 866e5952b0
4 changed files with 62 additions and 66 deletions

View File

@ -61,9 +61,7 @@ if ($_GET["projetid"])
} }
/* /*
*
* Creation d'une nouvelle propale * Creation d'une nouvelle propale
*
*/ */
if ($_GET["action"] == 'create') if ($_GET["action"] == 'create')
{ {
@ -88,7 +86,6 @@ if ($_GET["action"] == 'create')
$sql.= " FROM ".MAIN_DB_PREFIX."propal"; $sql.= " FROM ".MAIN_DB_PREFIX."propal";
$sql.= " WHERE ref like '$numpr%'"; $sql.= " WHERE ref like '$numpr%'";
$sql.= " AND entity = ".$conf->entity; $sql.= " AND entity = ".$conf->entity;
$resql=$db->query($sql); $resql=$db->query($sql);
if ($resql) if ($resql)
{ {
@ -231,7 +228,7 @@ if ($_GET["action"] == 'create')
print '<td>'; print '<td>';
$liste_propal = array(); $liste_propal = array();
$liste_propal[0] = ''; $liste_propal[0] = '';
$sql ="SELECT p.rowid as id, p.ref, s.nom"; $sql ="SELECT p.rowid as id, p.ref, s.nom";
$sql.=" FROM ".MAIN_DB_PREFIX."propal p"; $sql.=" FROM ".MAIN_DB_PREFIX."propal p";
$sql.= ", ".MAIN_DB_PREFIX."societe s"; $sql.= ", ".MAIN_DB_PREFIX."societe s";
@ -239,7 +236,7 @@ if ($_GET["action"] == 'create')
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
$sql.= " AND p.fk_statut <> 0"; $sql.= " AND p.fk_statut <> 0";
$sql.= " ORDER BY Id"; $sql.= " ORDER BY Id";
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql) if ($resql)
{ {

View File

@ -78,7 +78,7 @@ $NBLINES=4;
/******************************************************************************/ /******************************************************************************/
// Action clone object // 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"])) 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 // Remove line
if (($_REQUEST['action'] == 'confirm_deleteline' && $_REQUEST['confirm'] == 'yes' && $conf->global->PRODUIT_CONFIRM_DELETE_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) 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); propale_pdf_create($db, $propal->id, $propal->modelpdf, $outputlangs);
} }
Header('Location: '.$_SERVER["PHP_SELF"].'?propalid='.$_GET['propalid']); else
exit; {
$mesg='<div class="error">'.$propal->error.'</div>';
}
} }
// Validation // Validation
@ -227,6 +229,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
{ {
if ($propal->fetch($_POST['copie_propal']) > 0) 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->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->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
$propal->adresse_livraison_id = $_POST['adresse_livraison_id']; $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->modelpdf = $_POST['model'];
$propal->author = $user->id; // deprecated $propal->author = $user->id; // deprecated
$propal->note = $_POST['note']; $propal->note = $_POST['note'];
$propal->ref = $_POST['ref'];
$propal->statut = 0; $propal->statut = 0;
$id = $propal->create_from($user); $id = $propal->create_from($user);
@ -253,6 +255,8 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
} }
else 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->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->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
$propal->adresse_livraison_id = $_POST['adresse_livraison_id']; $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->modelpdf = $_POST['model'];
$propal->author = $user->id; // deprecated $propal->author = $user->id; // deprecated
$propal->note = $_POST['note']; $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++) 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) //array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1)
); );
// Paiement incomplet. On demande si motif = escompte ou autre // 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 '<br>'; if ($ret == 'html') print '<br>';
} }
@ -925,7 +927,7 @@ if ($id > 0 || ! empty($ref))
*/ */
if ($_GET['action'] == 'delete') 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 '<br>'; if ($ret == 'html') print '<br>';
} }
@ -934,7 +936,7 @@ if ($id > 0 || ! empty($ref))
*/ */
if ($_GET['action'] == 'ask_deleteline' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE) if ($_GET['action'] == 'ask_deleteline' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE)
{ {
$ret=$html->form_confirm($_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&amp;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 '<br>'; if ($ret == 'html') print '<br>';
} }
@ -943,7 +945,7 @@ if ($id > 0 || ! empty($ref))
*/ */
if ($_GET['action'] == 'validate') 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 '<br>'; if ($ret == 'html') print '<br>';
} }
@ -1708,37 +1710,30 @@ if ($id > 0 || ! empty($ref))
print '</div>'; print '</div>';
print "\n"; print "\n";
/*
* Formulaire cloture (signe ou non)
*/
$form_close = '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'" method="post">';
$form_close.= '<table class="border" width="100%">';
$form_close.= '<tr><td width="150" align="left">'.$langs->trans('Note').'</td><td align="left"><textarea cols="70" rows="'.ROWS_3.'" wrap="soft" name="note">';
$form_close.= $propal->note;
$form_close.= '</textarea></td></tr>';
$form_close.= '<tr><td width="150" align="left">'.$langs->trans("CloseAs").'</td><td align="left">';
$form_close.= '<input type="hidden" name="action" value="setstatut">';
$form_close.= '<select name="statut">';
$form_close.= '<option value="0">&nbsp;</option>';
$form_close.= '<option value="2">'.$propal->labelstatut[2].'</option>';
$form_close.= '<option value="3">'.$propal->labelstatut[3].'</option>';
$form_close.= '</select>';
$form_close.= '</td></tr>';
$form_close.= '<tr><td align="center" colspan="2">';
$form_close.= '<input type="submit" class="button" name="validate" value="'.$langs->trans('Validate').'">';
if ($conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
{
$form_close.= ' &nbsp; <input onClick="Dialog.closeInfo()" type="button" class="button" name="cancel" value="'.$langs->trans('Cancel').'">';
}
else
{
$form_close.= ' &nbsp; <input type="submit" class="button" name="cancel" value="'.$langs->trans('Cancel').'">';
}
$form_close.= '</td>';
$form_close.= '</tr></table></form>';
if ($_GET['action'] == 'statut') if ($_GET['action'] == 'statut')
{ {
/*
* Formulaire cloture (signe ou non)
*/
$form_close = '<form action="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'" method="post">';
$form_close.= '<table class="border" width="100%">';
$form_close.= '<tr><td width="150" align="left">'.$langs->trans('Note').'</td><td align="left"><textarea cols="70" rows="'.ROWS_3.'" wrap="soft" name="note">';
$form_close.= $propal->note;
$form_close.= '</textarea></td></tr>';
$form_close.= '<tr><td width="150" align="left">'.$langs->trans("CloseAs").'</td><td align="left">';
$form_close.= '<input type="hidden" name="action" value="setstatut">';
$form_close.= '<select name="statut">';
$form_close.= '<option value="0">&nbsp;</option>';
$form_close.= '<option value="2">'.$propal->labelstatut[2].'</option>';
$form_close.= '<option value="3">'.$propal->labelstatut[3].'</option>';
$form_close.= '</select>';
$form_close.= '</td></tr>';
$form_close.= '<tr><td align="center" colspan="2">';
$form_close.= '<input type="submit" class="button" name="validate" value="'.$langs->trans('Validate').'">';
$form_close.= ' &nbsp; <input type="submit" class="button" name="cancel" value="'.$langs->trans('Cancel').'">';
$form_close.= '</td>';
$form_close.= '</tr></table></form>';
print $form_close; print $form_close;
} }
@ -1779,19 +1774,7 @@ if ($id > 0 || ! empty($ref))
// Close // Close
if ($propal->statut == 1 && $user->rights->propale->cloturer) if ($propal->statut == 1 && $user->rights->propale->cloturer)
{ {
print '<div id="confirm_close" style="display:none">'; print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&amp;action=statut"';
print $form_close."\n";
print '</div>'."\n";
print '<a class="butAction" ';
if ($conf->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.'&amp;action=statut"';
}
print '>'.$langs->trans('Close').'</a>'; print '>'.$langs->trans('Close').'</a>';
} }

View File

@ -72,7 +72,7 @@ $usehm=$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE;
/******************************************************************************/ /******************************************************************************/
// Action clone object // 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"])) 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 * Supprime une ligne produit AVEC ou SANS confirmation
*/ */
if (($_REQUEST['action'] == 'confirm_deleteproductline' && $_REQUEST['confirm'] == 'yes' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE) 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) if ($user->rights->facture->creer)
{ {
@ -392,7 +392,7 @@ if ($_REQUEST['action'] == 'confirm_payed_partially' && $_REQUEST['confirm'] ==
} }
} }
// Classe à "abandonnée" // Classe à "abandonnée"
if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes') if ($_REQUEST['action'] == 'confirm_canceled' && $_REQUEST['confirm'] == 'yes')
{ {
$fac = new Facture($db); $fac = new Facture($db);
$fac->fetch($_GET['facid']); $fac->fetch($_GET['facid']);
@ -409,7 +409,7 @@ if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes')
} }
// Convertir en reduc // 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(); $db->begin();

View File

@ -559,7 +559,7 @@ class Propal extends CommonObject
$sql.= ", 0"; $sql.= ", 0";
$sql.= ", ".$this->db->idate($this->datep); $sql.= ", ".$this->db->idate($this->datep);
$sql.= ", ".$this->db->idate(mktime()); $sql.= ", ".$this->db->idate(mktime());
$sql.= ", '".$this->ref."'"; $sql.= ", '(PROV)'";
$sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null");
$sql.= ", '".addslashes($this->note)."'"; $sql.= ", '".addslashes($this->note)."'";
$sql.= ", '".addslashes($this->note_public)."'"; $sql.= ", '".addslashes($this->note_public)."'";
@ -580,6 +580,13 @@ class Propal extends CommonObject
if ($this->id) 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 * Insertion du detail des produits dans la base
*/ */
@ -687,7 +694,7 @@ class Propal extends CommonObject
*/ */
function createFromClone($fromid,$invertdetail=0) function createFromClone($fromid,$invertdetail=0)
{ {
global $user,$langs; global $user,$langs,$conf;
$error=0; $error=0;
@ -700,14 +707,23 @@ class Propal extends CommonObject
$object->id=0; $object->id=0;
$object->statut=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 // Clear fields
$object->ref = $numpr;
$object->user_author = $user->id; $object->user_author = $user->id;
$object->user_valid = ''; $object->user_valid = '';
$object->date = ''; $object->date = '';
$object->datep = gmmktime(); $object->datep = dol_now('gmt');
$object->fin_validite = ''; $object->fin_validite = '';
$object->ref_client = ''; $object->ref_client = '';
$object->products = $object->lignes; // Tant que products encore utilis<69> $object->products = $object->lignes; // Tant que products encore utilise
// Create clone // Create clone
$result=$object->create($user); $result=$object->create($user);