$otplf = new OverTimePolicyListFactory();
        $over_time_policy_options = $otplf->getByCompanyIDArray($current_company->getId(), TRUE);
        //Premium policies
        $pplf = new PremiumPolicyListFactory();
        $premium_policy_options = $pplf->getByCompanyIDArray($current_company->getId(), TRUE);
        //Meal policies
        $mplf = new MealPolicyListFactory();
        $meal_policy_options = $mplf->getByCompanyIDArray($current_company->getId(), TRUE);
        if ($current_company->getProductEdition() == 20) {
            $jlf = new JobListFactory();
            $udt_data['job_options'] = $jlf->getByCompanyIdAndUserIdAndStatusArray($current_company->getId(), $udt_data['user_id'], array(10, 20, 30, 40), TRUE);
            $jilf = new JobItemListFactory();
            $udt_data['job_item_options'] = $jilf->getByCompanyIdArray($current_company->getId(), TRUE);
        }
        //Select box options;
        $udt_data['status_options'] = $udtf->getOptions('status');
        $udt_data['type_options'] = $udtf->getOptions('type');
        $udt_data['branch_options'] = $branch_options;
        $udt_data['department_options'] = $department_options;
        $udt_data['absence_policy_options'] = $absence_policy_options;
        $udt_data['over_time_policy_options'] = $over_time_policy_options;
        $udt_data['premium_policy_options'] = $premium_policy_options;
        $udt_data['meal_policy_options'] = $meal_policy_options;
        //var_dump($pc_data);
        $smarty->assign_by_ref('udt_data', $udt_data);
        $smarty->assign_by_ref('user_date_id', $user_date_id);
        $smarty->assign_by_ref('user_id', $user_id);
        break;
}
$smarty->assign_by_ref('udtf', $udtf);
$smarty->display('punch/EditUserDateTotal.tpl');