Revize 502
Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'back to list of all devices' => 'Zpět na seznam všech zařízení',
|
||
'back to list of all fees' => 'Zpět na seznam všech poplatků',
|
||
'back to list of all invoices' => 'Zpět na seznam všech faktur',
|
||
'back to list of all members' => 'Zpět na seznam všech členů',
|
||
'back to list of all streets' => 'Zpět na seznam všech ulic',
|
||
'back to list of all towns' => 'Zpět na seznam všech měst',
|
||
'back to list of all unconfirmed works' => 'Zpět na seznam všech nepotvrzených prací',
|
||
... | ... | |
'back to the invoice item' => 'Zpět na položku faktury',
|
||
'back to the member' => 'Zpět na profil člena',
|
||
'back to the members transfers' => 'Zpět na převody člena',
|
||
'back to the subnet' => 'Zpět na podsíť',
|
||
'back to the user' => 'Zpět na uživatele',
|
||
'back to the work' => 'Zpět k práci',
|
||
'back to this account' => 'Zpět na tento účet',
|
||
... | ... | |
'redirect' => 'Přesměrovat',
|
||
'redirected only' => 'Jen přesměrovaní',
|
||
'redirection' => 'Přesměrování',
|
||
'redirection enabled' => 'Přesměrování zapnuto',
|
||
'redirection has been successfully set' => 'Přesměrování bylo úspěšně nastaveno.',
|
||
'reg' => 'Přih.',
|
||
'register' => 'Registrovat',
|
freenetis/trunk/kohana/application/models/subnet.php | ||
---|---|---|
}
|
||
|
||
/**
|
||
* Function tries to find subnet of user. Used in devices/add_whole.
|
||
* @param $user_id
|
||
* @return unknown_type
|
||
*/
|
||
public function get_subnet_of_user($user_id)
|
||
{
|
||
return self::$db->query("SELECT DISTINCT s.id
|
||
FROM subnets s
|
||
JOIN ip_addresses ip ON ip.subnet_id = s.id
|
||
JOIN ifaces i ON i.id = ip.iface_id
|
||
JOIN devices d ON d.id = i.device_id
|
||
WHERE d.user_id = $user_id
|
||
")->current();
|
||
}
|
||
|
||
/**
|
||
* Function gets items of subnet to export.
|
||
* @param $subnet_id
|
||
* @return unknown_type
|
freenetis/trunk/kohana/application/models/member.php | ||
---|---|---|
protected $has_many = array('invoices', ' users', 'accounts', 'transfers', 'bank_accounts');
|
||
protected $belongs_to = array('address_point');
|
||
|
||
// filtering by redirection
|
||
public static $all = 1;
|
||
public static $redirected = 2;
|
||
|
||
... | ... | |
");
|
||
}
|
||
|
||
public function get_members_of_subnet($subnet_id)
|
||
{
|
||
return self::$db->query("SELECT DISTINCT m.id
|
||
FROM members m
|
||
JOIN users u ON m.id = u.member_id
|
||
JOIN devices d ON u.id = d.user_id
|
||
JOIN ifaces i ON d.id = i.device_id
|
||
JOIN ip_addresses ip ON i.id = ip.iface_id
|
||
WHERE ip.subnet_id = $subnet_id
|
||
");
|
||
}
|
||
|
||
/**
|
||
* Function gets member to show or edit.
|
||
* @param $id
|
||
* @return unknown_type
|
||
*/
|
||
public function get_member($id)
|
||
{
|
||
return self::$db->select(
|
||
... | ... | |
)->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
|
||
");
|
||
}
|
||
|
||
public function get_streets($street)
|
||
{
|
||
return self::$db->query("SELECT street FROM members WHERE street LIKE '" . $street . "%' GROUP BY street");
|
||
}
|
||
|
||
public function get_towns($town)
|
||
{
|
||
return self::$db->query("SELECT town FROM members WHERE town LIKE '" . $town . "%' GROUP BY town");
|
||
}
|
||
|
||
public function get_ZIP_codes($ZIP_code)
|
||
{
|
||
return self::$db->query("SELECT ZIP_code FROM members WHERE ZIP_code LIKE '" . $ZIP_code . "%' GROUP BY ZIP_code");
|
||
}
|
||
|
||
public function get_quarters($quarter)
|
||
{
|
||
return self::$db->query("SELECT quarter FROM members WHERE quarter LIKE '" . $quarter . "%' GROUP BY quarter");
|
||
}
|
||
|
||
}
|
||
|
||
?>
|
freenetis/trunk/kohana/application/models/segment.php | ||
---|---|---|
LIMIT $limit_from, $limit_results
|
||
");
|
||
}
|
||
|
||
/**
|
||
* Function tries to find segment where user's device is connected to. Used in devices/add_whole.
|
||
* @param $user_id
|
||
* @return unknown_type
|
||
*/
|
||
public function get_segment_of_user($user_id)
|
||
{
|
||
return self::$db->query("SELECT DISTINCT s.id
|
||
FROM segments s
|
||
JOIN ifaces i ON i.segment_id = s.id
|
||
JOIN devices d ON d.id = i.device_id
|
||
WHERE d.user_id = $user_id
|
||
")->current();
|
||
}
|
||
}
|
||
|
||
?>
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
$grid->add_new_button(url_lang::base().'members/add', url_lang::lang('texts.Add new member'));
|
||
if ($this->acl_check_edit('Members_Controller', 'registration'))
|
||
$grid->add_new_button(url_lang::base().'members/registration', url_lang::lang('texts.Edit registrations'));
|
||
if ($this->acl_check_edit('Devices_Controller', 'redirect'))
|
||
$grid->add_new_button(url_lang::base().'redirect/members', url_lang::lang('texts.Redirection'));
|
||
if ($this->acl_check_view(get_class($this), 'members'))
|
||
{
|
||
// xls export of members, works fine in OpenOffice,
|
||
... | ... | |
}
|
||
} // end of registration function
|
||
|
||
|
||
function get_streets()
|
||
{
|
||
$q = strtolower($this->input->get('q'));
|
||
if (!$q) return;
|
||
$member_model = new Member_Model();
|
||
$streets = $member_model->get_streets($q);
|
||
foreach ($streets as $street) echo $street->street."\n";
|
||
}
|
||
|
||
function get_towns()
|
||
{
|
||
$q = strtolower($this->input->get('q'));
|
||
if (!$q) return;
|
||
$member_model = new Member_Model();
|
||
$towns = $member_model->get_towns($q);
|
||
foreach ($towns as $town) echo $town->town."\n";
|
||
}
|
||
|
||
function get_ZIP_codes()
|
||
{
|
||
$q = strtolower($this->input->get('q'));
|
||
if (!$q) return;
|
||
$member_model = new Member_Model();
|
||
$ZIP_codes = $member_model->get_ZIP_codes($q);
|
||
foreach ($ZIP_codes as $ZIP_code) echo $ZIP_code->ZIP_code."\n";
|
||
}
|
||
|
||
function get_quarters()
|
||
{
|
||
$q = strtolower($this->input->get('q'));
|
||
if (!$q) return;
|
||
$member_model = new Member_Model();
|
||
$quarters = $member_model->get_quarters($q);
|
||
foreach ($quarters as $quarter) echo $quarter->quarter."\n";
|
||
}
|
||
|
||
/**
|
||
* Checks if username already exists.
|
||
* @param $input new username
|
freenetis/trunk/kohana/application/controllers/subnets.php | ||
---|---|---|
->rules('required|length[1,250]');
|
||
$form->input('OSPF_area_id')->label(url_lang::lang('texts.OSPF area ID').':')->rules('valid_digit');
|
||
if ($this->acl_check_new('Devices_Controller', 'redirect'))
|
||
$form->dropdown('redirect')->label(url_lang::lang('texts.Redirect'))->options($redirect)->selected(0);
|
||
$form->dropdown('redirect')->label(url_lang::lang('texts.Redirection enabled'))->options($redirect)->selected(0);
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
... | ... | |
->rules('required|length[1,250]')->value($subnet->netmask);
|
||
$form->input('OSPF_area_id')->label(url_lang::lang('texts.OSPF area ID').':')->rules('valid_digit')->value($subnet->OSPF_area_id);
|
||
if ($this->acl_check_edit('Devices_Controller', 'redirect'))
|
||
$form->dropdown('redirect')->label(url_lang::lang('texts.Redirect'))->options($redirect)->selected($subnet->redirect);
|
||
$form->dropdown('redirect')->label(url_lang::lang('texts.Redirection enabled'))->options($redirect)->selected($subnet->redirect);
|
||
$form->submit('submit')->value(url_lang::lang('texts.update'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
freenetis/trunk/kohana/application/controllers/redirect.php | ||
---|---|---|
function member($member_id = null)
|
||
{
|
||
// access rights
|
||
if (!$this->acl_check_edit('Members_Controller', 'redirect', $member_id))
|
||
if (!$this->acl_check_edit('Members_Controller', 'redirect'))
|
||
Controller::error(ACCESS);
|
||
if (!isset($member_id))
|
||
Controller::warning(PARAMETER);
|
||
... | ... | |
$view->render(TRUE);
|
||
}
|
||
}
|
||
|
||
|
||
/**
|
||
* Function sets redirection of all members.
|
||
* @param $member_id
|
||
* @return unknown_type
|
||
*/
|
||
function members()
|
||
{
|
||
// access rights
|
||
if (!$this->acl_check_edit('Members_Controller', 'redirect'))
|
||
Controller::error(ACCESS);
|
||
$array[0] = url_lang::lang('texts.No');
|
||
$array[1] = url_lang::lang('texts.Yes');
|
||
// form
|
||
$form = new Forge(url_lang::base().'redirect/members', '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Redirection'));
|
||
//$form->dropdown('payment_notice')->label(url_lang::lang('texts.Payment notice').':')->options($array)->selected(0);
|
||
$form->dropdown('optional_message')->label(url_lang::lang('texts.Optional message').':')->options($array)->selected(0);
|
||
$form->submit('submit')->value(url_lang::lang('texts.Redirect'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
// validation
|
||
if ($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
// direct database queries are much more faster
|
||
$db = new Database();
|
||
// canceling payment notice and optional message redirection
|
||
//$db->query("UPDATE members SET redirect = redirect & ~12;");
|
||
//if ($form_data['payment_notice'] == 1)
|
||
// $db->query("UPDATE members SET redirect = redirect | 4;");
|
||
// canceling optional message redirection
|
||
$db->query("UPDATE members SET redirect = redirect & ~8");
|
||
if ($form_data['optional_message'] == 1)
|
||
$db->query("UPDATE members SET redirect = redirect | 8;");
|
||
$this->session->set_flash('message', url_lang::lang('texts.Redirection has been successfully set.'));
|
||
url::redirect(url_lang::base().'members/show_all');
|
||
}
|
||
else
|
||
{
|
||
// view
|
||
$headline = url_lang::lang('texts.Redirection');
|
||
$view = new View('main');
|
||
$view->title = $headline;
|
||
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->link_back = html::anchor(url_lang::base().'members/show_all', url_lang::lang('texts.Back to list of all members'));
|
||
$view->content->form = $form->html();
|
||
$view->render(TRUE);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Function sets redirection to members on given subnet.
|
||
* @param $subnet_id
|
||
* @return unknown_type
|
||
*/
|
||
function subnet($subnet_id)
|
||
{
|
||
// access rights
|
||
if (!$this->acl_check_edit('Members_Controller', 'redirect'))
|
||
Controller::error(ACCESS);
|
||
if (!isset($subnet_id))
|
||
Controller::warning(PARAMETER);
|
||
$subnet = new Member_Model($subnet_id);
|
||
if ($subnet->id == 0)
|
||
Controller::error(RECORD);
|
||
$array[0] = url_lang::lang('texts.No');
|
||
$array[1] = url_lang::lang('texts.Yes');
|
||
// form
|
||
$form = new Forge(url_lang::base().'redirect/subnet/'.$subnet_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Redirection'));
|
||
//$form->dropdown('payment_notice')->label(url_lang::lang('texts.Payment notice').':')->options($array)->selected(0);
|
||
$form->dropdown('optional_message')->label(url_lang::lang('texts.Optional message').':')->options($array)->selected(0);
|
||
$form->submit('submit')->value(url_lang::lang('texts.Redirect'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
// validation
|
||
if ($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
$member_model = new Member_Model();
|
||
$members = $member_model->get_members_of_subnet($subnet_id);
|
||
$saved = true;
|
||
foreach ($members as $m)
|
||
{
|
||
$member = new Member_Model($m->id);
|
||
$member->redirect &= ~8;
|
||
if ($form_data['optional_message'] == 1)
|
||
$member->redirect |= 8;
|
||
$saved = $member->save();
|
||
}
|
||
if ($saved)
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Redirection has been successfully set.'));
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant set redirection.'));
|
||
}
|
||
url::redirect(url_lang::base().'subnets/show/'.$subnet_id);
|
||
}
|
||
else
|
||
{
|
||
// view
|
||
$headline = url_lang::lang('texts.Redirection');
|
||
$view = new View('main');
|
||
$view->title = $headline;
|
||
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->link_back = html::anchor(url_lang::base().'subnets/show/'.$subnet_id, url_lang::lang('texts.Back to the subnet'));
|
||
$view->content->form = $form->html();
|
||
$view->render(TRUE);
|
||
}
|
||
}
|
||
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/controllers/bank_transfers.php | ||
---|---|---|
$form->dropdown('type')->label(url_lang::lang('texts.Bank transfer type').':')->options($arr_bt_types);
|
||
$form->date('datetime')->label(url_lang::lang('texts.Date and time').':')->years(date('Y')-20, date('Y'))->rules('required');
|
||
$form->input('amount')->label(url_lang::lang('texts.Amount').':')->rules('required|valid_numeric')->callback(array($this, 'valid_amount'));
|
||
$form->input('text')->label(url_lang::lang('texts.Text'))->rules('required');
|
||
$form->input('text')->label(url_lang::lang('texts.Text').':')->rules('required');
|
||
// bank transfer
|
||
$form->group('')->label(url_lang::lang('texts.Bank transfer'));
|
||
$form->input('variable_symbol')->label(url_lang::lang('texts.Variable symbol').':');
|
||
... | ... | |
$counter_ba = ORM::factory('bank_account')->
|
||
where(array('account_nr' => $form_data['counteraccount'],
|
||
'bank_nr' => $form_data['counteraccount_bc']))->find();
|
||
if (!$counter_ba)
|
||
if (!$counter_ba->id)
|
||
{
|
||
$counter_ba = new Bank_account_Model();
|
||
$counter_ba->name = $form_data['counteraccount_name'];
|
||
$counter_ba->account_nr = $form_data['counteraccount'];
|
||
$counter_ba->bank_nr = $form_data['bank_nr'];
|
||
$counter_ba->bank_nr = $form_data['counteraccount_bc'];
|
||
$counter_ba->save();
|
||
}
|
||
// this bank account
|
||
... | ... | |
$it->origin_id = $account->id;
|
||
$it->destination_id = $ca->id;
|
||
$it->previous_transfer_id = $transfer->id;
|
||
$it->member_id = $member->id;
|
||
$it->user_id = $this->session->get('user_id');
|
||
$it->datetime = date('Y-m-d', $form_data['datetime']);
|
||
$it->creation_datetime = $time_now;
|
||
... | ... | |
$tf->origin_id = $ca->id;
|
||
$tf->destination_id = $operating->id;
|
||
$tf->previous_transfer_id = $transfer->id;
|
||
$tf->member_id = $member->id;
|
||
$tf->user_id = $this->session->get('user_id');
|
||
$tf->datetime = date('Y-m-d', $form_data['datetime']);
|
||
$tf->creation_datetime = $time_now;
|
||
... | ... | |
$tf->amount = $fee->fee;
|
||
$transfer_fee_saved = $tf->save();
|
||
}
|
||
// identification of transfer and bank fee
|
||
$transfer->member_id = $member->id;
|
||
$transfer_saved = $transfer->save();
|
||
$btf->member_id = $member->id;
|
||
$btf_saved = $btf->save();
|
||
}
|
||
}
|
||
|
freenetis/trunk/kohana/application/controllers/accounts.php | ||
---|---|---|
// access rights
|
||
if (!$this->acl_check_new('Accounts_Controller', 'accounts'))
|
||
Controller::error(ACCESS);
|
||
$member_model = new Member_Model();
|
||
$members = $member_model->get_names_of_members();
|
||
$members = ORM::factory('member')->find_all();
|
||
foreach($members as $member)
|
||
{
|
||
$arr_members[$member->id] = $member->id.' - '.$member->name;
|
freenetis/trunk/kohana/application/controllers/devices.php | ||
---|---|---|
{
|
||
$user_model = new User_Model();
|
||
// if the device is added to given user, then only one user will be to select
|
||
$selected_segment = 0;
|
||
$selected_subnet = 0;
|
||
if(isset($user_id))
|
||
{
|
||
$user = new User_Model($user_id);
|
||
... | ... | |
$selected_street_id = $user->member->address_point->street_id;
|
||
$selected_street_number = $user->member->address_point->street_number;
|
||
$selected_town_id = $user->member->address_point->town_id;
|
||
$segment = new Segment_Model();
|
||
$found_segment = $segment->get_segment_of_user($user->id);
|
||
if ($found_segment)
|
||
$selected_segment = $found_segment->id;
|
||
$subnet = new Subnet_Model();
|
||
$found_subnet = $subnet->get_subnet_of_user($user->id);
|
||
if ($found_subnet)
|
||
$selected_subnet = $found_subnet->id;
|
||
$arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}
|
||
else
|
||
... | ... | |
// adding interface
|
||
$form->group('')->label(url_lang::lang('texts.Interface'));
|
||
$form->input('mac')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]');
|
||
$form->dropdown('segment_id')->label(url_lang::lang('texts.Segment name').':')->options($arr_segments)->rules('required');
|
||
$form->dropdown('segment_id')->label(url_lang::lang('texts.Segment name').':')->options($arr_segments)->rules('required')->selected($selected_segment);
|
||
// wireless settings of interface
|
||
$form->checkbox('add_wireless')->label(url_lang::lang('texts.Save wireless setting'))->value(1);
|
||
$form->dropdown('wmode')->label(url_lang::lang('texts.Mode').':')->options($arr_modes)->callback(array($this, 'valid_mode'));
|
||
... | ... | |
$form->input('ip_address')->label(url_lang::lang('texts.IP address').':')->rules('required|length[7,15]')
|
||
->callback(array($this, 'valid_ip'));
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')->rules('required')
|
||
->options($arr_subnets_names);
|
||
->options($arr_subnets_names)->selected($selected_subnet);
|
||
// submit button
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
freenetis/trunk/kohana/application/views/main.php | ||
---|---|---|
<?php echo html::stylesheet('media/css/print.css', 'print') ?>
|
||
<?php echo html::stylesheet('media/css/tables.css', 'screen') ?>
|
||
<?php echo html::stylesheet('media/css/forms.css') ?>
|
||
<?php echo html::stylesheet('media/css/jquery.autocomplete.css') ?>
|
||
<?php echo html::script('media/js/js', FALSE) ?>
|
||
<?php echo html::script('media/js/jquery.min', FALSE) ?>
|
||
<?php echo html::script('media/js/jquery.autocomplete.min', FALSE) ?>
|
||
<?php echo isset($other_styles) ? $other_styles : '' ?>
|
||
<script type="text/javascript">
|
||
<?php if (!$this->setting->use_javascript) { ?> window.location.href ='<?php echo url_lang::base() ?>settings/javascript/on';
|
||
<?php } ?>
|
||
$(document).ready(function()
|
||
{
|
||
$('#street').autocomplete('<?php echo url_lang::base() ?>members/get_streets/');
|
||
$('#town').autocomplete('<?php echo url_lang::base() ?>members/get_towns/');
|
||
$('#zip_code').autocomplete('<?php echo url_lang::base() ?>members/get_ZIP_codes/');
|
||
$('#quarter').autocomplete('<?php echo url_lang::base() ?>members/get_quarters/');
|
||
$('#user').autocomplete('<?php echo url_lang::base() ?>users/get_users/');
|
||
$('#first_engineer').autocomplete('<?php echo url_lang::base() ?>users/get_users/');
|
||
$('#second_engineer').autocomplete('<?php echo url_lang::base() ?>users/get_users/');
|
||
$('#username').autocomplete('<?php echo url_lang::base() ?>users/get_usernames/');
|
||
$('#devicename').autocomplete('<?php echo url_lang::base() ?>devices/get_device_names/');
|
||
});
|
||
</script>
|
||
</head>
|
||
<body <?php echo isset($onload) ? 'onload="'.$onload.'"' : '' ?> >
|
||
<div id="main">
|
freenetis/trunk/kohana/application/views/subnets_show.php | ||
---|---|---|
$links[] = $link_back;
|
||
if ($this->acl_check_edit('Devices_Controller', 'subnet'))
|
||
$links[] = html::anchor(url_lang::base().'subnets/edit/'.$subnet->id, url_lang::lang('texts.Edit'));
|
||
if ($this->acl_check_edit('Devices_Controller', 'redirect'))
|
||
$links[] = html::anchor(url_lang::base().'redirect/subnet/'.$subnet->id, url_lang::lang('texts.Redirection'));
|
||
if ($this->acl_check_view('Devices_Controller', 'subnet'))
|
||
{
|
||
$links[] = html::anchor(url_lang::base().'export/csv/subnets/utf-8/'.$subnet->id, url_lang::lang('texts.Export to CSV (utf-8)'));
|
||
... | ... | |
<td><?php echo $subnet->OSPF_area_id ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Redirect') ?></th>
|
||
<th><?php echo url_lang::lang('texts.Redirection enabled') ?></th>
|
||
<td><?php echo ($subnet->redirect == 1) ? url_lang::lang('texts.Yes') : url_lang::lang('texts.No') ?></td>
|
||
</tr>
|
||
</table>
|
Také k dispozici: Unified diff
Pridano moznost nastavit presmerovani volitelne zpravy vsem clenum, nebo clenum na podsiti. Vychytavka v pridavani celeho zarizeni - podle existujiciho zarizeni to jiz predvyplni segment a subnet. Opravy chyb v rucnim pridavani plateb - automaticke vytvareni noveho bankovniho uctu a identifikace plateb. Smazany nejake stare odkazy na js v hlavnim view.