|
|
|
|
@@ -158,36 +158,6 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|
|
|
|
$massaction = '';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Definition of fields for list
|
|
|
|
|
$arrayfields = array();
|
|
|
|
|
$arrayfields['t.element_date'] = array('label'=>$langs->trans("Date"), 'checked'=>1);
|
|
|
|
|
$arrayfields['p.fk_soc'] = array('label'=>$langs->trans("ThirdParty"), 'type'=>'integer:Societe:/societe/class/societe.class.php:1','checked'=>1);
|
|
|
|
|
$arrayfields['s.name_alias'] = array('label'=>$langs->trans("AliasNameShort"), 'type'=>'integer:Societe:/societe/class/societe.class.php:1');
|
|
|
|
|
if ((empty($id) && empty($ref)) || !empty($projectidforalltimes)) { // Not a dedicated task
|
|
|
|
|
if (! empty($allprojectforuser)) {
|
|
|
|
|
$arrayfields['p.project_ref'] = ['label' => $langs->trans('RefProject'), 'checked' => 1];
|
|
|
|
|
$arrayfields['p.project_label'] = ['label' => $langs->trans('ProjectLabel'), 'checked' => 1];
|
|
|
|
|
}
|
|
|
|
|
$arrayfields['t.element_ref'] = array('label'=>$langs->trans("RefTask"), 'checked'=>1);
|
|
|
|
|
$arrayfields['t.element_label'] = array('label'=>$langs->trans("LabelTask"), 'checked'=>1);
|
|
|
|
|
}
|
|
|
|
|
$arrayfields['author'] = array('label' => $langs->trans("By"), 'checked' => 1);
|
|
|
|
|
$arrayfields['t.note'] = array('label' => $langs->trans("Note"), 'checked' => 1);
|
|
|
|
|
if (!getDolGlobalInt('PROJECT_HIDE_TASKS') && getDolGlobalInt('PROJECT_BILL_TIME_SPENT') && !$projectstatic->usage_bill_time ) {
|
|
|
|
|
$projectstatic->usage_bill_time=1;
|
|
|
|
|
}
|
|
|
|
|
if (isModEnabled('service') && !empty($projectstatic->thirdparty) && $projectstatic->thirdparty->id > 0 && $projectstatic->usage_bill_time) {
|
|
|
|
|
$arrayfields['t.fk_product'] = array('label' => $langs->trans("Product"), 'checked' => 1);
|
|
|
|
|
}
|
|
|
|
|
$arrayfields['t.element_duration'] = array('label'=>$langs->trans("Duration"), 'checked'=>1);
|
|
|
|
|
$arrayfields['value'] = array('label'=>$langs->trans("Value"), 'checked'=>1, 'enabled'=>isModEnabled("salaries"));
|
|
|
|
|
$arrayfields['valuebilled'] = array('label'=>$langs->trans("Billed"), 'checked'=>1, 'enabled'=>(((getDolGlobalInt('PROJECT_HIDE_TASKS') || !getDolGlobalInt('PROJECT_BILL_TIME_SPENT')) ? 0 : 1) && $projectstatic->usage_bill_time));
|
|
|
|
|
// Extra fields
|
|
|
|
|
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_array_fields.tpl.php';
|
|
|
|
|
|
|
|
|
|
$arrayfields = dol_sort_array($arrayfields, 'position');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$parameters = array('socid' => $socid, 'projectid' => $projectid);
|
|
|
|
|
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
|
|
|
|
if ($reshook < 0) {
|
|
|
|
|
@@ -1296,7 +1266,31 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0 || $allprojectforuser
|
|
|
|
|
// Print form confirm
|
|
|
|
|
print $formconfirm;
|
|
|
|
|
|
|
|
|
|
// Definition of fields for list
|
|
|
|
|
$arrayfields = array();
|
|
|
|
|
$arrayfields['t.element_date'] = array('label'=>$langs->trans("Date"), 'checked'=>1);
|
|
|
|
|
$arrayfields['p.fk_soc'] = array('label'=>$langs->trans("ThirdParty"), 'type'=>'integer:Societe:/societe/class/societe.class.php:1','checked'=>1);
|
|
|
|
|
$arrayfields['s.name_alias'] = array('label'=>$langs->trans("AliasNameShort"), 'type'=>'integer:Societe:/societe/class/societe.class.php:1');
|
|
|
|
|
if ((empty($id) && empty($ref)) || !empty($projectidforalltimes)) { // Not a dedicated task
|
|
|
|
|
if (! empty($allprojectforuser)) {
|
|
|
|
|
$arrayfields['p.project_ref'] = ['label' => $langs->trans('RefProject'), 'checked' => 1];
|
|
|
|
|
$arrayfields['p.project_label'] = ['label' => $langs->trans('ProjectLabel'), 'checked' => 1];
|
|
|
|
|
}
|
|
|
|
|
$arrayfields['t.element_ref'] = array('label'=>$langs->trans("RefTask"), 'checked'=>1);
|
|
|
|
|
$arrayfields['t.element_label'] = array('label'=>$langs->trans("LabelTask"), 'checked'=>1);
|
|
|
|
|
}
|
|
|
|
|
$arrayfields['author'] = array('label' => $langs->trans("By"), 'checked' => 1);
|
|
|
|
|
$arrayfields['t.note'] = array('label' => $langs->trans("Note"), 'checked' => 1);
|
|
|
|
|
if (isModEnabled('service') && !empty($projectstatic->thirdparty) && $projectstatic->thirdparty->id > 0 && $projectstatic->usage_bill_time) {
|
|
|
|
|
$arrayfields['t.fk_product'] = array('label' => $langs->trans("Product"), 'checked' => 1);
|
|
|
|
|
}
|
|
|
|
|
$arrayfields['t.element_duration'] = array('label'=>$langs->trans("Duration"), 'checked'=>1);
|
|
|
|
|
$arrayfields['value'] = array('label'=>$langs->trans("Value"), 'checked'=>1, 'enabled'=>isModEnabled("salaries"));
|
|
|
|
|
$arrayfields['valuebilled'] = array('label'=>$langs->trans("Billed"), 'checked'=>1, 'enabled'=>(((getDolGlobalInt('PROJECT_HIDE_TASKS') || !getDolGlobalInt('PROJECT_BILL_TIME_SPENT')) ? 0 : 1) && $projectstatic->usage_bill_time));
|
|
|
|
|
// Extra fields
|
|
|
|
|
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_array_fields.tpl.php';
|
|
|
|
|
|
|
|
|
|
$arrayfields = dol_sort_array($arrayfields, 'position');
|
|
|
|
|
|
|
|
|
|
$param = '';
|
|
|
|
|
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|
|
|
|
@@ -1840,8 +1834,8 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0 || $allprojectforuser
|
|
|
|
|
|
|
|
|
|
if (isModEnabled("service") && !empty($projectstatic->thirdparty) && $projectstatic->thirdparty->id > 0 && $projectstatic->usage_bill_time) {
|
|
|
|
|
print '<td class="nowraponall">';
|
|
|
|
|
print img_picto('', 'product');
|
|
|
|
|
print $form->select_produits('', 'fk_product', '1', 0, $projectstatic->thirdparty->price_level, 1, 2, '', 1, array(), $projectstatic->thirdparty->id, 'None', 0, 'maxwidth150', 0, '', null, 1);
|
|
|
|
|
print img_picto('', 'service');
|
|
|
|
|
print $form->select_produits((GETPOSTISSET('fk_product')?GETPOST("fk_product", 'int'):''), 'fk_product', '1', 0, $projectstatic->thirdparty->price_level, 1, 2, '', 1, array(), $projectstatic->thirdparty->id, 'None', 0, 'maxwidth150', 0, '', null, 1);
|
|
|
|
|
print '</td>';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -2345,9 +2339,10 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0 || $allprojectforuser
|
|
|
|
|
|
|
|
|
|
// Product
|
|
|
|
|
if (!empty($arrayfields['t.fk_product']['checked'])) {
|
|
|
|
|
print '<td class="nowraponall tdoverflowmax125">';
|
|
|
|
|
print '<td class="nowraponall">';
|
|
|
|
|
if ($action == 'editline' && $_GET['lineid'] == $task_time->rowid) {
|
|
|
|
|
$form->select_produits($task_time->fk_product, 'fk_product', '1', 0, $projectstatic->thirdparty->price_level, 1, 2, '', 0, array(), $projectstatic->thirdparty->id, 'None', 0, 'maxwidth500');
|
|
|
|
|
print img_picto('', 'service');
|
|
|
|
|
print $form->select_produits($task_time->fk_product, 'fk_product', '1', 0, $projectstatic->thirdparty->price_level, 1, 2, '', 1, array(), $projectstatic->thirdparty->id, 'None', 0, 'maxwidth500', 0, '', null, 1);
|
|
|
|
|
} elseif (!empty($task_time->fk_product)) {
|
|
|
|
|
$product = new Product($db);
|
|
|
|
|
$resultFetch = $product->fetch($task_time->fk_product);
|
|
|
|
|
|