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