X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=reports.php;h=aa492061a4ea06310478508a64f5816effbf0e07;hb=HEAD;hp=d94ee7574904ce1b6571262841cbe21fb6df285b;hpb=9c5d423a2225aefe185f426088e9d19818bca011;p=timetracker.git diff --git a/reports.php b/reports.php index d94ee757..aa492061 100644 --- a/reports.php +++ b/reports.php @@ -58,7 +58,7 @@ if ($user->isPluginEnabled('cf')) { $showCustomFieldCheckbox = $custom_fields->fields[0]; $showCustomFieldDropdown = $custom_fields->fields[0] && $custom_fields->fields[0]['type'] == CustomFields::TYPE_DROPDOWN; if ($showCustomFieldDropdown) - $showCustomFieldDropdown &= count($custom_fields->options) > 0; + $showCustomFieldDropdown &= CustomFields::getOptions($custom_fields->fields[0]['id']); } $form = new Form('reportForm'); @@ -102,7 +102,7 @@ if ($showCustomFieldDropdown) { $form->addInput(array('type'=>'combobox','name'=>'option', 'style'=>'width: 250px;', 'value'=>$cl_cf_1, - 'data'=>$custom_fields->options, + 'data'=>CustomFields::getOptions($custom_fields->fields[0]['id']), 'empty'=>array(''=>$i18n->get('dropdown.all')))); } @@ -216,17 +216,25 @@ if ($showUsers) { if ($user->can('view_reports') || $user->can('view_all_reports')) { $rank = $user->getMaxRankForGroup($user->getGroup()); if ($user->can('view_all_reports')) $max_rank = MAX_RANK; - if ($user->can('view_own_reports')) - $options = array('max_rank'=>$max_rank,'include_self'=>true); - else - $options = array('max_rank'=>$max_rank); - $users = $user->getUsers($options); // Active and inactive users. + if ($user->can('view_own_reports')) { + $options_active = array('max_rank'=>$max_rank,'include_self'=>true,'status'=>ACTIVE); + $options_inactive = array('max_rank'=>$max_rank,'include_self'=>true,'status'=>INACTIVE); + } else { + $options_active = array('max_rank'=>$max_rank,'status'=>ACTIVE); + $options_inactive = array('max_rank'=>$max_rank,'status'=>INACTIVE); + } + $active_users = $user->getUsers($options_active); + $inactive_users = $user->getUsers($options_inactive); + } + elseif ($user->isClient()) { + $options_active = array('status'=>ACTIVE); + $options_inactive = array('status'=>INACTIVE); + $active_users = ttGroupHelper::getUsersForClient($options_active); + $inactive_users = ttGroupHelper::getUsersForClient($options_inactive); } - elseif ($user->isClient()) - $users = ttGroupHelper::getUsersForClient(); // Active and inactive users for clients. - foreach ($users as $single_user) { - $user_list[$single_user['id']] = $single_user['name']; + foreach ($active_users as $single_user) { + $user_list_active[$single_user['id']] = $single_user['name']; $projects = ttProjectHelper::getAssignedProjects($single_user['id']); if ($projects) { foreach ($projects as $single_project) { @@ -234,10 +242,27 @@ if ($showUsers) { } } } - $row_count = ceil(count($user_list)/3); + $row_count = ceil(count($user_list_active)/3); $form->addInput(array('type'=>'checkboxgroup', - 'name'=>'users', - 'data'=>$user_list, + 'name'=>'users_active', + 'data'=>$user_list_active, + 'layout'=>'V', + 'groupin'=>$row_count, + 'style'=>'width: 100%;')); + + foreach ($inactive_users as $single_user) { + $user_list_inactive[$single_user['id']] = $single_user['name']; + $projects = ttProjectHelper::getAssignedProjects($single_user['id']); + if ($projects) { + foreach ($projects as $single_project) { + $assigned_projects[$single_user['id']][] = $single_project['id']; + } + } + } + $row_count = ceil(count($user_list_inactive)/3); + $form->addInput(array('type'=>'checkboxgroup', + 'name'=>'users_inactive', + 'data'=>$user_list_inactive, 'layout'=>'V', 'groupin'=>$row_count, 'style'=>'width: 100%;')); @@ -291,7 +316,7 @@ if ($showTimesheetCheckbox) $form->addInput(array('type'=>'checkbox','name'=>'chtimesheet')); if ($showApproved) $form->addInput(array('type'=>'checkbox','name'=>'chapproved')); -if (isTrue('FILES_DEBUG')) $showFiles = $user->isPluginEnabled('at'); +$showFiles = $user->isPluginEnabled('at'); if ($showFiles) $form->addInput(array('type'=>'checkbox','name'=>'chfiles')); @@ -332,7 +357,7 @@ $bean = new ActionForm('reportBean', $form, $request); if ($request->isGet() && !$bean->isSaved()) { // No previous form data were found in session. Use the following default values. - $form->setValueByElement('users', array_keys($user_list)); + $form->setValueByElement('users_active', array_keys($user_list_active)); $period = new Period(INTERVAL_THIS_MONTH, new DateAndTime($user->getDateFormat())); $form->setValueByElement('start_date', $period->getStartDate()); $form->setValueByElement('end_date', $period->getEndDate()); @@ -374,8 +399,10 @@ if ($request->isPost()) { ttFavReportHelper::loadReport($bean); // If user selected no favorite report - mark all user checkboxes (most probable scenario). - if ($bean->getAttribute('favorite_report') == -1) - $form->setValueByElement('users', array_keys($user_list)); + if ($bean->getAttribute('favorite_report') == -1) { + $form->setValueByElement('users_active', array_keys($user_list_active)); + $form->setValueByElement('users_inactive', false); + } // Save form data in session for future use. $bean->saveBean(); @@ -457,7 +484,8 @@ $smarty->assign('show_invoice_checkbox', $showInvoiceCheckbox); $smarty->assign('show_paid_status', $showPaidStatus); $smarty->assign('show_timesheet_dropdown', $showTimesheetDropdown); $smarty->assign('show_timesheet_checkbox', $showTimesheetCheckbox); -$smarty->assign('show_users', $showUsers); +$smarty->assign('show_active_users', $showUsers && $active_users); +$smarty->assign('show_inactive_users', $showUsers && $inactive_users); $smarty->assign('show_start', $showStart); $smarty->assign('show_finish', $showFinish); $smarty->assign('show_work_units', $showWorkUnits);