Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 502

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

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.

Zobrazit rozdíly:

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