Revize 363
Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'additional_contacts_infotext' => 'Další kontaktní informace',
|
||
'additional information' => 'Doplňkové informace',
|
||
'address' => 'Adresa',
|
||
'aditional contacts successfully updated' => 'Další kontakty úspěšně uloženy',
|
||
'additional contacts successfully updated' => 'Další kontakty úspěšně uloženy',
|
||
'administrate additional contacts' => 'Přidávání/editace dalších kontaktních informací',
|
||
'administration' => 'Administrace',
|
||
'administration of additional contacts' => 'Přidávání/editace dalších kontaktních informací',
|
||
... | ... | |
'error - cant do the transfer' => 'Chyba - nelze provést transakci.',
|
||
'error - cant change password' => 'Chyba - nelze změnit heslo',
|
||
'error - cant update account' => 'Chyba - nelze upravit účet.',
|
||
'error - cant update aditional contacts' => 'Chyba - nelze upravit další kontakty.',
|
||
'error - cant update additional contacts' => 'Chyba - nelze upravit další kontakty.',
|
||
'error - cant update member' => 'Chyba - nelze upravit člena.',
|
||
'error - cant update transfer' => 'Chyba - nelze upravit převod.',
|
||
'error - cant update user' => 'Chyba - nelze upravit uživatele.',
|
||
... | ... | |
'qos ceil' => 'Ceil (max-limit) pro QoS',
|
||
'qos rate' => 'Rate (limit-at) pro QoS',
|
||
'quantity' => 'Množství',
|
||
'quarter' => 'Městská část',
|
||
'really delete this account' => 'Opravdu smazat tento účet',
|
||
'received member fees' => 'Přijaté členské příspěvky',
|
||
'reg' => 'Přih.',
|
freenetis/trunk/kohana/application/models/wireless_setting.php | ||
---|---|---|
class Wireless_setting_Model extends ORM
|
||
{
|
||
/**
|
||
* Function gets one wireless setting.
|
||
* @author Jiri Svitak
|
||
* Function gets one wireless setting. Each property is translated.
|
||
* @param $iface_id
|
||
* @return unknown_type
|
||
*/
|
||
... | ... | |
WHERE ws.iface_id = $iface_id");
|
||
}
|
||
|
||
/**
|
||
* @author Jiri Svitak
|
||
* Function gets one wireless setting. Properties are specified by their id in enum_types.
|
||
* @param $iface_id
|
||
* @return unknown_type
|
||
*/
|
||
public function get_wireless_setting_for_edit($iface_id)
|
||
{
|
||
return self::$db->query("SELECT
|
freenetis/trunk/kohana/application/models/member.php | ||
---|---|---|
{
|
||
return self::$db->select(
|
||
array('members.registration', 'members.name as namem', 'members.street', 'members.street_number',
|
||
'members.town', 'members.ZIP_code',
|
||
'members.town', 'members.quarter','members.ZIP_code',
|
||
'members.type as typem', 'members.organization_identifier', 'members.qos_ceil', 'members.qos_rate',
|
||
'members.entrance_fee', 'members.debt_payment_rate', 'members.entrance_fee_left',
|
||
'members.entrance_date', 'members.comment',
|
freenetis/trunk/kohana/application/models/account.php | ||
---|---|---|
return self::$db->query("SELECT a.id, a.name AS aname, a.comment,
|
||
CONCAT('<a href=\"".url_lang::base()."members/show/', a.member_id, '\">', m.name, '</a>') AS mname,
|
||
q3.balance
|
||
FROM (SELECT id, member_id, (inbound - outbound) AS balance FROM
|
||
FROM (SELECT q2.id, q2.member_id, (inbound - outbound) AS balance FROM
|
||
(SELECT q1.id, q1.member_id, IFNULL(SUM(amount), 0) AS inbound, outbound FROM
|
||
(SELECT a.id, member_id, IFNULL(SUM(amount), 0) AS outbound
|
||
(SELECT a.id, a.member_id, IFNULL(SUM(amount), 0) AS outbound
|
||
FROM accounts a
|
||
LEFT JOIN transfers t ON a.id = t.origin_id
|
||
WHERE ($account_attribute)
|
||
GROUP BY a.id) AS q1
|
||
LEFT JOIN transfers ON q1.id = transfers.destination_id GROUP BY q1.id) AS q2
|
||
GROUP BY a.id
|
||
) AS q1
|
||
LEFT JOIN transfers ON q1.id = transfers.destination_id
|
||
GROUP BY q1.id
|
||
) AS q2
|
||
) AS q3
|
||
LEFT JOIN members m ON q3.member_id = m.id
|
||
LEFT JOIN accounts a ON q3.id = a.id
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
$form->group('')->label(url_lang::lang('texts.Contact information'));
|
||
$form->input('street')->label(url_lang::lang('texts.street').':')->rules('required|length[1,200]');
|
||
$form->input('street_number')->label(url_lang::lang('texts.street number').':')->rules('required|length[1,50]');
|
||
$form->input('quarter')->label(url_lang::lang('texts.Quarter').':')->rules('length[1,50]');
|
||
$form->input('town')->label(url_lang::lang('texts.town').':')->rules('required|length[3,200]');
|
||
$form->input('zip_code')->label(url_lang::lang('texts.zip code').':')->rules('required|length[5,10]');
|
||
$form->input('phone')->label(url_lang::lang('texts.phone').':')->rules('required|length[9,40]')->callback(array($this, 'valid_phone'));
|
||
... | ... | |
$member->street = $form_data['street'];
|
||
$member->street_number = $form_data['street_number'];
|
||
$member->town = $form_data['town'];
|
||
$member->quarter = $form['quarter'];
|
||
$member->type = $form_data['type'];
|
||
$member->organization_identifier = $form_data['organization_identifier'];
|
||
$member->ZIP_code = $form_data['zip_code'];
|
||
... | ... | |
$form->input('street')->label(url_lang::lang('texts.street').':')->rules('required|length[1,200]')->value($member_data->street);
|
||
$form->input('street_number')->label(url_lang::lang('texts.street number').':')->rules('required|length[1,50]')->value($member_data->street_number);
|
||
$form->input('town')->label(url_lang::lang('texts.town').':')->rules('required|length[3,200]')->value($member_data->town);
|
||
$form->input('quarter')->label(url_lang::lang('texts.quarter').':')->rules('length[1,50]')->value($member_data->quarter);
|
||
$form->input('zip_code')->label(url_lang::lang('texts.zip code').':')->rules('required|length[5,10]')->value($member_data->ZIP_code);
|
||
}
|
||
if ($this->acl_check_edit('Users_Controller','phone',$member_id))
|
||
... | ... | |
$form->date('birthday')->label(url_lang::lang('texts.birthday').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($member_data->birthday));
|
||
if ($this->acl_check_edit(get_class($this),'entrance_date',$member_id))
|
||
$form->date('entrance_date')->label(url_lang::lang('texts.Entrance date').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($member_data->entrance_date));
|
||
|
||
// to do - access rights
|
||
//if ($this->acl_check_edit(get_class($this),'leaving_date',$member_id))
|
||
//{
|
||
if ($this->acl_check_edit(get_class($this),'leaving_date',$member_id))
|
||
{
|
||
$parsed = date_parse($member_data->leaving_date);
|
||
if ($parsed['year'] == '0')
|
||
{
|
||
... | ... | |
$form->checkbox('end_membership')->label(url_lang::lang('texts.End membership'))->checked(true);
|
||
$form->date('leaving_date')->label(url_lang::lang('texts.Leaving date').':')->years(date('Y', strtotime($member_data->entrance_date)), date('Y'))->value(strtotime($member_data->leaving_date))->callback(array($this, 'valid_leaving_date'));
|
||
}
|
||
//}
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this),'comment',$member_id))
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($member_data->comment);
|
||
... | ... | |
|
||
if ($this->acl_check_edit(get_class($this),'entrance_date',$member_id))
|
||
$member_data->entrance_date = date("Y-m-d",$form_data['entrance_date']);
|
||
// to do - access rights
|
||
//if ($this->acl_check_edit(get_class($this),'entrance_date',$member_id))
|
||
//{
|
||
if ($this->acl_check_edit(get_class($this),'leaving_date',$member_id))
|
||
{
|
||
if ($form_data['end_membership'])
|
||
$member_data->leaving_date = date("Y-m-d", $form_data['leaving_date']);
|
||
else
|
||
$member_data->leaving_date = '0000-00-00';
|
||
//}
|
||
}
|
||
if ($this->acl_check_edit(get_class($this),'name',$member_id))
|
||
$member_data->name = $form_data['membername'];
|
||
if ($this->acl_check_edit(get_class($this),'address',$member_id)) {
|
||
$member_data->street = $form_data['street'];
|
||
$member_data->street_number = $form_data['street_number'];
|
||
$member_data->town = $form_data['town'];
|
||
$member_data->quarter = $form_data['quarter'];
|
||
$member_data->ZIP_code = $form_data['zip_code'];
|
||
}
|
||
|
freenetis/trunk/kohana/application/controllers/ifaces.php | ||
---|---|---|
$grid->action_field('id')->label(url_lang::lang('texts.Show'))->url(url_lang::base().'ifaces/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit('Devices_Controller','iface'))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit'))->url(url_lang::base().'ifaces/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// to do - deleting iface
|
||
//if ($this->acl_check_delete('Devices_Controller','iface'))
|
||
// $grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'ifaces/delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
... | ... | |
Controller::warning(1);
|
||
$this->session->set('ssIface_id',$iface->id);
|
||
$this->session->del('ssVlan_iface_id');
|
||
//----------- list of IP ADDRESSES ---------------
|
||
|
||
// ip addresses
|
||
$ip_model = new Ip_address_Model();
|
||
//$query = $iface_model->select(array('devices.name as device_name', 'segments.name as segment_name', 'ifaces.*'))->join('devices', 'devices.id = ifaces.device_id')->join('segments', 'segments.id = ifaces.segment_id')->orderby('id','ASC')->find_all_by_device_id($iface_id);
|
||
$query = $ip_model->select(array('ip_addresses.id','ip_addresses.IP_address','subnets.name as subnet_name'))
|
||
->join('subnets','subnets.id=ip_addresses.subnet_id', NULL, 'LEFT')
|
||
->orderby('id','ASC')
|
||
... | ... | |
$grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'ip_addresses/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit('Devices_Controller','ip_address',$member_id))
|
||
$grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'ip_addresses/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// to do - acl_check_delete
|
||
//if ($this->acl_check_delete('Devices_Controller','ip_address',$member_id))
|
||
$grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'ip_addresses/delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
// $grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'ip_addresses/delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid_ip_addresses->datasource( $query );
|
||
//list of vlan interfaces
|
||
|
||
// vlan interfaces
|
||
$VLAN_iface_model = new Vlan_iface_Model();
|
||
$query = $VLAN_iface_model->select(array('id','name'))
|
||
->orderby('id','ASC')
|
||
... | ... | |
$grid_VLAN_ifaces->action_field('id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'vlan_ifaces/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit('Devices_Controller','vlan_iface',$member_id))
|
||
$grid_VLAN_ifaces->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'vlan_ifaces/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// if ($this->acl_check_delete('Devices_Controller', 'vlan_iface'))
|
||
//$grid_VLAN_ifaces->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid_VLAN_ifaces->datasource( $query );
|
||
if ($ssDevice_id)
|
||
... | ... | |
}
|
||
else
|
||
{
|
||
|
||
$device_model = new Device_Model();
|
||
$devices = $device_model->select(array('id','name'))->orderby('name')->find_all();
|
||
$arr_devices[0] = '----- '.url_lang::lang('texts.select device').' -----';
|
freenetis/trunk/kohana/application/controllers/device_engineers.php | ||
---|---|---|
* Adds engineer to device (creates association between engineer and device).
|
||
* @return unknown_type
|
||
*/
|
||
|
||
function add()
|
||
{
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
|
||
|
||
$form = new Forge(url_lang::base()."device_engineers/add/", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
... | ... | |
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
|
||
// validation
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
... | ... | |
}
|
||
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
if ($ssDevice_id) $link_back = html::anchor(url_lang::base().'devices/show/'.$ssDevice_id, url_lang::lang('texts.Back to device parameters'));
|
||
// else $link_back = html::anchor(url_lang::base().'ifaces/show_all/', url_lang::lang('texts.Back to interfaces list'));
|
||
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Add new device engineer');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = $link_back;
|
||
$view->content->headline = url_lang::lang('texts.Add new device engineer');
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
... | ... | |
*/
|
||
function remove($id = null)
|
||
{
|
||
// quimi's version of access control
|
||
// // access rights
|
||
//if (!$this->acl_check_new(get_class($this),'translations'))
|
||
// Controller::error(1);
|
||
/*
|
||
if (isset($id))
|
||
{
|
||
$device_engineer_model = new Device_engineer_Model();
|
||
... | ... | |
{
|
||
Controller::warning(1);
|
||
}
|
||
*/
|
||
}
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/controllers/users.php | ||
---|---|---|
$view->footer = new View('base/footer');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header->title = url_lang::lang('texts.Display user');
|
||
//$view->content->heading = "Úprava uživatele ".$data['row']['name']." ".$data['row']['surname'];
|
||
// $view->content->user_data = $model_users->get_user($user_id)->current();
|
||
$view->content->user_data = $model_users;
|
||
$view->content->contacts = $contacts;
|
||
$view->content->contact_types = $arr_contact_types;
|
||
... | ... | |
|
||
} // end of add function
|
||
|
||
function aditional_contacts ($user_id = null)
|
||
function additional_contacts ($user_id = null)
|
||
{
|
||
$model_users = new User_Model($user_id);
|
||
|
||
if (!$this->acl_check_edit(get_class($this),'aditional_contacts',$model_users->member_id)) Controller::error(1);
|
||
if (!$this->acl_check_edit(get_class($this),'additional_contacts',$model_users->member_id)) Controller::error(1);
|
||
|
||
if (isset($user_id))
|
||
{
|
||
... | ... | |
}
|
||
if ($issaved)
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Aditional contacts successfully updated'));
|
||
$this->session->set_flash('message', url_lang::lang('texts.Additional contacts successfully updated'));
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant update aditional contacts'));
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant update additional contacts'));
|
||
}
|
||
url::redirect(url_lang::base().'users/show/'.(int)$user_id);
|
||
}
|
||
... | ... | |
Controller::warning(1);
|
||
}
|
||
|
||
} // end of aditional_contacts function
|
||
} // end of additional_contacts function
|
||
|
||
function chngpass ($user_id = null)
|
||
{
|
freenetis/trunk/kohana/application/controllers/transfers.php | ||
---|---|---|
*/
|
||
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'desc', $page_word = null, $page = 1)
|
||
{
|
||
// to do - correct access control
|
||
/*
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username']))
|
||
if (!$this->acl_check_view('Accounts_Controller', 'transfers'))
|
||
Controller::error(1);
|
||
*/
|
||
// get new selector
|
||
if (is_numeric($this->input->get('record_per_page')))
|
||
$limit_results = (int) $this->input->get('record_per_page');
|
||
... | ... | |
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results
|
||
));
|
||
$grid->add_new_button(url_lang::base().'transfers/deduct_fees', url_lang::lang('texts.Deduction of membership fees'));
|
||
if ($this->acl_check_edit('Accounts_Controller', 'transfers'))
|
||
$grid->add_new_button(url_lang::base().'transfers/deduct_fees', url_lang::lang('texts.Deduction of membership fees'));
|
||
$grid->order_field('id')->label('ID');
|
||
$grid->field('origin')->label(url_lang::lang('texts.Origin account'));
|
||
$grid->order_field('o_attribute')->label(url_lang::lang('texts.Type'));
|
||
... | ... | |
$grid->order_field('text')->label(url_lang::lang('texts.Text'));
|
||
$grid->order_field('amount')->label(url_lang::lang('texts.Amount'));
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/show')->action(url_lang::lang('texts.Show'));
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/edit')->action(url_lang::lang('texts.Edit'));
|
||
if ($this->acl_check_edit('Accounts_Controller', 'transfers'))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Transfer'))->url(url_lang::base().'transfers/edit')->action(url_lang::lang('texts.Edit'));
|
||
$grid->datasource($alltransfers);
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
... | ... | |
*/
|
||
function show($transfer_id = null)
|
||
{
|
||
if (!$this->acl_check_view('Accounts_Controller', 'transfers'))
|
||
Controller::error(1);
|
||
if (isset($transfer_id))
|
||
{
|
||
$transfer_model = new Transfer_Model();
|
||
... | ... | |
*/
|
||
function show_by_member($member_id = NULL, $limit_results = 500, $order_by = 'id', $order_by_direction = 'desc', $page_word = null, $page = 1)
|
||
{
|
||
if(!$this->acl_check_view('Accounts_Controller', 'transfers', $member_id))
|
||
Controller::Error(1);
|
||
if (isset($member_id))
|
||
{
|
||
// to do - access control
|
||
if(!$this->acl_check_view('Accounts_Controller','transfers',$member_id))
|
||
Controller::Error(1);
|
||
$this->session->set('ssMember_id',$member_id);
|
||
$this->session->del('ssAccount_id');
|
||
// gets grid settings
|
||
... | ... | |
*/
|
||
function show_by_account($account_id = NULL, $limit_results = 500, $order_by = 'id', $order_by_direction = 'asc', $page_word = null, $page = 1)
|
||
{
|
||
if ($this->acl_check_view('Accounts_Controller', 'transfers'))
|
||
Controller::error(1);
|
||
$this->session->del('ssMember_id');
|
||
$this->session->set('ssAccount_id', $account_id);
|
||
if (isset($account_id))
|
||
{
|
||
// to do - access control
|
||
if(!$this->acl_check_view('Accounts_Controller', 'transfers', $account_id))
|
||
Controller::Error(1);
|
||
// gets grid settings
|
||
if (is_numeric($this->input->get('record_per_page')))
|
||
$limit_results = (int) $this->input->get('record_per_page');
|
||
// to do - correct allowed order type array
|
||
// allowed order type array
|
||
$allowed_order_type = array('id', 'trans_type', 'name', 'datetime', 'amount', 'text');
|
||
if (!in_array(strtolower($order_by),$allowed_order_type))
|
||
$order_by = 'datetime';
|
||
... | ... | |
if (isset($origin_account))
|
||
{
|
||
$ssMember_id = $this->session->get('ssMember_id');
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'assign_transfers')) Controller::error(1);
|
||
if (!$this->acl_check_new('Accounts_Controller', 'transfers', $ssMember_id))
|
||
Controller::error(1);
|
||
$account_model = new Account_Model();
|
||
$accounts = $account_model->get_some_doubleentry_account_names($origin_account);
|
||
foreach ($accounts as $account)
|
||
... | ... | |
{
|
||
$ssMember_id = $this->session->get('ssMember_id');
|
||
$ssAccount_id = $this->session->get('ssAccount_id');
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'assign_transfers')) Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_edit('Accounts_Controller', 'transfers', $ssMember_id))
|
||
Controller::error(1);
|
||
$transfer = new Transfer_Model($transfer_id);
|
||
$form = new Forge(url_lang::base().'transfers/edit/'.$transfer_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
... | ... | |
*/
|
||
function deduct_fees()
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->acl_check_new(get_class($this),'members')) Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_add('Accounts_Controller', 'transfers'))
|
||
Controller::error(1);
|
||
// content of dropdown for months
|
||
for ($i = 1; $i <= 12; $i++)
|
||
$arr_months[$i] = $i;
|
freenetis/trunk/kohana/application/controllers/wireless_settings.php | ||
---|---|---|
*/
|
||
function add($iface_id = null)
|
||
{
|
||
if (!$this->acl_check_add('Devices_Controller', 'wireless_setting'))
|
||
Controller::error(1);
|
||
if (isset($iface_id))
|
||
{
|
||
// enum types for wireless setting
|
||
... | ... | |
*/
|
||
function edit($iface_id)
|
||
{
|
||
if ($this->acl_check_edit('Devices_Controller', 'wireless_setting'))
|
||
Controller::error(1);
|
||
if (isset($iface_id))
|
||
{
|
||
// wireless settings
|
freenetis/trunk/kohana/application/controllers/translations.php | ||
---|---|---|
function edit($id = NULL)
|
||
{
|
||
// access control
|
||
if (!$this->acl_check_new(get_class($this),'translation'))
|
||
if (!$this->acl_check_edit(get_class($this),'translation'))
|
||
Controller::error(1);
|
||
|
||
if (isset($id))
|
freenetis/trunk/kohana/application/controllers/device_admins.php | ||
---|---|---|
|
||
}
|
||
|
||
//=============================================================================
|
||
//----- ADD -------------------------------------------------------------------
|
||
//=============================================================================
|
||
/**
|
||
* Function adds device admin.
|
||
* @return unknown_type
|
||
*/
|
||
function add()
|
||
{
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
... | ... | |
|
||
$user_model = new User_Model();
|
||
|
||
$device_admin_model = new Device_admin_Model();
|
||
$device_admin_model = new Device_admin_Model();
|
||
|
||
if($ssDevice_id) $admins = $device_admin_model->find_all_by_device_id($ssDevice_id);
|
||
else $admins = array();
|
||
if($ssDevice_id)
|
||
$admins = $device_admin_model->find_all_by_device_id($ssDevice_id);
|
||
else $admins = array();
|
||
|
||
$users = $user_model->find_all();
|
||
$arr_users[0] = '----- '.url_lang::lang('texts.select user').' -----';
|
||
foreach($users as $user) {
|
||
$clause = 1;
|
||
foreach($admins as $admin) if($admin->user->id == $user->id) $clause = 0;
|
||
if($clause == 1) $arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}
|
||
asort($arr_users);
|
||
$users = $user_model->find_all();
|
||
$arr_users[0] = '----- '.url_lang::lang('texts.select user').' -----';
|
||
foreach($users as $user)
|
||
{
|
||
$clause = 1;
|
||
foreach($admins as $admin)
|
||
if($admin->user->id == $user->id)
|
||
$clause = 0;
|
||
if($clause == 1)
|
||
$arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}
|
||
asort($arr_users);
|
||
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required');
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
|
||
// validation
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
... | ... | |
}
|
||
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
if ($ssDevice_id) $link_back = html::anchor(url_lang::base().'devices/show/'.$ssDevice_id, url_lang::lang('texts.Back to device parameters'));
|
||
// else $link_back = html::anchor(url_lang::base().'ifaces/show_all/', url_lang::lang('texts.Back to interfaces list'));
|
||
... | ... | |
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
}
|
||
//----- end ADD ---------------------------------------------------------------
|
||
//=============================================================================
|
||
} // end of add
|
||
|
||
|
||
//=============================================================================
|
||
//----- EDIT ------------------------------------------------------------------
|
||
//=============================================================================
|
||
/**
|
||
* Function edits device admins.
|
||
* @param $device_admin_id
|
||
* @return unknown_type
|
||
*/
|
||
function edit($device_admin_id = null)
|
||
{
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
... | ... | |
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
|
||
|
||
|
||
|
||
/* if ($ssDevice_id)
|
||
{ */
|
||
$device = new Device_Model($device_admin->device_id);
|
||
$form->dropdown('device_id')->label(url_lang::lang('texts.Device name'))->options(array($device->id => $device->name))->rules('required');
|
||
/*}
|
||
|
||
else
|
||
{
|
||
|
||
$device_model = new Device_Model();
|
||
$devices = $device_model->select(array('id','name'))->orderby('name')->find_all();
|
||
$arr_devices[0] = '----- '.url_lang::lang('texts.select device').' -----';
|
||
foreach ($devices as $device) {
|
||
$arr_devices[$device->id] = $device->name;
|
||
}
|
||
$form->dropdown('device_id')->label(url_lang::lang('texts.Device name'))->options($arr_devices)->rules('required')->selected($iface->device_id);
|
||
}
|
||
*/
|
||
$device = new Device_Model($device_admin->device_id);
|
||
$form->dropdown('device_id')->label(url_lang::lang('texts.Device name'))->options(array($device->id => $device->name))->rules('required');
|
||
|
||
$user_model = new User_Model();
|
||
$user_model = new User_Model();
|
||
|
||
$admins = $device_admin->find_all_by_device_id($ssDevice_id);
|
||
$admins = $device_admin->find_all_by_device_id($ssDevice_id);
|
||
|
||
|
||
|
||
$users = $user_model->find_all();
|
||
$arr_users = array();
|
||
foreach($users as $user) {
|
||
$clause = 1;
|
||
foreach($admins as $admin) if($admin->user->id == $user->id) $clause = 0;
|
||
if($user->id == $device_admin->user_id) $clause = 1;
|
||
if($clause == 1) $arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}
|
||
asort($arr_users);
|
||
$users = $user_model->find_all();
|
||
$arr_users = array();
|
||
foreach($users as $user)
|
||
{
|
||
$clause = 1;
|
||
foreach($admins as $admin)
|
||
if($admin->user->id == $user->id)
|
||
$clause = 0;
|
||
if($user->id == $device_admin->user_id)
|
||
$clause = 1;
|
||
if($clause == 1)
|
||
$arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}
|
||
asort($arr_users);
|
||
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required')->selected($device_admin->user_id);
|
||
|
||
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required')->selected($device_admin->user_id);
|
||
$form->submit('submit')->value(url_lang::lang('texts.update'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
// validaiton
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
|
||
$device_admin = new Device_admin_Model($device_admin_id);
|
||
|
||
foreach($form_data as $key => $value)
|
||
{
|
||
$device_admin->$key = htmlspecialchars($value);
|
||
}
|
||
|
||
$device_id = $form_data['device_id'];
|
||
|
||
/*print_r($form_data);
|
||
die();*/
|
||
unset($form_data);
|
||
|
||
if ($device_admin->save()) {
|
||
if ($device_admin->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Device admin has been successfully updated.'));
|
||
url::redirect(url_lang::base().'devices/show/'.$device_id);
|
||
exit;
|
||
}
|
||
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
if ($ssDevice_id) $link_back = html::anchor(url_lang::base().'devices/show/'.$ssDevice_id, url_lang::lang('texts.Back to device parameters'));
|
||
// else $link_back = html::anchor(url_lang::base().'ifaces/show_all/', url_lang::lang('texts.Back to interfaces list'));
|
||
|
||
... | ... | |
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Edit device admin');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = $link_back;
|
||
$view->content->headline = url_lang::lang('texts.Edit device admin');
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
}
|
||
//----- end EDIT --------------------------------------------------------------
|
||
//=============================================================================
|
||
} // end of edit
|
||
|
||
|
||
/**
|
||
* Removes admin association from device.
|
||
* @param $id id of association
|
||
... | ... | |
*/
|
||
function remove($id = null)
|
||
{
|
||
// quimi's version of access control
|
||
// access rights
|
||
//if (!$this->acl_check_new(get_class($this),'translations'))
|
||
// Controller::error(1);
|
||
/*
|
||
if (isset($id))
|
||
{
|
||
$device_admin_model = new Device_admin_Model();
|
||
... | ... | |
{
|
||
Controller::warning(1);
|
||
}
|
||
*/
|
||
}
|
||
|
||
}
|
freenetis/trunk/kohana/application/controllers/bank_transfers.php | ||
---|---|---|
{
|
||
if (isset($bank_account_id))
|
||
{
|
||
// to do - access control
|
||
//if(!$this->acl_check_view('Accounts_Controller', 'bank_transfers', $bank_account_id))
|
||
// Controller::Error(1);
|
||
// access rights
|
||
if(!$this->acl_check_view('Accounts_Controller', 'bank_transfers'))
|
||
Controller::Error(1);
|
||
|
||
if (is_numeric($this->input->get('record_per_page')))
|
||
$limit_results = (int) $this->input->get('record_per_page');
|
||
... | ... | |
*/
|
||
function unidentified_transfers($limit_results = 500, $order_by = 'id', $order_by_direction = 'asc', $page_word = null, $page = 1)
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->acl_check_view(get_class($this), 'unidentified_transfers'))
|
||
// Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_view(get_class($this), 'unidentified_transfers'))
|
||
Controller::error(1);
|
||
|
||
// get new selector
|
||
if (is_numeric($this->input->get('record_per_page')))
|
||
... | ... | |
'url_array_ofset' => 0
|
||
));
|
||
|
||
//$grid->add_new_button(url_lang::base().'accounts/new_transfer/'.$member_id, url_lang::lang('texts.New transfer'));
|
||
$grid->order_field('id')->label('ID');
|
||
$grid->order_field('datetime')->label(url_lang::lang('texts.Date and time'));
|
||
$grid->order_field('account_number')->label(url_lang::lang('texts.Account number'));
|
||
... | ... | |
*/
|
||
function assign_transfer($trans_id = NULL)
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'assign_transfers')) Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_edit('Accounts_Controller', 'unidentified_transfers'))
|
||
Controller::error(1);
|
||
if (isset($trans_id))
|
||
{
|
||
$account_model = new Account_Model();
|
freenetis/trunk/kohana/application/controllers/bank_accounts.php | ||
---|---|---|
*/
|
||
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'ASC', $page_word = null, $page = 1)
|
||
{
|
||
if (!$this->acl_check_view('Accounts_Controller', 'bank_accounts'))
|
||
Controller::error(1);
|
||
// it gets only bank accounts of association
|
||
$bank_account_model = new Bank_account_Model();
|
||
$baa = $bank_account_model->get_assoc_bank_accounts();
|
freenetis/trunk/kohana/application/controllers/accounts.php | ||
---|---|---|
*/
|
||
function show_all($limit_results = 500, $order_by = 'id', $order_by_direction = 'asc', $page_word = null, $page = 1)
|
||
{
|
||
// to do - correct access rights
|
||
//if(!$this->acl_check_view('Accounts_Controller','transfers',$member_id))
|
||
// Controller::Error(1);
|
||
|
||
if(!$this->acl_check_view('Accounts_Controller','accounts'))
|
||
Controller::Error(1);
|
||
$arr_groups[Account_Model::$credit] = url_lang::lang('texts.Credit accounts');
|
||
$arr_groups[Account_Model::$project] = url_lang::lang('texts.Project accounts');
|
||
$arr_groups[Account_Model::$other] = url_lang::lang('texts.Other accounts');
|
||
... | ... | |
'limit_results' => $limit_results,
|
||
'query_string' => $query_string
|
||
));
|
||
// adding account, to do - access rights
|
||
//if ($this->acl_check_new(get_class($this), 'accounts', $member_id))
|
||
// $acc_grid->add_new_button(url_lang::base().'accounts/add_bank_account/'.$member_id, url_lang::lang('texts.Add new bank account'));
|
||
// access rights
|
||
if ($this->acl_check_new('Accounts_Controller', 'accounts', $member_id))
|
||
$acc_grid->add_new_button(url_lang::base().'accounts/add_project_account/'.$member_id, url_lang::lang('texts.Add new project account'));
|
||
$grid->order_field('id')->label('ID');
|
||
$grid->order_field('aname')->label(url_lang::lang('texts.Account name'));
|
||
$grid->order_field('comment')->label(url_lang::lang('texts.Comment'));
|
||
$grid->order_field('balance')->label(url_lang::lang('texts.Balance'));
|
||
$grid->field('mname')->label(url_lang::lang('texts.Member name'));
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Transfers'))->url(url_lang::base().'transfers/show_by_account')->action(url_lang::lang('texts.Show'));
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Account'))->url(url_lang::base().'accounts/edit')->action(url_lang::lang('texts.Edit'));
|
||
if ($this->acl_check_edit('Accounts_Controller', 'accounts'))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Account'))->url(url_lang::base().'accounts/edit')->action(url_lang::lang('texts.Edit'));
|
||
$grid->datasource($accounts);
|
||
|
||
$view = new View('template');
|
||
... | ... | |
$view->render(TRUE);
|
||
}
|
||
|
||
function add($member_id = NULL)
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'add_accounts')) Controller::error(1);
|
||
if (isset($member_id))
|
||
{
|
||
$this->owner_id = $member_id;
|
||
$form = new Forge(url_lang::base().'accounts/add/'.$member_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic information'));
|
||
$form->input('name')->label(url_lang::lang('texts.Name').':')->rules('required|length[3,50]');
|
||
$form->input('start_amount')->label(url_lang::lang('texts.Start amount').':')->value('0');
|
||
$form->dropdown('type')->label(url_lang::lang('texts.Account type').':')->options(array('bank'=>url_lang::lang('texts.Bank account'),'analytic'=>url_lang::lang('texts.Double entry account'),'project'=>url_lang::lang('texts.Project account'),'master'=>url_lang::lang('texts.Master bank account'),'operating'=>url_lang::lang('texts.Operating account'),'infrastructure'=>url_lang::lang('texts.Infrastructure account'),'suppliers'=>url_lang::lang('texts.Suppliers account'),'unidentified'=>url_lang::lang('texts.Unidentified acccount')))->callback(array($this, 'callback_acc_type'));
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Add'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
$account = new Account_Model;
|
||
foreach($form_data as $key => $value)
|
||
{
|
||
$account->$key = htmlspecialchars($value);
|
||
}
|
||
if (trim($form_data['start_amount'])=='') $model_account->start_amount = '0';
|
||
unset($form_data);
|
||
|
||
$account->member_id = $member_id;
|
||
|
||
if ($account->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Account successfully added.'));
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant add new account.'));
|
||
}
|
||
url::redirect(url_lang::base().'accounts/detail/'.(int)$account_data->id);
|
||
}
|
||
else
|
||
{
|
||
$view->form = new View('registration');
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->content = new View('account_add');
|
||
$view->footer = new View('base/footer');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header->title = url_lang::lang('texts.Add new account');
|
||
$view->content->form = $form->html();
|
||
$view->content->member_id = $member_id;
|
||
|
||
$view->render(TRUE);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Controller::warning(1);;
|
||
}
|
||
|
||
} // end of add function
|
||
|
||
/**
|
||
* @author Jiri Svitak
|
||
* Adds new credit account. Available only for admins.
|
||
* @param $member_id
|
||
* @return unknown_type
|
||
*/
|
||
function add_credit_account($member_id = NULL)
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'add_accounts'))
|
||
// Controller::error(1);
|
||
if (isset($member_id))
|
||
{
|
||
$this->owner_id = $member_id;
|
||
$form = new Forge(url_lang::base().'accounts/add_credit_account/'.$member_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Basic information'));
|
||
$form->input('name')->label(url_lang::lang('texts.Name').':')->rules('required|length[3,50]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Add'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
$account = new Account_Model;
|
||
$account->name = htmlspecialchars($form_data['name']);
|
||
$account->comment = htmlspecialchars($form_data['comment']);
|
||
unset($form_data);
|
||
$account->member_id = $member_id;
|
||
if ($account->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Account has been successfully added.'));
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant add new account.'));
|
||
}
|
||
url::redirect(url_lang::base().'members/show/'.$member_id);
|
||
}
|
||
else
|
||
{
|
||
$view->form = new View('registration');
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->content = new View('account_add');
|
||
$view->footer = new View('base/footer');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header->title = url_lang::lang('texts.Add new account');
|
||
$view->content->form = $form->html();
|
||
$view->content->member_id = $member_id;
|
||
$view->render(TRUE);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Controller::warning(1);;
|
||
}
|
||
} // end of add_credit_account function
|
||
|
||
/**
|
||
* @author Jiri Svitak
|
||
* Adds new project account.
|
||
* @param $member_id
|
||
* @return unknown_type
|
||
*/
|
||
function add_project($member_id = NULL)
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'],get_class($this),'add_accounts'))
|
||
// Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_new('Accounts_Controller', 'accounts', $member_id))
|
||
Controller::error(1);
|
||
if (isset($member_id))
|
||
{
|
||
$this->owner_id = $member_id;
|
||
... | ... | |
*/
|
||
function edit($acc_id = NULL)
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_accounts'))
|
||
// Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_edit('Accounts_Controller', 'accounts'))
|
||
Controller::error(1);
|
||
if (isset($acc_id))
|
||
{
|
||
$model_account = new Account_Model($acc_id);
|
||
... | ... | |
*/
|
||
function delete($acc_id = NULL)
|
||
{
|
||
// to do - access rights
|
||
//if (!$this->gacl_class->acl_check('freenetis', 'delete_own', 'all', $_SESSION['username'],get_class($this),'delete_accounts'))
|
||
// Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_delete('Accounts_Controller', 'accounts'))
|
||
Controller::error(1);
|
||
if (isset($acc_id))
|
||
{
|
||
$model_account = new Account_Model($acc_id);
|
freenetis/trunk/kohana/application/controllers/devices.php | ||
---|---|---|
}
|
||
|
||
/**
|
||
* It shows all devices.
|
||
* Function shows all devices.
|
||
* @param $limit_results devices per page
|
||
* @param $order_by sorting column
|
||
* @param $order_by_direction sorting direction
|
||
... | ... | |
$grid->action_field('id')->label(url_lang::lang('texts.Device')) ->url(url_lang::base().'devices/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'devices'))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device')) ->url(url_lang::base().'devices/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// if ($this->acl_check_delete('Devices_Controller', 'devices'))
|
||
//$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
$view = new View('template');
|
||
... | ... | |
}
|
||
else
|
||
{
|
||
|
||
if (!$this->acl_check_view(get_class($this),'devices',$member_id))
|
||
Controller::error(1);
|
||
|
||
$device_model = new Device_Model;
|
||
$member = new Member_Model($member_id);
|
||
|
||
... | ... | |
|
||
));
|
||
|
||
if ($this->acl_check_new(get_class($this),'devices',$member_id))
|
||
$grid->add_new_button(url_lang::base().'devices/add_whole', url_lang::lang('texts.Add new whole device'));
|
||
if ($this->acl_check_new(get_class($this),'devices',$member_id))
|
||
$grid->add_new_button(url_lang::base().'devices/add', url_lang::lang('texts.Add new device'));
|
||
$grid->add_new_button(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
|
||
$grid->order_field('id')->label('ID')->class('center');
|
||
$grid->order_field('name')->label(url_lang::lang('texts.Name'));
|
||
$grid->order_field('type')->label(url_lang::lang('texts.Type'));
|
||
$grid->order_field('u_name')->label(url_lang::lang('texts.User'));
|
||
$grid->order_field('mac')->label(url_lang::lang('texts.MAC address'));
|
||
$grid->order_field('segment_name')->label(url_lang::lang('texts.Segment'));
|
||
$grid->order_field('ip_address')->label(url_lang::lang('texts.IP address'));
|
||
if ($this->acl_check_view(get_class($this),'devices',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'devices',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// to do - access control to delete
|
||
// $grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'devices/delete')->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource($query);
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->content = $grid;
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
|
||
if ($this->acl_check_new(get_class($this),'devices',$member_id))
|
||
$grid->add_new_button(url_lang::base().'devices/add_whole', url_lang::lang('texts.Add new whole device'));
|
||
if ($this->acl_check_new(get_class($this),'devices',$member_id))
|
||
$grid->add_new_button(url_lang::base().'devices/add', url_lang::lang('texts.Add new device'));
|
||
$grid->add_new_button(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
|
||
$grid->order_field('id')->label('ID')->class('center');
|
||
$grid->order_field('name')->label(url_lang::lang('texts.Name'));
|
||
$grid->order_field('type')->label(url_lang::lang('texts.Type'));
|
||
$grid->order_field('u_name')->label(url_lang::lang('texts.User'));
|
||
$grid->order_field('mac')->label(url_lang::lang('texts.MAC address'));
|
||
$grid->order_field('segment_name')->label(url_lang::lang('texts.Segment'));
|
||
$grid->order_field('ip_address')->label(url_lang::lang('texts.IP address'));
|
||
if ($this->acl_check_view(get_class($this),'devices',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'devices',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// if ($this->acl_check_delete('Devices_Controller', 'devices', $member_id))
|
||
// $grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'devices/delete')->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource($query);
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->content = $grid;
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
} // end of show_by_member
|
||
|
||
|
||
//=============================================================================
|
||
//----- SHOW ------------------------------------------------------------------
|
||
//=============================================================================
|
||
/**
|
||
* Function shows device.
|
||
* @param $device_id
|
||
* @return unknown_type
|
||
*/
|
||
function show($device_id = null)
|
||
{
|
||
$device = new Device_Model($device_id);
|
||
... | ... | |
|
||
$member_id = $device->user->member_id;
|
||
|
||
if (!$this->acl_check_view(get_class($this),'devices',$member_id)) Controller::error(1);
|
||
if (!$this->acl_check_view(get_class($this),'devices',$member_id))
|
||
Controller::error(1);
|
||
|
||
|
||
$ssMember_id = $this->session->get('ssMember_id');
|
||
|
||
$enum_type_model = new Enum_type_Model();
|
||
|
||
$device_type = $enum_type_model->get_value($device->type);
|
||
|
||
$this->session->set('ssDevice_id',$device->id);
|
||
|
||
$user_model = new User_Model;
|
||
... | ... | |
$i = 0;
|
||
$ip_iface = '';
|
||
$arr_ip = array();
|
||
foreach ($ifaces as $iface) {
|
||
foreach ($ifaces as $iface)
|
||
{
|
||
$ip_iface = $ip_model->find_all_by_iface_id($iface->id);
|
||
|
||
|
||
//$model->find_all_by_master_id($master)
|
||
|
||
foreach ($ip_iface as $ip) {
|
||
foreach ($ip_iface as $ip)
|
||
{
|
||
$arr_ip[$i]['iface_id'] = $iface->id;
|
||
$arr_ip[$i]['ip_address'] = $ip->IP_address;
|
||
|
||
$subnet = $subnet_model->find_by_id($ip->subnet_id);
|
||
//print_r($subnet);
|
||
$arr_ip[$i]['name'] = $subnet->name;
|
||
$arr_ip[$i]['network_address'] = $subnet->network_address;
|
||
$arr_ip[$i]['netmask'] = $subnet->netmask;
|
||
... | ... | |
}
|
||
}
|
||
|
||
// shows device engineers
|
||
// device engineers
|
||
$device_engineer_model = new Device_engineer_Model();
|
||
$query = $device_engineer_model->select(array('device_engineers.id as id', 'users.id as user_id', 'users.name', 'users.surname', 'users.login'))
|
||
->join('users', 'users.id = device_engineers.user_id')->orderby('id', 'ASC')->find_all_by_device_id($device_id);
|
||
... | ... | |
$grid_device_engineers = $grid;
|
||
unset($grid);
|
||
|
||
// shows device admins
|
||
// device admins
|
||
$device_admin_model = new Device_admin_Model();
|
||
$query = $device_admin_model->select(array('device_admins.id as id', 'users.id as user_id', 'users.name', 'users.surname', 'users.login'))
|
||
->join('users','users.id = device_admins.user_id')
|
||
... | ... | |
$grid->field('name')->label(url_lang::lang('texts.name'));
|
||
$grid->field('surname')->label(url_lang::lang('texts.surname'));
|
||
$grid->field('login')->label(url_lang::lang('texts.username'));
|
||
// inappropriate operations in this case, admins should be only added or removed from device
|
||
/*
|
||
if ($this->acl_check_view(get_class($this),'admin',$member_id))
|
||
$grid->action_field('user_id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'users/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'admin',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'device_admins/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
*/
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Remove')) ->url(url_lang::base().'device_admins/remove')->action(url_lang::lang('texts.Remove'))->class('center');
|
||
$grid->datasource($query);
|
||
$grid_device_admins = $grid;
|
||
unset($grid);
|
||
|
||
//----------- list of INTERFACES ---------------
|
||
// interfaces of device
|
||
$iface_model = new Iface_Model();
|
||
//$query = $iface_model->find_all_by_device_id($device_id);
|
||
$query = $iface_model->select(array('devices.name as device_name', 'segments.name as segment_name', 'ifaces.*'))
|
||
->join('devices', 'devices.id = ifaces.device_id')
|
||
->join('segments', 'segments.id = ifaces.segment_id', NULL, 'LEFT')
|
||
->orderby('id','ASC')
|
||
->find_all_by_device_id($device_id);
|
||
|
||
|
||
//$query = $device_model->get_all_devices($sql_offset, (int)$limit_results, $order_by, $order_by_direction);
|
||
|
||
$grid = new Grid(url_lang::base().'devices', null,array(
|
||
'use_paginator' => false,
|
||
'use_selector' => false
|
||
... | ... | |
$grid->action_field('id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'ifaces/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'iface',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'ifaces/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// to do - access control
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'ifaces/delete') ->action(url_lang::lang('texts.Delete'))->class('center');;
|
||
//if ($this->acl_check_delete('Devices_Controller', 'iface', $member_id))
|
||
// $grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'ifaces/delete') ->action(url_lang::lang('texts.Delete'))->class('center');;
|
||
$grid->datasource($query);
|
||
$grid_ifaces = $grid;
|
||
unset($grid);
|
||
|
||
//----------- list of PORTS ---------------
|
||
// ports of device
|
||
$port_model = new Port_Model();
|
||
//$query = $iface_model->select(array('devices.name as device_name', 'segments.name as segment_name', 'ifaces.*'))->join('devices', 'devices.id = ifaces.device_id')->join('segments', 'segments.id = ifaces.segment_id')->orderby($order_by,$order_by_direction)->find_all_by_device_id($device_id);
|
||
//$query = $port_model->select(array('segments.name as segment_name', 'ports.*'))->join('segments', 'segments.id = ports.segment_id')->orderby('id','ASC')->find_all_by_device_id($device_id);
|
||
$query = $port_model->get_ports_of_device($device_id);
|
||
$grid = new Grid(url_lang::base().'devices', null,array(
|
||
'use_paginator' => false,
|
||
... | ... | |
if ($this->acl_check_view(get_class($this),'port',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'ports/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'port',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'ports/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'ports/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
//if($this->acl_check_delete('Devices_Controller', 'port', $member_id))
|
||
//$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
$grid_ports = $grid;
|
||
... | ... | |
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
|
||
$view->content = new View('show_device');
|
||
//$view->content->submenu = $submenu;
|
||
$view->content->headline = url_lang::lang('texts.Device detail').' - '.$device->name;
|
||
$view->content->device = $device;
|
||
$view->content->device_type = $device_type;
|
||
|
||
// to do - will be solved by autonomous table
|
||
//$view->content->engineers = $arr_engineers;
|
||
|
||
$view->content->count_iface = $iface_model->count_ifaces_of_device($device->id);
|
||
$view->content->ifaces = $ifaces;
|
||
$view->content->ip_iface = $ip_iface;
|
||
... | ... | |
$view->content->table_device_admins = $grid_device_admins;
|
||
$view->content->table_ifaces = $grid_ifaces;
|
||
$view->content->table_ports = $grid_ports;
|
||
|
||
if($ssMember_id)
|
||
{
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_by_member/'.$ssMember_id, url_lang::lang('texts.Back to devices list of the member'));
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_by_member/'.$ssMember_id, url_lang::lang('texts.Back to devices list of the member'));
|
||
}
|
||
else
|
||
{
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_all/', url_lang::lang('texts.Back to devices list'));
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_all/', url_lang::lang('texts.Back to devices list'));
|
||
}
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Device detail').' - '.$device->name;
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
}
|
||
//----- end SHOW --------------------------------------------------------------
|
||
//=============================================================================
|
||
} // end of show
|
||
|
||
|
||
//=============================================================================
|
||
//----- ADD -------------------------------------------------------------------
|
||
//=============================================================================
|
||
/**
|
||
* Function adds new device only.
|
||
* @return unknown_type
|
||
*/
|
||
function add()
|
||
{
|
||
$ssMember_id = $this->session->get('ssMember_id');
|
||
|
||
if (!$this->acl_check_new(get_class($this),'devices',$ssMember_id)) Controller::error(1);
|
||
if (!$this->acl_check_new(get_class($this),'devices',$ssMember_id))
|
||
Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base()."devices/add", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
... | ... | |
$form_data = $form->as_array();
|
||
|
||
$device_model = new Device_Model();
|
||
|
||
|
||
//foreach($form_data as $key => $value)
|
||
//{
|
||
// $device_model->$key = htmlspecialchars($value);
|
||
//}
|
||
|
||
$engineers_data[] = $form_data["first_engineer_id"];
|
||
if($form_data["second_engineer_id"]>0) $engineers_data[] = $form_data["second_engineer_id"];
|
||
... | ... | |
$device_model->user_id = htmlspecialchars($form_data["user_id"]);
|
||
$device_model->name = htmlspecialchars($form_data["name"]);
|
||
$device_model->type = htmlspecialchars($form_data["type"]);
|
||
// $device_model->description = htmlspecialchars($form_data["description"]);
|
||
$device_model->PPPoE_logging_in = htmlspecialchars($form_data["PPPoE_logging_in"]);
|
||
$device_model->login = htmlspecialchars($form_data["login"]);
|
||
$device_model->password = htmlspecialchars($form_data["password"]);
|
||
... | ... | |
}
|
||
|
||
unset($form_data);
|
||
//$device_model->save()
|
||
if ($device_saved && $device_engineer_saved) {
|
||
if ($device_saved && $device_engineer_saved)
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Device has been successfully saved.'));
|
||
//url::redirect(url_lang::base().'devices/show_all');
|
||
url::redirect(url_lang::base().'devices/show/'.$device_model->id);
|
||
exit;
|
||
}
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
if($ssMember_id)
|
||
... | ... | |
$view->header->title = url_lang::lang('texts.Add new device');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
}
|
||
//----- end ADD ---------------------------------------------------------------
|
||
//=============================================================================
|
||
} // end of add
|
||
|
||
|
||
//=============================================================================
|
||
//----- EDIT ------------------------------------------------------------------
|
||
//=============================================================================
|
||
/**
|
||
* Function edits device.
|
||
* @param $device_id
|
||
* @return unknown_type
|
||
*/
|
||
function edit($device_id = null)
|
||
{
|
||
$device = new Device_Model($device_id);
|
||
... | ... | |
}
|
||
asort($arr_users);
|
||
|
||
// creates list of engineers; to do - will be solved by new table of device engineers
|
||
/*
|
||
$engineers = $model_user->select('id','name','surname','login')->orderby('id')->find_all();
|
||
$arr_engineers[0] = '----- '.url_lang::lang('texts.select user').' -----';
|
||
foreach ($engineers as $engineer) {
|
||
$arr_engineers[$engineer->id] = $engineer->surname.' '.$engineer->name.' - '.$engineer->login;
|
||
}
|
||
asort($arr_engineers);
|
||
*/
|
||
|
||
$enum_type_model = new Enum_type_Model();
|
||
$types = $enum_type_model->get_values(Enum_type_Model::$device_type_id);
|
||
|
||
... | ... | |
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]')->value($device->location_address);
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]')->value($device->location_details);
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]')->value($device->comment);
|
||
// creates dropdowns for editing engineers; to do - will be solved by new table of device engineers
|
||
/*
|
||
$form->dropdown('first_engineer_id')->label(url_lang::lang('texts.engineer').' 1:')->options($arr_engineers)->rules('required')->selected($this->session->get('user_id'));
|
||
$form->dropdown('second_engineer_id')->label(url_lang::lang('texts.engineer').' 2:')->options($arr_engineers);
|
||
*/
|
||
$form->submit('submit')->value(url_lang::lang('texts.update'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
// validation
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
... | ... | |
}
|
||
$device_model_saved = $device_model->save();
|
||
|
||
// saves device engineers; to do - will be solved by new table of device engineers
|
||
/*
|
||
$engineers_data[] = $form_data["first_engineer_id"];
|
||
if($form_data["second_engineer_id"] > 0)
|
||
$engineers_data[] = $form_data["second_engineer_id"];
|
||
foreach($engineers_data as $engineer_data)
|
||
{
|
||
$device_engineer_model = new Device_engineer_Model();
|
||
$device_engineer_model->device_id = $device_model->id;
|
||
$device_engineer_model->user_id = $engineer_data;
|
||
$device_engineer_saved = $device_engineer_model->save();
|
||
}
|
||
*/
|
||
unset($form_data);
|
||
|
||
if ($device_model_saved )//&& $device_engineer_saved)
|
||
if ($device_model_saved )
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Device has been successfully updated.'));
|
||
url::redirect(url_lang::base().'devices/show/'.$device_model->id);
|
||
... | ... | |
} // end of validation
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_all/', url_lang::lang('texts.Back to devices list'));
|
||
... | ... | |
{
|
||
// gets member id from current session
|
||
$ssMember_id = $this->session->get('ssMember_id');
|
||
|
||
if (!$this->acl_check_new(get_class($this),'devices',$ssMember_id)) Controller::error(1);
|
||
// access rights
|
||
if (!$this->acl_check_new(get_class($this),'devices',$ssMember_id))
|
||
Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base()."devices/add_whole", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
... | ... | |
} // end of function add_whole
|
||
|
||
/**
|
||
* Checks validity of ip address.
|
||
* Function checks validity of ip address.
|
||
* @param $input ip address to validate
|
||
* @return unknown_type
|
||
*/
|
||
... | ... | |
}
|
||
|
||
/**
|
||
* Checks ip address if matches subnet and mask.
|
||
* Function checks ip address if matches subnet and mask.
|
||
* @param $ip
|
||
* @param $net
|
||
* @param $mask
|
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql_358.php | ||
---|---|---|
(38, 'Members_Controller', 'organization_id');"
|
||
);
|
||
|
||
?>
|
||
?>
|
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql_359.php | ||
---|---|---|
<?php
|
||
|
||
$upgrade_sql[359] = array(
|
||
"INSERT INTO `acl` (`id`, `section_value`, `allow`, `enabled`, `return_value`, `note`, `updated_date`) VALUES
|
||
(64, 'user', 1, 1, '', 'Radni clenove si mohou vytvaret, editovat a mazat sve prace.', 1248160179);",
|
||
|
||
"INSERT INTO `aco` (`id`, `section_value`, `value`, `order_value`, `name`, `hidden`) VALUES
|
||
(36, 'menu', 'my_works', 1, 'My works', 0);",
|
||
|
||
"INSERT INTO `aco_map` (`acl_id`, `section_value`, `value`) VALUES
|
||
(34, 'menu', 'my_works'),
|
||
(64, 'freenetis', 'delete_own'),
|
||
(64, 'freenetis', 'edit_own'),
|
||
(64, 'freenetis', 'new_own'),
|
||
(64, 'freenetis', 'view_own');",
|
||
|
||
"UPDATE `acl_seq` SET `id` = '64' WHERE `acl_seq`.`id` = 63 LIMIT 1;",
|
||
|
Také k dispozici: Unified diff
Pridana prava na vsechny veci s platbama (asi vsechny). Smazane nejake stare soubory.