diff --git a/htdocs/compta/deplacement/deplacement.class.php b/htdocs/compta/deplacement/deplacement.class.php index d5997cd91a36ebeec52f2920e40703304a528252..c3a3b8fa07e54e07fd5aa9ea62f4ccad27fa6c43 100644 --- a/htdocs/compta/deplacement/deplacement.class.php +++ b/htdocs/compta/deplacement/deplacement.class.php @@ -1,6 +1,6 @@ <?php -/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> - * Copyright (C) 2004 Laurent Destailleur <eldy@users.sourceforge.net> +/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,114 +20,145 @@ * $Source$ */ +/** + \file htdocs/compta/deplacement/deplacement.class.php + \ingroup deplacement + \brief Fichier de la classe des deplacements + \version $Revision$ +*/ + class Deplacement { - var $db; - var $id; - var $user; - var $km; - var $note; - - /* - * Initialistation automatique de la classe - */ - function Deplacement($DB) - { - $this->db = $DB; - - return 1; - } - /* - * - */ - function create($user) - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."deplacement (datec, fk_user_author) VALUES (now(), $user->id)"; - - $result = $this->db->query($sql); - if ($result) + var $db; + var $id; + var $user; + var $km; + var $note; + + /* + * Initialistation automatique de la classe + */ + function Deplacement($DB) { - $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."deplacement"); - if ( $this->update($user) ) - { - return $this->id; - } + $this->db = $DB; + + return 1; } - } - /* - * - */ - function update($user) - { - if (strlen($this->km)==0) - $this->km = 0; - - $sql = "UPDATE ".MAIN_DB_PREFIX."deplacement "; - $sql .= " SET km = $this->km"; - $sql .= " , dated = '".$this->db->idate($this->date)."'"; - $sql .= " , fk_user = $this->userid"; - $sql .= " , fk_soc = $this->socid"; - $sql .= " WHERE rowid = ".$this->id; - - $result = $this->db->query($sql); - if ($result) + + /* + * + */ + function create($user) { - return 1; + $this->db->begin(); + + $sql = "INSERT INTO ".MAIN_DB_PREFIX."deplacement (datec, fk_user_author) VALUES (now(), $user->id)"; + + $result = $this->db->query($sql); + if ($result) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."deplacement"); + $result=$this->update($user); + if ($result > 0) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return $result; + } + } + else + { + $this->error=$this->db->error()." sql=".$sql; + $this->db->rollback(); + return -1; + } + } - else + + /* + * + */ + function update($user) { - print $this->db->error(); - print "<br>".$sql; - return 0; + global $langs; + + if (! is_numeric($this->km)) $this->km = 0; + if (! $this->socid) + { + $this->error=$langs->trans("ErrorSocidNotDefined"); + return -1; + } + + $sql = "UPDATE ".MAIN_DB_PREFIX."deplacement "; + $sql .= " SET km = ".$this->km; + $sql .= " , dated = '".$this->db->idate($this->date)."'"; + $sql .= " , fk_user = ".$this->userid; + $sql .= " , fk_soc = ".$this->socid; + $sql .= " WHERE rowid = ".$this->id; + + $result = $this->db->query($sql); + if ($result) + { + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } } - } - /* - * - */ - function fetch ($id) - { - $sql = "SELECT fk_user, km, fk_soc,".$this->db->pdate("dated")." as dated"; - $sql .= " FROM ".MAIN_DB_PREFIX."deplacement WHERE rowid = $id"; - - $result = $this->db->query($sql) ; - - if ( $result ) + + /* + * + */ + function fetch ($id) { - $result = $this->db->fetch_array(); + $sql = "SELECT fk_user, km, fk_soc,".$this->db->pdate("dated")." as dated"; + $sql .= " FROM ".MAIN_DB_PREFIX."deplacement WHERE rowid = $id"; - $this->id = $id; + $result = $this->db->query($sql) ; - $this->date = $result["dated"]; - $this->userid = $result["fk_user"]; - $this->socid = $result["fk_soc"]; - $this->km = $result["km"]; - return 1; - } - else { - print $this->db->error(); - print "<br>".$sql; - } - } - /* - * - */ - function delete($id) - { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."deplacement WHERE rowid = $id"; - - $result = $this->db->query($sql); - if ($result) - { - return 1; + if ( $result ) + { + $result = $this->db->fetch_array(); + + $this->id = $id; + + $this->date = $result["dated"]; + $this->userid = $result["fk_user"]; + $this->socid = $result["fk_soc"]; + $this->km = $result["km"]; + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } } - else + + /* + * + */ + function delete($id) { - return 0; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."deplacement WHERE rowid = ".$id; + + $result = $this->db->query($sql); + if ($result) + { + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } } - } - /* - * - */ } diff --git a/htdocs/compta/deplacement/fiche.php b/htdocs/compta/deplacement/fiche.php index 86a43b69b9a946f94569b88a0aeaed3f8108ea57..2867e2c66d78aaaea198179fef8b72e7c667d8ad 100644 --- a/htdocs/compta/deplacement/fiche.php +++ b/htdocs/compta/deplacement/fiche.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> - * Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> + * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -40,59 +40,60 @@ $mesg = ''; */ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes") { - $deplacement = new Deplacement($db); - $deplacement->delete($_GET["id"]); - Header("Location: index.php"); + $deplacement = new Deplacement($db); + $deplacement->delete($_GET["id"]); + Header("Location: index.php"); + exit; } if ($_POST["action"] == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) { - $deplacement = new Deplacement($db); - - $deplacement->date = mktime(12, 1 , 1, - $_POST["remonth"], - $_POST["reday"], - $_POST["reyear"]); - - $deplacement->km = $_POST["km"]; - $deplacement->socid = $_POST["socid"]; - $deplacement->userid = $user->id; //$_POST["km"]; - $id = $deplacement->create($user); + $deplacement = new Deplacement($db); - if ($id) - { - Header ( "Location: fiche.php?id=".$id); - exit; - } - else - { - dolibarr_print_error($db); - } + $deplacement->date = mktime(12, 1 , 1, + $_POST["remonth"], + $_POST["reday"], + $_POST["reyear"]); + + $deplacement->km = $_POST["km"]; + $deplacement->socid = $_POST["socid"]; + $deplacement->userid = $user->id; //$_POST["km"]; + $id = $deplacement->create($user); + + if ($id > 0) + { + Header ( "Location: fiche.php?id=".$id); + exit; + } + else + { + dolibarr_print_error($db,$deplacement->error); + } } if ($_POST["action"] == 'update' && $_POST["cancel"] <> $langs->trans("Cancel")) { - $deplacement = new Deplacement($db); - $result = $deplacement->fetch($_POST["id"]); - - $deplacement->date = mktime(12, 1 , 1, - $_POST["remonth"], - $_POST["reday"], - $_POST["reyear"]); - - $deplacement->km = $_POST["km"]; - - $result = $deplacement->update($user); - - if ($result > 0) - { - Header ( "Location: fiche.php?id=".$_POST["id"]); - exit; - } - else - { - print $mesg=$langs->trans("ErrorUnknown"); - } + $deplacement = new Deplacement($db); + $result = $deplacement->fetch($_POST["id"]); + + $deplacement->date = mktime(12, 1 , 1, + $_POST["remonth"], + $_POST["reday"], + $_POST["reyear"]); + + $deplacement->km = $_POST["km"]; + + $result = $deplacement->update($user); + + if ($result > 0) + { + Header ( "Location: fiche.php?id=".$_POST["id"]); + exit; + } + else + { + print $mesg=$langs->trans("ErrorUnknown"); + } } @@ -110,9 +111,9 @@ if ($_GET["action"] == 'create') print '<input type="hidden" name="action" value="add">'; print_fiche_titre($langs->trans("NewTrip")); - + print '<table class="border" width="100%">'; - print '<tr><td width="20%">'.$langs->trans("Person").'</td><td>'.$user->fullname.'</td></tr>'; + print '<tr><td width="20%">'.$langs->trans("Person").'</td><td>'.$user->fullname.'</td></tr>'; print "<tr>"; print '<td>'.$langs->trans("CompanyVisited").'</td><td>'; @@ -125,10 +126,10 @@ if ($_GET["action"] == 'create') print '</td></tr>'; print '<tr><td>'.$langs->trans("Kilometers").'</td><td><input name="km" size="10" value=""></td></tr>'; - print '<tr><td> </td><td><input type="submit" value="'.$langs->trans("Save").'"> '; - print '<input type="submit" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>'; + print '<tr><td colspan="2" align="center"><input class="button" type="submit" value="'.$langs->trans("Save").'"> '; + print '<input class="button" type="submit" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>'; print '</table>'; - print '</form>'; + print '</form>'; } else { @@ -137,35 +138,35 @@ else $deplacement = new Deplacement($db); $result = $deplacement->fetch($id); if ($result) - { - + { + if ($mesg) print "$mesg<br>"; if ($_GET["action"] == 'edit') { $h=0; - + $head[$h][0] = DOL_URL_ROOT."/compta/deplacement/fiche.php?id=$deplacement->id"; $head[$h][1] = $langs->trans("TripCard"); - + dolibarr_fiche_head($head, $hselected, $langs->trans("Ref").' '.$deplacement->id); print "<form name='update' action=\"fiche.php\" method=\"post\">\n"; print '<input type="hidden" name="action" value="update">'; print '<input type="hidden" name="id" value="'.$id.'">'; - + print '<table class="border" width="100%">'; $soc = new Societe($db); $soc->fetch($deplacement->socid); - print '<tr><td width="20%">'.$langs->trans("Personn").'</td><td>'.$user->fullname.'</td></tr>'; + print '<tr><td width="20%">'.$langs->trans("Personn").'</td><td>'.$user->fullname.'</td></tr>'; print "<tr>"; print '<td>'.$langs->trans("CompanyVisited").'</td><td>'; print $html->select_societes($soc->id); print '</td></tr>'; - + print '<tr><td>'.$langs->trans("Date").'</td><td>'; print $html->select_date($deplacement->date,'','','','','update'); print '</td></tr>'; @@ -175,27 +176,27 @@ else print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'"></td></tr>'; print '</table>'; print '</form>'; - + print '</div>'; - } + } else { $h=0; - + $head[$h][0] = DOL_URL_ROOT."/compta/deplacement/fiche.php?id=$deplacement->id"; $head[$h][1] = $langs->trans("TripCard"); - + dolibarr_fiche_head($head, $hselected, $langs->trans("Ref").' '.$deplacement->id); - + /* * Confirmation de la suppression du d�placement */ if ($_GET["action"] == 'delete') { - + $html = new Form($db); $html->form_confirm("fiche.php?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete"); - + print '<br>'; } @@ -208,12 +209,12 @@ else print '<tr><td>'.$langs->trans("Date").'</td><td>'; print dolibarr_print_date($deplacement->date); print '</td></tr>'; - print '<tr><td>'.$langs->trans("Kilometers").'</td><td>'.$deplacement->km.'</td></tr>'; + print '<tr><td>'.$langs->trans("Kilometers").'</td><td>'.$deplacement->km.'</td></tr>'; print "</table>"; - + print '</div>'; } - + } else {