$df->Save(FALSE);
            if (isset($department_data['branch_list'])) {
                $df->setBranch($department_data['branch_list']);
                $df->Save(TRUE);
            }
            Redirect::Page(URLBuilder::getURL(NULL, 'DepartmentList.php'));
            break;
        }
    default:
        if (isset($id)) {
            BreadCrumb::setCrumb($title);
            $dlf = new DepartmentListFactory();
            $dlf->GetByIdAndCompanyId($id, $current_company->getId());
            foreach ($dlf as $department) {
                Debug::Arr($department, 'Department', __FILE__, __LINE__, __METHOD__, 10);
                $department_data = array('id' => $department->getId(), 'company_name' => $current_company->getName(), 'status' => $department->getStatus(), 'name' => $department->getName(), 'manual_id' => $department->getManualID(), 'branch_list' => $department->getBranch(), 'created_date' => $department->getCreatedDate(), 'created_by' => $department->getCreatedBy(), 'updated_date' => $department->getUpdatedDate(), 'updated_by' => $department->getUpdatedBy(), 'deleted_date' => $department->getDeletedDate(), 'deleted_by' => $department->getDeletedBy());
            }
        } elseif ($action != 'submit') {
            $next_available_manual_id = DepartmentListFactory::getNextAvailableManualId($current_company->getId());
            $department_data = array('next_available_manual_id' => $next_available_manual_id);
        }
        //Select box options;
        $department_data['status_options'] = $df->getOptions('status');
        $blf = new BranchListFactory();
        $blf->getByCompanyId($current_company->getId());
        $department_data['branch_list_options'] = $blf->getArrayByListFactory($blf, FALSE);
        $smarty->assign_by_ref('department_data', $department_data);
        break;
}
$smarty->assign_by_ref('df', $df);
$smarty->display('department/EditDepartment.tpl');