Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 130

Přidáno uživatelem Jiří Sviták před téměř 16 roky(ů)

members - prekopan vypis, vypisuji se jen informace o clenovi, pridan odkaz na zobrazeni uzivatele, pridano filtrovani
money_transfers - jen kosmeticke upravy, potreba dodelat, nemam k dispozici finalni strukturu databaze pro spravny dotaz
member - upraven model pro controller members
money_transfer - upraven dotaz v modelu pro controller money transfers

Zobrazit rozdíly:

freenetis/trunk/kohana/application/models/money_transfer.php
orig_acc.*, orig_acc.name AS orig_acc_name,
dest_acc.*, dest_acc.name AS dest_acc_name
FROM money_transfers AS mt
LEFT JOIN money_transfer_bank_infos AS bi
JOIN money_transfer_bank_infos AS bi
ON bi.id = mt.bank_info_id
LEFT JOIN accounts AS orig_acc
JOIN accounts AS orig_acc
ON orig_acc.id = mt.origin_id
LEFT JOIN accounts AS dest_acc
JOIN accounts AS dest_acc
ON dest_acc.id = mt.destination_id
ORDER BY mt.timestamp DESC');
ORDER BY mt.id');
}
}
freenetis/trunk/kohana/application/models/member.php
parent::__construct($id);
}
/*
public function get_all_members($limit_from = 0, $limit_results = 50, $order_by = 'users.id', $order_by_direction = 'ASC')
{
return self::$db->select(
array('members.name as namem', 'members.street', 'members.street_number',
'members.town', 'members.ZIP_code', 'members.type as typem',
......
->orderby($order_by, $order_by_direction)
->groupby('members.id')
->limit($limit_results,$limit_from)->get();
}
*/
public function count_all_members()
{
freenetis/trunk/kohana/application/controllers/members.php
url::redirect(url_lang::base().'members/show_all');
}
function show_all($limit_results = 500, $order_by = 'member_id', $order_by_direction = 'ASC')
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'ASC')
{
if (!$this->acl_check_2D('freenetis', 'view_all')) Controller::error(1);
// get new selector
if (is_numeric($this->input->get('record_per_page'))) $limit_results = (int) $this->input->get('record_per_page');
// parameters control
$allowed_order_type = array('members.name', 'street', 'street_number', 'town', 'ZIP_code', 'users.type', 'qos_ceil', 'qos_rate', 'entrance_fee', 'debt_payment_rate', 'entrance_fee_left', 'must_pay_regular_fee', 'current_credit', 'entrance_date', 'members.comment', 'users.name', 'surname','login','birthday','users.comment','phone','email');
if (!in_array(strtolower($order_by),$allowed_order_type)) $order_by = 'member_id';
$allowed_order_type = array('name', 'street', 'street_number', 'town', 'ZIP_code', 'qos_ceil', 'qos_rate', 'entrance_fee', 'debt_payment_rate', 'entrance_fee_left', 'must_pay_regular_fee', 'current_credit', 'entrance_date', 'comment');
if (!in_array(strtolower($order_by),$allowed_order_type)) $order_by = 'id';
if (strtolower($order_by_direction) != 'asc' && strtolower($order_by_direction) != 'desc') $order_by_direction = 'asc';
$data['title'] = url_lang::lang('texts.Association members');
$data['heading'] = url_lang::lang('texts.Association members');
$this->model_members = new Member_Model();
$model_members = new Member_Model();
$total_members = $this->model_members->count_all_members(); // count all members in database
$total_members = $model_members->count_all_members(); // count all members in database
$url_array = explode('/', trim(url::current(), '/'));
$sql_offset = (isset($url_array[7])) ? (int) ($url_array[7] - 1) * $limit_results : 0;
unset($url_array);
$sql_offset = ($sql_offset>$total_members) ? 0 : $sql_offset;
$dotaz = $this->model_members->get_all_members($sql_offset, (int)$limit_results, $order_by, $order_by_direction); // get all members from database
$grid = new Grid(url_lang::base().'members', url_lang::lang('texts.List of all members'),array(
if ($this->input->post()) {
$dotaz = $model_members->like(array(
"name" =>$this->input->post("filter_name"),
"town" =>$this->input->post("filter_town"),
"street" =>$this->input->post("filter_street")
)) -> orderby('id', $order_by_direction)
-> limit($limit_results, $sql_offset)
-> find_all();
} else
$dotaz = $model_members->orderby($order_by, $order_by_direction)->limit($limit_results, $sql_offset)->find_all();
// $dotaz = $model_members->get_all_members($sql_offset, (int)$limit_results, $order_by, $order_by_direction); // get all members from database
// $dotaz = $model_members->get_all_members();
$grid = new Grid(url_lang::base().'members', url_lang::lang('texts.List of all members'),array(
//'separator' => '<br />-----------',
//'use_paginator' => false,
//'use_selector' => false,
......
if ($this->acl_check_2D('freenetis', 'new_all'))
$grid->add_new_button(url_lang::base().'members/add', url_lang::lang('texts.Add new member'));
$grid->order_field('member_id')->label('ID');
$grid->order_field('name','members.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_field('email')->label('E-mail');
//$grid->order_field('member_id')->label('ID');
$grid->order_field('id')->label('ID');
$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_field('email')->label('E-mail');
$grid->order_field('street')->label(url_lang::lang('texts.Street'));
$grid->order_field('phone')->label(url_lang::lang('texts.Phone'));
$grid->action_field('member_id') ->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'members/show') ->action(url_lang::lang('texts.Show'));
$grid->order_field('street_number')->label(url_lang::lang('texts.Street number'));
//$grid->order_field('phone')->label(url_lang::lang('texts.Phone'));
$grid->order_field('town')->label(url_lang::lang('texts.Town'));
$grid->action_field('id') ->label(url_lang::lang('texts.Member')) ->url(url_lang::base().'members/show') ->action(url_lang::lang('texts.Show'));
if ($this->acl_check_2D('freenetis', 'edit_all'))
$grid->action_field('member_id') ->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'members/edit') ->action(url_lang::lang('texts.Edit'));
$grid->action_field('id') ->label(url_lang::lang('texts.Member')) ->url(url_lang::base().'members/edit') ->action(url_lang::lang('texts.Edit'));
$grid->action_field('id') ->label(url_lang::lang('texts.User')) ->url(url_lang::base().'users/show') ->action(url_lang::lang('texts.Show user'));
// if ($this->acl_check_2D('freenetis', 'delete_all'))
// $grid->action_field('member_id') ->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'members/delete') ->action(url_lang::lang('texts.Delete'))->script('onclick="return potvrd(\''.url_lang::lang('texts.delete_member').'\');"');
$grid->datasource( $dotaz );
$this->template->content = $grid;
$grid->datasource( $dotaz );
$view = new View('template');
$view->header = new View('base/header');
// $view->content = new View('content', $data);
$view->content = $this->template->content;
$filter = new View('members_filter');
$view->content = $filter . $grid;
$view->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = url_lang::lang('texts.List of all members');
freenetis/trunk/kohana/application/controllers/money_transfers.php
<?php
class Money_Transfers_Controller extends Controller {
function index()
{
url::redirect(url_lang::base().'money_transfers/show_all');
}
function index()
{
url::redirect(url_lang::base().'money_transfers/show_all');
}
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'ASC')
{
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username'])) Controller::error(1);
// get new selector
if (is_numeric($this->input->get('record_per_page'))) $limit_results = (int) $this->input->get('record_per_page');
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'ASC')
{
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username'])) Controller::error(1);
// get new selector
if (is_numeric($this->input->get('record_per_page'))) $limit_results = (int) $this->input->get('record_per_page');
// parameters control
$allowed_order_type = array('id');
if (!in_array(strtolower($order_by),$allowed_order_type)) $order_by = 'id';
if (strtolower($order_by_direction) != 'asc' && strtolower($order_by_direction) != 'desc') $order_by_direction = 'asc';
$data['title'] = url_lang::lang('texts.List of all transactions');
$data['heading'] = url_lang::lang('texts.List of all transactions');
$model_money_transfer = new Money_transfer_Model();
$alltransfers = $model_money_transfer->get_all_money_transfers();
$total_money_transfers = $model_money_transfer->count_all_money_transfers();
$grid = new Grid(url_lang::base().'money_transfers', url_lang::lang('texts.List of all transactions'), array(
'separator' => '',
'use_paginator' => true,
'use_selector' => true,
'current' => $limit_results, //current selected 'records_per_page' value
'selector_increace' => 200, // increace
'selector_min' => 200, // minimum where selector start
'selector_max_multiplier' => 10,
'base_url' => Config::item('locale.lang').'/money_transfers/show_all/'.$limit_results.'/'.$order_by.'/'.$order_by_direction,
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
'total_items' => $total_money_transfers, // use db count query here of course
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
'style' => 'classic',
'order_by' => $order_by,
'order_by_direction' => $order_by_direction,
'limit_results' => $limit_results
));
$grid->order_field('mtid')->label('ID');
$grid->order_field('timestamp')->label('Timestamp');
$grid->order_field('bi_name')->label('BI name');
$grid->order_field('variable_symbol')->label('BI variable');
$grid->order_field('orig_acc_name')->label('Origin account');
$grid->order_field('dest_acc_name')->label('Destination account');
$grid->order_field('previous_transfer_id')->label('Previous transfer id');
$grid->order_field('text')->label('Text');
$grid->order_field('amount')->label('Amount');
$grid->datasource( $alltransfers );
$this->template->content = $grid;
// parameters control
$allowed_order_type = array('id');
if (!in_array(strtolower($order_by),$allowed_order_type)) $order_by = 'id';
if (strtolower($order_by_direction) != 'asc' && strtolower($order_by_direction) != 'desc') $order_by_direction = 'asc';
$data['title'] = url_lang::lang('texts.List of all transactions');
$data['heading'] = url_lang::lang('texts.List of all transactions');
$model_money_transfer = new Money_transfer_Model();
$alltransfers = $model_money_transfer->get_all_money_transfers();
$total_money_transfers = $model_money_transfer->count_all_money_transfers();
$grid = new Grid(url_lang::base().'users', url_lang::lang('texts.List of all transactions'), array(
'separator' => '',
//'use_paginator' => false,
//'use_selector' => false,
'current' => $limit_results, //current selected 'records_per_page' value
'selector_increace' => 200, // increace
'selector_min' => 200, // minimum where selector start
'selector_max_multiplier' => 10,
'base_url' => Config::item('locale.lang').'/money_transfers' ,
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
'total_items' => $total_money_transfers, // use db count query here of course
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
'style' => 'classic',
'order_by' => $order_by,
'order_by_direction' => $order_by_direction,
'limit_results' => $limit_results
));
$grid->order_field('mtid')->label('ID');
$grid->order_field('timestamp')->label('Timestamp');
$grid->order_field('bi_name')->label('BI name');
$grid->order_field('variable_symbol')->label('BI variable');
$grid->order_field('orig_acc_name')->label('Origin account');
$grid->order_field('dest_acc_name')->label('Destination account');
$grid->order_field('previous_transfer_id')->label('Previous transfer id');
$grid->order_field('text')->label('Text');
$grid->order_field('amount')->label('Amount');
$grid->datasource( $alltransfers );
$this->template->content = $grid;
$view = new View('template');
$view->header = new View('base/header');
$view->content = $this->template->content;
$view->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = url_lang::lang('texts.Money transfers');
//$view->content->heading = "Úprava uživatele ".$data['row']['name']." ".$data['row']['surname'];
//$view->content->form = $form->html();
$view->render(TRUE);
}
$view = new View('template');
$view->header = new View('base/header');
$view->content = $this->template->content;
$view->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = url_lang::lang('texts.Money transfers');
//$view->content->heading = "Úprava uživatele ".$data['row']['name']." ".$data['row']['surname'];
//$view->content->form = $form->html();
$view->render(TRUE);
}
}
?>

Také k dispozici: Unified diff