diff --git a/ChangeLog b/ChangeLog
index 78328ab3ba8..78a71240d19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,8 @@ For users:
- Miscelanous bug fixes.
- A lot of other enhancements to increase productivity.
- All phone numbers show the clicktodial link if module is enabled.
+- Can define hour and minutes in intervention cards.
+- Can edit a validated intervention.
For translators:
- The errors language file contains only error or warning messages with
diff --git a/htdocs/fichinter/fiche.php b/htdocs/fichinter/fiche.php
index 8cbf5ced00a..ac6d883ebb9 100644
--- a/htdocs/fichinter/fiche.php
+++ b/htdocs/fichinter/fiche.php
@@ -74,16 +74,39 @@ if ($_REQUEST['action'] == 'confirm_validate' && $_REQUEST['confirm'] == 'yes')
$fichinter = new Fichinter($db);
$fichinter->id = $_GET["id"];
$fichinter->fetch($_GET["id"]);
-
- $result = $fichinter->valid($user, $conf->fichinter->outputdir);
+
+ $result = $fichinter->setValid($user, $conf->fichinter->outputdir);
if ($result >= 0)
{
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
+ $result=fichinter_create($db, $fichinter, $_REQUEST['model'], $outputlangs);
+ }
+ else
+ {
+ $mesg='
'.$fichinter->error.'
';
+ }
+}
+
+if ($_REQUEST['action'] == 'confirm_modify' && $_REQUEST['confirm'] == 'yes')
+{
+ $fichinter = new Fichinter($db);
+ $fichinter->id = $_GET["id"];
+ $fichinter->fetch($_GET["id"]);
+
+ $result = $fichinter->setDraft($user);
+ if ($result >= 0)
+ {
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
$result=fichinter_create($db, $fichinter, $_REQUEST['model'], $outputlangs);
}
else
@@ -109,7 +132,7 @@ if ($_POST["action"] == 'add')
$result = $fichinter->create();
if ($result > 0)
{
- $_GET["id"]=$result; // Force raffraichissement sur fiche venant d'etre cr��e
+ $_GET["id"]=$result; // Force raffraichissement sur fiche venant d'etre cree
$fichinterid=$result;
}
else
@@ -146,14 +169,14 @@ if ($_REQUEST['action'] == 'builddoc') // En get ou en post
{
$fichinter = new Fichinter($db);
$fichinter->fetch($_GET['id']);
- $fichinter->fetch_lines();
-
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $fichinter->fetch_lines();
+
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
$result=fichinter_create($db, $fichinter, $_REQUEST['model'], $outputlangs);
if ($result <= 0)
{
@@ -204,7 +227,7 @@ if ($_POST['action'] == "addligne" && $user->rights->ficheinter->creer)
$ret=$fichinter->fetch($_POST['fichinterid']);
$desc=$_POST['np_desc'];
- $date_intervention = $db->idate(mktime(12, 1 , 1, $_POST["dimonth"], $_POST["diday"], $_POST["diyear"]));
+ $date_intervention = dolibarr_mktime($_POST["dihour"], $_POST["dimin"], 0, $_POST["dimonth"], $_POST["diday"], $_POST["diyear"]);
$duration = ConvertTime2Seconds($_POST['durationhour'],$_POST['durationmin']);
$fichinter->addline(
@@ -242,19 +265,20 @@ if ($_POST['action'] == 'updateligne' && $user->rights->ficheinter->creer && $_P
exit;
}
$desc=$_POST['desc'];
- $date_intervention = dolibarr_mktime(12, 1 , 1, $_POST["dimonth"], $_POST["diday"], $_POST["diyear"]);
+ $date_intervention = dolibarr_mktime($_POST["dihour"], $_POST["dimin"], 0, $_POST["dimonth"], $_POST["diday"], $_POST["diyear"]);
$duration = ConvertTime2Seconds($_POST['durationhour'],$_POST['durationmin']);
+ $fichinterline->datei=$date_intervention;
$fichinterline->desc=$desc;
$fichinterline->duration=$duration;
$result = $fichinterline->update();
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
fichinter_create($db, $fichinter, $fichinter->modelpdf, $outputlangs);
}
@@ -278,12 +302,12 @@ if ($_GET['action'] == 'deleteline' && $user->rights->ficheinter->creer && !$con
exit;
}
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
fichinter_create($db, $fichinter, $fichinter->modelpdf, $outputlangs);
}
@@ -308,12 +332,12 @@ if ($_REQUEST['action'] == 'confirm_deleteline' && $_REQUEST['confirm'] == 'yes'
exit;
}
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
fichinter_create($db, $fichinter, $fichinter->modelpdf, $outputlangs);
}
Header('Location: '.$_SERVER["PHP_SELF"].'?id='.$_GET['id']);
@@ -330,12 +354,12 @@ if ($_GET['action'] == 'up' && $user->rights->ficheinter->creer)
$fichinter->fetch($_GET['id']);
$fichinter->line_up($_GET['rowid']);
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
fichinter_create($db, $fichinter, $fichinter->modelpdf, $outputlangs);
Header ('Location: '.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'#'.$_GET['rowid']);
exit;
@@ -347,12 +371,12 @@ if ($_GET['action'] == 'down' && $user->rights->ficheinter->creer)
$fichinter->fetch($_GET['id']);
$fichinter->line_down($_GET['rowid']);
- $outputlangs = $langs;
- if (! empty($_REQUEST['lang_id']))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($_REQUEST['lang_id']);
- }
+ $outputlangs = $langs;
+ if (! empty($_REQUEST['lang_id']))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($_REQUEST['lang_id']);
+ }
fichinter_create($db, $fichinter, $fichinter->modelpdf, $outputlangs);
Header ('Location: '.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'#'.$_GET['rowid']);
exit;
@@ -510,27 +534,28 @@ elseif ($_GET["id"] > 0)
dolibarr_fiche_head($head, 'card', $langs->trans("InterventionCard"));
- /*
- * Confirmation de la suppression de la fiche d'intervention
- */
+ // Confirmation de la suppression de la fiche d'intervention
if ($_GET['action'] == 'delete')
{
$html->form_confirm($_SERVER["PHP_SELF"].'?id='.$fichinter->id, $langs->trans('DeleteIntervention'), $langs->trans('ConfirmDeleteIntervention'), 'confirm_delete');
print '
';
}
- /*
- * Confirmation de la validation de la fiche d'intervention
- */
+ // Confirmation de la validation de la fiche d'intervention
if ($_GET['action'] == 'validate')
{
$html->form_confirm($_SERVER["PHP_SELF"].'?id='.$fichinter->id, $langs->trans('ValidateIntervention'), $langs->trans('ConfirmValidateIntervention'), 'confirm_validate');
print '
';
}
- /*
- * Confirmation de la suppression d'une ligne d'intervention
- */
+ // Confirmation de la validation de la fiche d'intervention
+ if ($_GET['action'] == 'modify')
+ {
+ $html->form_confirm($_SERVER["PHP_SELF"].'?id='.$fichinter->id, $langs->trans('ModifyIntervention'), $langs->trans('ConfirmModifyIntervention'), 'confirm_modify');
+ print '
';
+ }
+
+ // Confirmation de la suppression d'une ligne d'intervention
if ($_GET['action'] == 'ask_deleteline' && $conf->global->PRODUIT_CONFIRM_DELETE_LINE)
{
$html->form_confirm($_SERVER["PHP_SELF"].'?id='.$fichinter->id.'&ligne='.$_GET["ligne"], $langs->trans('DeleteInterventionLine'), $langs->trans('ConfirmDeleteInterventionLine'), 'confirm_deleteline');
@@ -663,8 +688,8 @@ elseif ($_GET["id"] > 0)
{
print '';
print '| '.$langs->trans('Description').' | ';
- print ''.$langs->trans('Date').' | ';
- print ''.$langs->trans('Duration').' | ';
+ print ''.$langs->trans('Date').' | ';
+ print ''.$langs->trans('Duration').' | ';
print ' | ';
print "
\n";
}
@@ -682,8 +707,11 @@ elseif ($_GET["id"] > 0)
print ''; // ancre pour retourner sur la ligne
print nl2br($objp->description);
- print ''.dolibarr_print_date($objp->date_intervention,'day').' | ';
- print ''.ConvertSecondToTime($objp->duree).' | ';
+ // Date
+ print ''.dolibarr_print_date($objp->date_intervention,'dayhour').' | ';
+
+ // Duration
+ print ''.ConvertSecondToTime($objp->duree).' | ';
print "\n";
@@ -768,12 +796,12 @@ elseif ($_GET["id"] > 0)
print '';
// Date d'intervention
- print '';
- $html->select_date($objp->date_intervention,'di',0,0,0,"date_intervention");
+ print ' | ';
+ $html->select_date($objp->date_intervention,'di',1,1,0,"date_intervention");
print ' | ';
// Duration
- print '';
+ print ' | ';
$html->select_duree('duration',$objp->duree);
print ' | ';
@@ -803,8 +831,8 @@ elseif ($_GET["id"] > 0)
print '';
print ''; // ancre
print $langs->trans('Description').' | ';
- print ''.$langs->trans('Date').' | ';
- print ''.$langs->trans('Duration').' | ';
+ print ''.$langs->trans('Date').' | ';
+ print ''.$langs->trans('Duration').' | ';
print ' | ';
print "\n";
@@ -832,12 +860,14 @@ elseif ($_GET["id"] > 0)
print '';
// Date d'intervention
- print '';
- $html->select_date(time(),'di',0,0,0,"addinter");
+ print ' | ';
+ $timearray=dolibarr_getdate(mktime());
+ $timewithnohour=dolibarr_mktime(0,0,0,$timearray['mon'],$timearray['mday'],$timearray['year']);
+ $html->select_date($timewithnohour,'di',1,1,0,"addinter");
print ' | ';
// Dur�e
- print '';
+ print ' | ';
$html->select_duree('duration');
print ' | ';
@@ -877,6 +907,22 @@ elseif ($_GET["id"] > 0)
print '>'.$langs->trans("Valid").'';
}
+ // Modify
+ if ($fichinter->statut == 1 && $user->rights->ficheinter->creer)
+ {
+ print 'use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
+ {
+ $url = $_SERVER["PHP_SELF"].'?id='.$fichinter->id.'&action=confirm_modify&confirm=yes';
+ print 'href="#" onClick="dialogConfirm(\''.$url.'\',\''.dol_escape_js($langs->trans('ConfirmModifyIntervention')).'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'validate\')"';
+ }
+ else
+ {
+ print 'href="fiche.php?id='.$_GET["id"].'&action=modify"';
+ }
+ print '>'.$langs->trans("Modify").'';
+ }
+
// Delete
if (($fichinter->statut == 0 && $user->rights->ficheinter->creer) || $user->rights->ficheinter->supprimer)
{
diff --git a/htdocs/fichinter/fichinter.class.php b/htdocs/fichinter/fichinter.class.php
index d28ed6d3da6..3e0c53460e2 100644
--- a/htdocs/fichinter/fichinter.class.php
+++ b/htdocs/fichinter/fichinter.class.php
@@ -19,9 +19,9 @@
*/
/** \file htdocs/fichinter/fichinter.class.php
- \ingroup ficheinter
- \brief Fichier de la classe des gestion des fiches interventions
- \version $Id$
+ * \ingroup ficheinter
+ * \brief Fichier de la classe des gestion des fiches interventions
+ * \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT ."/commonobject.class.php");
@@ -46,9 +46,11 @@ class Fichinter extends CommonObject
var $author;
var $ref;
- var $date;
- var $date_delivery;
+ var $datec;
+ var $datev;
+ var $datem;
var $duree;
+ var $statut; // 0=draft, 1=validated
var $description;
var $note_private;
var $note_public;
@@ -146,7 +148,6 @@ class Fichinter extends CommonObject
* Insertion dans la base
*/
$sql = "UPDATE ".MAIN_DB_PREFIX."fichinter SET ";
- $sql .= " datei = ".$this->db->idate($this->date);
$sql .= ", description = '".addslashes($this->description)."'";
$sql .= ", duree = ".$this->duree;
$sql .= ", fk_projet = ".$this->projet_id;
@@ -171,7 +172,10 @@ class Fichinter extends CommonObject
function fetch($rowid)
{
$sql = "SELECT ref, description, fk_soc, fk_statut,";
- $sql.= " ".$this->db->pdate(datei)." as di, duree, fk_projet, note_public, note_private, model_pdf";
+ $sql.= " ".$this->db->pdate("datec")." as datec,";
+ $sql.= " ".$this->db->pdate("date_valid")." as datev,";
+ $sql.= " ".$this->db->pdate("tms")." as datem,";
+ $sql.= " duree, fk_projet, note_public, note_private, model_pdf";
$sql.= " FROM ".MAIN_DB_PREFIX."fichinter";
$sql.= " WHERE rowid=".$rowid;
@@ -188,8 +192,10 @@ class Fichinter extends CommonObject
$this->description = $obj->description;
$this->socid = $obj->fk_soc;
$this->statut = $obj->fk_statut;
- $this->date = $obj->di;
$this->duree = $obj->duree;
+ $this->datec = $obj->datec;
+ $this->datev = $obj->datev;
+ $this->datem = $obj->datem;
$this->projetidp = $obj->fk_projet;
$this->note_public = $obj->note_public;
$this->note_private = $obj->note_private;
@@ -210,32 +216,24 @@ class Fichinter extends CommonObject
}
/**
- * \brief Valide une fiche intervention
- * \param user User qui valide
- * \return int <0 si ko, >0 si ok
+ * \brief Set status to draft
+ * \return int <0 if KO, >0 if OK
*/
- function valid($user, $outputdir)
+ function setDraft($user)
{
global $langs, $conf;
- $this->db->begin();
-
- $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter";
- $sql.= " SET fk_statut = 1, date_valid=".$this->db->idate(mktime()).", fk_user_valid=".$user->id;
- $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0";
-
- dolibarr_syslog("Fichinter::valid sql=".$sql);
- $resql=$this->db->query($sql);
- if ($resql)
+ if ($this->statut != 0)
{
- // Appel des triggers
- include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
- $interface=new Interfaces($this->db);
- $result=$interface->run_triggers('FICHEINTER_VALIDATE',$this,$user,$langs,$conf);
- if ($result < 0) { $error++; $this->errors=$interface->errors; }
- // Fin appel triggers
-
- if (! $error)
+ $this->db->begin();
+
+ $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter";
+ $sql.= " SET fk_statut = 0";
+ $sql.= " WHERE rowid = ".$this->id;
+
+ dolibarr_syslog("Fichinter::setDraft sql=".$sql);
+ $resql=$this->db->query($sql);
+ if ($resql)
{
$this->db->commit();
return 1;
@@ -243,17 +241,61 @@ class Fichinter extends CommonObject
else
{
$this->db->rollback();
- $this->error=join(',',$this->errors);
- dolibarr_syslog("Fichinter::update ".$this->error,LOG_ERR);
+ $this->error=$this->db->lasterror();
+ dolibarr_syslog("Fichinter::setDraft ".$this->error,LOG_ERR);
return -1;
}
- }
- else
+ }
+ }
+
+ /**
+ * \brief Valide une fiche intervention
+ * \param user User qui valide
+ * \return int <0 if KO, >0 if OK
+ */
+ function setValid($user, $outputdir)
+ {
+ global $langs, $conf;
+
+ if ($this->statut != 1)
{
- $this->db->rollback();
- $this->error=$this->db->lasterror();
- dolibarr_syslog("Fichinter::update ".$this->error,LOG_ERR);
- return -1;
+ $this->db->begin();
+
+ $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter";
+ $sql.= " SET fk_statut = 1, date_valid=".$this->db->idate(mktime()).", fk_user_valid=".$user->id;
+ $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0";
+
+ dolibarr_syslog("Fichinter::setValid sql=".$sql);
+ $resql=$this->db->query($sql);
+ if ($resql)
+ {
+ // Appel des triggers
+ include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
+ $interface=new Interfaces($this->db);
+ $result=$interface->run_triggers('FICHEINTER_VALIDATE',$this,$user,$langs,$conf);
+ if ($result < 0) { $error++; $this->errors=$interface->errors; }
+ // Fin appel triggers
+
+ if (! $error)
+ {
+ $this->db->commit();
+ return 1;
+ }
+ else
+ {
+ $this->db->rollback();
+ $this->error=join(',',$this->errors);
+ dolibarr_syslog("Fichinter::setValid ".$this->error,LOG_ERR);
+ return -1;
+ }
+ }
+ else
+ {
+ $this->db->rollback();
+ $this->error=$this->db->lasterror();
+ dolibarr_syslog("Fichinter::setValid ".$this->error,LOG_ERR);
+ return -1;
+ }
}
}
@@ -810,7 +852,7 @@ class FichinterLigne
$sql.= ' (fk_fichinter, description, date, duree, rang)';
$sql.= " VALUES (".$this->fk_fichinter.",";
$sql.= " '".addslashes($this->desc)."',";
- $sql.= " ".$this->datei.",";
+ $sql.= " ".$this->db->idate($this->datei).",";
$sql.= " ".$this->duration.",";
$sql.= ' '.$rangToUse;
$sql.= ')';
@@ -870,13 +912,15 @@ class FichinterLigne
}
else
{
+ $this->error=$this->db->lasterror();
+ dolibarr_syslog("FichinterLigne::update Error ".$this->error);
$this->db->rollback();
return -1;
}
}
else
{
- $this->error=$this->db->error();
+ $this->error=$this->db->lasterror();
dolibarr_syslog("FichinterLigne::update Error ".$this->error);
$this->db->rollback();
return -1;
diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php
index 12e513b0f0d..c0b7333eea7 100644
--- a/htdocs/fichinter/index.php
+++ b/htdocs/fichinter/index.php
@@ -1,6 +1,6 @@
- * Copyright (C) 2004-2006 Laurent Destailleur
+ * Copyright (C) 2004-2008 Laurent Destailleur
* Copyright (C) 2005-2007 Regis Houssin
*
* This program is free software; you can redistribute it and/or modify
@@ -44,7 +44,7 @@ if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'ficheinter', $fichinterid,'');
if (! $sortorder) $sortorder="DESC";
-if (! $sortfield) $sortfield="f.datei";
+if (! $sortfield) $sortfield="fd.date";
if ($page == -1) { $page = 0 ; }
$limit = $conf->liste_limit;
@@ -60,12 +60,14 @@ $pagenext = $page + 1;
llxHeader();
-$sql = "SELECT s.nom,s.rowid as socid, f.ref, f.rowid as fichid, f.fk_statut,";
-$sql.= " fd.description, ".$db->pdate("fd.date")." as dp, fd.duree";
+$sql = "SELECT";
+$sql.= " f.ref, f.rowid as fichid, f.fk_statut,";
+$sql.= " fd.description, ".$db->pdate("fd.date")." as dp, fd.duree,";
+$sql.= " s.nom,s.rowid as socid";
if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user";
-$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
+$sql.= " FROM (".MAIN_DB_PREFIX."societe as s";
if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
-$sql.= ", ".MAIN_DB_PREFIX."fichinter as f ";
+$sql.= ", ".MAIN_DB_PREFIX."fichinter as f)";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."fichinterdet as fd ON fd.fk_fichinter = f.rowid";
$sql.= " WHERE f.fk_soc = s.rowid ";
if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
@@ -73,7 +75,7 @@ if ($socid > 0)
{
$sql .= " AND s.rowid = " . $socid;
}
-$sql.= " ORDER BY $sortfield $sortorder ";
+$sql.= " ORDER BY ".$sortfield." ".$sortorder;
$sql.= $db->plimit( $limit + 1 ,$offset);
$result=$db->query($sql);
@@ -91,10 +93,10 @@ if ($result)
print "";
print_liste_field_titre($langs->trans("Ref"),"index.php","f.ref","",$urlparam,'width="15%"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Company"),"index.php","s.nom","",$urlparam,'',$sortfield,$sortorder);
- print '| '.$langs->trans("Description").' | ';
- print_liste_field_titre($langs->trans("Date"),"index.php","f.datei","",$urlparam,'align="center"',$sortfield);
- print ''.$langs->trans("Duration").' | ';
- print ''.$langs->trans("Status").' | ';
+ print_liste_field_titre($langs->trans("Description"),"index.php","fd.description","",$urlparam,'',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Date"),"index.php","fd.date","",$urlparam,'align="center"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Duration"),"index.php","fd.duree","",$urlparam,'align="right"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Status"),"index.php","f.fk_statut","",$urlparam,'align="right"',$sortfield,$sortorder);
print "
\n";
$var=True;
$total = 0;
@@ -106,7 +108,7 @@ if ($result)
print "fichid."\">".img_object($langs->trans("Show"),"task").' '.$objp->ref." | \n";
print ''.img_object($langs->trans("ShowCompany"),"company").' '.dolibarr_trunc($objp->nom,44)." | \n";
print ''.nl2br($objp->description).' | ';
- print ''.dolibarr_print_date($objp->dp)." | \n";
+ print ''.dolibarr_print_date($objp->dp,'dayhour')." | \n";
print ''.ConvertSecondToTime($objp->duree).' | ';
print ''.$fichinter_static->LibStatut($objp->fk_statut,5).' | ';
@@ -114,7 +116,7 @@ if ($result)
$total += $objp->duree;
$i++;
}
- print ' | '.$langs->trans("Total").' | ';
+ print '
| '.$langs->trans("Total").' | ';
print ''.ConvertSecondToTime($total).' | | ';
print '
';
diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang
index 46af8bbd58f..e7d35289d1e 100644
--- a/htdocs/langs/en_US/interventions.lang
+++ b/htdocs/langs/en_US/interventions.lang
@@ -16,6 +16,7 @@ ValidateIntervention=Validate intervention
DeleteInterventionLine=Delete intervention line
ConfirmDeleteIntervention=Are you sure you want to delete this intervention ?
ConfirmValidateIntervention=Are you sure you want to validate this intervention ?
+ConfirmModifyIntervention=Are you sure you want to modify this intervention ?
ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line ?
NameAndSignatureOfInternalContact=Name and signature of intervening :
NameAndSignatureOfExternalContact=Name and signature of customer :
diff --git a/htdocs/langs/fr_FR/interventions.lang b/htdocs/langs/fr_FR/interventions.lang
index 54c6cb8cc10..5e325d3ed42 100644
--- a/htdocs/langs/fr_FR/interventions.lang
+++ b/htdocs/langs/fr_FR/interventions.lang
@@ -16,6 +16,7 @@ ValidateIntervention=Valider intervention
DeleteInterventionLine=Supprimer ligne d'intervention
ConfirmDeleteIntervention=Êtes-vous sûr de vouloir effacer cette intervention ?
ConfirmValidateIntervention=Êtes-vous sûr de vouloir valider cette intervention ?
+ConfirmModifyIntervention=Êtes-vous sûr de vouloir modifier cette intervention ?
ConfirmDeleteInterventionLine=Êtes-vous sûr de vouloir effacer cette ligne ?
NameAndSignatureOfInternalContact=Nom et signature de l'intervenant :
NameAndSignatureOfExternalContact=Nom et signature du client :
diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php
index 3a59a77dd97..568c214f435 100644
--- a/htdocs/lib/databases/mysqli.lib.php
+++ b/htdocs/lib/databases/mysqli.lib.php
@@ -528,11 +528,11 @@ class DoliDb
/**
- * \brief Formatage (par la base de donn�es) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS)
- * afin de retourner une donn�e toujours au format universel date TMS unix.
- * Fonction � utiliser pour g�n�rer les SELECT.
+ * \brief Formatage (par la base de donnees) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS)
+ * afin de retourner une donnee toujours au format universel date TMS unix.
+ * Fonction a utiliser pour generer les SELECT.
* \param param Nom champ base de type date ou chaine 'YYYY-MM-DD HH:MM:SS'
- * \return date Date au format TMS.
+ * \return date Date au format TMS.
* \TODO Remove unix_timestamp functions
*/
function pdate($param)
@@ -542,8 +542,8 @@ class DoliDb
/**
* \brief Formatage (par PHP) d'une date vers format texte pour insertion dans champ date.
- * Fonction � utiliser pour g�n�rer les INSERT, UPDATE ou les clauses WHERE
- * \param param Date TMS � convertir
+ * Fonction a utiliser pour generer les INSERT, UPDATE ou les clauses WHERE
+ * \param param Date TMS to convert
* \return date Date au format texte YYYYMMDDHHMMSS.
*/
function idate($param)
diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php
index 108826fdcdc..4abdd9e8a64 100644
--- a/htdocs/lib/functions.lib.php
+++ b/htdocs/lib/functions.lib.php
@@ -646,11 +646,11 @@ function dolibarr_mktime($hour,$minute,$second,$month,$day,$year,$gm=0,$check=1)
/**
- \brief Returns formated date
- \param fmt Format (Exemple: 'Y-m-d H:i:s')
- \param timestamp Date. Exemple: Si timestamp=0 et gm=1, renvoi 01/01/1970 00:00:00
- \param gm 1 if timestamp was built with gmmktime, 0 if timestamp was build with mktime
- \return string Formated date
+ * \brief Returns formated date
+ * \param fmt Format (Exemple: 'Y-m-d H:i:s')
+ * \param timestamp Date. Exemple: Si timestamp=0 et gm=1, renvoi 01/01/1970 00:00:00
+ * \param gm 1 if timestamp was built with gmmktime, 0 if timestamp was build with mktime
+ * \return string Formated date
*/
function dolibarr_date($fmt, $timestamp, $gm=0)
{
@@ -672,8 +672,8 @@ function dolibarr_date($fmt, $timestamp, $gm=0)
/**
- \brief Affiche les informations d'un objet
- \param object objet a afficher
+ * \brief Affiche les informations d'un objet
+ * \param object objet a afficher
*/
function dolibarr_print_object_info($object)
{
diff --git a/mysql/migration/2.4.0-2.5.0.sql b/mysql/migration/2.4.0-2.5.0.sql
index 5cddfb1fc56..219b93ecaec 100644
--- a/mysql/migration/2.4.0-2.5.0.sql
+++ b/mysql/migration/2.4.0-2.5.0.sql
@@ -65,3 +65,5 @@ ALTER TABLE llx_paiementfourn_facturefourn ADD UNIQUE INDEX uk_paiementfourn_fac
update llx_expedition_methode set code='ENL', libelle='Enlevement' where code='enlevement';
update llx_expedition_methode set code='TRANS', libelle='Transporteur' where code='transporteur';
+
+alter table llx_fichinterdet modify date datetime;
diff --git a/mysql/tables/llx_fichinterdet.sql b/mysql/tables/llx_fichinterdet.sql
index 5395ed47e7a..0498367b5f3 100644
--- a/mysql/tables/llx_fichinterdet.sql
+++ b/mysql/tables/llx_fichinterdet.sql
@@ -23,7 +23,7 @@ create table llx_fichinterdet
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
fk_fichinter integer,
- date date, -- date de la ligne d'intervention
+ date datetime, -- date de la ligne d'intervention
description text, -- description de la ligne d'intervention
duree integer, -- duree de la ligne d'intervention
rang integer DEFAULT 0 -- ordre affichage sur la fiche