Revize 330
Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)
freenetis/trunk/kohana/application/controllers/installation.php | ||
---|---|---|
|
||
class Installation_Controller extends Controller
|
||
{
|
||
|
||
/**
|
||
* Function shows installation dialog. To show it must exist empty database freenetis and user with the
|
||
* same name. After form validation it creates member representing association, his primary user,
|
||
* first bank account and many double-entry accounts required for accounting.
|
||
* @return unknown_type
|
||
*/
|
||
public function index()
|
||
{
|
||
$form = new Forge(url_lang::base()."installation", '', 'POST', array('id' => 'article_form'));
|
||
... | ... | |
$form_data[$key] = htmlspecialchars($value);
|
||
}
|
||
|
||
// this executes all queries, that upgrade database structure
|
||
$this->upgrade_sql();
|
||
|
||
|
||
// first member is special, it represents association
|
||
$member = new Member_Model();
|
||
$member->registration = NULL;
|
||
$member->name = $form_data["name"];
|
||
... | ... | |
$member->entrance_date = date("Y-m-d", $form_data["foundation"]);
|
||
$member->save();
|
||
|
||
// every member has its one primary user of type "member"
|
||
$user = new User_Model();
|
||
$user->member_id = $member->id;
|
||
$user->name = $form_data["login"];
|
||
... | ... | |
$user->radius_password = $form_data["phone"];
|
||
$user->save();
|
||
|
||
// association has at least one real bank account
|
||
$bank_account = new Bank_account_Model();
|
||
$bank_account->name = $form_data["account_name"];
|
||
$bank_account->member_id = $member->id;
|
||
$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 = $member->id;
|
||
$doubleentry_bank_account->name = url_lang::lang('texts.Bank accounts');
|
||
$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 = $member->id;
|
||
$bank_fees_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 = $member->id;
|
||
$bank_interests_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);
|
||
|
||
// other double entry accounts independent of bank account
|
||
// double-entry cash account
|
||
$cash_account = new Account_Model();
|
||
$cash_account->member_id = $member->id;
|
||
$cash_account->name = url_lang::lang('texts.Cash');
|
||
$cash_account->account_attribute_id = Account_attribute_Model::$cash;
|
||
$cash_account->comment = url_lang::lang('texts.Cash');
|
||
$cash_account->save();
|
||
|
||
$bank_account = new Account_Model();
|
||
$bank_account->member_id = $member->id;
|
||
$bank_account->name = $form_data["account_nr"];//url_lang::lang('texts.Bank accounts');
|
||
$bank_account->account_attribute_id = Account_attribute_Model::$bank;
|
||
$bank_account->comment = url_lang::lang('texts.Bank accounts');
|
||
$bank_account->save();
|
||
|
||
$ba = new Bank_account_Model();
|
||
$ba->name = $form_data["account_name"];
|
||
$ba->member_id = $member->id;
|
||
$ba->account_nr = $form_data["account_nr"];
|
||
$ba->bank_nr = $form_data["bank_nr"];
|
||
$ba->IBAN = $form_data["IBAN"];
|
||
$ba->SWIFT = $form_data["SWIFT"];
|
||
$ba->save();
|
||
|
||
// double-entry operating account
|
||
$operating_account = new Account_Model();
|
||
$operating_account->member_id = $member->id;
|
||
$operating_account->name = url_lang::lang('texts.Operating account');
|
||
$operating_account->account_attribute_id = Account_attribute_Model::$operating;
|
||
$operating_account->comment = url_lang::lang('texts.Operating account');
|
||
$operating_account->save();
|
||
|
||
// double-entry infrastructure account
|
||
$infrastructure_account = new Account_Model();
|
||
$infrastructure_account->member_id = $member->id;
|
||
$infrastructure_account->name = url_lang::lang('texts.Infrastructure account');
|
||
$infrastructure_account->account_attribute_id = Account_attribute_Model::$infrastructure;
|
||
$infrastructure_account->comment = url_lang::lang('texts.Infrastructure account');
|
||
$infrastructure_account->save();
|
||
|
||
// double-entry account of purchasers
|
||
$purchasers_account = new Account_Model();
|
||
$purchasers_account->member_id = $member->id;
|
||
$purchasers_account->name = url_lang::lang('texts.Purchasers account');
|
||
$purchasers_account->account_attribute_id = Account_attribute_Model::$purchasers;
|
||
$purchasers_account->comment = url_lang::lang('texts.Purchasers account');
|
||
$purchasers_account->save();
|
||
|
||
// double-entry account of suppliers
|
||
$suppliers_account = new Account_Model();
|
||
$suppliers_account->member_id = $member->id;
|
||
$suppliers_account->name = url_lang::lang('texts.Suppliers account');
|
||
$suppliers_account->account_attribute_id = Account_attribute_Model::$suppliers;
|
||
$suppliers_account->comment = url_lang::lang('texts.Suppliers account');
|
||
$suppliers_account->save();
|
||
|
||
$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->account_attribute_id = Account_attribute_Model::$bank_fees;
|
||
$bank_fees_account->comment = url_lang::lang('texts.Bank fees');
|
||
$bank_fees_account->save();
|
||
|
||
$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->account_attribute_id = Account_attribute_Model::$bank_interests;
|
||
$bank_interests_account->comment = url_lang::lang('texts.Bank interests');
|
||
$bank_interests_account->save();
|
||
|
||
// double-entry account of received member fees
|
||
$fees_account = new Account_Model();
|
||
$fees_account->member_id = $member->id;
|
||
$fees_account->name = url_lang::lang('texts.Received member fees');
|
||
$fees_account->account_attribute_id = Account_attribute_Model::$member_fees;
|
||
$fees_account->comment = url_lang::lang('texts.Received member fees');
|
||
$fees_account->save();
|
||
|
||
// redirection to login screen
|
||
url::redirect(url_lang::base().'login');
|
||
die();
|
||
|
||
}
|
||
$view = new View('installation');
|
||
$view->title = url_lang::lang('texts.Installation');
|
||
$view->form = $form->html();
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* Function checks validity of phone number.
|
||
* @param $input
|
||
* @return unknown_type
|
||
*/
|
||
function valid_phone($input)
|
||
{
|
||
$value = trim($input->value);
|
freenetis/trunk/kohana/application/controllers/accounts.php | ||
---|---|---|
|
||
} // end of edit function
|
||
|
||
function detail($acc_id = NULL)
|
||
{
|
||
if (isset($acc_id))
|
||
{
|
||
$model_account = new Account_Model($acc_id);
|
||
|
||
if ($model_account->owner_id == $_SESSION['member_id'])
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_own', 'all', $_SESSION['username'])) Controller::error(1);
|
||
}
|
||
else
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username'])) Controller::error(1);
|
||
}
|
||
|
||
$model_transfer = new Transfer_Model();
|
||
$credit = (float)$model_transfer->count_credit($acc_id, TRUE);
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->content = new View('account_show');
|
||
// $view->content = $this->template->content;
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Account details');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->content->credit = $credit;
|
||
$view->content->acc_data = $model_account;
|
||
$view->content->message = $this->session->get_once('message');
|
||
$view->render(TRUE);
|
||
|
||
}
|
||
else
|
||
{
|
||
Controller::warning(1);;
|
||
}
|
||
} // end of detail function
|
||
|
||
|
||
/**
|
||
* @author Jiri Svitak
|
||
* Deletes account. It shouldn't be used. Accounts cannot be deleted.
|
||
... | ... | |
|
||
} // end of new_transfer function
|
||
|
||
|
||
function unidentified_detail($trans_id = NULL)
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'assign_transfers')) Controller::error(1);
|
||
if (isset($trans_id))
|
||
{
|
||
$model_transfer = new Transfer_Model();
|
||
$transfer = $model_transfer->get_transfer($trans_id);
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->content = new View('unident_transfer_details');
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Transfer details');
|
||
$view->header->menu = Controller::render_menu();
|
||
//$view->content->heading = "Úprava uživatele ".$data['row']['name']." ".$data['row']['surname'];
|
||
$view->content->transfer = $transfer->current();
|
||
$view->content->message = $this->session->get_once('message');
|
||
$view->render(TRUE);
|
||
|
||
}
|
||
else
|
||
{
|
||
Controller::warning(1);;
|
||
}
|
||
|
||
} // end of unidentified_detail function
|
||
|
||
/***************************** SPECIAL AND AJAX FUNCTIONS ************************
|
||
**********************************************************************************
|
||
*********************HERE ARE FUNCTIONS FOR DIRECT GET ACCESS *******************/
|
freenetis/trunk/kohana/application/views/unident_transfer_details.php | ||
---|---|---|
<h2><?php echo url_lang::lang('texts.Detail of transfer number').' '.$transfer->mtid ?></h2><br />
|
||
|
||
<?php echo $message ? '<div class="message">'.$message.'</div>' : '' ?>
|
||
|
||
<?php echo '<a href="javascript:history.go(-1);">'.url_lang::lang('texts.Back to unidentified transfers.').'</a> | '.html::anchor(url_lang::base().'accounts/assign_transfer/'.$transfer->mtid,url_lang::lang('texts.Assign transfer')) ?><br />
|
||
<br />
|
||
<table class="extended" cellspacing="0" style="width:300px;float:left">
|
||
<tr>
|
||
<th colspan="2"><?php echo url_lang::lang('texts.Basic informations') ?></th>
|
||
</tr>
|
||
<tr>
|
||
<th>ID</th>
|
||
<td><?php echo $transfer->mtid ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Origin account') ?></th>
|
||
<td><?php if ($transfer->bank_info_id!='' && $transfer->aoname=='') echo $transfer->name; else echo html::anchor(url_lang::base().'members/show/'.$transfer->aoowner,$transfer->aoname); ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Destination account') ?></th>
|
||
<td><?php if ($transfer->bank_info_id!='' && $transfer->adname=='') echo $transfer->name; else echo html::anchor(url_lang::base().'members/show/'.$transfer->adowner,$transfer->adname); ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Amount') ?></th>
|
||
<td><?php echo number_format($transfer->amount, 2, ',', ' ').' '.url_lang::lang('texts.CZK'); ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Date and time') ?></th>
|
||
<td><?php echo $transfer->timestamp; ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Comment') ?></th>
|
||
<td><?php echo trim($transfer->text) ? $transfer->text : ' '; ?></td>
|
||
</tr>
|
||
</table>
|
||
<?php if ($transfer->bank_info_id!='') { ?>
|
||
<table class="extended" cellspacing="0" style="float:left; margin-left:25px;">
|
||
<tr>
|
||
<th colspan="2"><?php echo url_lang::lang('texts.Bank info') ?></th>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Variable symbol') ?></th>
|
||
<td><?php echo trim($transfer->variable_symbol) ? $transfer->variable_symbol : ' '; ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Constant symbol') ?></th>
|
||
<td><?php echo trim($transfer->constant_symbol) ? $transfer->constant_symbol : ' '; ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Specific symbol') ?></th>
|
||
<td><?php echo trim($transfer->specific_symbol) ? $transfer->specific_symbol : ' '; ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Date and time') ?></th>
|
||
<td><?php echo trim($transfer->date_time) ? $transfer->date_time : ' '; ?></td>
|
||
</tr>
|
||
</table>
|
||
<?php } ?>
|
||
<br class="clear" /><br />
|
Také k dispozici: Unified diff
Upravena instalace, uz tvori vazby pres accounts_bank_accounts. Smazany nektere nepotrebne veci.