/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */
function smarty_function_htmlReportSort($params, &$smarty)
{
    require_once $smarty->_get_plugin_filepath('function', 'html_options');
    $filter_data = $params['filter_data'];
    $retval .= '<tr onClick="showHelpEntry(\'sort\')">
    <td colspan="2" class="cellLeftEditTableHeader">
        ' . TTi18n::gettext('Sort By:') . '
    </td>
    <td class="cellRightEditTable">
        <select id="columns" name="filter_data[primary_sort]">
            {html_options options=$filter_data.sort_options selected=$filter_data.primary_sort}
            ' . smarty_function_html_options(array('options' => $filter_data['sort_options'], 'selected' => $filter_data['primary_sort']), $smarty) . '            
        </select>
        <select id="columns" name="filter_data[primary_sort_dir]">
            ' . smarty_function_html_options(array('options' => $filter_data['sort_direction_options'], 'selected' => $filter_data['primary_sort_dir']), $smarty) . '            
        </select>
        <b>' . TTi18n::gettext('then:') . '</b>
        <select id="columns" name="filter_data[secondary_sort]">
            ' . smarty_function_html_options(array('options' => $filter_data['sort_options'], 'selected' => $filter_data['secondary_sort']), $smarty) . '            
        </select>
        <select id="columns" name="filter_data[secondary_sort_dir]">
            ' . smarty_function_html_options(array('options' => $filter_data['sort_direction_options'], 'selected' => $filter_data['secondary_sort_dir']), $smarty) . '                        
        </select>

    </td>
</tr>
';
    return $retval;
}
Esempio n. 2
0
 static function getByFuzzyValue($value, $options, $value_is_translated = TRUE)
 {
     // I18n: Calling gettext on the value here enables a match with the translated value in the relevant factory.
     //       BUT... such string comparisons are messy and we really should be using getByKey for most everything.
     //		 Exceptions can be made by passing false for $value_is_translated.
     if ($value_is_translated == TRUE) {
         $value = TTi18n::gettext($value);
     }
     if (is_array($value)) {
         return FALSE;
     }
     if (!is_array($options)) {
         return FALSE;
     }
     $retarr = Misc::findClosestMatch($value, $options, 10, FALSE);
     Debug::Arr($retarr, 'RetArr: ', __FILE__, __LINE__, __METHOD__, 10);
     /*
     //Convert SQL search value ie: 'test%test%' to a regular expression.
     $value = str_replace('%', '.*', $value);
     
     foreach( $options as $key => $option_value ) {
     	if ( preg_match('/^'.$value.'$/i', $option_value) ) {
     		$retarr[] = $key;
     	}
     }
     */
     if (isset($retarr)) {
         return $retarr;
     }
     return FALSE;
 }
Esempio n. 3
0
 function _getFactoryOptions($name, $parent = NULL)
 {
     $retval = NULL;
     switch ($name) {
         case 'columns':
             $retval = array('-1100-type' => TTi18n::gettext('Type'), '-1110-status' => TTi18n::gettext('Status'), '-1210-time_stamp' => TTi18n::gettext('Date/Time'), '-1220-date' => TTi18n::gettext('Date'), '-1230-time' => TTi18n::gettext('Time'), '-1239-in_type' => TTi18n::gettext('In Type'), '-1240-in_time_stamp' => TTi18n::gettext('In Date/Time'), '-1250-in_punch_date' => TTi18n::gettext('In Date'), '-1260-in_punch_time' => TTi18n::gettext('In Time'), '-1269-out_type' => TTi18n::gettext('Out Type'), '-1270-out_time_stamp' => TTi18n::gettext('Out Date/Time'), '-1280-out_punch_date' => TTi18n::gettext('Out Date'), '-1290-out_punch_time' => TTi18n::gettext('Out Time'), '-1310-branch' => TTi18n::gettext('Branch'), '-1320-department' => TTi18n::gettext('Department'), '-1410-station_id' => TTi18n::gettext('Station ID'), '-1420-longitude' => TTi18n::gettext('Longitude'), '-1430-latitude' => TTi18n::gettext('Latitude'), '-1500-note' => TTi18n::gettext('Note'));
             //Since getOptions() can be called without first setting a company, we don't always know the product edition for the currently
             //logged in employee.
             if (is_object($this->getCompanyObject()) and $this->getCompanyObject()->getProductEdition() >= TT_PRODUCT_CORPORATE or !is_object($this->getCompanyObject()) and getTTProductEdition() >= TT_PRODUCT_CORPORATE) {
                 $retval += array('-1330-job' => TTi18n::gettext('Job'), '-1340-job_item' => TTi18n::gettext('Task'), '-1350-quantity' => TTi18n::gettext('Quantity'), '-1360-bad_quantity' => TTi18n::gettext('Bad Quantity'));
             }
             $retval = Misc::addSortPrefix(Misc::prependArray($this->getUserIdentificationColumns(), Misc::trimSortPrefix($retval)));
             ksort($retval);
             break;
         case 'column_aliases':
             //Used for converting column names after they have been parsed.
             $retval = array('type' => 'type_id', 'status' => 'status_id', 'branch' => 'branch_id', 'department' => 'department_id', 'job' => 'job_id', 'job_item' => 'job_item_id');
             break;
         case 'import_options':
             $retval = array('-1010-fuzzy_match' => TTi18n::getText('Enable smart matching.'), '-1020-disable_rounding' => TTi18n::getText('Disable rounding.'));
             break;
         case 'parse_hint':
             $upf = TTnew('UserPreferenceFactory');
             $retval = array('branch' => array('-1010-name' => TTi18n::gettext('Name'), '-1010-manual_id' => TTi18n::gettext('Code')), 'department' => array('-1010-name' => TTi18n::gettext('Name'), '-1010-manual_id' => TTi18n::gettext('Code')), 'job' => array('-1010-name' => TTi18n::gettext('Name'), '-1010-manual_id' => TTi18n::gettext('Code')), 'job_item' => array('-1010-name' => TTi18n::gettext('Name'), '-1010-manual_id' => TTi18n::gettext('Code')), 'time_stamp' => $upf->getOptions('date_time_format'), 'in_time_stamp' => $upf->getOptions('date_time_format'), 'out_time_stamp' => $upf->getOptions('date_time_format'), 'date' => $upf->getOptions('date_format'), 'in_punch_date' => $upf->getOptions('date_format'), 'out_punch_date' => $upf->getOptions('date_format'), 'time' => $upf->getOptions('time_format'), 'in_punch_time' => $upf->getOptions('time_format'), 'out_punch_time' => $upf->getOptions('time_format'));
             break;
     }
     return $retval;
 }
 public function getTemplateSchema($name = NULL)
 {
     $template_schema = array(array('page' => 1, 'template_page' => 1), array('function' => 'drawPiecemeal', 'value' => '_____________________________', 'coordinates' => array(array('x' => 47, 'y' => 245, 'h' => 5, 'w' => 60, 'halign' => 'L'), array('x' => 147, 'y' => 245, 'h' => 5, 'w' => 60, 'halign' => 'L'), array('x' => 147, 'y' => 255, 'h' => 5, 'w' => 60, 'halign' => 'C')), 'font' => array('size' => 10, 'type' => '')), array('function' => 'drawSegments', 'value' => array(TTi18n::gettext('Employee Signature:'), TTi18n::gettext('Supervisor Signature:'), TTi18n::gettext('(print name)')), 'coordinates' => array(array('x' => 7, 'y' => 245, 'h' => 5, 'w' => 40, 'halign' => 'L'), array('x' => 107, 'y' => 245, 'h' => 5, 'w' => 40, 'halign' => 'R'), array('x' => 140, 'y' => 260, 'h' => 5, 'w' => 60, 'halign' => 'C')), 'font' => array('size' => 10, 'type' => '')), 'full_name' => array('function' => 'drawPiecemeal', 'coordinates' => array(array('x' => 20, 'y' => 28, 'h' => 5, 'w' => 100, 'halign' => 'L'), array('x' => 40, 'y' => 250, 'h' => 5, 'w' => 60, 'halign' => 'C')), 'font' => array('size' => 10, 'type' => '')), 'amount_words_cents' => array('function' => array('filterAmountWordsCents', 'drawNormal'), 'coordinates' => array('x' => 20, 'y' => 36, 'h' => 5, 'w' => 100, 'halign' => 'J'), 'font' => array('size' => 10, 'type' => '')), 'date' => array('function' => array('filterDate', 'drawNormal'), 'coordinates' => array('x' => 100, 'y' => 18, 'h' => 5, 'w' => 38, 'halign' => 'L'), 'font' => array('size' => 10, 'type' => '')), 'amount_padded' => array('function' => array('filterAmountPadded', 'drawNormal'), 'coordinates' => array('x' => 136, 'y' => 27, 'h' => 5, 'w' => 24, 'halign' => 'L'), 'font' => array('size' => 10, 'type' => '')), 'stub_left_column' => array('function' => 'drawPiecemeal', 'coordinates' => array(array('x' => 15, 'y' => 105, 'h' => 95, 'w' => 96, 'halign' => 'L'), array('x' => 15, 'y' => 200, 'h' => 45, 'w' => 96, 'halign' => 'L')), 'font' => array('size' => 10, 'type' => ''), 'multicell' => TRUE), 'stub_right_column' => array('function' => 'drawPiecemeal', 'coordinates' => array(array('x' => 111, 'y' => 105, 'h' => 95, 'w' => 96, 'halign' => 'R'), array('x' => 111, 'y' => 200, 'h' => 45, 'w' => 96, 'halign' => 'R')), 'font' => array('size' => 10, 'type' => ''), 'multicell' => TRUE));
     if (isset($template_schema[$name])) {
         return $name;
     } else {
         return $template_schema;
     }
 }
