Revize 376
Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'account overview' => 'Přehled účtů',
|
||
'add' => 'Přidat',
|
||
'add new account' => 'Přidat nový účet',
|
||
'add new bank account of association' => 'Přidat nový bankovní účet sdružení',
|
||
'add new contact' => 'Přidat nový kontakt',
|
||
'add new credit account' => 'Přidat nový kreditní účet',
|
||
'add new device' => 'Přidat nové zařízení',
|
||
... | ... | |
'administration of members registrations' => 'Administrace přihlášek členů',
|
||
'admins' => 'Správci',
|
||
'amount' => 'Částka',
|
||
'amount have to be more than 0!' => 'Částka musí být větší než 0',
|
||
'antenna' => 'Anténa',
|
||
'applicant' => 'Čekatel na členství',
|
||
'application password' => 'Aplikační heslo',
|
||
... | ... | |
'back to list of works of member' => 'Zpět na seznam prací člena',
|
||
'back to login' => 'Zpět na přihlášení',
|
||
'back to ports list' => 'Zpět na seznam portů',
|
||
'back to project accounts' => 'Zpět na projektové účty',
|
||
'back to segments list' => 'Zpět na seznam segmentů',
|
||
'back to the double-entry accounts' => 'Zpět na podvojné účty',
|
||
'back to the invoice' => 'Zpět na fakturu',
|
||
... | ... | |
'interfaces' => 'Rozhraní',
|
||
'ignore' => 'Ignorovat',
|
||
'import new invoice' => 'Import nové faktury',
|
||
'in database can be only one infrastructure account' => 'V databázi může být pouze jeden účet infrastruktury.',
|
||
'in database can be only one master bank account' => 'V databázi může být pouze jeden hlavní bankovní účet',
|
||
'in database can be only one operating account' => 'V databázi může být pouze jeden operační účet.',
|
||
'in database can be only one suppliers account' => 'V databázi může být pouze jeden účet dodavatelů.',
|
||
'in database can be only one unidentified account' => 'V databázi může být pouze jeden neidentifikovaný účet.',
|
||
'information' => 'Informace',
|
||
'infrastructure account' => 'Účet infrastruktury',
|
||
'install' => 'Instalovat',
|
||
... | ... | |
'map' => 'Mapa',
|
||
'master bank account' => 'Hlavní bankovní účet sdružení',
|
||
'member' => 'Člen',
|
||
'member already have the double entry account' => 'Člen už má podvojný účet.',
|
||
'member cannot left association before entrance' => 'Člen nemůže opustit sdružení před vstupem.',
|
||
'member cannot be former, if his membership was not ended' => 'Člen nemůže být bývalý, pokud jeho členství nebylo ukončeno.',
|
||
'member have to own ONE double entry account' => 'Člen musí mít jeden podvojný účet',
|
||
'member has been successfully added' => 'Člen byl úspěšně přidán.',
|
||
'member has been successfully updated' => 'Člen byl úspěšně upraven.',
|
||
'member name' => 'Jméno člena (organizace)',
|
||
... | ... | |
'segments list' => 'Seznam segmentů',
|
||
'segments' => 'Segmenty',
|
||
'select' => 'Vyber',
|
||
'select destination member' => 'Vyberte člena, kterému chcete peníze převést.',
|
||
'select device' => 'Vyber zařízení',
|
||
'select interface' => 'Vyber rozhraní',
|
||
'select vlan interface' => 'Vyber VLAN rozhraní',
|
freenetis/trunk/kohana/application/models/member.php | ||
---|---|---|
)->current();
|
||
}
|
||
|
||
/**
|
||
* Function gets ids and names of members. Used in accounts/projects for selection of account owner.
|
||
* @return unknown_type
|
||
*/
|
||
public function get_names_of_members()
|
||
{
|
||
return self::$db->query("SELECT id, name
|
||
FROM members
|
||
");
|
||
}
|
||
|
||
}
|
||
|
||
?>
|
freenetis/trunk/kohana/application/controllers/transfers.php | ||
---|---|---|
'url_array_ofset' => 1
|
||
));//,'acc_grid_template');
|
||
|
||
//if($this->acl_check_new(get_class($this),'transfers',$account_id))
|
||
// $grid->add_new_button(url_lang::base().'accounts/new_transfer/'.$account->id, url_lang::lang('texts.New transfer'));
|
||
// to do - access rights
|
||
$grid->add_new_button(url_lang::base().'accounts/show_all', url_lang::lang('texts.Back to double-entry accounts'));
|
||
$grid->add_new_button(url_lang::base().'accounts/show_all?name=&group='.$this->session->get('account_group').'&submit=Filter', url_lang::lang('texts.Back to double-entry accounts'));
|
||
$grid->add_new_button(url_lang::base().'transfers/add/'.$account_id, url_lang::lang('texts.Send money to other account'));
|
||
$grid->order_field('id')->label('ID');
|
||
$grid->order_field('trans_type')->label(url_lang::lang('texts.Type'))->bool(array(url_lang::lang('texts.Arrival'),url_lang::lang('texts.Outbound')));
|
freenetis/trunk/kohana/application/controllers/bank_accounts.php | ||
---|---|---|
'use_paginator' => false,
|
||
'use_selector' => false
|
||
));
|
||
// adding bank account, to do - access rights and correction
|
||
//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'));
|
||
// adding bank account
|
||
if ($this->acl_check_new('Accounts_Controller', 'bank_accounts'))
|
||
$baa_grid->add_new_button(url_lang::base().'bank_accounts/add', url_lang::lang('texts.Add new bank account of association'));
|
||
$baa_grid->field('id')->label(url_lang::lang('texts.ID'));
|
||
$baa_grid->field('baname')->label(url_lang::lang('texts.Account name'));
|
||
$baa_grid->field('account_number')->label(url_lang::lang('texts.Account number'));
|
||
... | ... | |
$view->render(TRUE);
|
||
}
|
||
|
||
/**
|
||
* Function adds bank account of association. Bank accounts of members are added during import.
|
||
* @return unknown_type
|
||
*/
|
||
function add()
|
||
{
|
||
if (!$this->acl_check_new('Accounts_Controller', 'bank_accounts'))
|
||
Controller::error(1);
|
||
// form
|
||
$form = new Forge(url_lang::base()."bank_accounts/add", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
// input boxes
|
||
$form->input('account_name')->label(url_lang::lang('texts.Account name'))->rules('required|length[3,50]');
|
||
$form->input('account_comment')->label(url_lang::lang('texts.Comment'));
|
||
$form->input('account_nr')->label(url_lang::lang('texts.Account number'))->rules('required|length[3,50]|valid_numeric');
|
||
$form->input('bank_nr')->label(url_lang::lang('texts.Bank code'))->rules('required|length[3,10]|valid_numeric');
|
||
$form->input('IBAN')->label(url_lang::lang('texts.IBAN'));
|
||
$form->input('SWIFT')->label(url_lang::lang('texts.SWIFT'));
|
||
// submit button
|
||
$form->submit('submit')->value(url_lang::lang('texts.Add'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
// validation
|
||
if ($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
foreach($form_data as $key => $value)
|
||
{
|
||
$form_data[$key] = htmlspecialchars($value);
|
||
}
|
||
// real bank account
|
||
$bank_account = new Bank_account_Model();
|
||
$bank_account->name = $form_data["account_name"];
|
||
$bank_account->member_id = 1;
|
||
$bank_account->account_nr = $form_data["account_nr"];
|
||
$bank_account->bank_nr = $form_data["bank_nr"];
|
||
$bank_account->IBAN = $form_data["IBAN"];
|
||
$bank_account->SWIFT = $form_data["SWIFT"];
|
||
$bank_account->save();
|
||
// these three double-entry accounts are related to one bank account through relation table
|
||
// double-entry bank account
|
||
$doubleentry_bank_account = new Account_Model();
|
||
$doubleentry_bank_account->member_id = 1;
|
||
$doubleentry_bank_account->name = $form_data["account_name"];
|
||
$doubleentry_bank_account->account_attribute_id = Account_attribute_Model::$bank;
|
||
$doubleentry_bank_account->comment = url_lang::lang('texts.Bank accounts');
|
||
$doubleentry_bank_account->save();
|
||
$doubleentry_bank_account->add_bank_account($bank_account);
|
||
// double-entry account of bank fees
|
||
$bank_fees_account = new Account_Model();
|
||
$bank_fees_account->member_id = 1;
|
||
$bank_fees_account->name = $form_data["account_name"].' - '.url_lang::lang('texts.Bank fees');
|
||
$bank_fees_account->account_attribute_id = Account_attribute_Model::$bank_fees;
|
||
$bank_fees_account->comment = url_lang::lang('texts.Bank fees');
|
||
$bank_fees_account->save();
|
||
$bank_fees_account->add_bank_account($bank_account);
|
||
// double-entry account of bank interests
|
||
$bank_interests_account = new Account_Model();
|
||
$bank_interests_account->member_id = 1;
|
||
$bank_interests_account->name = $form_data["account_name"].' - '.url_lang::lang('texts.Bank interests');
|
||
$bank_interests_account->account_attribute_id = Account_attribute_Model::$bank_interests;
|
||
$bank_interests_account->comment = url_lang::lang('texts.Bank interests');
|
||
$bank_interests_account->save();
|
||
$bank_interests_account->add_bank_account($bank_account);
|
||
// redirection
|
||
url::redirect(url_lang::base().'bank_accounts/show_all');
|
||
}
|
||
$headline = url_lang::lang('texts.Add new bank account of association');
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = $headline;
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->link_back = html::anchor(url_lang::base().'bank_accounts/show_all', url_lang::lang('texts.Back to bank accounts'));
|
||
$view->content->form = $form->html();
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
|
||
}
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/controllers/accounts.php | ||
---|---|---|
// creates parameters of filter in url
|
||
$arr_gets = array();
|
||
foreach ($this->input->get() as $key=>$value)
|
||
{
|
||
$arr_gets[] = $key.'='.$value;
|
||
$query_string = '?'.implode('&',$arr_gets);
|
||
}
|
||
$query_string = '?'.implode('&', $arr_gets);
|
||
|
||
if (count($filter_values) == 0)
|
||
$filter_values['group'] = Account_Model::$credit;
|
||
$headline = $arr_groups[$filter_values['group']];
|
||
// set correct headline for chosen group
|
||
$headline = $arr_groups[$filter_values['group']];
|
||
// save current group of double entry accounts to session
|
||
$this->session->set('account_group', $filter_values['group']);
|
||
|
||
$grid = new Grid(url_lang::base().'accounts', null, array(
|
||
//'separator' => '<br /><br />',
|
||
... | ... | |
'limit_results' => $limit_results,
|
||
'query_string' => $query_string
|
||
));
|
||
// access rights
|
||
//if ($this->acl_check_new('Accounts_Controller', 'accounts', $member_id))
|
||
// $acc_grid->add_new_button(url_lang::base().'accounts/add_project_account/'.$member_id, url_lang::lang('texts.Add new project account'));
|
||
if ($filter_values['group'] == Account_Model::$project && $this->acl_check_new('Accounts_Controller', 'accounts'))
|
||
$grid->add_new_button(url_lang::base().'accounts/add_project', url_lang::lang('texts.Add new project account'));
|
||
$grid->order_field('id')->label('ID');
|
||
$grid->order_field('aname')->label(url_lang::lang('texts.Account name'));
|
||
$grid->order_field('comment')->label(url_lang::lang('texts.Comment'));
|
||
... | ... | |
* @param $member_id
|
||
* @return unknown_type
|
||
*/
|
||
function add_project($member_id = NULL)
|
||
function add_project()
|
||
{
|
||
// access rights
|
||
if (!$this->acl_check_new('Accounts_Controller', 'accounts', $member_id))
|
||
if (!$this->acl_check_new('Accounts_Controller', 'accounts'))
|
||
Controller::error(1);
|
||
if (isset($member_id))
|
||
$member_model = new Member_Model();
|
||
$members = $member_model->get_names_of_members();
|
||
foreach($members as $member)
|
||
{
|
||
$this->owner_id = $member_id;
|
||
$form = new Forge(url_lang::base().'accounts/add_project/'.$member_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Basic information'));
|
||
$form->input('name')->label(url_lang::lang('texts.Name').':')->rules('required|length[3,50]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Add'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
if($form->validate())
|
||
$arr_members[$member->id] = $member->id.' - '.$member->name;
|
||
}
|
||
$form = new Forge(url_lang::base().'accounts/add_project', '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->dropdown('member')->label(url_lang::lang('texts.Owner').':')->rules('required')->options($arr_members);
|
||
$form->input('name')->label(url_lang::lang('texts.Account name').':')->rules('required|length[3,50]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Add'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
$account = new Account_Model;
|
||
$account->member_id = $form_data['member'];
|
||
$account->account_attribute_id = Account_attribute_Model::$project;
|
||
$account->name = htmlspecialchars($form_data['name']);
|
||
$account->comment = htmlspecialchars($form_data['comment']);
|
||
unset($form_data);
|
||
if ($account->save())
|
||
{
|
||
$form_data = $form->as_array();
|
||
$account = new Account_Model;
|
||
$account->name = htmlspecialchars($form_data['name']);
|
||
$account->comment = htmlspecialchars($form_data['comment']);
|
||
unset($form_data);
|
||
$account->member_id = $member_id;
|
||
if ($account->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Account has been successfully added.'));
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant add new account.'));
|
||
}
|
||
url::redirect(url_lang::base().'members/show/'.$member_id);
|
||
$this->session->set_flash('message', url_lang::lang('texts.Account has been successfully added.'));
|
||
}
|
||
else
|
||
{
|
||
$view->form = new View('registration');
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->content = new View('account_add');
|
||
$view->footer = new View('base/footer');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header->title = url_lang::lang('texts.Add new project account');
|
||
$view->content->form = $form->html();
|
||
$view->content->member_id = $member_id;
|
||
$view->render(TRUE);
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant add new account.'));
|
||
}
|
||
url::redirect(url_lang::base().'accounts/show_all?name=&group=2&submit=Filter');
|
||
}
|
||
else
|
||
{
|
||
Controller::warning(1);;
|
||
$headline = url_lang::lang('texts.Add new project account');
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header->title = $headline;
|
||
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->link_back = html::anchor(url_lang::base().'accounts/show_all?name=&group=2&submit=Filter', url_lang::lang('texts.Back to project accounts'));
|
||
$view->content->form = $form->html();
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
}
|
||
} // end of add_credit_account function
|
||
|
||
... | ... | |
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($model_account->comment);
|
||
$form->submit('submit')->value(url_lang::lang('texts.Edit'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
$linkback = url_lang::base()."accounts/show_all?name=&group=".$this->session->get('account_group')."&submit=Filter";
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
... | ... | |
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant update account.'));
|
||
}
|
||
url::redirect(url_lang::base().'accounts/show_all');
|
||
url::redirect($linkback);
|
||
}
|
||
else
|
||
{
|
||
... | ... | |
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = html::anchor(url_lang::base().'accounts/show_all', url_lang::lang('texts.Back to double-entry accounts'));
|
||
$view->content->link_back = html::anchor($linkback, url_lang::lang('texts.Back to double-entry accounts'));
|
||
$view->footer = new View('base/footer');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header->title = $headline;
|
||
... | ... | |
}
|
||
} // end of delete function
|
||
|
||
/***************************** SPECIAL AND AJAX FUNCTIONS ************************
|
||
**********************************************************************************
|
||
*********************HERE ARE FUNCTIONS FOR DIRECT GET ACCESS *******************/
|
||
|
||
/**
|
||
* Function uploads bank files.
|
||
* @param $id
|
||
* @return unknown_type
|
||
*/
|
||
public function upload_bank_file($id=null) {
|
||
$form = new Forge(url_lang::base()."accounts/upload_bank_file/$id", '','POST',array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
... | ... | |
|
||
}
|
||
|
||
|
||
public function ajax_check()
|
||
{
|
||
$acc_id = $this->input->get('acc_id');
|
||
$model_account = new Account_Model();
|
||
$owner_id = ($this->input->get('account')!=0) ? 'id!='.$this->input->get('account').' AND ' : '';
|
||
$accounts = $model_account->where($owner_id.'type!=\'master\' AND type!=\'bank\' AND owner_id='.$acc_id)->find_all();
|
||
if (count($accounts)>0)
|
||
{
|
||
$return = '<accounts>';
|
||
foreach ($accounts as $account)
|
||
{
|
||
$return .= '<account> <name>'.$account->name.'</name> <type>'.$account->type.'</type> <value>'.$account->id.'</value> </account>
|
||
';
|
||
} //*/
|
||
$return .= '</accounts>';
|
||
header("Content-Type: text/xml");
|
||
echo $return;
|
||
}
|
||
else
|
||
{
|
||
header("Content-Type: text/xml");
|
||
echo "<exists>0</exists>";
|
||
}
|
||
}
|
||
|
||
/* ************** CALLBACK FUNCTIONS ******************* */
|
||
|
||
function callback_acc_type($input)
|
||
{
|
||
$model_account= new Account_Model();
|
||
if ($input->value == 'analytic' || trim($input->value)=='')
|
||
{
|
||
if ($model_account->acc_type_exist($input->value, $this->owner_id, $this->acc_id) || trim($input->value)=='')
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Member already have the double entry account.'));
|
||
}
|
||
}
|
||
elseif ($input->value == 'master')
|
||
{
|
||
if ($model_account->acc_type_exist($input->value, NULL, $this->acc_id))
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.In database can be only one master bank account.'));
|
||
}
|
||
}
|
||
elseif ($input->value == 'operating')
|
||
{
|
||
if ($model_account->acc_type_exist($input->value, NULL, $this->acc_id))
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.In database can be only one operating account.'));
|
||
}
|
||
}
|
||
elseif ($input->value == 'infrastructure')
|
||
{
|
||
if ($model_account->acc_type_exist($input->value, NULL, $this->acc_id))
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.In database can be only one infrastructure account.'));
|
||
}
|
||
}
|
||
elseif ($input->value == 'suppliers')
|
||
{
|
||
if ($model_account->acc_type_exist($input->value, NULL, $this->acc_id))
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.In database can be only one suppliers account.'));
|
||
}
|
||
}
|
||
elseif ($input->value == 'unidentified')
|
||
{
|
||
if ($model_account->acc_type_exist($input->value, NULL, $this->acc_id))
|
||
{
|
||
$input->add_error('unidentified', url_lang::lang('texts.In database can be only one unidentified account.'));
|
||
}
|
||
}
|
||
|
||
if ($this->editation)
|
||
{
|
||
// member must have ONE double entry account
|
||
if (!$model_account->acc_type_exist('analytic', $this->owner_id, $this->acc_id) && $input->value != 'analytic')
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Member have to own ONE double entry account.'));
|
||
}
|
||
}
|
||
}
|
||
|
||
function callback_amount($input)
|
||
{
|
||
if ((int)$input->value < 1)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Amount have to be more than 0!'));
|
||
}
|
||
else
|
||
{
|
||
$model_transfer = new Transfer_Model();
|
||
$credit = (float)$model_transfer->count_credit($this->acc_id, TRUE);
|
||
if ($credit<$input->value)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.On your account is only').' '.$credit.' '.url_lang::lang('texts.CZK'));
|
||
}
|
||
}
|
||
}
|
||
|
||
function callback_username($input)
|
||
{
|
||
if ($input->value < 1)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Select destination member.'));
|
||
}
|
||
$this->sel_member = $input->value;
|
||
}
|
||
|
||
function callback_account($input)
|
||
{
|
||
if ($input->value < 1)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Select destination account.'));
|
||
}
|
||
|
||
if ($this->sel_member>0)
|
||
{
|
||
$model_account = new Account_Model();
|
||
$owner_id = ($this->acc_id) ? 'id!='.$this->acc_id.' AND ' : '';
|
||
$accounts = $model_account->where($owner_id.'type!=\'master\' AND type!=\'bank\' AND owner_id='.$this->sel_member)->find_all();
|
||
$arr_users = array();
|
||
$arr_users[0] = '----- '.url_lang::lang('texts.Select the account').' -----';
|
||
foreach ($accounts as $account) {
|
||
$arr_users[$account->id] = $account->name.' ('.$account->type.')';
|
||
}
|
||
$input->options($arr_users);
|
||
$input->selected($input->value);
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
?>
|
Také k dispozici: Unified diff
Pridano pridavani projektovych uctu a bankovnich uctu sdruzeni.