Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 867

Přidáno uživatelem Jiří Sviták před více než 13 roky(ů)

Jeste drobne upravy zobrazeni a filtrovani vsech uzivatelu.
... do hl. vetve...

Zobrazit rozdíly:

freenetis/trunk/kohana/application/models/user.php
if($where=='') $where = 'WHERE u.member_id = '.$member_id;
else $where .= ' AND u.member_id = '.$member_id;
}
return $this->db->query('SELECT
u.id, u.name, u.surname, u.login, u.member_id, c.value
return $this->db->query('
SELECT u.id, u.name, u.surname, u.login, u.member_id, m.name AS member_name
FROM users u
JOIN users_contacts uc ON u.id = uc.user_id
JOIN contacts c ON uc.contact_id = c.id AND c.type = (SELECT id FROM enum_types WHERE value = \'E-mail\')
LEFT JOIN members m on m.id = u.member_id
LEFT JOIN users_contacts uc ON u.id = uc.user_id
LEFT JOIN contacts c ON uc.contact_id = c.id AND c.type = (SELECT id FROM enum_types WHERE value = \'E-mail\')
'.$where.'
GROUP BY u.id
ORDER BY '.$this->arr_sql[$order_by].' '.$order_by_direction.'
LIMIT '.$limit_from.','.$limit_results
);
......
}
$users = $this->db->query('
SELECT u.id, u.name, u.surname, u.login, u.member_id, c.value
SELECT u.id, u.name, u.surname, u.login, u.member_id, m.name AS member_name
FROM users u
JOIN members m on m.id = u.member_id
JOIN users_contacts uc ON u.id = uc.user_id
JOIN contacts c ON uc.contact_id = c.id AND c.type = (SELECT id FROM enum_types WHERE value = \'E-mail\')
'.$where);
LEFT JOIN members m on m.id = u.member_id
LEFT JOIN users_contacts uc ON u.id = uc.user_id
LEFT JOIN contacts c ON uc.contact_id = c.id AND c.type = (SELECT id FROM enum_types WHERE value = \'E-mail\')
'.$where.'
GROUP BY u.id');
return count($users);
}
freenetis/trunk/kohana/application/controllers/users.php
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'asc', $page_word = null, $page = 1)
{
if (!$this->acl_check_view(get_class($this),'users'))
if (!$this->acl_check_view(get_class($this), 'users'))
Controller::error(ACCESS);
// get new selector
if (is_numeric($this->input->get('record_per_page'))) $limit_results = (int) $this->input->get('record_per_page');
......
new Table_Form_Item('text','login','Login name'),
new Table_Form_Item('text','member_name','Member'),
"tr",
new Table_Form_Item('text','email', 'E-mail'),
new Table_Form_Item('text','email', 'E-mail'), "td",
new Table_Form_Item('submit','submit','Filter')
)
......
$grid->order_field('name')->label(url_lang::lang('texts.Name'));
$grid->order_field('surname')->label(url_lang::lang('texts.Surname'));
$grid->order_field('login')->label(url_lang::lang('texts.Username'));
$grid->order_callback_field('member_name')->label(url_lang::lang('texts.Member'))->callback('callback::member_field');
if ($this->acl_check_view(get_class($this),'users'))
$grid->action_field('id') ->label(url_lang::lang('texts.User')) ->url(url_lang::base().'users/show') ->action(url_lang::lang('texts.Show'))->class('center');
if ($this->acl_check_edit(get_class($this),'users'))
$grid->action_field('id') ->label(url_lang::lang('texts.User')) ->url(url_lang::base().'users/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
//if ($this->acl_check_edit(get_class($this),'users'))
// $grid->action_field('id') ->label(url_lang::lang('texts.User')) ->url(url_lang::base().'users/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
if ($this->acl_check_view('Devices_Controller','devices'))
$grid->action_field('id') ->label(url_lang::lang('texts.Devices')) ->url(url_lang::base().'devices/show_by_user')->action(url_lang::lang('texts.Show'))->class('center');
if ($this->acl_check_view('Users_Controller','work'))

Také k dispozici: Unified diff