Fix: Meilleur gestion erreur sur cration 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,66 +21,68 @@
*
*/
/*!
\file htdocs/project.class.php
\ingroup projet
\brief Fichier de la classe de gestion des projets
\version $Revision$
/**
\file htdocs/project.class.php
\ingroup projet
\brief Fichier de la classe de gestion des projets
\version $Revision$
*/
/*!
/**
\class Project
\brief Classe permettant la gestion des projets
*/
class Project {
var $id;
var $db;
var $ref;
var $title;
var $socidp;
/**
* \brief Constructeur de la classe
* \param DB handler accès base de données
*/
function Project($DB)
{
$this->db = $DB;
$this->societe = new Societe($DB);
}
var $id;
var $db;
var $ref;
var $title;
var $socidp;
/**
* \brief Constructeur de la classe
* \param DB handler accès base de données
*/
function Project($DB)
{
$this->db = $DB;
$this->societe = new Societe($DB);
}
/*
* \brief Crée un projet en base
* \param user id utilisateur qui crée
*/
/*
* \brief Crée un projet en base
* \param user Id utilisateur qui crée
* \return int <0 si ko, id du projet crée si ok
*/
function create($user)
{
if (trim($this->ref))
{
$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()) ;";
if ($this->db->query($sql) )
{
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet");
$result = $this->id;
}
else
{
dolibarr_syslog("Project::Create error -2");
$this->error=$this->db->error();
$result = -2;
}
}
else
{
dolibarr_syslog("Project::Create error -1 ref null");
$result = -1;
}
return $result;
}
function create($user)
{
if (strlen(trim($this->ref)) > 0)
{
$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()) ;";
if ($this->db->query($sql) )
{
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet");
$result = 0;
}
else
{
dolibarr_syslog($this->db->error());
$result = -2;
}
}
else
{
dolibarr_syslog("Project::Create ref null");
$result = -1;
}
return $result;
}
function update($user)
{

View File

@ -38,15 +38,21 @@ if (!$user->rights->projet->lire) accessforbidden();
if ($_POST["action"] == 'add' && $user->rights->projet->creer)
{
$pro = new Project($db);
$pro->socidp = $_GET["socidp"];
$pro->ref = $_POST["ref"];
$pro->title = $_POST["title"];
$result = $pro->create($user);
if ($result == 0)
$pro = new Project($db);
$pro->socidp = $_GET["socidp"];
$pro->ref = $_POST["ref"];
$pro->title = $_POST["title"];
$result = $pro->create($user);
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");
@ -93,6 +100,8 @@ if ($_GET["action"] == 'create' && $user->rights->projet->creer)
{
print_titre($langs->trans("NewProject"));
if ($mesg) print $mesg;
print '<form action="fiche.php?socidp='.$_GET["socidp"].'" method="post">';
print '<table class="border" width="100%">';