From 840b04746820d0732efea6749139f2775d35da99 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Wed, 18 Mar 2015 11:20:08 +0100
Subject: [PATCH] Work on new timesheet input pages.

---
 htdocs/core/lib/project.lib.php    | 22 +++++-----------------
 htdocs/projet/activity/perday.php  |  8 +++++++-
 htdocs/projet/activity/perweek.php |  2 +-
 3 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php
index d353fea2af0..938130a5936 100644
--- a/htdocs/core/lib/project.lib.php
+++ b/htdocs/core/lib/project.lib.php
@@ -506,17 +506,11 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
  * @param   int			$restricteditformytask	0=No restriction, 1=Enable add time only if task is a task i am affected to
  * @return  $inc
  */
-function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0)
+function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0)
 {
 	global $db, $user, $bc, $langs;
 	global $form, $formother, $projectstatic, $taskstatic;
 
-	if (! is_object($formother))
-	{
-		require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
-		$formother = new FormOther($db);
-	}
-
 	$lastprojectid=0;
 
 	$var=true;
@@ -625,7 +619,7 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$
 				print '</td><td align="right">';
 				//$s.='&nbsp;&nbsp;&nbsp;';
 				$s=$form->select_duration($lines[$i]->id.'duration','',$disabledtask,'text',0,1);
-				$s.='&nbsp;<input type="submit" class="button"'.($disabledtask?' disabled="disabled"':'').' value="'.$langs->trans("Add").'">';
+				//$s.='&nbsp;<input type="submit" class="button"'.($disabledtask?' disabled="disabled"':'').' value="'.$langs->trans("Add").'">';
 				print $s;
 				print '</td>';
 
@@ -639,7 +633,7 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$
 
 			$inc++;
 			$level++;
-			if ($lines[$i]->id) projectLinesPerTime($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
+			if ($lines[$i]->id) projectLinesPerDay($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
 			$level--;
 		}
 		else
@@ -668,17 +662,11 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$
  * @param   int			$restricteditformytask	0=No restriction, 1=Enable add time only if task is a task i am affected to
  * @return  $inc
  */
-function projectLinesPerDay(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0)
+function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0)
 {
 	global $db, $user, $bc, $langs;
 	global $form, $formother, $projectstatic, $taskstatic;
 
-	if (! is_object($formother))
-	{
-		require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
-		$formother = new FormOther($db);
-	}
-
 	$lastprojectid=0;
 
 	$var=true;
@@ -805,7 +793,7 @@ function projectLinesPerDay(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$l
 
 			$inc++;
 			$level++;
-			if ($lines[$i]->id) projectLinesPerDay($inc, $firstdaytoshow, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
+			if ($lines[$i]->id) projectLinesPerWeek($inc, $firstdaytoshow, $fuser, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
 			$level--;
 		}
 		else
diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php
index 5dc873cfccc..9c55874a762 100644
--- a/htdocs/projet/activity/perday.php
+++ b/htdocs/projet/activity/perday.php
@@ -29,6 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
 require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php';
 require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
 require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
 
 $langs->load('projects');
 
@@ -127,6 +128,7 @@ if ($action == 'addtime' && $user->rights->projet->creer)
  */
 
 $form=new Form($db);
+$formother = new FormOther($db);
 $projectstatic=new Project($db);
 $project = new Project($db);
 $taskstatic = new Task($db);
@@ -215,7 +217,7 @@ $restricteditformytask=(empty($conf->global->PROJECT_TIME_ON_ALL_TASKS_MY_PROJEC
 if (count($tasksarray) > 0)
 {
 	$j=0;
-	projectLinesPerTime($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
+	projectLinesPerDay($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
 }
 else
 {
@@ -225,6 +227,10 @@ print "</table>";
 
 dol_fiche_end();
 
+print '<div class="center">';
+print '<input type="submit" class="button"'.($disabledtask?' disabled="disabled"':'').' value="'.$langs->trans("Save").'">';
+print '</div>';
+
 print '</form>';
 
 
diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php
index 8a9adc04f17..548210abf7f 100644
--- a/htdocs/projet/activity/perweek.php
+++ b/htdocs/projet/activity/perweek.php
@@ -210,7 +210,7 @@ $restricteditformytask=(empty($conf->global->PROJECT_TIME_ON_ALL_TASKS_MY_PROJEC
 if (count($tasksarray) > 0)
 {
 	$j=0;
-	projectLinesPerDay($j, $firstdaytoshow, $usertoprocess, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
+	projectLinesPerWeek($j, $firstdaytoshow, $usertoprocess, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask);
 
 	print '<tr class="liste_total">
                 <td class="liste_total" colspan="7" align="right">'.$langs->trans("Total").'</td>
-- 
GitLab