Fix: Meilleur gestion erreur sur création projet

This commit is contained in:
Laurent Destailleur 2005-08-14 01:38:12 +00:00
parent 5fcdcc206f
commit a691947a84
2 changed files with 70 additions and 59 deletions

View File

@ -21,14 +21,14 @@
* *
*/ */
/*! /**
\file htdocs/project.class.php \file htdocs/project.class.php
\ingroup projet \ingroup projet
\brief Fichier de la classe de gestion des projets \brief Fichier de la classe de gestion des projets
\version $Revision$ \version $Revision$
*/ */
/*! /**
\class Project \class Project
\brief Classe permettant la gestion des projets \brief Classe permettant la gestion des projets
*/ */
@ -52,12 +52,12 @@ class Project {
/* /*
* \brief Crée un projet en base * \brief Crée un projet en base
* \param user id utilisateur qui crée * \param user Id utilisateur qui crée
* \return int <0 si ko, id du projet crée si ok
*/ */
function create($user) function create($user)
{ {
if (strlen(trim($this->ref)) > 0) if (trim($this->ref))
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."projet (ref, title, fk_soc, fk_user_creat, dateo) "; $sql = "INSERT INTO ".MAIN_DB_PREFIX."projet (ref, title, fk_soc, fk_user_creat, dateo) ";
$sql .= " VALUES ('$this->ref', '$this->title', $this->socidp, ".$user->id.",now()) ;"; $sql .= " VALUES ('$this->ref', '$this->title', $this->socidp, ".$user->id.",now()) ;";
@ -65,23 +65,25 @@ class Project {
if ($this->db->query($sql) ) if ($this->db->query($sql) )
{ {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet"); $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet");
$result = 0; $result = $this->id;
} }
else else
{ {
dolibarr_syslog($this->db->error()); dolibarr_syslog("Project::Create error -2");
$this->error=$this->db->error();
$result = -2; $result = -2;
} }
} }
else else
{ {
dolibarr_syslog("Project::Create ref null"); dolibarr_syslog("Project::Create error -1 ref null");
$result = -1; $result = -1;
} }
return $result; return $result;
} }
function update($user) function update($user)
{ {
if (strlen(trim($this->ref)) > 0) if (strlen(trim($this->ref)) > 0)

View File

@ -44,9 +44,15 @@ if ($_POST["action"] == 'add' && $user->rights->projet->creer)
$pro->title = $_POST["title"]; $pro->title = $_POST["title"];
$result = $pro->create($user); $result = $pro->create($user);
if ($result == 0) if ($result > 0)
{ {
Header("Location:fiche.php?id=".$pro->id); Header("Location:fiche.php?id=".$pro->id);
exit;
}
else
{
$mesg='<div class="error">'.$pro->error.'</div>';
$_GET["action"] = 'create';
} }
} }
@ -86,6 +92,7 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes" && $user-
} }
} }
llxHeader("",$langs->trans("Project"),"Projet"); llxHeader("",$langs->trans("Project"),"Projet");
@ -93,6 +100,8 @@ if ($_GET["action"] == 'create' && $user->rights->projet->creer)
{ {
print_titre($langs->trans("NewProject")); print_titre($langs->trans("NewProject"));
if ($mesg) print $mesg;
print '<form action="fiche.php?socidp='.$_GET["socidp"].'" method="post">'; print '<form action="fiche.php?socidp='.$_GET["socidp"].'" method="post">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';