Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 491

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

Opravy chyb pri identifikaci plateb. Zmena pouzivani ORM, stare find_by_..() metody nahrazeny novejsim where(..)->find() kvuli planovanemu upgradu na vyssi verzi kohany.

Zobrazit rozdíly:

freenetis/trunk/kohana/application/controllers/transfers.php
// transfers dependent on this transfer, if this transfer is member fee payment
$dependent_transfers = $transfer_model->get_dependent_transfers($transfer->id);
// bank transfer is only assigned to transfer from member fees account to account of association
$member_fees = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$member_fees);
$bt_model = ORM::factory('bank_transfer')->find_by_transfer_id($transfer->id);
$member_fees = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$member_fees)->find();
// bt has to be first set to null, transfer need not to be of bank type
$bt = null;
$bt_model = ORM::factory('bank_transfer')->where('transfer_id', $transfer->id)->find();
if ($transfer->oa_id == $member_fees->id && is_object($bt_model) && $bt_model->id != 0)
$bt = $bt_model->get_bank_transfer($transfer_id);
$headline = url_lang::lang('texts.Detail of transfer number').' '.$transfer->id;
......
// it gets ids and member ids of all credit accounts
$credit_accounts = $account_model->get_accounts_of_regular_members();
// it gets id of operating account, the only destination account
$oa = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$operating);
$oa = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$operating)->find();
// it supposes that everything will be ok, if a transfer couldn't be created, it sets to false
$save_successful = true;
// it is suppossed that thousands of transfers will be generated, transaction processing required
......
// preparation
$transfer = new Transfer_Model();
$account_model = new Account_Model();
$infrastructure = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$infrastructure);
$infrastructure = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$infrastructure)->find();
$creation_datetime = date('Y-m-d H:i:s');
$text = url_lang::lang('texts.Entrance fee');
$save_successful = true;
......
Controller::error(RECORD);
if (!$this->acl_check_new('Accounts_Controller', 'transfers', $member_id))
Controller::error(ACCESS);
$credit = ORM::factory('account')->find_by_member_id_and_account_attribute_id(
$member_id, Account_attribute_Model::$credit);
$credit = ORM::factory('account')->where(array('member_id' => $member_id,
'account_attribute_id' => Account_attribute_Model::$credit))->find();
$accounts[$credit->id] = $credit->name;
// check if there is fee for payment, then new amount is calculated
$fee_model = new Fee_Model();
......
{
$form_data[$key] = htmlspecialchars($value);
}
$member_fees = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$member_fees);
$cash = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$cash);
$operating = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$operating);
$member_fees = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$member_fees)->find();
$cash = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$cash)->find();
$operating = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$operating)->find();
// first transfer is from member fees account to cash account
$transfer1 = new Transfer_Model();
$transfer1->origin_id = $member_fees->id;
freenetis/trunk/kohana/application/controllers/bank_transfers.php
$bt = $bt_model->get_bank_transfer($trans_id);
$fee_model = new Fee_Model();
// penalty
$fee1 = $fee_model->get_by_date_type(date('Y-m-d'), 'penalty');
$fee1 = $fee_model->get_by_date_type($bt->datetime, 'penalty');
if (is_object($fee1) && $fee1->id)
$penalty_fee = $fee1->fee;
else
$penalty_fee = 0;
// transfer fee
$fee2 = $fee_model->get_by_date_type(date('Y-m-d'), 'transfer fee');
$fee2 = $fee_model->get_by_date_type($bt->datetime, 'transfer fee');
if (is_object($fee2) && $fee2->id)
$transfer_fee = $fee2->fee;
else
......
$form->input('correct_vs')->label(url_lang::lang('texts.Or enter correct variable symbol').':')->callback(array($this, 'valid_var_sym'));
$form->input('text')->label(url_lang::lang('texts.Text').':')->rules('required')->value(url_lang::lang('texts.Assigning of unidentified payment'));
$form->group('')->label(url_lang::lang('texts.Penalty'));
$form->input('penalty')->label(url_lang::lang('texts.Penalty').':')->value($penalty_fee)->rules('required|valid_numeric');
$form->input('penalty')->label(url_lang::lang('texts.Penalty').':')->value($penalty_fee)->rules('valid_numeric');
$form->input('penalty_text')->label(url_lang::lang('texts.Text').':')->value(url_lang::lang('texts.Penalty for unidentified transfer'));
$form->group('')->label(url_lang::lang('texts.Transfer fee'));
$form->input('transfer_fee')->label(url_lang::lang('texts.Amount').':')->value($transfer_fee)->rules('required|valid_numeric');
$form->input('transfer_fee')->label(url_lang::lang('texts.Amount').':')->value($transfer_fee)->rules('valid_numeric');
$form->input('fee_text')->label(url_lang::lang('texts.Text').':')->value(url_lang::lang('texts.Transfer fee'));
$form->submit('submit')->value(url_lang::lang('texts.Assign'));
special::required_forge_style($form, ' *', 'required');
......
}
// preparation
$time_now = date('Y-m-d H:i:s', time());
$operating = ORM::factory('account')->find_by_account_attribute_id(Account_attribute_Model::$operating);
$operating = ORM::factory('account')->where('account_attribute_id', Account_attribute_Model::$operating)->find();
switch ($form_data['type'])
{
case self::$member_fee:
......
$origin_ba = new Bank_account_Model($form_data['counteraccount']);
// origin account
$origin_account = ORM::factory('account')->
find_by_account_attribute_id(Account_attribute_Model::$member_fees);
where('account_attribute_id', Account_attribute_Model::$member_fees)->find();
// destination bank account
$destination_ba = new Bank_account_Model($baa_id);
// destination account
......
$transfer_fee_saved = true;
if ($form_data['type'] == self::$member_fee)
{
$member_model = new Member_Model();
$member = $member_model->find_member_by_phone($form_data['variable_symbol']);
$member = ORM::factory('member')->where('variable_symbol', $form_data['variable_symbol'])->find();
if ($member->id)
{
// finding credit account
$ca = ORM::factory('account')->find_by_member_id_and_account_attribute_id($member->id,
Account_attribute_Model::$credit);
$ca = ORM::factory('account')->where(array('member_id' => $member->id,
'account_attribute_id' => Account_attribute_Model::$credit))->find();
// identified transfer
$it = new Transfer_Model();
$it->origin_id = $destination_account->id;
......
{
if ($this->input->post('name') == 0)
{
$member = ORM::factory('member')->find_by_variable_symbol(trim($input->value));
$member = ORM::factory('member')->where('variable_symbol', trim($input->value))->find();
if (!is_object($member) || $member->id == 0)
{
$input->add_error('required', url_lang::lang('texts.Variable symbol has not been found in the database.'));

Také k dispozici: Unified diff