diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 5ec65444746..2cd27d6d688 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley * Copyright (C) 2005-2013 Regis Houssin - * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2010-2019 Juanjo Menent * Copyright (C) 2013-2015 Philippe Grand * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2016 Marcos García @@ -831,6 +831,8 @@ if (empty($reshook)) // Auto calculation of date due if not filled by user if(empty($object->date_echeance)) $object->date_echeance = $object->calculate_date_lim_reglement(); + $object->fetch_thirdparty(); + // If creation from another object of another module if (! $error && $_POST['origin'] && $_POST['originid']) { diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index c762b7f65e7..6b1d5e0a07f 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -5,6 +5,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2017 Marcos García * Copyright (C) 2017 Ferran Marcet + * Copyright (C) 2019 Juanjo Menent * * 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 @@ -707,6 +708,27 @@ class Project extends CommonObject $ret = $this->deleteTasks($user); if ($ret < 0) $error++; + + // Delete all child tables + if (! $error) { + $elements = array('categorie_project'); // elements to delete. TODO Make goodway to delete + foreach($elements as $table) + { + if (! $error) { + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$table; + $sql.= " WHERE fk_project = ".$this->id; + + $result = $this->db->query($sql); + if (! $result) { + $error++; + $this->errors[] = $this->db->lasterror(); + } + } + } + } + + + // Delete project if (! $error) { diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index f3da816fabd..816bf1d476a 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -467,7 +467,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $object->project = clone $projectstatic; } - $userWrite = $projectstatic->restrictedProjectArea($user, 'write'); + $userRead = $projectstatic->restrictedProjectArea($user, 'read'); $linktocreatetime = ''; if ($projectstatic->id > 0) @@ -582,9 +582,9 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $linktocreatetimeBtnStatus = 0; $linktocreatetimeUrl = ''; $linktocreatetimeHelpText = ''; - if ($user->rights->projet->all->creer || $user->rights->projet->creer) + if ($user->rights->projet->all->lire || $user->rights->projet->lire) { - if ($projectstatic->public || $userWrite > 0) + if ($projectstatic->public || $userRead > 0) { $linktocreatetimeBtnStatus = 1; @@ -1017,7 +1017,12 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) // Duration - Time spent print ''; - print $form->select_duration('timespent_duration', ($_POST['timespent_duration']?$_POST['timespent_duration']:''), 0, 'text'); + $durationtouse = ($_POST['timespent_duration']?$_POST['timespent_duration']:''); + if (GETPOSTISSET('timespent_durationhour') || GETPOSTISSET('timespent_durationmin')) + { + $durationtouse = (GETPOST('timespent_durationhour') * 3600 + GETPOST('timespent_durationmin') * 60); + } + print $form->select_duration('timespent_duration', $durationtouse, 0, 'text'); print ''; // Progress declared