Revize 491
Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)
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
Opravy chyb pri identifikaci plateb. Zmena pouzivani ORM, stare find_by_..() metody nahrazeny novejsim where(..)->find() kvuli planovanemu upgradu na vyssi verzi kohany.