- // First, we obtain report items.
-
- // Obtain session bean with report attributes.
- $bean = new ActionForm('reportBean', new Form('reportForm'));
- $options = ttReportHelper::getReportOptions($bean);
- $report_items = ttReportHelper::getItems($options);
-
- // Prepare ids for time and expense items, at the same time checking
- // if we can proceed with creating a timesheet.
- $canCreateTimesheet = true;
- $first_user_id = null;
-
- foreach ($report_items as $report_item) {
- // Check user id.
- if (!$first_user_id)
- $first_user_id = $report_item['user_id'];
- else {
- if ($report_item['user_id'] != $first_user_id) {
- // We have items for multiple users.
- $canCreateTimesheet = false;
- break;
- }
- }
- // Check timesheet id.
- if ($report_item['timesheet_id']) {
- // We have an item already assigned to a timesheet.
- $canCreateTimesheet = false;
- break;
- }
- if ($report_item['type'] == 1)
- $time_ids[] = $report_item['id'];
- elseif ($report_item['type'] == 2)
- $expense_ids[] = $report_item['id'];
- }
- if (!$canCreateTimesheet) return false;
-
- // Make comma-seperated lists of ids for sql.
- if ($time_ids)
- $comma_separated_time_ids = implode(',', $time_ids);
- if ($expense_ids)
- $comma_separated_expense_ids = implode(',', $expense_ids);
-