mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-02-07 16:41:48 +01:00
Ergo: Add option "MAIN_DISABLEDRAFTSTATUS" to reduce nb of clicks
This commit is contained in:
@@ -113,10 +113,10 @@ class RemiseCheque extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Create a receipt to send cheques
|
||||
* \param user Utilisateur qui effectue l'operation
|
||||
* \param account_id Compte bancaire concerne
|
||||
* \return int <0 if KO, >0 if OK
|
||||
* Create a receipt to send cheques
|
||||
* @param user Utilisateur qui effectue l'operation
|
||||
* @param account_id Compte bancaire concerne
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function create($user, $account_id)
|
||||
{
|
||||
@@ -125,6 +125,8 @@ class RemiseCheque extends CommonObject
|
||||
$this->errno = 0;
|
||||
$this->id = 0;
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bordereau_cheque (";
|
||||
@@ -132,17 +134,19 @@ class RemiseCheque extends CommonObject
|
||||
$sql.= ", date_bordereau";
|
||||
$sql.= ", fk_user_author";
|
||||
$sql.= ", fk_bank_account";
|
||||
$sql.= ", statut";
|
||||
$sql.= ", amount";
|
||||
$sql.= ", number";
|
||||
$sql.= ", entity";
|
||||
$sql.= ", nbcheque";
|
||||
$sql.= ") VALUES (";
|
||||
$sql.= $this->db->idate(mktime());
|
||||
$sql.= ", ".$this->db->idate(mktime());
|
||||
$sql.= $this->db->idate($now);
|
||||
$sql.= ", ".$this->db->idate($now);
|
||||
$sql.= ", ".$user->id;
|
||||
$sql.= ", ".$account_id;
|
||||
$sql.= ", 0";
|
||||
$sql.= ", 0";
|
||||
$sql.= ", 0";
|
||||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ", 0";
|
||||
$sql.= ")";
|
||||
@@ -155,7 +159,7 @@ class RemiseCheque extends CommonObject
|
||||
if ($this->id == 0)
|
||||
{
|
||||
$this->errno = -1024;
|
||||
dol_syslog("Remisecheque::Create Erreur Lecture ID ($this->errno)", LOG_ERR);
|
||||
dol_syslog("Remisecheque::Create Error read id ".$this->errno, LOG_ERR);
|
||||
}
|
||||
|
||||
if ($this->id > 0 && $this->errno == 0)
|
||||
@@ -169,7 +173,7 @@ class RemiseCheque extends CommonObject
|
||||
if (! $resql)
|
||||
{
|
||||
$this->errno = -1025;
|
||||
dol_syslog("RemiseCheque::Create ERREUR UPDATE ($this->errno)", LOG_ERR);
|
||||
dol_syslog("RemiseCheque::Create Error update ".$this->errno, LOG_ERR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,7 +201,7 @@ class RemiseCheque extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->errno = -1026;
|
||||
dol_syslog("RemiseCheque::Create Error ($this->errno)", LOG_ERR);
|
||||
dol_syslog("RemiseCheque::Create Error ".$this->errno, LOG_ERR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,7 +218,7 @@ class RemiseCheque extends CommonObject
|
||||
if (!$resql)
|
||||
{
|
||||
$this->errno = -18;
|
||||
dol_syslog("RemiseCheque::Create Error update bank ($this->errno)", LOG_ERR);
|
||||
dol_syslog("RemiseCheque::Create Error update bank ".$this->errno, LOG_ERR);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -224,31 +228,34 @@ class RemiseCheque extends CommonObject
|
||||
if ($this->updateAmount() <> 0)
|
||||
{
|
||||
$this->errno = -1027;
|
||||
dol_syslog("RemiseCheque::Create ERREUR ($this->errno)");
|
||||
dol_syslog("RemiseCheque::Create Error update amount ".$this->errno, LOG_ERR);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = -1;
|
||||
$this->errno = -1;
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->errno=$this->db->lasterrno();
|
||||
dol_syslog("RemiseCheque::Create Erreur $result INSERT Mysql");
|
||||
dol_syslog("RemiseCheque::Create Error ".$this->error, LOG_ERR);
|
||||
}
|
||||
|
||||
if (! $this->errno && ! empty($conf->global->MAIN_DISABLEDRAFTSTATUS))
|
||||
{
|
||||
$res=$this->validate($user);
|
||||
//if ($res < 0) $error++;
|
||||
}
|
||||
|
||||
if ($this->errno == 0)
|
||||
{
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
dol_syslog("RemiseCheque::Create ROLLBACK ($this->errno)");
|
||||
return $this->errno;
|
||||
}
|
||||
|
||||
if (! $this->errno)
|
||||
{
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
return $this->errno;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -306,8 +313,9 @@ class RemiseCheque extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate receipt
|
||||
* @param user User
|
||||
* Validate a receipt
|
||||
* @param user User
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function validate($user)
|
||||
{
|
||||
@@ -317,13 +325,12 @@ class RemiseCheque extends CommonObject
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$num=$this->getNextNumber();
|
||||
$numref=$this->getNextNumber();
|
||||
|
||||
if ($this->errno == 0 && $num)
|
||||
if ($this->errno == 0 && $numref)
|
||||
{
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."bordereau_cheque";
|
||||
$sql.= " SET statut = 1";
|
||||
$sql.= ", number = '".$num."'";
|
||||
$sql.= " SET statut = 1, number = '".$numref."'";
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
$sql.= " AND statut = 0";
|
||||
@@ -336,6 +343,7 @@ class RemiseCheque extends CommonObject
|
||||
|
||||
if ($num == 1)
|
||||
{
|
||||
$this->number = $numref;
|
||||
$this->statut = 1;
|
||||
}
|
||||
else
|
||||
@@ -355,14 +363,14 @@ class RemiseCheque extends CommonObject
|
||||
if ($this->errno == 0)
|
||||
{
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
dol_syslog("RemiseCheque::Validate ".$this->errno, LOG_ERR);
|
||||
return $this->errno;
|
||||
}
|
||||
|
||||
return $this->errno;
|
||||
}
|
||||
|
||||
|
||||
@@ -446,10 +454,10 @@ class RemiseCheque extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Build document
|
||||
* \param model Model name
|
||||
* \param outputlangs Object langs
|
||||
* \return int <0 if KO, >0 if OK
|
||||
* Build document
|
||||
* @param model Model name
|
||||
* @param outputlangs Object langs
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function generatePdf($model='blochet', $outputlangs)
|
||||
{
|
||||
@@ -457,7 +465,7 @@ class RemiseCheque extends CommonObject
|
||||
|
||||
if (empty($model)) $model='blochet';
|
||||
|
||||
dol_syslog("RemiseCheque::generatePdf model=".$model, LOG_DEBUG);
|
||||
dol_syslog("RemiseCheque::generatePdf model=".$model." id=".$this->id, LOG_DEBUG);
|
||||
|
||||
$dir=DOL_DOCUMENT_ROOT ."/includes/modules/cheque/pdf/";
|
||||
|
||||
@@ -469,7 +477,7 @@ class RemiseCheque extends CommonObject
|
||||
require_once($dir.$file);
|
||||
|
||||
$classname='BordereauCheque'.ucfirst($model);
|
||||
$pdf = new $classname($db);
|
||||
$docmodel = new $classname($db);
|
||||
|
||||
$sql = "SELECT b.banque, b.emetteur, b.amount, b.num_chq";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
||||
@@ -488,27 +496,27 @@ class RemiseCheque extends CommonObject
|
||||
$i = 0;
|
||||
while ( $objp = $this->db->fetch_object($result) )
|
||||
{
|
||||
$pdf->lines[$i]->bank_chq = $objp->banque;
|
||||
$pdf->lines[$i]->emetteur_chq = $objp->emetteur;
|
||||
$pdf->lines[$i]->amount_chq = $objp->amount;
|
||||
$pdf->lines[$i]->num_chq = $objp->num_chq;
|
||||
$docmodel->lines[$i]->bank_chq = $objp->banque;
|
||||
$docmodel->lines[$i]->emetteur_chq = $objp->emetteur;
|
||||
$docmodel->lines[$i]->amount_chq = $objp->amount;
|
||||
$docmodel->lines[$i]->num_chq = $objp->num_chq;
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$pdf->nbcheque = $this->nbcheque;
|
||||
$pdf->number = $this->number;
|
||||
$pdf->amount = $this->amount;
|
||||
$pdf->date = $this->date_bordereau;
|
||||
$docmodel->nbcheque = $this->nbcheque;
|
||||
$docmodel->number = $this->number;
|
||||
$docmodel->amount = $this->amount;
|
||||
$docmodel->date = $this->date_bordereau;
|
||||
|
||||
$account = new Account($this->db);
|
||||
$account->fetch($this->account_id);
|
||||
|
||||
$pdf->account = &$account;
|
||||
$docmodel->account = &$account;
|
||||
|
||||
// We save charset_output to restore it because write_file can change it if needed for
|
||||
// output format that does not support UTF8.
|
||||
$sav_charset_output=$outputlangs->charset_output;
|
||||
$result=$pdf->write_file($conf->banque->dir_output.'/bordereau', $this->number, $outputlangs);
|
||||
$result=$docmodel->write_file($conf->banque->dir_output.'/bordereau', $this->number, $outputlangs);
|
||||
if ($result > 0)
|
||||
{
|
||||
$outputlangs->charset_output=$sav_charset_output;
|
||||
@@ -518,7 +526,7 @@ class RemiseCheque extends CommonObject
|
||||
{
|
||||
$outputlangs->charset_output=$sav_charset_output;
|
||||
dol_syslog("Error");
|
||||
dol_print_error($db,$pdf->error);
|
||||
dol_print_error($db,$docmodel->error);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
|
||||
/**
|
||||
* \file htdocs/compta/paiement/cheque/fiche.php
|
||||
* \ingroup facture
|
||||
* \brief Tab cheque deposit
|
||||
* \ingroup bank, invoice
|
||||
* \brief Page for cheque deposits
|
||||
* \version $Id$
|
||||
*/
|
||||
|
||||
@@ -35,8 +35,8 @@ $langs->load('bills');
|
||||
$langs->load('banks');
|
||||
$langs->load('companies');
|
||||
|
||||
$id = isset($_REQUEST["id"])?$_REQUEST["id"]:'';
|
||||
$ref= isset($_REQUEST["ref"])?$_REQUEST["ref"]:'';
|
||||
$id = GETPOST("id");
|
||||
$ref= GETPOST("ref");
|
||||
|
||||
// Security check
|
||||
$fieldid = isset($_GET["ref"])?'number':'rowid';
|
||||
@@ -88,8 +88,24 @@ if ($_GET['action'] == 'create' && $_GET["accountid"] > 0 && $user->rights->banq
|
||||
$result = $remisecheque->create($user, $_GET["accountid"]);
|
||||
if ($result > 0)
|
||||
{
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$remisecheque->id);
|
||||
exit;
|
||||
if ($remisecheque->statut == 1) // If statut is validated, we build doc
|
||||
{
|
||||
$remisecheque->fetch($remisecheque->id); // To force to reload all properties in correct property name
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
$newlang='';
|
||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
||||
//if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||
if (! empty($newlang))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
$result = $remisecheque->generatePdf($_POST["model"], $outputlangs);
|
||||
}
|
||||
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$remisecheque->id);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -136,7 +152,19 @@ if ($_REQUEST['action'] == 'confirm_valide' && $_REQUEST['confirm'] == 'yes' &&
|
||||
$result = $remisecheque->validate($user);
|
||||
if ($result >= 0)
|
||||
{
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$remisecheque->id);
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
$newlang='';
|
||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
||||
//if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||
if (! empty($newlang))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
$result = $remisecheque->generatePdf($_POST["model"], $outputlangs);
|
||||
|
||||
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$remisecheque->id);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
@@ -155,13 +183,15 @@ if ($_POST['action'] == 'builddoc' && $user->rights->banque->cheque)
|
||||
$remisecheque->setDocModel($user, $_REQUEST['model']);
|
||||
}*/
|
||||
|
||||
$outputlangs = $langs;
|
||||
if (! empty($_REQUEST['lang_id']))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
|
||||
}
|
||||
|
||||
$outputlangs = $langs;
|
||||
$newlang='';
|
||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
||||
//if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||
if (! empty($newlang))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
$result = $remisecheque->generatePdf($_POST["model"], $outputlangs);
|
||||
if ($result <= 0)
|
||||
{
|
||||
|
||||
@@ -57,8 +57,8 @@ class Project extends CommonObject
|
||||
var $statuts;
|
||||
|
||||
/**
|
||||
* \brief Constructeur de la classe
|
||||
* \param DB handler acces base de donnees
|
||||
* Constructor of class
|
||||
* @param DB Database access handler
|
||||
*/
|
||||
function Project($DB)
|
||||
{
|
||||
@@ -70,12 +70,15 @@ class Project extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Create a project into database
|
||||
* \param user Id utilisateur qui cree
|
||||
* \return int <0 si ko, id du projet cree si ok
|
||||
* Create a project into database
|
||||
* @param user User making creation
|
||||
* @return int <0 if KO, id of created project if OK
|
||||
*/
|
||||
function create($user, $notrigger=0)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$error=0;
|
||||
$ret=0;
|
||||
|
||||
// Check parameters
|
||||
@@ -86,12 +89,15 @@ class Project extends CommonObject
|
||||
return -1;
|
||||
}
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."projet (";
|
||||
$sql.= "ref";
|
||||
$sql.= ", title";
|
||||
$sql.= ", description";
|
||||
$sql.= ", fk_soc";
|
||||
$sql.= ", fk_user_creat";
|
||||
$sql.= ", fk_statut";
|
||||
$sql.= ", public";
|
||||
$sql.= ", datec";
|
||||
$sql.= ", dateo";
|
||||
@@ -102,6 +108,7 @@ class Project extends CommonObject
|
||||
$sql.= ", '".addslashes($this->description)."'";
|
||||
$sql.= ", ".($this->socid > 0?$this->socid:"null");
|
||||
$sql.= ", ".$user->id;
|
||||
$sql.= ", 0";
|
||||
$sql.= ", ".($this->public?1:0);
|
||||
$sql.= ", ".($this->datec!=''?$this->db->idate($this->datec):'null');
|
||||
$sql.= ", ".($this->dateo!=''?$this->db->idate($this->dateo):'null');
|
||||
@@ -127,12 +134,28 @@ class Project extends CommonObject
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog("Project::Create error -2 ".$this->error, LOG_ERR);
|
||||
$ret = -2;
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->errno=$this->db->lasterrno();
|
||||
dol_syslog("Project::Create error -2 ".$this->error, LOG_ERR);
|
||||
$error++;
|
||||
}
|
||||
|
||||
return $ret;
|
||||
if (! $error && ! empty($conf->global->MAIN_DISABLEDRAFTSTATUS))
|
||||
{
|
||||
$res=$this->setValid($user);
|
||||
if ($res < 0) $error++;
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$this->db->commit();
|
||||
return $ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -350,8 +373,9 @@ class Project extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Supprime le projet dans la base
|
||||
* \param Utilisateur
|
||||
* Delete a project from database
|
||||
* @param user User
|
||||
* @param notrigger Disable triggers
|
||||
*/
|
||||
function delete($user, $notrigger=0)
|
||||
{
|
||||
@@ -433,11 +457,11 @@ class Project extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Validate a project
|
||||
* \param user User that validate
|
||||
* \return int <0 if KO, >0 if OK
|
||||
* Validate a project
|
||||
* @param user User that validate
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function setValid($user, $outputdir)
|
||||
function setValid($user)
|
||||
{
|
||||
global $langs, $conf;
|
||||
|
||||
@@ -485,11 +509,11 @@ class Project extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Close a project
|
||||
* \param user User that validate
|
||||
* \return int <0 if KO, >0 if OK
|
||||
* Close a project
|
||||
* @param user User that validate
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function setClose($user, $outputdir)
|
||||
function setClose($user)
|
||||
{
|
||||
global $langs, $conf;
|
||||
|
||||
|
||||
@@ -70,6 +70,10 @@ if ($_POST["action"] == 'add' && $user->rights->projet->creer)
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$error=0;
|
||||
|
||||
$db->begin();
|
||||
|
||||
$project = new Project($db);
|
||||
|
||||
$project->ref = $_POST["ref"];
|
||||
@@ -86,14 +90,31 @@ if ($_POST["action"] == 'add' && $user->rights->projet->creer)
|
||||
{
|
||||
// Add myself as project leader
|
||||
$result = $project->add_contact($user->id, 'PROJECTLEADER', 'internal');
|
||||
if ($result < 0)
|
||||
{
|
||||
$langs->load("errors");
|
||||
$mesg='<div class="error">'.$langs->trans($project->error).'</div>';
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$langs->load("errors");
|
||||
$mesg='<div class="error">'.$langs->trans($project->error).'</div>';
|
||||
$error++;
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$db->commit();
|
||||
|
||||
Header("Location:fiche.php?id=".$project->id);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$langs->load("errors");
|
||||
$mesg='<div class="error">'.$langs->trans($project->error).'</div>';
|
||||
$db->rollback();
|
||||
|
||||
$_GET["action"] = 'create';
|
||||
}
|
||||
}
|
||||
@@ -177,7 +198,7 @@ if (GETPOST('action') == 'confirm_validate' && GETPOST('confirm') == 'yes')
|
||||
$project = new Project($db);
|
||||
$project->fetch(GETPOST("id"));
|
||||
|
||||
$result = $project->setValid($user, $conf->projet->outputdir);
|
||||
$result = $project->setValid($user);
|
||||
if ($result <= 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$project->error.'</div>';
|
||||
@@ -188,7 +209,7 @@ if (GETPOST('action') == 'confirm_close' && GETPOST('confirm') == 'yes')
|
||||
{
|
||||
$project = new Project($db);
|
||||
$project->fetch(GETPOST("id"));
|
||||
$result = $project->setClose($user, $conf->projet->outputdir);
|
||||
$result = $project->setClose($user);
|
||||
if ($result <= 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$project->error.'</div>';
|
||||
@@ -199,7 +220,7 @@ if (GETPOST('action') == 'confirm_reopen' && GETPOST('confirm') == 'yes')
|
||||
{
|
||||
$project = new Project($db);
|
||||
$project->fetch(GETPOST("id"));
|
||||
$result = $project->setValid($user, $conf->projet->outputdir);
|
||||
$result = $project->setValid($user);
|
||||
if ($result <= 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$project->error.'</div>';
|
||||
|
||||
Reference in New Issue
Block a user