diff --git a/ChangeLog b/ChangeLog index bbfdf2e114f..ced0b6dfbfe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -201,7 +201,9 @@ Fix: [ bug #1528 ] Leopard Services numeration module description is not transla Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas Fix: [ bug #1534 ] Unknown error when deleting a product photo under special circumstances Fix: Update impayees.php -Fix: Fix Link product, In list view and label product +Fix: Link product, In list view and label product +Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to. +Fix: When disabled, all fields to add time into task line must be disabled. ***** ChangeLog for 3.5.4 compared to 3.5.3 ***** Fix: Hide title of event when agenda module disabled. diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index dae90ca7538..0037e091973 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -108,8 +108,8 @@ Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\m ; Mysql data files (does not overwrite if exists) Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db" ; Dolibarr -Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php" -Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,xdebug\*" +Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,nltechno*\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php" +Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,vagrant\*,xdebug\*" Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*,images\dolibarr_screenshot2.png,images\dolibarr_screenshot3.png,images\dolibarr_screenshot4.png,images\dolibarr_screenshot5.png,images\dolibarr_screenshot6.png,images\dolibarr_screenshot7.png,images\dolibarr_screenshot8.png,images\dolibarr_screenshot9.png,images\dolibarr_screenshot10.png,images\dolibarr_screenshot11.png,images\dolibarr_screenshot12.png" Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php" Source: "*.*"; DestDir: "{app}\www\dolibarr"; Flags: ignoreversion; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,default.properties,install.lock" diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index fbe462ca0e7..53a607eac57 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -3564,7 +3564,7 @@ if ($action == 'create') // Linked object block $somethingshown = $object->showLinkedObjectBlock(); - if (empty($somethingshown) && ! empty($conf->commande->enabled)) + if (empty($somethingshown) && ! empty($conf->commande->enabled)) { print '
' . $langs->trans('LinkedOrder') . ''; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index bad36b32e2e..355c13bc76f 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2939,7 +2939,7 @@ class Form * Show a form to select a project * * @param int $page Page - * @param int $socid Id third party + * @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id) * @param int $selected Id pre-selected project * @param string $htmlname Name of select field * @return void diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index ce345a44a68..3a4a2dc6035 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -480,7 +480,7 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr if (empty($mine) || ! empty($tasksrole[$lines[$i]->id])) { print "\n"; - + // Project print ""; $projectstatic->id=$lines[$i]->fk_project; @@ -489,14 +489,14 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr $projectstatic->label=$langs->transnoentitiesnoconv("YourRole").': '.$projectsrole[$lines[$i]->fk_project]; print $projectstatic->getNomUrl(1); print ""; - + // Ref print ''; $taskstatic->id=$lines[$i]->id; $taskstatic->ref=$lines[$i]->id; print $taskstatic->getNomUrl(1); print ''; - + // Label task print ""; for ($k = 0 ; $k < $level ; $k++) @@ -507,28 +507,28 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr $taskstatic->ref=$lines[$i]->label; print $taskstatic->getNomUrl(0); print "\n"; - + // Date start print ''; print dol_print_date($lines[$i]->date_start,'dayhour'); print ''; - + // Date end print ''; print dol_print_date($lines[$i]->date_end,'dayhour'); print ''; - + // Planned Workload print ''; if ($lines[$i]->planned_workload) print convertSecondToTime($lines[$i]->planned_workload,'allhourmin'); else print '--:--'; print ''; - + // Progress declared % print ''; print $lines[$i]->progress.' %'; print ''; - + // Time spent print ''; if ($lines[$i]->duration) @@ -539,7 +539,7 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr } else print '--:--'; print "\n"; - + $disabledproject=1;$disabledtask=1; //print "x".$lines[$i]->fk_project; //var_dump($lines[$i]); @@ -555,7 +555,7 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr { $disabledtask=1; } - + print ''; $s =$form->select_date('',$lines[$i]->id,'','','',"addtime",1,0,1,$disabledtask); $s.='   '; @@ -567,10 +567,10 @@ function projectLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksr if ((! $lines[$i]->public) && $disabledproject) print $form->textwithpicto('',$langs->trans("YouAreNotContactOfProject")); else if ($disabledtask) print $form->textwithpicto('',$langs->trans("TaskIsNotAffectedToYou")); print ''; - + print "\n"; } - + $inc++; $level++; if ($lines[$i]->id) projectLinesb($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php index b73d17c8d2b..4f8d6700e35 100644 --- a/htdocs/fourn/facture/fiche.php +++ b/htdocs/fourn/facture/fiche.php @@ -1337,18 +1337,8 @@ if ($action == 'create') $form->select_comptes($fk_account, 'fk_account', 0, '', 1); print ''; - // Project - if (! empty($conf->projet->enabled)) - { - $formproject=new FormProjets($db); - - $langs->load('projects'); - print ''.$langs->trans('Project').''; - $formproject->select_projects(-1, $projectid, 'projectid'); - print ''; - } - - print ''.$langs->trans('NotePublic').''; + // Public note + print ''.$langs->trans('NotePublic').''; print ''; $doleditor = new DolEditor('note_public', GETPOST('note_public'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); @@ -1869,11 +1859,11 @@ else print ''; if ($action == 'classify') { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,'projectid'); + $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$object->socid:'-1', $object->fk_project, 'projectid'); } else { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,'none'); + $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none'); } print ''; print ''; @@ -2253,19 +2243,19 @@ else }); '; - + print ''; } - + print '
'; //print ''; //print '
'; diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index 218e165a195..58fb1b79abf 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -195,7 +195,7 @@ print ''.$langs->trans("ActivityOnProjectThisWeek").''; print ''.$langs->trans("Time").''; print "\n"; -$sql = "SELECT p.rowid, p.ref, p.title, sum(tt.task_duration) as nb"; +$sql = "SELECT p.rowid, p.ref, p.title, SUM(tt.task_duration) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= " , ".MAIN_DB_PREFIX."projet_task as t"; $sql.= " , ".MAIN_DB_PREFIX."projet_task_time as tt"; @@ -248,7 +248,7 @@ print ''.$langs->trans("ActivityOnProjectThisMonth").': '.dol_print_date($no print ''.$langs->trans("Time").''; print "\n"; -$sql = "SELECT p.rowid, p.ref, p.title, sum(tt.task_duration) as nb"; +$sql = "SELECT p.rowid, p.ref, p.title, SUM(tt.task_duration) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= ", ".MAIN_DB_PREFIX."projet_task as t"; $sql.= ", ".MAIN_DB_PREFIX."projet_task_time as tt"; @@ -283,6 +283,10 @@ else { dol_print_error($db); } +print ''; +print ''.$langs->trans('Total').''; +print ''.convertSecondToTime($total).''; +print "\n"; print ""; /* Affichage de la liste des projets de l'annee */ @@ -292,7 +296,7 @@ print ''.$langs->trans("ActivityOnProjectThisYear").': '.strftime("%Y", $now print ''.$langs->trans("Time").''; print "\n"; -$sql = "SELECT p.rowid, p.ref, p.title, sum(tt.task_duration) as nb"; +$sql = "SELECT p.rowid, p.ref, p.title, SUM(tt.task_duration) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= ", ".MAIN_DB_PREFIX."projet_task as t"; $sql.= ", ".MAIN_DB_PREFIX."projet_task_time as tt"; @@ -326,6 +330,10 @@ else { dol_print_error($db); } +print ''; +print ''.$langs->trans('Total').''; +print ''.convertSecondToTime($total).''; +print "\n"; print ""; diff --git a/htdocs/projet/activity/list.php b/htdocs/projet/activity/list.php index 9eebe84bb87..f5b5b2aa456 100644 --- a/htdocs/projet/activity/list.php +++ b/htdocs/projet/activity/list.php @@ -128,6 +128,12 @@ $projectsrole=$taskstatic->getUserRolesForProjectsOrTasks($user,0,($project->id? $tasksrole=$taskstatic->getUserRolesForProjectsOrTasks(0,$user,($project->id?$project->id:$projectsListId),0); +llxHeader("",$title,""); + + +llxHeader("",$title,""); + + llxHeader("",$title,""); print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num); @@ -142,6 +148,16 @@ print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorde dol_fiche_end(); */ +// Filter on user +/* dol_fiche_head(''); + print ''; + print ''; + print '
'.$langs->trans("User").''; + if ($mine) print $user->getLoginUrl(1); + print '
'; + dol_fiche_end(); +*/ + print ''; print ''; print ''; diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 83f3f05c011..7b7441ba570 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -201,9 +201,9 @@ class Project extends CommonObject $sql.= ", fk_soc = " . ($this->socid > 0 ? $this->socid : "null"); $sql.= ", fk_statut = " . $this->statut; $sql.= ", public = " . ($this->public ? 1 : 0); - $sql.= ", datec=" . ($this->date_c != '' ? $this->db->idate($this->date_c) : 'null'); - $sql.= ", dateo=" . ($this->date_start != '' ? $this->db->idate($this->date_start) : 'null'); - $sql.= ", datee=" . ($this->date_end != '' ? $this->db->idate($this->date_end) : 'null'); + $sql.= ", datec=" . ($this->date_c != '' ? "'".$this->db->idate($this->date_c)."'" : 'null'); + $sql.= ", dateo=" . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null'); + $sql.= ", datee=" . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null'); $sql.= " WHERE rowid = " . $this->id; dol_syslog(get_class($this)."::Update", LOG_DEBUG); @@ -263,7 +263,9 @@ class Project extends CommonObject else { $this->error = $this->db->lasterror(); + $this->errors[] = $this->error; $this->db->rollback(); + dol_syslog(get_class($this)."::Update error -2 " . $this->error, LOG_ERR); $result = -2; } } @@ -496,10 +498,9 @@ class Project extends CommonObject $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_extrafields"; $sql.= " WHERE fk_object=" . $this->id; - dol_syslog(get_class($this) . "::delete", LOG_DEBUG); $resql = $this->db->query($sql); - if (!$resql) + if (! $resql) { $this->errors[] = $this->db->lasterror(); $error++; diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 9d09c7c25c6..53559c74333 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -222,13 +222,13 @@ foreach ($listofreferent as $key => $value) $classname=$value['class']; $tablename=$value['table']; $qualified=$value['test']; - + if ($qualified) { print '
'; print_titre($langs->trans($title)); - + $selectList=$formproject->select_element($tablename,$project->societe->id); if (!$selectList || ($selectList<0)) {