Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 2061

Přidáno uživatelem David Raška před asi 11 roky(ů)

Nove:
- Ukladani vybraneho seskupovani u monitoringu do uzivatelskych nastaveni

Zobrazit rozdíly:

freenetis/branches/1.1/application/controllers/monitoring.php
* @param type $priority
* @param string $group_by
*/
public function show_all($priority = 1, $group_by = 'all')
public function show_all($priority = 1, $group_by = '')
{
// access control
if (!Settings::get('monitoring_enabled') ||
......
'address_point_id' => __('Address point')
);
$user_model = new User_Model($this->user_id);
$group_by_setting = $user_model->get_user_setting(User_Model::SETTINGS_MONITORING_ORDER_BY);
// empty value in users settings
if (!empty($group_by_setting))
{
// use database settings
if (empty($group_by))
{
$group_by = $group_by_setting;
}
// update database settings
else
{
$user_model->set_user_setting(User_Model::SETTINGS_MONITORING_ORDER_BY, $group_by);
}
}
// empty value in users settings
else
{
$group_by = 'all';
$user_model->set_user_setting(User_Model::SETTINGS_MONITORING_ORDER_BY, $group_by);
}
$form->dropdown('group_by')
->options($group_by_options_values)
->selected($group_by);
freenetis/branches/1.1/application/models/user.php
* @property integer $type
* @property string $comment
* @property string $application_password
* @property string $settings
* @property ORM_Iterator $jobs
* @property ORM_Iterator $devices
* @property ORM_Iterator $logs
......
'member_name' => 'm.name',
'email' => 'c.value'
);
/** User settings constants */
const SETTINGS_MONITORING_ORDER_BY = 'monitoring_group_by';
/**
* Returns all users
......
$this->get_full_name();
}
/**
* Get user settings
*
* @param string $key Key
* @return mixed Value
*/
public function get_user_setting($key)
{
$json_settings = $this->settings;
// return empty value on no settings
if (empty($json_settings))
{
return '';
}
// decode json
$settings = json_decode($json_settings, TRUE);
// return empty value on no settings
if (empty($settings))
{
return '';
}
// return value
else if (isset($settings[$key]))
{
return $settings[$key];
}
// no value found
else
{
return '';
}
}
/**
* Sets user settings
*
* @param string $key Key
* @param mixed $value Value
*/
public function set_user_setting($key, $value)
{
try
{
$this->transaction_start();
$json_settings = $this->settings;
// decode json
$settings = json_decode($json_settings, TRUE);
// add new settings
$settings[$key] = $value;
// encode settings to json
$json_settings = json_encode($settings);
$this->settings = $json_settings;
// save
$this->save_throwable();
$this->transaction_commit();
}
catch (Exception $e)
{
$this->transaction_rollback();
}
}
}

Také k dispozici: Unified diff