function set_params(&$params) { parent::set_params($params); $db = Application::getDb(); $user = Application::getEntityInstance('user'); $table = $user->getTableName(); $keyword = trim($this->getValue('search_keyword')); if ($keyword) { $skeyword = addslashes($keyword); $params['where'][] = "({$table}.name LIKE '%{$keyword}%' OR {$table}.email LIKE '%{$keyword}%' OR {$table}.login LIKE '%{$keyword}%')"; } $role_id = $this->getValue('search_role_id'); if ($role_id) { foreach ($role_id as &$r) { $r = (int) $r; } $coupling_table = $user->getRolesCouplingTableName(); $role_id = implode(',', $role_id); $params['from'][] = "\r\n \t\tINNER JOIN {$coupling_table} ON {$coupling_table}.user_id={$table}.id AND {$coupling_table}.role_id IN({$role_id})\r\n \t"; $params['group_by'][] = "{$table}.id"; } }
protected function initFieldSet() { parent::initFieldSet(); $client_options = $this->entity->getClientOptions('-- Любой --'); $client_field = coreFormElementsLibrary::get('select', 'client_id'); $client_field->setOptions($client_options); $this->addField($client_field); $this->setFieldCaption('client_id', 'Клиент'); $type_options = $this->entity->getTypeOptions('-- Любой --'); $type_field = coreFormElementsLibrary::get('select', 'type'); $type_field->setOptions($type_options); $this->addField($type_field); $this->setFieldCaption('type', 'Тип'); $status_options = ocsPkgOcsOrderStatusHelperLibrary::getAllStatusOptions(); $status_field = coreFormElementsLibrary::get('checkbox_collection', 'status'); $status_field->setOptions($status_options); $status_field->setMaxColumns(2); $this->addField($status_field); $this->setFieldCaption('status', 'Статус'); $date_field = coreFormElementsLibrary::get('date_range', 'date_range'); $this->addField($date_field); $this->setFieldCaption('date_range', 'Дата создания'); }