Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 352

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

Ukonceni clenstvi, upravovani uctu, uprava instalace, uprava prevodu clena.

Zobrazit rozdíly:

freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php
'back to vlan interface parameters' => 'Zpět na parametry VLAN rozhraní',
'back to vlan interfaces list' => 'Zpět na seznam VLAN rozhraní',
'back to vlans list' => 'Zpět na seznam VLANů',
'bad entrance date' => 'Chybný datum vstupu.',
'bad phone format' => 'Špatný formát telefonu',
'balance' => 'Stav',
'bank account' => 'Bankovní účet',
......
'entrance date' => 'Datum vstupu',
'entrance fee' => 'Vstupní příspěvek',
'entrance fee have to be a number' => 'Vstupní příspěvk musí být číslo',
'entrance fee left' => 'Nedoplatek vstupního příspěvku',
'entrance fee left' => 'Zbývá zapltatit ze vstupního příspěvku',
'enum type has been successfully added' => 'Výčet byl úspěšně přidán',
'enum type has been successfully deleted' => 'Výčet byl úspěšně smazán',
'enum type has been successfully updated' => 'Výčet byl úspěšně aktualizován',
......
'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 have to own ONE double entry account' => 'Člen musí mít jeden podvojný účet',
'member has been successfully added' => 'Člen úspěšně přidán.',
'member has been successfully updated' => 'Člen úspěšně upraven.',
'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)',
'members account' => 'Účet člena',
'members first name and surname' => 'Jméno a příjmení člena (název organizace)',
freenetis/trunk/kohana/application/controllers/members.php
->rules('length[3,50]|valid_email')
->callback(array($this, 'valid_email'));
$form->group('')->label(url_lang::lang('texts.Account information'));
// absolete
//if ($this->acl_check_new(get_class($this),'current_credit'))
// $form->input('current_credit')->label(url_lang::lang('texts.Current credit').':')->rules('valid_numeric');
$form->input('entrance_fee')->label(url_lang::lang('texts.Entrance fee').':')->rules('valid_numeric');
$form->input('entrance_fee_left')->label(url_lang::lang('texts.Entrance fee left').':')->rules('valid_numeric');
$form->input('entrance_fee')->label(url_lang::lang('texts.Entrance fee').':')->rules('valid_numeric')->value(2000);
$form->input('entrance_fee_left')->label(url_lang::lang('texts.Entrance fee left').':')->rules('valid_numeric')->value(2000);
$form->input('debt_payment_rate')->label(url_lang::lang('texts.Debit payment rate').':')->rules('valid_numeric');
$form->group('')->label(url_lang::lang('texts.Additional information'));
$form->input('qos_ceil')->label(url_lang::lang('texts.qos ceil').':')->rules('valid_numeric');
$form->input('qos_rate')->label(url_lang::lang('texts.qos rate').':')->rules('valid_numeric');
$form->date('birthday')->label(url_lang::lang('texts.birthday').':')->years(date('Y')-100, date('Y'))->rules('required');
$form->date('entrance_date')->label(url_lang::lang('texts.Entrance date').':')->years(date('Y')-100, date('Y'))->rules('required');
$form->date('entrance_date')->label(url_lang::lang('texts.Entrance date').':')->years(date('Y')-100, date('Y'))->rules('required')->callback(array($this, 'valid_entrance_date'));
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
// absolete
//if ($this->acl_check_new(get_class($this),'must_pay'))
// $form->radio('must_pay_regular_fee')->label(url_lang::lang('texts.Must pay regular fee').':')->options(array('1'=>url_lang::lang('texts.Yes'),'0'=>url_lang::lang('texts.No')))->default(1);
$form->submit('submit')->value(url_lang::lang('texts.Add'));
special::required_forge_style($form, ' *', 'required');
......
//$account->type_id = $enum->get_type_id('credit');
$account->account_attribute_id = Account_attribute_Model::$credit;
$account->name = $form_data['surname'].' '.$form_data['name'];
//if ($this->acl_check_new(get_class($this),'current_credit'))
// $account->start_amount = $form_data['current_credit'];
$user->name = $form_data['name'];
$user->middle_name = $form_data['middle_name'];
$user->login = $form_data['login'];
......
$user->password = sha1($form_data['passwd']);
$user->type = User_Model::$member;
$member->comment = $form_data['comment'];
$member->entrance_date = date("Y-m-d",$form_data['entrance_date']);
if ($form_data['membername'] == '')
......
$member->entrance_fee = $form_data['entrance_fee'];
$member->entrance_fee_left = $form_data['entrance_fee_left'];
$member->debt_payment_rate = $form_data['debt_payment_rate'];
// current credit shouldn't be saved, it is always calculated from transfers
//if ($this->acl_check_new(get_class($this),'current_credit'))
// $member->current_credit = $form_data['current_credit'];
// absolete, only regular members pay fees
//if ($this->acl_check_new(get_class($this),'must_pay'))
// $member->must_pay_regular_fee = $form_data['must_pay_regular_fee'];
$member_saved = $member->save();
$user->member_id = $member->id;
......
->callback(array($this, 'valid_email'))->value($member_data->email);
$form->group('')->label(url_lang::lang('texts.Account information'));
// current credit is absolete, now it is calculated from transfers
//if ($this->acl_check_edit(get_class($this),'currentcredit',$member_id))
// $form->input('current_credit')->label(url_lang::lang('texts.Current credit').':')->rules('valid_numeric')->value($member_data->current_credit);
if ($this->acl_check_edit(get_class($this),'en_fee',$member_id))
$form->input('entrance_fee')->label(url_lang::lang('texts.Entrance fee').':')->rules('valid_numeric')->value($member_data->entrance_fee);
if ($this->acl_check_edit(get_class($this),'en_fee_left',$member_id))
......
// to do - access rights
//if ($this->acl_check_edit(get_class($this),'leaving_date',$member_id))
//{
$this->entrance_date = $member_data->entrance_date;
$parsed = date_parse($member_data->leaving_date);
if ($parsed['year'] == '0')
{
$form->checkbox('end_membership')->label(url_lang::lang('texts.End membership'))->checked(false);
$form->date('leaving_date')->label(url_lang::lang('texts.Leaving date').':')->years(date('Y', strtotime($member_data->entrance_date)), date('Y'))->value(strtotime(date('Y-m-d')))->callback(array($this, 'valid_leaving_date'));
}
else
{
$form->checkbox('end_membership')->label(url_lang::lang('texts.End membership'))->checked(true);
$form->date('leaving_date')->label(url_lang::lang('texts.Leaving date').':')->years(date('Y', strtotime($member_data->entrance_date)), date('Y'))->value(strtotime(date('Y-m-d')))->callback(array($this, 'valid_leaving_date'));
$form->date('leaving_date')->label(url_lang::lang('texts.Leaving date').':')->years(date('Y', strtotime($member_data->entrance_date)), date('Y'))->value(strtotime($member_data->leaving_date))->callback(array($this, 'valid_leaving_date'));
}
//}
if ($this->acl_check_edit(get_class($this),'comment',$member_id))
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($member_data->comment);
// absolete, only regular members pay fees
//if ($this->acl_check_edit(get_class($this),'must_pay',$member_id))
// $form->radio('must_pay_regular_fee')->label(url_lang::lang('texts.Must pay regular fee').':')->options(array('1'=>url_lang::lang('texts.Yes'),'0'=>url_lang::lang('texts.No')))->default((int)$member_data->must_pay_regular_fee);
$form->submit('submit')->value(url_lang::lang('texts.Edit'));
special::required_forge_style($form, ' *', 'required');
......
$user_data->where('type!=', User_Model::$user);
$user_data->find_by_member_id($member_id);
//print_r($member_data);die();
if ($this->acl_check_edit(get_class($this),'name',$member_id))
$user_data->name = $form_data['name'];
$user_data->middle_name = $form_data['middle_name'];
......
$member_data->leaving_date = date("Y-m-d", $form_data['leaving_date']);
else
$member_data->leaving_date = '0000-00-00';
//print_r($form_data);
//die();
//}
if ($this->acl_check_edit(get_class($this),'name',$member_id))
$member_data->name = $form_data['membername'];
......
$member_data->entrance_fee_left = $form_data['entrance_fee_left'];
if ($this->acl_check_edit(get_class($this),'debit',$member_id))
$member_data->debt_payment_rate = $form_data['debt_payment_rate'];
// absolete, current credit is calculated from transfers
//if ($this->acl_check_edit(get_class($this),'currentcredit',$member_id))
// $member_data->current_credit = $form_data['current_credit'];
// absolete - only regular members pay fees
//if ($this->acl_check_edit(get_class($this),'must_pay',$member_id))
// $member_data->must_pay_regular_fee = $form_data['must_pay_regular_fee'];
$member_saved = $member_data->save();
$user_data->member_id = $member_data->id;
......
$view->content = new View('members_edit');
$view->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = url_lang::lang('texts.Display member');
$view->header->title = url_lang::lang('texts.Edit member');
$view->header->other_styles = html::stylesheet('media/css/forms.css');
$view->content->form = $form->html();
$view->content->member_data = $member_data;
......
}
/**
* Entrance has to be before current date.
* @param $input
* @return unknown_type
*/
function valid_entrance_date($input)
{
if ($input->value > time())
$input->add_error('required', url_lang::lang('texts.Bad entrance date.'));
}
/**
* Leaving has to be after entrance.
* @param $input
* @return unknown_type
*/
function valid_leaving_date($input)
{
echo $input->data;
/*
if ($input > strtotime($this->entrance_date))
$entrance = $this->input->post('entrance_date');
if ($input->value <= mktime(0, 0, 0, $entrance['month'], $entrance['day'], $entrance['year']))
$input->add_error('required', url_lang::lang('texts.Member cannot left association before entrance.'));
*/
}
/**
freenetis/trunk/kohana/application/controllers/installation.php
// double-entry bank account
$doubleentry_bank_account = new Account_Model();
$doubleentry_bank_account->member_id = $member->id;
$doubleentry_bank_account->name = url_lang::lang('texts.Bank accounts');
$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();
......
// double-entry account of bank fees
$bank_fees_account = new Account_Model();
$bank_fees_account->member_id = $member->id;
$bank_fees_account->name = url_lang::lang('texts.Bank fees');
$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();
......
// double-entry account of bank interests
$bank_interests_account = new Account_Model();
$bank_interests_account->member_id = $member->id;
$bank_interests_account->name = url_lang::lang('texts.Bank interests');
$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();
freenetis/trunk/kohana/application/controllers/transfers.php
* @param $account_id
* @return unknown_type
*/
function show_by_member($member_id = NULL, $limit_results = 500, $order_by = 'datetime', $order_by_direction = 'desc', $page_word = null, $page = 1)
function show_by_member($member_id = NULL, $limit_results = 500, $order_by = 'id', $order_by_direction = 'desc', $page_word = null, $page = 1)
{
if (isset($member_id))
{
......
$member = new Member_Model($member_id);
$account_model = new Account_Model();
$account = $account_model->find_by_member_id($member_id);
$balance = $account_model->get_account_balance($account->id);
$transfer_model = new Transfer_Model();
$total_transfers = $transfer_model->count_transfers($account->id);
if (($sql_offset = ($page - 1) * $limit_results) > $total_transfers)
$sql_offset = 0;
$transfers = $transfer_model->get_transfers($account->id, $sql_offset, (int)$limit_results, $order_by, $order_by_direction);
$headline = url_lang::lang('texts.Transfers of member').' '.$member->name;
$grid = new Grid(url_lang::base().'transfers', $headline, array(
$grid = new Grid(url_lang::base().'transfers', null, array(
//'separator' => '<br />-----------',
//'use_paginator' => false,
//'use_selector' => false,
......
$grid->datasource($transfers);
$view = new View('template');
$view->header = new View('base/header');
$view->content = $grid;
$view->content = new View('transfers/show_by_member');
$view->content->headline = $headline;
$view->content->balance = $balance;
$view->content->grid = $grid;
$view->content->message = $this->session->get_once('message');
$view->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = $headline;
freenetis/trunk/kohana/application/controllers/accounts.php
$grid->order_field('balance')->label(url_lang::lang('texts.Balance'));
$grid->field('mname')->label(url_lang::lang('texts.Member name'));
$grid->action_field('id')->label(url_lang::lang('texts.Transfers'))->url(url_lang::base().'transfers/show_by_account')->action(url_lang::lang('texts.Show'));
//$grid->action_field('member_id')->label(url_lang::lang('texts.Member'))->url(url_lang::base().'members/show')->action(url_lang::lang('texts.Show'));
$grid->action_field('id')->label(url_lang::lang('texts.Account'))->url(url_lang::base().'accounts/edit')->action(url_lang::lang('texts.Edit'));
$grid->datasource($accounts);
$view = new View('template');
......
}
} // end of add_credit_account function
/**
* Function edits double-entry account.
* @param $acc_id
* @return unknown_type
*/
function edit($acc_id = NULL)
{
if (!$this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_accounts')) Controller::error(1);
// to do - access rights
//if (!$this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_accounts'))
// Controller::error(1);
if (isset($acc_id))
{
$model_account = new Account_Model($acc_id);
$this->owner_id = $model_account->owner_id;
$this->editation = TRUE;
$this->acc_id = $acc_id;
$form = new Forge(url_lang::base().'accounts/edit/'.$acc_id, '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
$form->group('')->label(url_lang::lang('texts.Basic informations'));
$form->group('')->label(url_lang::lang('texts.Basic information'));
$form->input('name')->label(url_lang::lang('texts.Name').':')->rules('required|length[3,50]')->value($model_account->name);
$form->input('start_amount')->label(url_lang::lang('texts.Start amount').':')->value((float)$model_account->start_amount);
$form->dropdown('type')->label(url_lang::lang('texts.Account type').':')->options(array('bank'=>url_lang::lang('texts.Bank account'),'analytic'=>url_lang::lang('texts.Double entry account'),'project'=>url_lang::lang('texts.Project account'),'master'=>url_lang::lang('texts.Master bank account'),'operating'=>url_lang::lang('texts.Operating account'),'infrastructure'=>url_lang::lang('texts.Infrastructure account'),'suppliers'=>url_lang::lang('texts.Suppliers account'),'unidentified'=>url_lang::lang('texts.Unidentified acccount')))->callback(array($this, 'callback_acc_type'))->selected($model_account->type);
$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');
if($form->validate())
{
$form_data = $form->as_array();
......
{
$model_account->$key = htmlspecialchars($value);
}
if (trim($form_data['start_amount'])=='') $model_account->start_amount = '0';
unset($form_data);
if ($model_account->save())
{
$this->session->set_flash('message', url_lang::lang('texts.Account successfully updated.'));
$this->session->set_flash('message', url_lang::lang('texts.Account has been successfully updated.'));
}
else
{
$this->session->set_flash('message', url_lang::lang('texts.Error - cant update account.'));
}
url::redirect(url_lang::base().'accounts/detail/'.(int)$model_account->id);
url::redirect(url_lang::base().'accounts/show_all');
}
else
{
$headline = url_lang::lang('texts.Edit account');
$view->form = new View('registration');
$view = new View('template');
$view->header = new View('base/header');
$view->content = new View('account_edit');
$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->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = url_lang::lang('texts.Account editation');
$view->content->form = $form->html();
$view->content->acc_data = $model_account;
$view->header->title = $headline;
$view->render(TRUE);
}
}
......
{
Controller::warning(1);;
}
} // end of edit function
/**
......
}
} // end of delete function
function new_transfer($account_id = NULL)
{
if (isset($account_id))
{
$this->account_id = $account_id;
$account = new Account_Model($account_id);
// access control
if (!$this->acl_check_new(get_class($this),'transfers',$account->member_id)) Controller::error(1);
$arr_users = array();
$user_model = new User_Model;
$users = $user_model->select('member_id','name','surname','login')->orderby('surname, name')->where('type!=','user')->find_all();
$arr_users[0] = '----- '.url_lang::lang('texts.Select the member').' -----';
foreach ($users as $user) {
$arr_users[$user->member_id] = $user->surname.' '.$user->name.' - '.$user->login;
}
// asort($arr_users);
$form = new Forge(url_lang::base().'accounts/add/'.$account_id, '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
$form->input('amount')->label(url_lang::lang('texts.Amount').':')->rules('required|length[0,50]|valid_numeric')->value('0')->callback(array($this, 'callback_amount'));
$form->dropdown('username')->label(url_lang::lang('texts.Send to member').':')->options($arr_users)->onchange('ajax_get_accounts(this.value,'.$account_id.')')->callback(array($this, 'callback_username'));
$form->dropdown('account')->label(url_lang::lang('texts.Members account').':')->options(array('0'=>'----- '.url_lang::lang('texts.Select the account').' -----'))->callback(array($this, 'callback_account'));
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
special::required_forge_style($form, ' *', 'required');
if($form->validate())
{
$form_data = $form->as_array();
$transfer = new Transfer_Model();
foreach($form_data as $key => $value)
{
$form_data->$key = htmlspecialchars($value);
}
$transfer->origin_id = $account->id;
$transfer->destination_id = $form_data['account'];
$transfer->text = $form_data['comment'];
$transfer->amount = (float)$form_data['amount'];
if ($transfer->save())
{
if ($account->type=='analytic')
{
$member = new Member_Model($account->member_id);
$member->current_credit = (float)$member->current_credit - (float)$form_data['amount'];
$member->save();
unset($model_members);
}
$account2 = new Account_Model($form_data['account']);
if ($account2->type=='analytic')
{
$member = new Member_Model($account2->owner_id);
$member->current_credit = (float)$member->current_credit + (float)$form_data['amount'];
$member->save();
}
$this->session->set_flash('message', url_lang::lang('texts.The transfer successfully done.'));
}
else
{
$this->session->set_flash('message', url_lang::lang('texts.Error - cant do the transfer.'));
}
url::redirect(url_lang::base().'accounts/transfers/'.(int)$account->member_id);
}
else
{
$view->form = new View('registration');
$view = new View('template');
$view->header = new View('base/header');
$view->content = new View('transfers_new');
$view->footer = new View('base/footer');
$view->header->menu = Controller::render_menu();
$view->header->title = url_lang::lang('texts.New transfer');
$view->content->form = $form->html('forge/new_transfer',TRUE);
$view->content->acc_data = $account;
//$view->content->acc_id = $acc_id;
$view->render(TRUE);
}
}
else
{
Controller::warning(1);;
}
} // end of new_transfer function
/***************************** SPECIAL AND AJAX FUNCTIONS ************************
**********************************************************************************
*********************HERE ARE FUNCTIONS FOR DIRECT GET ACCESS *******************/
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql_351.php
<?php
$upgrade_sql[get_SVN_rev()] = array(
"ALTER TABLE `transfers` ADD `member_id` INT NOT NULL
COMMENT 'id of the member, to whom the transaction is assigned'
AFTER `previous_transfer_id` , ADD INDEX ( member_id )"
);
?>
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql.php
}
$upgrade_sql[get_SVN_rev()] = array(
"ALTER TABLE `transfers` ADD `member_id` INT NOT NULL
COMMENT 'id of the member, to whom the transaction is assigned'
AFTER `previous_transfer_id` , ADD INDEX ( member_id )"
"INSERT INTO `enum_types` (
`id` ,
`type_id` ,
`value` ,
`read_only`
)
VALUES (
'15', '1', 'Former member', '1'
);",
"UPDATE `enum_types` SET `value` = 'Non-member' WHERE `enum_types`.`id` =5 LIMIT 1 ;"
);
?>
freenetis/trunk/kohana/application/views/transfers/show_by_member.php
<h2><?php echo $headline ?></h2>
<?php echo $message ?>
<br />
<?php echo url_lang::lang('texts.Current credit on this account is').': '.$balance ?>
<br />
<br />
<?php echo $grid ?>

Také k dispozici: Unified diff