Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 295

Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)

Upraven vypis bankovnich uctu sdruzeni.

Zobrazit rozdíly:

freenetis/trunk/kohana/application/models/account.php
*/
public function get_assoc_bank_accounts()
{
/*
return self::$db->query('SELECT q3.id, a.name, a.comment,
CONCAT(ba.account_nr, \'/\', ba.bank_nr) AS account_number,
q3.credit FROM
......
LEFT JOIN accounts a ON q3.id = a.id
LEFT JOIN bank_accounts ba ON a.id = ba.account_id
WHERE a.member_id = 1 AND a.account_attribute_id = '.Account_attribute_Model::$bank
);
);
*/
}
/**
freenetis/trunk/kohana/application/models/bank_account.php
protected $belongs_to = array('account');
//protected $belongs_to_many = array();
//protected $has_and_belongs_to_many = array();
/**
* @author Jiri Svitak
* It gets all bank accounts of association.
* @return unknown_type
*/
public function get_assoc_bank_accounts()
{
/*
return self::$db->query('SELECT q3.id, ba.name, ba.comment,
CONCAT(ba.account_nr, \'/\', ba.bank_nr) AS account_number,
q3.credit FROM
(SELECT id, member_id, (inbound - outbound) AS credit FROM
(SELECT q1.id, q1.member_id, IFNULL(sum(amount), 0) AS inbound, outbound FROM
(SELECT ba.id, ba.member_id, IFNULL(sum(amount), 0) AS outbound
FROM bank_accounts ba
LEFT JOIN bank_transfers bt ON ba.id = bt.origin_id
GROUP BY ba.id) AS q1
LEFT JOIN transfers t ON q1.id = t.destination_id
GROUP BY q1.id) AS q2
) AS q3
LEFT JOIN bank_accounts ba ON q3.id = ba.id
WHERE a.member_id = 1'
);
*/
return self::$db->query('SELECT
ba.id, ba.name,
CONCAT(ba.account_nr, \'/\', ba.bank_nr) AS account_number
FROM bank_accounts ba
WHERE ba.member_id = 1'
);
}
}
?>
freenetis/trunk/kohana/application/controllers/bank_accounts.php
<?php
class Bank_accounts_Controller extends Controller
{
function index()
{
url::redirect(url_lang::base().'bank_accounts/show_assoc');
}
/**
* @author Jiri Svitak
* It shows bank accounts of association.
* @param $limit_results
* @param $order_by
* @param $order_by_direction
* @return unknown_type
*/
function show_assoc($limit_results = 50, $order_by = 'id', $order_by_direction = 'ASC')
{
// it selects only bank accounts of association
$acc_model = new Bank_account_Model();
$accs = $acc_model->get_assoc_bank_accounts();
$total_accs = count($accs);
$acc_grid = new Grid(url_lang::base().'bank_accounts',
url_lang::lang('texts.Bank accounts of association'), array(
'separator' => '<br /><br />',
'current' => $limit_results, // current selected 'records_per_page' value
'selector_increace' => 50, // increace
'selector_min' => 50, // minimum where selector start
'selector_max_multiplier' => 10,
'base_url' => Config::item('locale.lang').'/accounts/bank_transfers/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
'total_items' => $total_accs, // 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,
));
// adding account, to do - access rights
//if ($this->acl_check_new(get_class($this), 'accounts', $member_id))
// $acc_grid->add_new_button(url_lang::base().'accounts/add_bank_account/'.$member_id, url_lang::lang('texts.Add new bank account'));
$acc_grid->order_field('id')->label('ID');
$acc_grid->order_field('name')->label(url_lang::lang('texts.Account name'));
//$acc_grid->order_field('comment')->label(url_lang::lang('texts.Comment'));
$acc_grid->order_field('account_number')->label(url_lang::lang('texts.Account number'));
//$acc_grid->order_field('credit')->label(url_lang::lang('texts.Credit'));
$acc_grid->action_field('id')->label(url_lang::lang('texts.Transfers'))->url(url_lang::base().'transfers/show_by_bank_account')->action(url_lang::lang('texts.Show'));
$acc_grid->action_field('id')->label(url_lang::lang('texts.Import'))->url(url_lang::base().'accounts/upload_bank_file')->action(url_lang::lang('texts.Import'));
$acc_grid->datasource($accs);
$view = new View('template');
$view->header = new View('base/header');
$view->header->title = url_lang::lang('texts.Bank accounts of association');
$view->header->menu = Controller::render_menu();
$view->content = $acc_grid;
$view->footer = new View('base/footer');
$view->render(TRUE);
}
}
?>
freenetis/trunk/kohana/application/controllers/accounts.php
*/
protected $parsed_bank_account = NULL;
function index()
{
url::redirect(url_lang::base().'accounts/credit_accounts');
}
/**
* @author Jiri Svitak
* It shows bank accounts of association.
* @param $limit_results
* @param $order_by
* @param $order_by_direction
* @return unknown_type
*/
function bank_accounts($limit_results = 50, $order_by = 'id', $order_by_direction = 'ASC')
{
// it selects only bank accounts of association
$acc_model = new Account_Model();
$accs = $acc_model->get_assoc_bank_accounts();
$total_accs = count($accs);
$acc_grid = new Grid(url_lang::base().'accounts',
url_lang::lang('texts.Bank accounts of association'), array(
'separator' => '<br /><br />',
'current' => $limit_results, // current selected 'records_per_page' value
'selector_increace' => 50, // increace
'selector_min' => 50, // minimum where selector start
'selector_max_multiplier' => 10,
'base_url' => Config::item('locale.lang').'/accounts/bank_transfers/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
'total_items' => $total_accs, // 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,
));
// adding account, to do - access rights
//if ($this->acl_check_new(get_class($this), 'accounts', $member_id))
// $acc_grid->add_new_button(url_lang::base().'accounts/add_bank_account/'.$member_id, url_lang::lang('texts.Add new bank account'));
$acc_grid->order_field('id')->label('ID');
$acc_grid->order_field('name')->label(url_lang::lang('texts.Account name'));
$acc_grid->order_field('comment')->label(url_lang::lang('texts.Comment'));
$acc_grid->order_field('account_number')->label(url_lang::lang('texts.Account number'));
$acc_grid->order_field('credit')->label(url_lang::lang('texts.Credit'));
$acc_grid->action_field('id')->label(url_lang::lang('texts.Transfers'))->url(url_lang::base().'transfers/show_by_bank_account')->action(url_lang::lang('texts.Show'));
$acc_grid->action_field('id')->label(url_lang::lang('texts.Import'))->url(url_lang::base().'accounts/upload_bank_file')->action(url_lang::lang('texts.Import'));
$acc_grid->datasource($accs);
$view = new View('template');
$view->header = new View('base/header');
$view->header->title = url_lang::lang('texts.Bank accounts of association');
$view->header->menu = Controller::render_menu();
$view->content = $acc_grid;
$view->footer = new View('base/footer');
$view->render(TRUE);
}
/**
* @author Jiri Svitak
* It shows credit accounts of members.
* @param $limit_results
* @param $order_by
freenetis/trunk/kohana/application/libraries/MY_Controller.php
<li>'.html::anchor(url_lang::base().'members/debtors/', url_lang::lang('texts.Debtors')).'</li>';
if ($this->acl_check_2D('menu', 'accounts'))
$acc_menu .= '<li>'.html::anchor(url_lang::base().'accounts/bank_accounts', url_lang::lang('texts.Bank accounts of association')).'</li>
$acc_menu .= '<li>'.html::anchor(url_lang::base().'bank_accounts/show_assoc', url_lang::lang('texts.Bank accounts of association')).'</li>
<li>'.html::anchor(url_lang::base().'accounts/credit_accounts', url_lang::lang('texts.Credit accounts')).'</li>
<li>'.html::anchor(url_lang::base().'accounts/project_accounts', url_lang::lang('texts.Project accounts')).'</li>
<li>'.html::anchor(url_lang::base().'accounts/cash_flow', url_lang::lang('texts.Cash flow')).'</li>

Také k dispozici: Unified diff