* Copyright (C) 2004-2007 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_once(DOL_DOCUMENT_ROOT."/fichinter/fichinter.class.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/fichinter/modules_fichinter.php"); require_once(DOL_DOCUMENT_ROOT."/project.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/fichinter.lib.php"); if (defined("FICHEINTER_ADDON") && is_readable(DOL_DOCUMENT_ROOT ."/includes/modules/fichinter/mod_".FICHEINTER_ADDON.".php")) { require_once(DOL_DOCUMENT_ROOT ."/includes/modules/fichinter/mod_".FICHEINTER_ADDON.".php"); } $langs->load("companies"); $langs->load("interventions"); if ($_GET["socid"]) { $societe=new Societe($db); $societe->fetch($_GET["socid"]); } // Sécurité accés client $user->getrights("ficheinter"); if (!$user->rights->ficheinter->lire) accessforbidden(); if ($user->societe_id > 0) { $action = ''; $socid = $user->societe_id; } if ($_GET["id"]) { $fichinter = new Fichinter($db); $result=$fichinter->fetch($_GET["id"]); if (! $result > 0) { dolibarr_print_error($db); exit; } if ($user->societe_id > 0 && $fichinter->socid <> $user->societe_id) accessforbidden(); } /* * Traitements des actions */ if ($_REQUEST["action"] != 'create' && $_REQUEST["action"] != 'add' && ! $_REQUEST["id"] > 0) { Header("Location: index.php"); return; } if ($_GET["action"] == 'valid') { $fichinter = new Fichinter($db); $fichinter->id = $_GET["id"]; $result=$fichinter->valid($user, $conf->fichinter->outputdir); if ($result < 0) $mesg='
'.$fichinter->error.'
'; } if ($_POST["action"] == 'add') { $fichinter = new Fichinter($db); $fichinter->date = $db->idate(dolibarr_mktime(12, 1 , 1, $_POST["pmonth"], $_POST["pday"], $_POST["pyear"])); $fichinter->socid = $_POST["socid"]; $fichinter->duree = $_POST["duree"]; $fichinter->projet_id = $_POST["projetidp"]; $fichinter->author = $user->id; $fichinter->note = $_POST["note"]; $fichinter->ref = $_POST["ref"]; $result = $fichinter->create(); if ($result > 0) { $_GET["id"]=$result; // Force raffraichissement sur fiche venant d'etre créée } else { $mesg='
'.$fichinter->error.'
'; } } if ($_POST["action"] == 'update') { $fichinter = new Fichinter($db); $fichinter->date = $db->idate(mktime(12, 1 , 1, $_POST["remonth"], $_POST["reday"], $_POST["reyear"])); $fichinter->socid = $_POST["socid"]; $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 } /* * Générer ou regénérer le document PDF */ if ($_REQUEST['action'] == 'builddoc') // En get ou en post { if ($_REQUEST['lang_id']) { $outputlangs = new Translate(DOL_DOCUMENT_ROOT ."/langs",$conf); $outputlangs->setDefaultLang($_REQUEST['lang_id']); } $result=fichinter_pdf_create($db, $_REQUEST['id'], $_REQUEST['model'], $outputlangs); if ($result <= 0) { dolibarr_print_error($db,$result); exit; } } /* * Affichage page */ $html = new Form($db); llxHeader(); if ($_GET["action"] == 'create') { /* * Mode creation * Creation d'une nouvelle fiche d'intervention */ print_titre($langs->trans("AddIntervention")); if (! $conf->global->FICHEINTER_ADDON) { dolibarr_print_error($db,$langs->trans("Error")." ".$langs->trans("Error_FICHEINTER_ADDON_NotDefined")); exit; } $fix = new Fichinter($db); $file = "mod_".$conf->global->FICHEINTER_ADDON.".php"; $obj = "mod_".$conf->global->FICHEINTER_ADDON; $modFicheinter = new $obj; $numpr = $modFicheinter->getNextValue($societe); print "
"; $smonth = 1; $syear = date("Y", time()); print ''; print ''; print ""; print ""; print ""; print ""; print "\n"; print "\n"; if ($conf->projet->enabled) { // Projet associe $langs->load("project"); print ''; print ''; print "'; print ''; print '
".$langs->trans("Company")."".$societe->getNomUrl(1)."
".$langs->trans("Date").""; $html->select_date(time(),"p",'','','','fichinter'); 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. '; $user->getrights("projet"); if ($user->rights->projet->creer) { print ''.$langs->trans("Add").''; } } } print '
'.$langs->trans("Description").'"; if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_SOCIETE) { // Editeur wysiwyg require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); $doleditor=new DolEditor('note','',280,'dolibarr_notes','In',true); $doleditor->Create(); } else { print ''; } print '
'; print ''; print '
'; print '
'; } elseif ($_GET["action"] == 'edit' && $_GET["id"] > 0) { /* * * Mode update * Mise a jour de la fiche d'intervention * */ $fichinter = new Fichinter($db); $fichinter->fetch($_GET["id"]); $fichinter->fetch_client(); $head = fichinter_prepare_head($fichinter); dolibarr_fiche_head($head, 'card', $langs->trans("EditIntervention")); print "
"; print ""; print ""; print ''; // Ref print ''; // Tiers print ""; // Date print ""; print ''; if ($conf->projet->enabled) { // Projet associé print ''; } // Description print ''; print ''; print ''; print "
'.$langs->trans("Ref").''.$fichinter->ref.'
".$langs->trans("Company")."".$fichinter->client->getNomUrl(1)."
".$langs->trans("Date").""; $html->select_date($fichinter->date,'','','','','update'); print "
'.$langs->trans("Duration")." (".$langs->trans("days").')
'.$langs->trans("Project").''; $html->select_projects($fichinter->societe_id,$fichinter->projet_id,"projetidp"); print '
'.$langs->trans("Description").''; if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_SOCIETE) { // Editeur wysiwyg require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); $doleditor=new DolEditor('note',$fichinter->note,280,'dolibarr_notes','In',true); $doleditor->Create(); } else { print ''; } print '
'; print ''; print '
\n"; print '
'; print ''; } elseif ($_GET["id"] > 0) { /* * Affichage en mode visu */ $fichinter = new Fichinter($db); $result=$fichinter->fetch($_GET["id"]); if (! $result > 0) { dolibarr_print_error($db); exit; } $fichinter->fetch_client(); if ($mesg) print $mesg."
"; $head = fichinter_prepare_head($fichinter); dolibarr_fiche_head($head, 'card', $langs->trans("InterventionCard")); print ''; // Ref print ''; // Societe print ""; // Date print ''; // Durée print ''; if ($conf->projet->enabled) { $fichinter->fetch_projet(); print ''; } // Statut print ''; // Description print ''; print ''; print "
'.$langs->trans("Ref").''.$fichinter->ref.'
".$langs->trans("Company")."".$fichinter->client->getNomUrl(1)."
'.$langs->trans("Date").''.dolibarr_print_date($fichinter->date,"%A %d %B %Y").'
'.$langs->trans("Duration").''.$fichinter->duree.'
'.$langs->trans("Project").''.$fichinter->projet->title.'
'.$langs->trans("Status").''.$fichinter->getLibStatut(4).'
'.$langs->trans("Description").''; print nl2br($fichinter->note); print '
"; print ''; /** * Barre d'actions * */ print '
'; if ($user->societe_id == 0) { if ($fichinter->statut == 0) { print ''.$langs->trans("Edit").''; } if ($fichinter->statut == 0) { print ''.$langs->trans("Valid").''; } } print '
'; print '"; print "
'; /* * Documents générés */ $filename=sanitize_string($fichinter->ref); $filedir=$conf->fichinter->dir_output . "/".$fichinter->ref; $urlsource=$_SERVER["PHP_SELF"]."?id=".$fichinter->id; $genallowed=$user->rights->fichinter->creer; $delallowed=$user->rights->fichinter->supprimer; $genallowed=1; $delallowed=0; $var=true; print "
\n"; $somethingshown=$html->show_documents('ficheinter',$filename,$filedir,$urlsource,$genallowed,$delallowed,$ficheinter->modelpdf); print "
"; print " 
\n"; } $db->close(); llxFooter('$Date$ - $Revision$'); ?>