URLBuilder::setURL($_SERVER['SCRIPT_NAME'], array('sort_column' => $sort_column, 'sort_order' => $sort_order, 'page' => $page));
Debug::Arr($ids, 'Selected Objects', __FILE__, __LINE__, __METHOD__, 10);
$action = Misc::findSubmitButton();
switch ($action) {
    case 'add':
        Redirect::Page(URLBuilder::getURL(NULL, 'EditDepartment.php'));
        break;
    case 'delete' or 'undelete':
        if (strtolower($action) == 'delete') {
            $delete = TRUE;
        } else {
            $delete = FALSE;
        }
        $dlf = new DepartmentListFactory();
        foreach ($ids as $id) {
            $dlf->GetByIdAndCompanyId($id, $current_company->getId());
            foreach ($dlf as $department) {
                $department->setDeleted($delete);
                $department->Save();
            }
        }
        Redirect::Page(URLBuilder::getURL(NULL, 'DepartmentList.php'));
        break;
    default:
        $sort_array = NULL;
        if ($sort_column != '') {
            $sort_array = array(Misc::trimSortPrefix($sort_column) => $sort_order);
        }
        $dlf = new DepartmentListFactory();
        $dlf->GetByCompanyId($current_company->getId(), $current_user_prefs->getItemsPerPage(), $page, NULL, $sort_array);
        $pager = new Pager($dlf);