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 = '';
-
if ($_GET['action'] == 'statut')
{
+ /*
+ * Formulaire cloture (signe ou non)
+ */
+ $form_close = '';
+
print $form_close;
}
@@ -1779,19 +1774,7 @@ if ($id > 0 || ! empty($ref))
// Close
if ($propal->statut == 1 && $user->rights->propale->cloturer)
{
- print '';
- print $form_close."\n";
- 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 '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);
|