* Copyright (C) 2004-2005 Laurent Destailleur * * 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 * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ * $Source$ */ /** \file htdocs/fichinter/fiche.php \brief Fichier fiche intervention \ingroup ficheinter \version $Revision$ */ require("./pre.inc.php"); require("./fichinter.class.php"); require("../project.class.php"); /* * Sécurité accés client */ if ($user->societe_id > 0) { $action = ''; $socidp = $user->societe_id; } if ($_GET["socidp"]) { $sql = "SELECT s.nom, s.idp, s.prefix_comm FROM ".MAIN_DB_PREFIX."societe as s WHERE s.idp = ".$_GET["socidp"]; $result = $db->query($sql); if ($result) { if ( $db->num_rows() ) { $objsoc = $db->fetch_object($result); } $db->free(); } else { dolibarr_print_error($db); } } llxHeader(); /* * Traitements des actions * * */ if ($_GET["action"] == 'valid') { $fichinter = new Fichinter($db); $fichinter->id = $_GET["id"]; $fichinter->valid($user->id, $conf->fichinter->outputdir); } if ($_POST["action"] == 'add') { $fichinter = new Fichinter($db); $fichinter->date = $db->idate(mktime(12, 1 , 1, $_POST["pmonth"], $_POST["pday"], $_POST["pyear"])); $fichinter->socidp = $_POST["socidp"]; $fichinter->duree = $_POST["duree"]; $fichinter->projet_id = $_POST["projetidp"]; $fichinter->author = $user->id; $fichinter->note = $_POST["note"]; $fichinter->ref = $_POST["ref"]; $id = $fichinter->create(); $_GET["id"]=$id; // Force raffraichissement sur fiche venant d'etre créée } if ($_POST["action"] == 'update') { $fichinter = new Fichinter($db); $fichinter->date = $db->idate(mktime(12, 1 , 1, $_POST["remonth"], $_POST["reday"], $_POST["reyear"])); $fichinter->socidp = $_POST["socidp"]; $fichinter->duree = $_POST["duree"]; $fichinter->projet_id = $_POST["projetidp"]; $fichinter->author = $user->id; $fichinter->note = $_POST["note"]; $fichinter->ref = $_POST["ref"]; $fichinter->update($_POST["id"]); $_GET["id"]=$_POST["id"]; // Force raffraichissement sur fiche venant d'etre créée } /* * * Generation du pdf * */ if ($_GET["action"] == 'generate' && $_GET["id"]) { fichinter_pdf_create($db, $_GET["id"]); $mesg = "PDF généré"; } /* * * Mode creation * Creation d'une nouvelle fiche d'intervention * */ if ($_GET["action"] == 'create') { print_titre("Création d'une fiche d'intervention"); if ( $objsoc->prefix_comm ) { $numpr = "FI-" . $objsoc->prefix_comm . "-" . strftime("%y%m%d", time()); $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."propal WHERE ref like '$numpr%'"; if ( $db->query($sql) ) { $num = $db->result(0, 0); $db->free(); if ($num > 0) { $numpr .= "." . ($num + 1); } } $fix = new Fichinter($db); $numpr = $fix->get_new_num($objsoc->prefix_comm); print "
"; $strmonth[1] = "Janvier"; $strmonth[2] = "Février"; $strmonth[3] = "Mars"; $strmonth[4] = "Avril"; $strmonth[5] = "Mai"; $strmonth[6] = "Juin"; $strmonth[7] = "Juillet"; $strmonth[8] = "Août"; $strmonth[9] = "Septembre"; $strmonth[10] = "Octobre"; $strmonth[11] = "Novembre"; $strmonth[12] = "Décembre"; $smonth = 1; $syear = date("Y", time()); print ''; print ''; print ""; print ""; print ""; print "\n"; print "\n"; if ($conf->projet->enabled) { // Projet associé $langs->load("project"); print ''; print ''; print "'; print ''; print '
".$langs->trans("Company")."".$objsoc->nom."
".$langs->trans("Date").""; $cday = date("d", time()); print ""; $cmonth = date("n", time()); print ""; print "
".$langs->trans("Ref")."
".$langs->trans("Duration")." (".$langs->trans("days").")
'.$langs->trans("Project").''; if ($numprojet==0) { print 'Cette société n\'a pas de projet. '; print ''.$langs->trans("Add").''; } } print '
'.$langs->trans("Description").'"; print '
'; print "trans("Add")."\">"; print '
'; print '
'; } else { print "Vous devez d'abord associer un prefixe commercial a cette societe" ; } } /* * * Mode update * Mise a jour de la fiche d'intervention * */ if ($_GET["action"] == 'edit') { $fichinter = new Fichinter($db); $fichinter->fetch($_GET["id"]); /* * Initialisation de la liste des projets */ $prj = new Project($db); $listeprj = $prj->liste_array($fichinter->societe_id); print_titre("Mettre à jour Fiche d'intervention"); print "
"; print ""; print ""; print ''; print ""; print ''; print ''; if ($conf->projet->enabled) { // Projet associé print ''; } print ''; print ''; print ''; print "
".$langs->trans("Date").""; /* * set $reday, $remonth, $reyear */ print_date_select($fichinter->date); print "
'.$langs->trans("Ref").''.$fichinter->ref.'
'.$langs->trans("Duration")." (".$langs->trans("days").')
'.$langs->trans("Project").''; $sel = new Form($db); $sel->select_array("projetidp",$listeprj,$fichinter->projet_id); if (sizeof($listeprj) == 0) { print 'Cette société n\'a pas de projet. '; print 'Créer un projet'; } print '
'.$langs->trans("Description").''; print '
'; print "trans("Save")."\">"; print '
"; print "
"; } /* * Mode visu * */ if ($_GET["id"] && $_GET["action"] != 'edit') { print_fiche_titre("Fiche d'intervention",$mesg); $fichinter = new Fichinter($db); if ($fichinter->fetch($_GET["id"])) { $fichinter->fetch_client(); print ''; print ''; print ''; print ''; print ''; if ($conf->projet->enabled) { $fichinter->fetch_projet(); print ''; } print ''; print ''; print ''; print "
'.$langs->trans("Company").''.$fichinter->client->nom.'
Date'.strftime("%A %d %B %Y",$fichinter->date).'
'.$langs->trans("Ref").''.$fichinter->ref.'
'.$langs->trans("Duration").''.$fichinter->duree.'
'.$langs->trans("Ref").''.$fichinter->projet.'
'.$langs->trans("Description").''; print nl2br($fichinter->note); print '
"; /* * Barre d'actions * */ print '
'; print '
'; if ($user->societe_id == 0) { if ($fichinter->statut == 0) { print ''.$langs->trans("Edit").''; } $file = $conf->ficheinter->dir_output . "/$fichinter->ref/$fichinter->ref.pdf"; if ($fichinter->statut == 0 or !file_exists($file)) { $langs->load("bills"); print ''.$langs->trans("BuildPDF").''; } if ($fichinter->statut == 0) { print ''.$langs->trans("Valid").''; } } print '
'; print '
'; print '
'; print_titre("Documents générés"); print ''; $file = $conf->ficheinter->dir_output . "/$fichinter->ref/$fichinter->ref.pdf"; $relativepath="$fichinter->ref/$fichinter->ref.pdf"; $var=true; if (file_exists($file)) { print ""; print ''; print ''; print ''; } print "
Ficheinter PDF'.$fichinter->ref.'.pdf'.filesize($file). ' bytes'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'
\n"; } else { print "Fiche inexistante"; } } $db->close(); llxFooter(); ?>