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
*
*/
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 '<td>';
$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)
{

View File

@ -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='<div class="error">'.$propal->error.'</div>';
}
}
// 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 '<br>';
}
@ -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 '<br>';
}
@ -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.'&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>';
}
@ -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 '<br>';
}
@ -1708,37 +1710,30 @@ if ($id > 0 || ! empty($ref))
print '</div>';
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')
{
/*
* 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;
}
@ -1779,19 +1774,7 @@ if ($id > 0 || ! empty($ref))
// Close
if ($propal->statut == 1 && $user->rights->propale->cloturer)
{
print '<div id="confirm_close" style="display:none">';
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 '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?propalid='.$propal->id.'&amp;action=statut"';
print '>'.$langs->trans('Close').'</a>';
}

View File

@ -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();

View File

@ -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<69>
$object->products = $object->lignes; // Tant que products encore utilise
// Create clone
$result=$object->create($user);