Esempio n. 5
0
 public function getTemplateSchema($name = NULL)
 {
     $template_schema = array(array('page' => 1, 'template_page' => 1, 'value' => TTi18n::gettext('Date:') . ' ', 'coordinates' => array('x' => 172, 'y' => 28, 'h' => 10, 'w' => 10, 'halign' => 'C'), 'font' => array('size' => 10, 'type' => '')), 'full_name' => array('coordinates' => array('x' => 25, 'y' => 41, 'h' => 5, 'w' => 100, 'halign' => 'L'), 'font' => array('size' => 10, 'type' => '')), 'amount_words' => array('function' => array('filterAmountWords', 'drawNormal'), 'coordinates' => array('x' => 25, 'y' => 49, 'h' => 10, 'w' => 100, 'halign' => 'L'), 'font' => array('size' => 10, 'type' => '')), 'amount_cents' => array('function' => array('filterAmountCents', 'drawNormal'), 'coordinates' => array('x' => 125, 'y' => 49, 'h' => 10, 'w' => 15, 'halign' => 'L'), 'font' => array('size' => 10, 'type' => '')), 'date' => array('function' => array('filterDate', 'drawNormal'), 'coordinates' => array('x' => 182, 'y' => 28, 'h' => 10, 'w' => 25, 'halign' => 'C'), 'font' => array('size' => 10, 'type' => '')), 'amount_padded' => array('function' => array('filterAmountPadded', 'drawNormal'), 'coordinates' => array('x' => 172, 'y' => 41, 'h' => 10, 'w' => 35, 'halign' => 'C'), 'font' => array('size' => 10, 'type' => '')), 'stub_left_column' => array('function' => 'drawPiecemeal', 'coordinates' => array(array('x' => 15, 'y' => 105, 'h' => 100, 'w' => 96, 'halign' => 'L'), array('x' => 15, 'y' => 205, 'h' => 100, 'w' => 96, 'halign' => 'L')), 'font' => array('size' => 10, 'type' => ''), 'multicell' => TRUE), 'stub_right_column' => array('function' => 'drawPiecemeal', 'coordinates' => array(array('x' => 111, 'y' => 105, 'h' => 100, 'w' => 96, 'halign' => 'R'), array('x' => 111, 'y' => 205, 'h' => 100, 'w' => 96, 'halign' => 'R')), 'font' => array('size' => 10, 'type' => ''), 'multicell' => TRUE));
     if (isset($template_schema[$name])) {
         return $name;
     } else {
         return $template_schema;
     }
 }
 function setOrder($value)
 {
     $value = trim($value);
     if ($this->Validator->isNumeric('order', $value, TTi18n::gettext('Order is invalid'))) {
         $this->data['order_value'] = $value;
         return TRUE;
     }
     return FALSE;
 }
 function setPremiumPolicy($id)
 {
     $id = trim($id);
     $pplf = new PremiumPolicyListFactory();
     if ($id == 0 or $this->Validator->isResultSetWithRows('premium_policy', $pplf->getByID($id), TTi18n::gettext('Selected Premium Policy is invalid'))) {
         $this->data['premium_policy_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setRoundInterValPolicy($id)
 {
     $id = trim($id);
     $riplf = TTnew('RoundIntervalPolicyListFactory');
     if ($id == 0 or $this->Validator->isResultSetWithRows('round_inteval_policy', $riplf->getByID($id), TTi18n::gettext('Selected Interval Rounding Policy is invalid'))) {
         $this->data['round_interval_policy_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setDepartment($id)
 {
     $id = trim($id);
     $dlf = new DepartmentListFactory();
     if ($this->Validator->isResultSetWithRows('department', $dlf->getByID($id), TTi18n::gettext('Selected Department is invalid'))) {
         $this->data['department_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setOverTimePolicy($id)
 {
     $id = trim($id);
     $otplf = new OverTimePolicyListFactory();
     if ($id == 0 or $this->Validator->isResultSetWithRows('over_time_policy', $otplf->getByID($id), TTi18n::gettext('Selected Overtime Policy is invalid'))) {
         $this->data['over_time_policy_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
Esempio n. 11
0
 function getOptions($name)
 {
     $retval = NULL;
     switch ($name) {
         case 'type':
             $retval = array('government' => TTi18n::gettext('Government (Multiple Employees/Page)'), 'employee' => TTi18n::gettext('Employee (One Employee/Page)'));
             break;
     }
     return $retval;
 }
 function setGroup($id)
 {
     $id = trim($id);
     $uglf = new UserGroupListFactory();
     if ($id == 0 or $this->Validator->isResultSetWithRows('group', $uglf->getByID($id), TTi18n::gettext('Selected Group is invalid'))) {
         $this->data['group_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setBranch($id)
 {
     $id = trim($id);
     $blf = TTnew('BranchListFactory');
     if ($id != 0 or $this->Validator->isResultSetWithRows('company', $blf->getByID($id), TTi18n::gettext('Company is invalid'))) {
         $this->data['branch_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setBranch($id)
 {
     $id = trim($id);
     $blf = new BranchListFactory();
     if ($this->Validator->isResultSetWithRows('branch', $blf->getByID($id), TTi18n::gettext('Selected Branch is invalid'))) {
         $this->data['branch_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setUser($id)
 {
     $id = trim($id);
     $ulf = TTnew('UserListFactory');
     if ($this->Validator->isResultSetWithRows('user', $ulf->getByID($id), TTi18n::gettext('User is invalid'))) {
         $this->data['user_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setAccrualPolicy($id)
 {
     $id = trim($id);
     $aplf = TTnew('AccrualPolicyListFactory');
     if ($id == 0 or $this->Validator->isResultSetWithRows('over_time_policy', $aplf->getByID($id), TTi18n::gettext('Selected Accrual Policy is invalid'))) {
         $this->data['accrual_policy_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setUser($id)
 {
     $id = trim($id);
     $ulf = new UserListFactory();
     if ($id != 0 and $this->Validator->isResultSetWithRows('user', $ulf->getByID($id), TTi18n::gettext('Selected Employee is invalid')) and $this->Validator->isTrue('user', $this->isUniqueUser($id), TTi18n::gettext('Selected Employee is already assigned to another Permission Group'))) {
         $this->data['user_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setIncludeUser($id)
 {
     $id = trim($id);
     $ulf = new UserListFactory();
     if ($this->Validator->isResultSetWithRows('include_user', $ulf->getByID($id), TTi18n::gettext('Selected User is invalid'))) {
         $this->data['user_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setRecurringHoliday($id)
 {
     $id = trim($id);
     $rhlf = new RecurringHolidayListFactory();
     if ($id != 0 and $this->Validator->isResultSetWithRows('recurring_holiday', $rhlf->getByID($id), TTi18n::gettext('Selected Recurring Holiday is invalid'))) {
         $this->data['recurring_holiday_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
 function setCompanyDeduction($id)
 {
     $id = trim($id);
     Debug::Text('ID: ' . $id, __FILE__, __LINE__, __METHOD__, 10);
     $cdlf = new CompanyDeductionListFactory();
     if ($this->Validator->isResultSetWithRows('company_deduction', $cdlf->getByID($id), TTi18n::gettext('Deduction is invalid'))) {
         $this->data['company_deduction_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
Esempio n. 21
0
 function getOptions($name)
 {
     $retval = NULL;
     switch ($name) {
         case 'status':
             $retval = array('-1010-O' => TTi18n::getText('Original'), '-1020-A' => TTi18n::getText('Amended'), '-1030-C' => TTi18n::getText('Cancel'));
             break;
         case 'type':
             $retval = array('government' => TTi18n::gettext('Government (Multiple Employees/Page)'), 'employee' => TTi18n::gettext('Employee (One Employee/Page)'));
             break;
     }
     return $retval;
 }
Esempio n. 22
0
function TimeSheetFormatArrayByDate($input_arr, $type_arr, $calendar_array, $name_key, $id_key = NULL)
{
    //Debug::text('Group Array While Loop: ', __FILE__, __LINE__, __METHOD__,10);
    //Debug::Arr($input_arr, 'Input Array: ', __FILE__, __LINE__, __METHOD__,10);
    //Debug::Arr($type_arr, 'Type Array: ', __FILE__, __LINE__, __METHOD__,10);
    $x = 0;
    $stop = FALSE;
    $max_no_punch_count = count($calendar_array);
    while ($stop == FALSE) {
        if (isset($type_arr[$x])) {
            $type_id = $type_arr[$x];
        } else {
            $type_id = NULL;
        }
        //Debug::text('===========================================================', __FILE__, __LINE__, __METHOD__,10);
        //Debug::text('While Loop: '. $x .' Max No Punch Count: '. $max_no_punch_count .' Type ID: '. $type_id .' ... ', __FILE__, __LINE__, __METHOD__,10);
        $no_punch_count = 0;
        foreach ($calendar_array as $cal_arr) {
            //Debug::text('Calendar Day: '. $cal_arr['day_of_month'] .' Epoch: '.$cal_arr['epoch'] , __FILE__, __LINE__, __METHOD__,10);
            if (isset($input_arr[$cal_arr['epoch']][$type_id])) {
                //Debug::text('Found Punch for Day: '. $cal_arr['day_of_month'] , __FILE__, __LINE__, __METHOD__,10);
                $total_arr = $input_arr[$cal_arr['epoch']][$type_id];
                unset($input_arr[$cal_arr['epoch']][$type_id]);
                if ($total_arr[$name_key] == '') {
                    $total_rows[$x]['name'] = TTi18n::gettext('N/A');
                } else {
                    $total_rows[$x]['name'] = $total_arr[$name_key];
                }
                $total_rows[$x]['type_and_policy_id'] = $type_id;
                if ($id_key != '') {
                    $total_rows[$x]['id'] = $total_arr[$id_key];
                }
            } else {
                //Debug::text('NO Punch found for Day: '. $cal_arr['day_of_month'] .' No Punch Count: '. $no_punch_count, __FILE__, __LINE__, __METHOD__,10);
                $total_arr = NULL;
                $no_punch_count++;
            }
            $total_rows[$x]['data'][$cal_arr['epoch']] = $total_arr;
        }
        //Debug::text('No Punch Count: '. $no_punch_count .' Max: '. $max_no_punch_count, __FILE__, __LINE__, __METHOD__,10);
        if ($x == 100 or $no_punch_count == $max_no_punch_count) {
            //Debug::text('Stopping Loop at: '. $x, __FILE__, __LINE__, __METHOD__,10);
            //Clear last row, as its blank;
            array_pop($total_rows);
            $stop = TRUE;
        }
        $x++;
    }
    //var_dump($total_rows);
    return $total_rows;
}
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */
function smarty_function_htmlReportGroup($params, &$smarty)
{
    require_once $smarty->_get_plugin_filepath('function', 'html_options');
    $filter_data = $params['filter_data'];
    if (isset($params['total'])) {
        $total = $params['total'];
    } else {
        $total = 2;
    }
    $retval .= '<tr onClick="showHelpEntry(\'group_by\')">
    <td colspan="2" class="cellLeftEditTableHeader">
        ' . TTi18n::gettext('Group By:') . '
    </td>
    <td class="cellRightEditTable">
        <select id="columns" name="filter_data[primary_group_by]">
            ' . smarty_function_html_options(array('options' => $filter_data['group_by_options'], 'selected' => $filter_data['primary_group_by']), $smarty) . '
        </select>';
    if ($total >= 2) {
        $retval .= '
        <b>' . TTi18n::gettext('then:') . '</b>
        <select id="columns" name="filter_data[secondary_group_by]">
            ' . smarty_function_html_options(array('options' => $filter_data['group_by_options'], 'selected' => $filter_data['secondary_group_by']), $smarty) . '
        </select>';
    }
    if ($total >= 3) {
        $retval .= '
        <br>
        <select id="columns" name="filter_data[tertiary_group_by]">
            ' . smarty_function_html_options(array('options' => $filter_data['group_by_options'], 'selected' => $filter_data['tertiary_group_by']), $smarty) . '
        </select>';
    }
    if ($total >= 4) {
        $retval .= '
        <b>' . TTi18n::gettext('then:') . '</b>
        <select id="columns" name="filter_data[quaternary_group_by]">
            ' . smarty_function_html_options(array('options' => $filter_data['group_by_options'], 'selected' => $filter_data['quaternary_group_by']), $smarty) . '
        </select>';
    }
    $retval .= '
    </td>
</tr>
';
    return $retval;
}
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */
function smarty_function_htmlReportSave($params, &$smarty)
{
    require_once $smarty->_get_plugin_filepath('function', 'html_options');
    require_once $smarty->_get_plugin_filepath('function', 'isvalid');
    $generic_data = $params['generic_data'];
    $object = $params['object'];
    if (isset($params['button_prefix'])) {
        $submit_button_prefix = $params['button_prefix'] . ':';
    } else {
        $submit_button_prefix = 'action:';
    }
    $onclick_html = $params['onclick'];
    if (isset($params['action_element_id'])) {
        $action_element_id = $params['action_element_id'];
    } else {
        $action_element_id = 'action';
    }
    $retval .= '<tr>
    <td colspan="2" class="' . smarty_function_isvalid(array('object' => $object, 'label' => 'name', 'value' => 'cellLeftEditTable'), $smarty) . '">
        ' . TTi18n::gettext('Name:') . '
    </td>
    <td class="cellRightEditTable">
        <input type="text" name="generic_data[name]" value="' . $generic_data['name'] . '">

        <select id="generic_id" name="generic_data[id]" onChange="' . $onclick_html . '; this.form.target = \'_self\';document.getElementById(\'' . $action_element_id . '\').name = \'' . $submit_button_prefix . 'load\';document.getElementById(\'' . $action_element_id . '\').value = \'Load\'; this.form.submit()">
            ' . smarty_function_html_options(array('options' => $generic_data['saved_report_options'], 'selected' => $generic_data['id']), $smarty) . '
        </select>

        ' . TTi18n::gettext('Default:') . ' <input type="checkbox" class="checkbox" name="generic_data[is_default]" value="1">

        <input type="BUTTON" name="' . $submit_button_prefix . 'action" value="' . TTi18n::gettext('Save') . '" onClick="selectAllReportCriteria(); ' . $onclick_html . '; this.form.target = \'_self\';document.getElementById(\'' . $action_element_id . '\').name = \'' . $submit_button_prefix . 'save\'; document.getElementById(\'' . $action_element_id . '\').value = \'Save\'; this.form.submit()">
        <input type="BUTTON" name="' . $submit_button_prefix . 'action" value="' . TTi18n::gettext('Delete') . '" onClick="' . $onclick_html . '; this.form.target = \'_self\';document.getElementById(\'' . $action_element_id . '\').name = \'' . $submit_button_prefix . 'delete\'; document.getElementById(\'' . $action_element_id . '\').value = \'Delete\'; this.form.submit()">
    </td>
</tr>
';
    return $retval;
}
 protected function _getOptions($name, $params = NULL)
 {
     $retval = NULL;
     switch ($name) {
         case 'output_format':
             $retval = parent::getOptions('default_output_format');
             break;
         case 'default_setup_fields':
             $retval = array('template', 'columns');
             break;
         case 'setup_fields':
             $retval = array('-1000-template' => TTi18n::gettext('Template'), '-2010-user_status_id' => TTi18n::gettext('Employee Status'), '-2020-user_group_id' => TTi18n::gettext('Employee Group'), '-2030-user_title_id' => TTi18n::gettext('Employee Title'), '-2035-user_tag' => TTi18n::gettext('Employee Tags'), '-2040-include_user_id' => TTi18n::gettext('Employee Include'), '-2050-exclude_user_id' => TTi18n::gettext('Employee Exclude'), '-2060-default_branch_id' => TTi18n::gettext('Default Branch'), '-2070-default_department_id' => TTi18n::gettext('Default Department'), '-2000-currency_id' => TTi18n::gettext('Currency'), '-2100-custom_filter' => TTi18n::gettext('Custom Filter'), '-5000-columns' => TTi18n::gettext('Display Columns'), '-5010-group' => TTi18n::gettext('Group By'), '-5020-sub_total' => TTi18n::gettext('SubTotal By'), '-5030-sort' => TTi18n::gettext('Sort By'));
             break;
         case 'date_columns':
             $retval = array_merge(TTDate::getReportDateOptions('hire', TTi18n::getText('Hire Date'), 17, FALSE), TTDate::getReportDateOptions('termination', TTi18n::getText('Termination Date'), 18, FALSE), TTDate::getReportDateOptions('birth', TTi18n::getText('Birth Date'), 19, FALSE), TTDate::getReportDateOptions('created', TTi18n::getText('Created Date'), 20, FALSE), TTDate::getReportDateOptions('updated', TTi18n::getText('Updated Date'), 21, FALSE));
             break;
         case 'custom_columns':
             //Get custom fields for report data.
             $oflf = TTnew('OtherFieldListFactory');
             //User and Punch fields conflict as they are merged together in a secondary process.
             $other_field_names = $oflf->getByCompanyIdAndTypeIdArray($this->getUserObject()->getCompany(), array(10), array(10 => ''));
             if (is_array($other_field_names)) {
                 $retval = Misc::addSortPrefix($other_field_names, 9000);
             }
             break;
         case 'report_custom_column':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 // Because the Filter type is just only a filter criteria and not need to be as an option of Display Columns, Group By, Sub Total, Sort By dropdowns.
                 // So just get custom columns with Selection and Formula.
                 $custom_column_labels = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('display_column_type_ids'), NULL, 'UserSummaryReport', 'custom_column');
                 if (is_array($custom_column_labels)) {
                     $retval = Misc::addSortPrefix($custom_column_labels, 9500);
                 }
             }
             break;
         case 'report_custom_filters':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 $retval = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('filter_column_type_ids'), NULL, 'UserSummaryReport', 'custom_column');
             }
             break;
         case 'report_dynamic_custom_column':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 $report_dynamic_custom_column_labels = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('display_column_type_ids'), $rcclf->getOptions('dynamic_format_ids'), 'UserSummaryReport', 'custom_column');
                 if (is_array($report_dynamic_custom_column_labels)) {
                     $retval = Misc::addSortPrefix($report_dynamic_custom_column_labels, 9700);
                 }
             }
             break;
         case 'report_static_custom_column':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 $report_static_custom_column_labels = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('display_column_type_ids'), $rcclf->getOptions('static_format_ids'), 'UserSummaryReport', 'custom_column');
                 if (is_array($report_static_custom_column_labels)) {
                     $retval = Misc::addSortPrefix($report_static_custom_column_labels, 9700);
                 }
             }
             break;
         case 'formula_columns':
             $retval = TTMath::formatFormulaColumns(array_merge(array_diff($this->getOptions('static_columns'), (array) $this->getOptions('report_static_custom_column')), $this->getOptions('dynamic_columns')));
             break;
         case 'filter_columns':
             $retval = TTMath::formatFormulaColumns(array_merge($this->getOptions('static_columns'), $this->getOptions('dynamic_columns'), (array) $this->getOptions('report_dynamic_custom_column')));
             break;
         case 'static_columns':
             $retval = array('-1000-first_name' => TTi18n::gettext('First Name'), '-1001-middle_name' => TTi18n::gettext('Middle Name'), '-1002-last_name' => TTi18n::gettext('Last Name'), '-1005-full_name' => TTi18n::gettext('Full Name'), '-1010-user_name' => TTi18n::gettext('User Name'), '-1020-phone_id' => TTi18n::gettext('Quick Punch ID'), '-1030-employee_number' => TTi18n::gettext('Employee #'), '-1032-employee_number_barcode' => TTi18n::gettext('Barcode'), '-1034-employee_number_qrcode' => TTi18n::gettext('QRcode'), '-1040-status' => TTi18n::gettext('Status'), '-1050-title' => TTi18n::gettext('Title'), '-1080-user_group' => TTi18n::gettext('Group'), '-1090-default_branch' => TTi18n::gettext('Branch'), '-1100-default_department' => TTi18n::gettext('Department'), '-1120-default_job' => TTi18n::gettext('Job'), '-1150-default_job_item' => TTi18n::gettext('Task'), '-1190-ethnic_group' => TTi18n::gettext('Ethnicity'), '-1200-permission_control' => TTi18n::gettext('Permission Group'), '-1210-pay_period_schedule' => TTi18n::gettext('Pay Period Schedule'), '-1220-policy_group' => TTi18n::gettext('Policy Group'), '-1310-sex' => TTi18n::gettext('Gender'), '-1320-address1' => TTi18n::gettext('Address 1'), '-1330-address2' => TTi18n::gettext('Address 2'), '-1340-city' => TTi18n::gettext('City'), '-1350-province' => TTi18n::gettext('Province/State'), '-1360-country' => TTi18n::gettext('Country'), '-1370-postal_code' => TTi18n::gettext('Postal Code'), '-1380-work_phone' => TTi18n::gettext('Work Phone'), '-1391-work_phone_ext' => TTi18n::gettext('Work Phone Ext'), '-1400-home_phone' => TTi18n::gettext('Home Phone'), '-1410-mobile_phone' => TTi18n::gettext('Mobile Phone'), '-1420-fax_phone' => TTi18n::gettext('Fax Phone'), '-1430-home_email' => TTi18n::gettext('Home Email'), '-1440-work_email' => TTi18n::gettext('Work Email'), '-1480-sin' => TTi18n::gettext('SIN/SSN'), '-1490-note' => TTi18n::gettext('Note'), '-1495-tag' => TTi18n::gettext('Tags'), '-1499-hierarchy_control_display' => TTi18n::gettext('Hierarchy'), '-1499-hierarchy_level_display' => TTi18n::gettext('Hierarchy Superiors'), '-1500-institution' => TTi18n::gettext('Bank Institution'), '-1510-transit' => TTi18n::gettext('Bank Transit/Routing'), '-1520-account' => TTi18n::gettext('Bank Account'), '-1619-currency' => TTi18n::gettext('Currency'), '-1620-current_currency' => TTi18n::gettext('Current Currency'), '-1625-type' => TTi18n::gettext('Wage Type'), '-1640-effective_date' => TTi18n::gettext('Wage Effective Date'), '-1650-language_display' => TTi18n::gettext('Language'), '-1660-date_format_display' => TTi18n::gettext('Date Format'), '-1665-time_format_display' => TTi18n::gettext('Time Format'), '-1670-time_unit_format_display' => TTi18n::gettext('Time Units'), '-1680-time_zone_display' => TTi18n::gettext('Time Zone'), '-1690-items_per_page' => TTi18n::gettext('Rows Per page'), '-1695-password_updated_date' => TTi18n::gettext('Password Updated Date'), '-1699-hire_date_age' => TTi18n::gettext('Length of Service'), '-1899-birth_date_age' => TTi18n::gettext('Age'), '-2205-created_by' => TTi18n::gettext('Created By'), '-2215-updated_by' => TTi18n::gettext('Updated By'));
             $retval = array_merge($retval, (array) $this->getOptions('date_columns'), (array) $this->getOptions('custom_columns'), (array) $this->getOptions('report_static_custom_column'));
             ksort($retval);
             break;
         case 'dynamic_columns':
             $retval = array('-1630-wage' => TTi18n::gettext('Wage'), '-1635-hourly_rate' => TTi18n::gettext('Hourly Rate'), '-1636-labor_burden_hourly_rate' => TTi18n::gettext('Hourly Rate w/Burden'), '-1637-labor_burden_percent' => TTi18n::gettext('Labor Burden Percent'), '-2000-total_user' => TTi18n::gettext('Total Employees'));
             break;
         case 'columns':
             $retval = array_merge($this->getOptions('static_columns'), $this->getOptions('dynamic_columns'), (array) $this->getOptions('report_dynamic_custom_column'));
             break;
         case 'column_format':
             //Define formatting function for each column.
             $columns = array_merge($this->getOptions('dynamic_columns'), (array) $this->getOptions('report_custom_column'));
             if (is_array($columns)) {
                 foreach ($columns as $column => $name) {
                     if (strpos($column, 'wage') !== FALSE or strpos($column, 'hourly_rate') !== FALSE) {
                         $retval[$column] = 'currency';
                     } elseif (strpos($column, 'labor_burden_percent') !== FALSE) {
                         $retval[$column] = 'percent';
                     }
                 }
             }
             $retval['password_updated_date'] = 'time_stamp';
             $retval['effective_date'] = 'date_stamp';
             break;
         case 'aggregates':
             $retval = array();
             $dynamic_columns = array_keys(Misc::trimSortPrefix(array_merge($this->getOptions('dynamic_columns'), (array) $this->getOptions('report_dynamic_custom_column'))));
             if (is_array($dynamic_columns)) {
                 foreach ($dynamic_columns as $column) {
                     switch ($column) {
                         default:
                             if (strpos($column, 'hourly_rate') !== FALSE or strpos($column, 'wage') !== FALSE or strpos($column, 'labor_burden_percent') !== FALSE) {
                                 $retval[$column] = 'avg';
                             } else {
                                 $retval[$column] = 'sum';
                             }
                     }
                 }
             }
             break;
         case 'templates':
             $retval = array('-1010-by_employee+contact' => TTi18n::gettext('Contact Information By Employee'), '-1020-by_employee+employment' => TTi18n::gettext('Employment Information By Employee'), '-1030-by_employee+address' => TTi18n::gettext('Addresses By Employee'), '-1040-by_employee+wage' => TTi18n::gettext('Wages By Employee'), '-1050-by_employee+bank' => TTi18n::gettext('Bank Information By Employee'), '-1060-by_employee+preference' => TTi18n::gettext('Preferences By Employee'), '-1070-by_employee+birth_date' => TTi18n::gettext('Birthdays By Employee'), '-1080-by_branch_by_employee+contact' => TTi18n::gettext('Contact Information By Branch/Employee'), '-1090-by_branch_by_employee+address' => TTi18n::gettext('Addresses By Branch/Employee'), '-1110-by_branch_by_employee+wage' => TTi18n::gettext('Wages by Branch/Employee'), '-1120-by_branch+total_user' => TTi18n::gettext('Total Employees by Branch'), '-1130-by_department_by_employee+contact' => TTi18n::gettext('Contact Information By Department/Employee'), '-1140-by_department_by_employee+address' => TTi18n::gettext('Addresses By Department/Employee'), '-1150-by_department_by_employee+wage' => TTi18n::gettext('Wages by Department/Employee'), '-1160-by_department+total_user' => TTi18n::gettext('Total Employees by Department'), '-1170-by_branch_by_department_by_employee+contact' => TTi18n::gettext('Contact Information By Branch/Department/Employee'), '-1180-by_branch_by_department_by_employee+address' => TTi18n::gettext('Addresses By Branch/Department/Employee'), '-1190-by_branch_by_department+wage' => TTi18n::gettext('Wages by Branch/Department/Employee'), '-1200-by_branch_by_department+total_user' => TTi18n::gettext('Total Employees by Branch/Department'), '-1205-by_hierarchy_by_branch_by_department_by_employee+contact' => TTi18n::gettext('Contact Information By Hierarchy/Branch/Department/Employee'), '-1210-by_type_by_employee+wage' => TTi18n::gettext('Wages By Type/Employee'), '-1220-by_type+total_user' => TTi18n::gettext('Total Employees by Wage Type'), '-1230-by_hired_month+total_user' => TTi18n::gettext('Total Employees Hired By Month'), '-1240-by_termination_month+total_user' => TTi18n::gettext('Total Employees Terminated By Month'));
             break;
         case 'template_config':
             $template = strtolower(Misc::trimSortPrefix($params['template']));
             if (isset($template) and $template != '') {
                 switch ($template) {
                     //Contact
                     case 'by_employee+contact':
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'work_phone';
                         $retval['columns'][] = 'work_phone_ext';
                         $retval['columns'][] = 'work_email';
                         $retval['columns'][] = 'mobile_phone';
                         $retval['columns'][] = 'home_phone';
                         $retval['columns'][] = 'home_email';
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_branch_by_employee+contact':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'work_phone';
                         $retval['columns'][] = 'work_phone_ext';
                         $retval['columns'][] = 'work_email';
                         $retval['columns'][] = 'mobile_phone';
                         $retval['columns'][] = 'home_phone';
                         $retval['columns'][] = 'home_email';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_department_by_employee+contact':
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'work_phone';
                         $retval['columns'][] = 'work_phone_ext';
                         $retval['columns'][] = 'work_email';
                         $retval['columns'][] = 'mobile_phone';
                         $retval['columns'][] = 'home_phone';
                         $retval['columns'][] = 'home_email';
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_branch_by_department_by_employee+contact':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'work_phone';
                         $retval['columns'][] = 'work_phone_ext';
                         $retval['columns'][] = 'work_email';
                         $retval['columns'][] = 'mobile_phone';
                         $retval['columns'][] = 'home_phone';
                         $retval['columns'][] = 'home_email';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_hierarchy_by_branch_by_department_by_employee+contact':
                         $retval['columns'][] = 'hierarchy_control_display';
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'work_phone';
                         $retval['columns'][] = 'work_phone_ext';
                         $retval['columns'][] = 'work_email';
                         $retval['columns'][] = 'mobile_phone';
                         $retval['columns'][] = 'home_phone';
                         $retval['columns'][] = 'home_email';
                         $retval['sort'][] = array('hierarchy_control_display' => 'asc');
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                         //Birth Dates
                     //Birth Dates
                     case 'by_employee+birth_date':
                         $retval['columns'][] = 'birth-date_month';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'birth-date_stamp';
                         $retval['columns'][] = 'birth_date_age';
                         $retval['sub_total'][] = 'birth-date_month';
                         $retval['sort'][] = array('birth-date_month' => 'asc');
                         $retval['sort'][] = array('birth-date_dom' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                         //Employment
                     //Employment
                     case 'by_employee+employment':
                         $retval['columns'][] = 'status';
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'title';
                         $retval['columns'][] = 'user_group';
                         $retval['columns'][] = 'ethnic_group';
                         $retval['columns'][] = 'sex';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'birth_date_age';
                         $retval['columns'][] = 'hire-date_stamp';
                         $retval['columns'][] = 'termination-date_stamp';
                         $retval['columns'][] = 'hire_date_age';
                         $retval['sort'][] = array('status' => 'asc');
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('title' => 'asc');
                         $retval['sort'][] = array('user_group' => 'asc');
                         $retval['sort'][] = array('ethnic_group' => 'asc');
                         $retval['sort'][] = array('sex' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         //$retval['sort'][] = array('hire-date_month' => 'asc');
                         break;
                     case 'by_hired_month+total_user':
                         $retval['columns'][] = 'hire-date_year';
                         $retval['columns'][] = 'hire-date_month_year';
                         $retval['columns'][] = 'total_user';
                         $retval['group'][] = 'hire-date_year';
                         $retval['group'][] = 'hire-date_month_year';
                         $retval['sub_total'][] = 'hire-date_year';
                         $retval['sort'][] = array('hire-date_year' => 'desc');
                         $retval['sort'][] = array('hire-date_month_year' => 'desc');
                         $retval['sort'][] = array('total_user' => 'desc');
                         break;
                     case 'by_termination_month+total_user':
                         $retval['columns'][] = 'termination-date_year';
                         $retval['columns'][] = 'termination-date_month_year';
                         $retval['columns'][] = 'total_user';
                         $retval['group'][] = 'termination-date_year';
                         $retval['group'][] = 'termination-date_month_year';
                         $retval['sub_total'][] = 'termination-date_year';
                         $retval['sort'][] = array('termination-date_year' => 'desc');
                         $retval['sort'][] = array('termination-date_month_year' => 'desc');
                         $retval['sort'][] = array('total_user' => 'desc');
                         break;
                         //Address
                     //Address
                     case 'by_employee+address':
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'address1';
                         $retval['columns'][] = 'address2';
                         $retval['columns'][] = 'city';
                         $retval['columns'][] = 'country';
                         $retval['columns'][] = 'province';
                         $retval['columns'][] = 'postal_code';
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_branch_by_employee+address':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'address1';
                         $retval['columns'][] = 'address2';
                         $retval['columns'][] = 'city';
                         $retval['columns'][] = 'country';
                         $retval['columns'][] = 'province';
                         $retval['columns'][] = 'postal_code';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_department_by_employee+address':
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'address1';
                         $retval['columns'][] = 'address2';
                         $retval['columns'][] = 'city';
                         $retval['columns'][] = 'country';
                         $retval['columns'][] = 'province';
                         $retval['columns'][] = 'postal_code';
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_branch_by_department_by_employee+address':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'address1';
                         $retval['columns'][] = 'address2';
                         $retval['columns'][] = 'city';
                         $retval['columns'][] = 'country';
                         $retval['columns'][] = 'province';
                         $retval['columns'][] = 'postal_code';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                         //Wage
                     //Wage
                     case 'by_employee+wage':
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'type';
                         $retval['columns'][] = 'wage';
                         $retval['columns'][] = 'hourly_rate';
                         $retval['columns'][] = 'effective_date';
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         $retval['sort'][] = array('type' => 'asc');
                         $retval['sort'][] = array('wage' => 'desc');
                         break;
                     case 'by_branch_by_employee+wage':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'type';
                         $retval['columns'][] = 'wage';
                         $retval['columns'][] = 'hourly_rate';
                         $retval['columns'][] = 'effective_date';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('type' => 'asc');
                         $retval['sort'][] = array('wage' => 'desc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_department_by_employee+wage':
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'type';
                         $retval['columns'][] = 'wage';
                         $retval['columns'][] = 'hourly_rate';
                         $retval['columns'][] = 'effective_date';
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('type' => 'asc');
                         $retval['sort'][] = array('wage' => 'desc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_branch_by_department_by_employee+wage':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'type';
                         $retval['columns'][] = 'wage';
                         $retval['columns'][] = 'hourly_rate';
                         $retval['columns'][] = 'effective_date';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         $retval['sort'][] = array('default_department' => 'asc');
                         $retval['sort'][] = array('type' => 'asc');
                         $retval['sort'][] = array('wage' => 'desc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                     case 'by_type_by_employee+wage':
                         $retval['columns'][] = 'type';
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'wage';
                         $retval['columns'][] = 'hourly_rate';
                         $retval['columns'][] = 'effective_date';
                         $retval['sub_total'][] = 'type';
                         $retval['sort'][] = array('type' => 'asc');
                         $retval['sort'][] = array('wage' => 'desc');
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                         //Bank Account
                     //Bank Account
                     case 'by_employee+bank':
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'transit';
                         $retval['columns'][] = 'account';
                         $retval['columns'][] = 'institution';
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                         //Preferences
                     //Preferences
                     case 'by_employee+preference':
                         $retval['columns'][] = 'first_name';
                         $retval['columns'][] = 'last_name';
                         $retval['columns'][] = 'date_format_display';
                         $retval['columns'][] = 'time_format_display';
                         $retval['columns'][] = 'time_unit_format_display';
                         $retval['columns'][] = 'time_zone_display';
                         $retval['columns'][] = 'language_display';
                         $retval['columns'][] = 'items_per_page';
                         $retval['sort'][] = array('last_name' => 'asc');
                         $retval['sort'][] = array('first_name' => 'asc');
                         break;
                         //Other
                     //Other
                     case 'by_branch+total_user':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'total_user';
                         $retval['group'][] = 'default_branch';
                         $retval['sort'][] = array('total_user' => 'desc');
                         break;
                     case 'by_department+total_user':
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'total_user';
                         $retval['group'][] = 'default_department';
                         $retval['sort'][] = array('total_user' => 'desc');
                         break;
                     case 'by_branch_by_department+total_user':
                         $retval['columns'][] = 'default_branch';
                         $retval['columns'][] = 'default_department';
                         $retval['columns'][] = 'total_user';
                         $retval['group'][] = 'default_branch';
                         $retval['group'][] = 'default_department';
                         $retval['sub_total'][] = 'default_branch';
                         $retval['sort'][] = array('default_branch' => 'asc');
                         //$retval['sort'][] = array('' => 'asc');
                         $retval['sort'][] = array('total_user' => 'desc');
                         break;
                     case 'by_type+total_user':
                         $retval['columns'][] = 'type';
                         $retval['columns'][] = 'total_user';
                         $retval['group'][] = 'type';
                         $retval['sub_total'][] = 'type';
                         $retval['sort'][] = array('type' => 'asc');
                         $retval['sort'][] = array('total_user' => 'desc');
                         break;
                     default:
                         Debug::Text(' Parsing template name: ' . $template, __FILE__, __LINE__, __METHOD__, 10);
                         break;
                 }
             }
             //Set the template dropdown as well.
             $retval['-1000-template'] = $template;
             //Add sort prefixes so Flex can maintain order.
             if (isset($retval['filter'])) {
                 $retval['-5000-filter'] = $retval['filter'];
                 unset($retval['filter']);
             }
             if (isset($retval['columns'])) {
                 $retval['-5010-columns'] = $retval['columns'];
                 unset($retval['columns']);
             }
             if (isset($retval['group'])) {
                 $retval['-5020-group'] = $retval['group'];
                 unset($retval['group']);
             }
             if (isset($retval['sub_total'])) {
                 $retval['-5030-sub_total'] = $retval['sub_total'];
                 unset($retval['sub_total']);
             }
             if (isset($retval['sort'])) {
                 $retval['-5040-sort'] = $retval['sort'];
                 unset($retval['sort']);
             }
             Debug::Arr($retval, ' Template Config for: ' . $template, __FILE__, __LINE__, __METHOD__, 10);
             break;
         default:
             //Call report parent class options function for options valid for all reports.
             $retval = $this->__getOptions($name);
             break;
     }
     return $retval;
 }
Esempio n. 26
0
 * feasible for technical reasons, the Appropriate Legal Notices must display
 * the words "Powered by TimeTrex".
 ********************************************************************************/
/*
 * $Revision: 2723 $
 * $Id: EditRequest.php 2723 2009-08-13 22:05:43Z ipso $
 * $Date: 2009-08-13 15:05:43 -0700 (Thu, 13 Aug 2009) $
 */
require_once '../../includes/global.inc.php';
require_once Environment::getBasePath() . 'includes/Interface.inc.php';
//Debug::setVerbosity(11);
if (!$permission->Check('request', 'enabled') or !($permission->Check('request', 'edit') or $permission->Check('request', 'edit_own'))) {
    $permission->Redirect(FALSE);
    //Redirect
}
$smarty->assign('title', TTi18n::gettext($title = 'Edit Request'));
// See index.php
/*
 * Get FORM variables
 */
extract(FormVariables::GetVariables(array('action', 'id', 'data')));
if (isset($data)) {
    $data['date_stamp'] = TTDate::parseDateTime($data['date_stamp']);
}
$rf = new RequestFactory();
$action = Misc::findSubmitButton();
$action = strtolower($action);
switch ($action) {
    case 'submit':
        //Debug::setVerbosity(11);
        Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10);
Esempio n. 27
0
        //Get employee titles
        $utlf = TTnew('UserTitleListFactory');
        $utlf->getByCompanyId($current_company->getId());
        $user_title_options = Misc::prependArray($all_array_option, $utlf->getArrayByListFactory($utlf, FALSE, TRUE));
        $filter_data['src_user_title_options'] = Misc::arrayDiffByKey((array) $filter_data['user_title_ids'], $user_title_options);
        $filter_data['selected_user_title_options'] = Misc::arrayIntersectByKey((array) $filter_data['user_title_ids'], $user_title_options);
        //Get pay periods
        $pplf = TTnew('PayPeriodListFactory');
        $pplf->getByCompanyId($current_company->getId());
        $pay_period_options = Misc::prependArray($all_array_option, $pplf->getArrayByListFactory($pplf, FALSE, TRUE));
        $filter_data['src_pay_period_options'] = Misc::arrayDiffByKey((array) $filter_data['pay_period_ids'], $pay_period_options);
        $filter_data['selected_pay_period_options'] = Misc::arrayIntersectByKey((array) $filter_data['pay_period_ids'], $pay_period_options);
        //Get column list
        $filter_data['src_column_options'] = Misc::arrayDiffByKey((array) $filter_data['column_ids'], $columns);
        $filter_data['selected_column_options'] = Misc::arrayIntersectByKey((array) $filter_data['column_ids'], $columns);
        //Get primary/secondary order list
        $filter_data['sort_options'] = $columns;
        $filter_data['sort_options']['effective_date_order'] = 'Wage Effective Date';
        unset($filter_data['sort_options']['effective_date']);
        $filter_data['sort_direction_options'] = Misc::getSortDirectionArray();
        /***/
        $filter_data['group_by_options'] = Misc::prependArray(array('0' => TTi18n::gettext('No Grouping')), $static_columns);
        /***/
        $saved_report_options = $ugdlf->getByUserIdAndScriptArray($current_user->getId(), $_SERVER['SCRIPT_NAME']);
        $generic_data['saved_report_options'] = $saved_report_options;
        $smarty->assign_by_ref('generic_data', $generic_data);
        $smarty->assign_by_ref('filter_data', $filter_data);
        $smarty->assign_by_ref('ugdf', $ugdf);
        $smarty->display('report/TimesheetSummary.tpl');
        break;
}
Esempio n. 28
0
     $udtlf->getById($id);
     foreach ($udtlf as $udt_obj) {
         //Debug::Arr($station,'Department', __FILE__, __LINE__, __METHOD__,10);
         $user_id = $udt_obj->getUserDateObject()->getUser();
         $udt_data = array('id' => $udt_obj->getId(), 'user_date_id' => $udt_obj->getUserDateId(), 'date_stamp' => $udt_obj->getUserDateObject()->getDateStamp(), 'user_id' => $udt_obj->getUserDateObject()->getUser(), 'user_full_name' => $udt_obj->getUserDateObject()->getUserObject()->getFullName(), 'status_id' => $udt_obj->getStatus(), 'type_id' => $udt_obj->getType(), 'total_time' => $udt_obj->getTotalTime(), 'absence_policy_id' => $udt_obj->getAbsencePolicyID(), 'branch_id' => $udt_obj->getBranch(), 'department_id' => $udt_obj->getDepartment(), 'job_id' => $udt_obj->getJob(), 'job_item_id' => $udt_obj->getJobItem(), 'override' => $udt_obj->getOverride(), 'created_date' => $udt_obj->getCreatedDate(), 'created_by' => $udt_obj->getCreatedBy(), 'updated_date' => $udt_obj->getUpdatedDate(), 'updated_by' => $udt_obj->getUpdatedBy(), 'deleted_date' => $udt_obj->getDeletedDate(), 'deleted_by' => $udt_obj->getDeletedBy());
     }
 } elseif ($action != 'submit') {
     Debug::Text(' ID was NOT passed: ' . $id, __FILE__, __LINE__, __METHOD__, 10);
     //Get user full name
     $ulf = TTnew('UserListFactory');
     $user_obj = $ulf->getById($user_id)->getCurrent();
     $user_date_id = UserDateFactory::getUserDateID($user_id, $date_stamp);
     $udt_data = array('user_id' => $user_id, 'date_stamp' => $date_stamp, 'user_date_id' => $user_date_id, 'user_full_name' => $user_obj->getFullName(), 'branch_id' => $user_obj->getDefaultBranch(), 'department_id' => $user_obj->getDefaultDepartment(), 'total_time' => 0, 'override' => TRUE);
 }
 $aplf = TTnew('AbsencePolicyListFactory');
 $absence_policy_options = Misc::prependArray(array(0 => TTi18n::gettext('-- Please Choose --')), $aplf->getByCompanyIdArray($current_company->getId()));
 $blf = TTnew('BranchListFactory');
 $branch_options = $blf->getByCompanyIdArray($current_company->getId());
 $dlf = TTnew('DepartmentListFactory');
 $department_options = $dlf->getByCompanyIdArray($current_company->getId());
 if ($current_company->getProductEdition() >= 20) {
     $jlf = TTnew('JobListFactory');
     $jlf->getByCompanyIdAndUserIdAndStatus($current_company->getId(), $user_id, array(10, 20, 30, 40));
     $udt_data['job_options'] = $jlf->getArrayByListFactory($jlf, TRUE, TRUE);
     $udt_data['job_manual_id_options'] = $jlf->getManualIDArrayByListFactory($jlf, TRUE);
     $jilf = TTnew('JobItemListFactory');
     $jilf->getByCompanyId($current_company->getId());
     $udt_data['job_item_options'] = $jilf->getArrayByListFactory($jilf, TRUE, TRUE);
     $udt_data['job_item_manual_id_options'] = $jilf->getManualIdArrayByListFactory($jilf, TRUE);
 }
 //Select box options;
Esempio n. 29
0
 protected function _getOptions($name, $params = NULL)
 {
     $retval = NULL;
     switch ($name) {
         case 'output_format':
             $retval = array_merge(parent::getOptions('default_output_format'), array('-1100-pdf_form' => TTi18n::gettext('Employee (One Employee/Page)'), '-1110-pdf_form_government' => TTi18n::gettext('Government (Multiple Employees/Page)'), '-1120-efile_xml' => TTi18n::gettext('eFile')));
             break;
         case 'default_setup_fields':
             $retval = array('template', 'time_period', 'columns');
             break;
         case 'setup_fields':
             $retval = array('-1000-template' => TTi18n::gettext('Template'), '-1010-time_period' => TTi18n::gettext('Time Period'), '-2010-user_status_id' => TTi18n::gettext('Employee Status'), '-2020-user_group_id' => TTi18n::gettext('Employee Group'), '-2030-user_title_id' => TTi18n::gettext('Employee Title'), '-2040-include_user_id' => TTi18n::gettext('Employee Include'), '-2050-exclude_user_id' => TTi18n::gettext('Employee Exclude'), '-2060-default_branch_id' => TTi18n::gettext('Default Branch'), '-2070-default_department_id' => TTi18n::gettext('Default Department'), '-2100-custom_filter' => TTi18n::gettext('Custom Filter'), '-5000-columns' => TTi18n::gettext('Display Columns'), '-5010-group' => TTi18n::gettext('Group By'), '-5020-sub_total' => TTi18n::gettext('SubTotal By'), '-5030-sort' => TTi18n::gettext('Sort By'));
             break;
         case 'time_period':
             $retval = TTDate::getTimePeriodOptions();
             break;
         case 'date_columns':
             //$retval = TTDate::getReportDateOptions( NULL, TTi18n::getText('Date'), 13, TRUE );
             $retval = array();
             break;
         case 'report_custom_column':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 // Because the Filter type is just only a filter criteria and not need to be as an option of Display Columns, Group By, Sub Total, Sort By dropdowns.
                 // So just get custom columns with Selection and Formula.
                 $custom_column_labels = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('display_column_type_ids'), NULL, 'T4SummaryReport', 'custom_column');
                 if (is_array($custom_column_labels)) {
                     $retval = Misc::addSortPrefix($custom_column_labels, 9500);
                 }
             }
             break;
         case 'report_custom_filters':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 $retval = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('filter_column_type_ids'), NULL, 'T4SummaryReport', 'custom_column');
             }
             break;
         case 'report_dynamic_custom_column':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 $report_dynamic_custom_column_labels = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('display_column_type_ids'), $rcclf->getOptions('dynamic_format_ids'), 'T4SummaryReport', 'custom_column');
                 if (is_array($report_dynamic_custom_column_labels)) {
                     $retval = Misc::addSortPrefix($report_dynamic_custom_column_labels, 9700);
                 }
             }
             break;
         case 'report_static_custom_column':
             if (getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL) {
                 $rcclf = TTnew('ReportCustomColumnListFactory');
                 $report_static_custom_column_labels = $rcclf->getByCompanyIdAndTypeIdAndFormatIdAndScriptArray($this->getUserObject()->getCompany(), $rcclf->getOptions('display_column_type_ids'), $rcclf->getOptions('static_format_ids'), 'T4SummaryReport', 'custom_column');
                 if (is_array($report_static_custom_column_labels)) {
                     $retval = Misc::addSortPrefix($report_static_custom_column_labels, 9700);
                 }
             }
             break;
         case 'formula_columns':
             $retval = TTMath::formatFormulaColumns(array_merge(array_diff($this->getOptions('static_columns'), (array) $this->getOptions('report_static_custom_column')), $this->getOptions('dynamic_columns')));
             break;
         case 'filter_columns':
             $retval = TTMath::formatFormulaColumns(array_merge($this->getOptions('static_columns'), $this->getOptions('dynamic_columns'), (array) $this->getOptions('report_dynamic_custom_column')));
             break;
         case 'static_columns':
             $retval = array('-1000-first_name' => TTi18n::gettext('First Name'), '-1001-middle_name' => TTi18n::gettext('Middle Name'), '-1002-last_name' => TTi18n::gettext('Last Name'), '-1005-full_name' => TTi18n::gettext('Full Name'), '-1030-employee_number' => TTi18n::gettext('Employee #'), '-1035-sin' => TTi18n::gettext('SIN/SSN'), '-1040-status' => TTi18n::gettext('Status'), '-1050-title' => TTi18n::gettext('Title'), '-1060-province' => TTi18n::gettext('Province/State'), '-1070-country' => TTi18n::gettext('Country'), '-1080-group' => TTi18n::gettext('Group'), '-1090-default_branch' => TTi18n::gettext('Default Branch'), '-1100-default_department' => TTi18n::gettext('Default Department'), '-1110-currency' => TTi18n::gettext('Currency'), '-1400-permission_control' => TTi18n::gettext('Permission Group'), '-1410-pay_period_schedule' => TTi18n::gettext('Pay Period Schedule'), '-1420-policy_group' => TTi18n::gettext('Policy Group'));
             $retval = array_merge($retval, $this->getOptions('date_columns'), (array) $this->getOptions('report_static_custom_column'));
             ksort($retval);
             break;
         case 'dynamic_columns':
             $retval = array('-2100-income' => TTi18n::gettext('Income (14)'), '-2110-tax' => TTi18n::gettext('Income Tax (22)'), '-2120-employee_cpp' => TTi18n::gettext('Employee CPP (16)'), '-2125-ei_earnings' => TTi18n::gettext('EI Insurable Earnings (24)'), '-2126-cpp_earnings' => TTi18n::gettext('CPP Pensionable Earnings (26)'), '-2130-employee_ei' => TTi18n::gettext('Employee EI (18)'), '-2140-union_dues' => TTi18n::gettext('Union Dues (44)'), '-2150-employer_cpp' => TTi18n::gettext('Employer CPP'), '-2160-employer_ei' => TTi18n::gettext('Employer EI'), '-2170-rpp' => TTi18n::gettext('RPP Contributions (20)'), '-2180-charity' => TTi18n::gettext('Charity Donations (46)'), '-2190-pension_adjustment' => TTi18n::gettext('Pension Adjustment (52)'), '-2200-other_box_0' => TTi18n::gettext('Other Box 1'), '-2210-other_box_1' => TTi18n::gettext('Other Box 2'), '-2220-other_box_2' => TTi18n::gettext('Other Box 3'), '-2220-other_box_3' => TTi18n::gettext('Other Box 4'), '-2220-other_box_4' => TTi18n::gettext('Other Box 5'), '-2220-other_box_5' => TTi18n::gettext('Other Box 6'));
             break;
         case 'columns':
             $retval = array_merge($this->getOptions('static_columns'), $this->getOptions('dynamic_columns'), (array) $this->getOptions('report_dynamic_custom_column'));
             break;
         case 'column_format':
             //Define formatting function for each column.
             $columns = array_merge($this->getOptions('dynamic_columns'), (array) $this->getOptions('report_custom_column'));
             if (is_array($columns)) {
                 foreach ($columns as $column => $name) {
                     $retval[$column] = 'currency';
                 }
             }
             break;
         case 'aggregates':
             $retval = array();
             $dynamic_columns = array_keys(Misc::trimSortPrefix(array_merge($this->getOptions('dynamic_columns'), (array) $this->getOptions('report_dynamic_custom_column'))));
             if (is_array($dynamic_columns)) {
                 foreach ($dynamic_columns as $column) {
                     switch ($column) {
                         default:
                             $retval[$column] = 'sum';
                     }
                 }
             }
             break;
         case 'type':
             $retval = array('-1010-O' => TTi18n::getText('Original'), '-1020-A' => TTi18n::getText('Amended'), '-1030-C' => TTi18n::getText('Cancel'));
             break;
         case 'templates':
             $retval = array('-1020-by_employee' => TTi18n::gettext('by Employee'), '-1030-by_branch' => TTi18n::gettext('by Branch'), '-1040-by_department' => TTi18n::gettext('by Department'), '-1050-by_branch_by_department' => TTi18n::gettext('by Branch/Department'));
             break;
         case 'template_config':
             $template = strtolower(Misc::trimSortPrefix($params['template']));
             if (isset($template) and $template != '') {
                 switch ($template) {
                     case 'default':
                         //Proper settings to generate the form.
                         //$retval['-1010-time_period']['time_period'] = 'last_quarter';
                         $retval['columns'] = $this->getOptions('columns');
                         $retval['group'][] = 'date_quarter_month';
                         $retval['sort'][] = array('date_quarter_month' => 'asc');
                         $retval['other']['grand_total'] = TRUE;
                         break;
                     default:
                         Debug::Text(' Parsing template name: ' . $template, __FILE__, __LINE__, __METHOD__, 10);
                         $retval['-1010-time_period']['time_period'] = 'last_year';
                         //Parse template name, and use the keywords separated by '+' to determine settings.
                         $template_keywords = explode('+', $template);
                         if (is_array($template_keywords)) {
                             foreach ($template_keywords as $template_keyword) {
                                 Debug::Text(' Keyword: ' . $template_keyword, __FILE__, __LINE__, __METHOD__, 10);
                                 switch ($template_keyword) {
                                     //Columns
                                     //Filter
                                     //Group By
                                     //SubTotal
                                     //Sort
                                     case 'by_month':
                                         $retval['columns'][] = 'date_month';
                                         $retval['group'][] = 'date_month';
                                         $retval['sort'][] = array('date_month' => 'asc');
                                         break;
                                     case 'by_employee':
                                         $retval['columns'][] = 'first_name';
                                         $retval['columns'][] = 'last_name';
                                         $retval['group'][] = 'first_name';
                                         $retval['group'][] = 'last_name';
                                         $retval['sort'][] = array('last_name' => 'asc');
                                         $retval['sort'][] = array('first_name' => 'asc');
                                         break;
                                     case 'by_branch':
                                         $retval['columns'][] = 'default_branch';
                                         $retval['group'][] = 'default_branch';
                                         $retval['sort'][] = array('default_branch' => 'asc');
                                         break;
                                     case 'by_department':
                                         $retval['columns'][] = 'default_department';
                                         $retval['group'][] = 'default_department';
                                         $retval['sort'][] = array('default_department' => 'asc');
                                         break;
                                     case 'by_branch_by_department':
                                         $retval['columns'][] = 'default_branch';
                                         $retval['columns'][] = 'default_department';
                                         $retval['group'][] = 'default_branch';
                                         $retval['group'][] = 'default_department';
                                         $retval['sub_total'][] = 'default_branch';
                                         $retval['sort'][] = array('default_branch' => 'asc');
                                         $retval['sort'][] = array('default_department' => 'asc');
                                         break;
                                     case 'by_month_by_employee':
                                         $retval['columns'][] = 'date_month';
                                         $retval['columns'][] = 'first_name';
                                         $retval['columns'][] = 'last_name';
                                         $retval['group'][] = 'date_month';
                                         $retval['group'][] = 'first_name';
                                         $retval['group'][] = 'last_name';
                                         $retval['sub_total'][] = 'date_month';
                                         $retval['sort'][] = array('date_month' => 'asc');
                                         $retval['sort'][] = array('last_name' => 'asc');
                                         $retval['sort'][] = array('first_name' => 'asc');
                                         break;
                                     case 'by_month_by_branch':
                                         $retval['columns'][] = 'date_month';
                                         $retval['columns'][] = 'default_branch';
                                         $retval['group'][] = 'date_month';
                                         $retval['group'][] = 'default_branch';
                                         $retval['sub_total'][] = 'date_month';
                                         $retval['sort'][] = array('date_month' => 'asc');
                                         $retval['sort'][] = array('default_branch' => 'asc');
                                         break;
                                     case 'by_month_by_department':
                                         $retval['columns'][] = 'date_month';
                                         $retval['columns'][] = 'default_department';
                                         $retval['group'][] = 'date_month';
                                         $retval['group'][] = 'default_department';
                                         $retval['sub_total'][] = 'date_month';
                                         $retval['sort'][] = array('date_month' => 'asc');
                                         $retval['sort'][] = array('default_department' => 'asc');
                                         break;
                                     case 'by_month_by_branch_by_department':
                                         $retval['columns'][] = 'date_month';
                                         $retval['columns'][] = 'default_branch';
                                         $retval['columns'][] = 'default_department';
                                         $retval['group'][] = 'date_month';
                                         $retval['group'][] = 'default_branch';
                                         $retval['group'][] = 'default_department';
                                         $retval['sub_total'][] = 'date_month';
                                         $retval['sub_total'][] = 'default_branch';
                                         $retval['sort'][] = array('date_month' => 'asc');
                                         $retval['sort'][] = array('default_branch' => 'asc');
                                         $retval['sort'][] = array('default_department' => 'asc');
                                         break;
                                 }
                             }
                         }
                         $retval['columns'] = array_merge($retval['columns'], array_keys(Misc::trimSortPrefix($this->getOptions('dynamic_columns'))));
                         break;
                 }
             }
             //Set the template dropdown as well.
             $retval['-1000-template'] = $template;
             //Add sort prefixes so Flex can maintain order.
             if (isset($retval['filter'])) {
                 $retval['-5000-filter'] = $retval['filter'];
                 unset($retval['filter']);
             }
             if (isset($retval['columns'])) {
                 $retval['-5010-columns'] = $retval['columns'];
                 unset($retval['columns']);
             }
             if (isset($retval['group'])) {
                 $retval['-5020-group'] = $retval['group'];
                 unset($retval['group']);
             }
             if (isset($retval['sub_total'])) {
                 $retval['-5030-sub_total'] = $retval['sub_total'];
                 unset($retval['sub_total']);
             }
             if (isset($retval['sort'])) {
                 $retval['-5040-sort'] = $retval['sort'];
                 unset($retval['sort']);
             }
             Debug::Arr($retval, ' Template Config for: ' . $template, __FILE__, __LINE__, __METHOD__, 10);
             break;
         default:
             //Call report parent class options function for options valid for all reports.
             $retval = $this->__getOptions($name);
             break;
     }
     return $retval;
 }
Esempio n. 30
0
 * "Powered by TimeTrex" logo. If the display of the logo is not reasonably
 * feasible for technical reasons, the Appropriate Legal Notices must display
 * the words "Powered by TimeTrex".
 ********************************************************************************/
/*
 * $Revision: 1634 $
 * $Id: EditCompany.php 1634 2008-01-11 20:35:07Z ipso $
 * $Date: 2008-01-11 12:35:07 -0800 (Fri, 11 Jan 2008) $
 */
require_once '../../includes/global.inc.php';
require_once Environment::getBasePath() . 'includes/Interface.inc.php';
if (!$permission->Check('company', 'enabled') or !($permission->Check('company', 'edit') or $permission->Check('company', 'edit_own'))) {
    $permission->Redirect(FALSE);
    //Redirect
}
$smarty->assign('title', TTi18n::gettext($title = 'Edit Company'));
// See index.php
/*
 * Get FORM variables
 */
extract(FormVariables::GetVariables(array('action', 'id', 'company_data')));
$cf = new CompanyFactory();
$action = Misc::findSubmitButton();
switch ($action) {
    case 'submit':
        //Debug::setVerbosity( 11 );
        Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10);
        $cf->StartTransaction();
        if ($permission->Check('company', 'edit')) {
            $cf->setId($company_data['id']);
            $cf->setParent($company_data['parent']);