function setRecurringScheduleTemplateControl($id)
 {
     $id = trim($id);
     $rstclf = new RecurringScheduleTemplateControlListFactory();
     if ($this->Validator->isResultSetWithRows('recurring_schedule_template_control', $rstclf->getByID($id), TTi18n::gettext('Recurring Schedule Template Control is invalid'))) {
         $this->data['recurring_schedule_template_control_id'] = $id;
         return TRUE;
     }
     return FALSE;
 }
     }
 }
 $rsclf->getSearchByCompanyIdAndArrayCriteria($current_company->getId(), $filter_data, $current_user_prefs->getItemsPerPage(), $page, NULL, $sort_array);
 $pager = new Pager($rsclf);
 $utlf = new UserTitleListFactory();
 $utlf->getByCompanyId($current_company->getId());
 $title_options = $utlf->getArrayByListFactory($utlf, FALSE, TRUE);
 $blf = new BranchListFactory();
 $blf->getByCompanyId($current_company->getId());
 $branch_options = $blf->getArrayByListFactory($blf, FALSE, TRUE);
 $dlf = new DepartmentListFactory();
 $dlf->getByCompanyId($current_company->getId());
 $department_options = $dlf->getArrayByListFactory($dlf, FALSE, TRUE);
 $uglf = new UserGroupListFactory();
 $group_options = $uglf->getArrayByNodes(FastTree::FormatArray($uglf->getByCompanyIdArray($current_company->getId()), 'TEXT', TRUE));
 $rstclf = new RecurringScheduleTemplateControlListFactory();
 $template_options = $rstclf->getByCompanyIdArray($current_company->getId(), FALSE, TRUE);
 foreach ($rsclf as $rsc_obj) {
     $user_id = $rsc_obj->getColumn('user_id');
     $ulf = new UserListFactory();
     $ulf->getByID($user_id);
     if ($ulf->getRecordCount() == 1) {
         $u_obj = $ulf->getCurrent();
     } else {
         //Skip this row.
         Debug::Text('Skipping Row: User ID: ' . $user_id, __FILE__, __LINE__, __METHOD__, 10);
         continue;
     }
     $rows[] = array('id' => $rsc_obj->getId(), 'user_id' => $user_id, 'name' => $rsc_obj->getColumn('name'), 'description' => $rsc_obj->getColumn('description'), 'start_week' => $rsc_obj->getStartWeek(), 'start_date' => $rsc_obj->getStartDate(), 'end_date' => $rsc_obj->getEndDate(), 'first_name' => $u_obj->getFirstName(), 'middle_name' => $u_obj->getMiddleName(), 'last_name' => $u_obj->getLastName(), 'user_full_name' => $u_obj->getFullName(TRUE), 'is_owner' => $permission->isOwner($u_obj->getCreatedBy(), $u_obj->getId()), 'is_child' => $permission->isChild($u_obj->getId(), $permission_children_ids), 'deleted' => $rsc_obj->getDeleted());
 }
 $all_array_option = array('-1' => TTi18n::gettext('-- Any --'));
         $delete = FALSE;
     }
     $rstclf = new RecurringScheduleTemplateControlListFactory();
     foreach ($ids as $id) {
         $rstclf->getByIdAndCompanyId($id, $current_company->getId());
         foreach ($rstclf as $rstc_obj) {
             $rstc_obj->setDeleted($delete);
             if ($rstc_obj->isValid()) {
                 $rstc_obj->Save();
             }
         }
     }
     Redirect::Page(URLBuilder::getURL(NULL, 'RecurringScheduleTemplateControlList.php'));
     break;
 default:
     $rstclf = new RecurringScheduleTemplateControlListFactory();
     $filter_data = NULL;
     if ($permission->Check('recurring_schedule_template', 'view') == FALSE) {
         $filter_data['created_by'] = array($current_user->getId());
     }
     $rstclf->getSearchByCompanyIdAndArrayCriteria($current_company->getId(), $filter_data, $current_user_prefs->getItemsPerPage(), $page, NULL, $sort_array);
     //$rstclf->getByCompanyId( $current_company->getId(), $current_user_prefs->getItemsPerPage(), $page, NULL, $sort_array );
     $pager = new Pager($rstclf);
     foreach ($rstclf as $rstc_obj) {
         $rows[] = array('id' => $rstc_obj->getId(), 'name' => $rstc_obj->getName(), 'description' => $rstc_obj->getDescription(), 'is_owner' => $permission->isOwner($rstc_obj->getCreatedBy(), NULL), 'deleted' => $rstc_obj->getDeleted());
     }
     $smarty->assign_by_ref('rows', $rows);
     $smarty->assign_by_ref('sort_column', $sort_column);
     $smarty->assign_by_ref('sort_order', $sort_order);
     $smarty->assign_by_ref('paging_data', $pager->getPageVariables());
     break;
 function getByCompanyIdArray($company_id, $include_blank = TRUE)
 {
     $rstclf = new RecurringScheduleTemplateControlListFactory();
     $rstclf->getByCompanyId($company_id);
     if ($include_blank == TRUE) {
         $list[0] = '--';
     }
     foreach ($rstclf as $obj) {
         $list[$obj->getID()] = $obj->getName();
     }
     return $list;
 }
                     }
                 }
             }
             unset($week_rows[$rst_id]);
         }
         unset($rst_id);
     }
     //Redirect::Page( URLBuilder::getURL( array('id' => $data['id']), 'EditRecurringScheduleTemplate.php') );
     //break;
 //Redirect::Page( URLBuilder::getURL( array('id' => $data['id']), 'EditRecurringScheduleTemplate.php') );
 //break;
 default:
     if (isset($id)) {
         BreadCrumb::setCrumb($title);
         $rstlf = new RecurringScheduleTemplateListFactory();
         $rstclf = new RecurringScheduleTemplateControlListFactory();
         $rstclf->getByIdAndCompanyId($id, $current_company->getID());
         foreach ($rstclf as $rstc_obj) {
             //Debug::Arr($station,'Department', __FILE__, __LINE__, __METHOD__,10);
             $data = array('id' => $rstc_obj->getId(), 'name' => $rstc_obj->getName(), 'description' => $rstc_obj->getDescription(), 'created_date' => $rstc_obj->getCreatedDate(), 'created_by' => $rstc_obj->getCreatedBy(), 'updated_date' => $rstc_obj->getUpdatedDate(), 'updated_by' => $rstc_obj->getUpdatedBy(), 'deleted_date' => $rstc_obj->getDeletedDate(), 'deleted_by' => $rstc_obj->getDeletedBy());
             //Get week data
             $rstlf->getByRecurringScheduleTemplateControlId($rstc_obj->getId());
             if ($rstlf->getRecordCount() > 0) {
                 foreach ($rstlf as $rst_obj) {
                     $week_rows[$rst_obj->getId()] = array('id' => $rst_obj->getId(), 'week' => $rst_obj->getWeek(), 'sun' => $rst_obj->getSun(), 'mon' => $rst_obj->getMon(), 'tue' => $rst_obj->getTue(), 'wed' => $rst_obj->getWed(), 'thu' => $rst_obj->getThu(), 'fri' => $rst_obj->getFri(), 'sat' => $rst_obj->getSat(), 'start_time' => $rst_obj->getStartTime(), 'end_time' => $rst_obj->getEndTime(), 'total_time' => $rst_obj->getTotalTime(), 'schedule_policy_id' => $rst_obj->getSchedulePolicyID(), 'branch_id' => $rst_obj->getBranch(), 'department_id' => $rst_obj->getDepartment(), 'job_id' => $rst_obj->getJob(), 'job_item_id' => $rst_obj->getJobItem());
                 }
             } else {
                 $week_rows[-1] = array('id' => -1, 'week' => 1);
             }
         }
     } elseif ($action == 'add_week') {