issue #53: adding user selection to server edit page
parent
cdfe3c85d2
commit
8e60e9cb3a
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Имейл',
|
'send_email' => 'Имейл',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'SMS',
|
'send_sms' => 'SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Изтриване на сървър',
|
'delete_title' => 'Изтриване на сървър',
|
||||||
'delete_message' => 'Сигурни ли сте, че искате да изтриете сървър \'%1\'?',
|
'delete_message' => 'Сигурни ли сте, че искате да изтриете сървър \'%1\'?',
|
||||||
'deleted' => 'Сървъра е изтрит успешно.',
|
'deleted' => 'Сървъра е изтрит успешно.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Send Email',
|
'send_email' => 'Send Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Send SMS',
|
'send_sms' => 'Send SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Slet server',
|
'delete_title' => 'Slet server',
|
||||||
'delete_message' => 'Er du sikker på du vil slette server \'%1\'?',
|
'delete_message' => 'Er du sikker på du vil slette server \'%1\'?',
|
||||||
'deleted' => 'Server slettet.',
|
'deleted' => 'Server slettet.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Email',
|
'send_email' => 'Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'SMS',
|
'send_sms' => 'SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -127,7 +127,8 @@ $sm_lang = array(
|
||||||
'send_email' => 'Send Email',
|
'send_email' => 'Send Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Send SMS',
|
'send_sms' => 'Send SMS',
|
||||||
'delete_title' => 'Delete Server',
|
'users' => 'Users',
|
||||||
|
'delete_title' => 'Delete server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
'updated' => 'Server updated.',
|
'updated' => 'Server updated.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Email',
|
'send_email' => 'Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'SMS',
|
'send_sms' => 'SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Envoyer un email',
|
'send_email' => 'Envoyer un email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Envoyer un SMS',
|
'send_sms' => 'Envoyer un SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Supprimer un serveur',
|
'delete_title' => 'Supprimer un serveur',
|
||||||
'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?',
|
'delete_message' => 'Êtes-vous sûr de vouloir supprimer le serveur \'%1\' ?',
|
||||||
'deleted' => 'Serveur supprimé.',
|
'deleted' => 'Serveur supprimé.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Invia Email',
|
'send_email' => 'Invia Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Invia SMS',
|
'send_sms' => 'Invia SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => '메일 전송',
|
'send_email' => '메일 전송',
|
||||||
'sms' => 'SMS 전송',
|
'sms' => 'SMS 전송',
|
||||||
'send_sms' => 'SMS 전송',
|
'send_sms' => 'SMS 전송',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Stuur email',
|
'send_email' => 'Stuur email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Stuur SMS',
|
'send_sms' => 'Stuur SMS',
|
||||||
|
'users' => 'Gebruikers',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Enviar Email',
|
'send_email' => 'Enviar Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Enviar SMS',
|
'send_sms' => 'Enviar SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => 'Отправить Email',
|
'send_email' => 'Отправить Email',
|
||||||
'sms' => 'SMS',
|
'sms' => 'SMS',
|
||||||
'send_sms' => 'Отправить SMS',
|
'send_sms' => 'Отправить SMS',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Удалить сервер',
|
'delete_title' => 'Удалить сервер',
|
||||||
'delete_message' => 'Вы точно хотите удалить сервер \'%1\'?',
|
'delete_message' => 'Вы точно хотите удалить сервер \'%1\'?',
|
||||||
'deleted' => 'Сервер удален.',
|
'deleted' => 'Сервер удален.',
|
||||||
|
|
|
@ -127,6 +127,7 @@ $sm_lang = array(
|
||||||
'send_email' => '发送邮件',
|
'send_email' => '发送邮件',
|
||||||
'sms' => '短信',
|
'sms' => '短信',
|
||||||
'send_sms' => '发送短信',
|
'send_sms' => '发送短信',
|
||||||
|
'users' => 'Users',
|
||||||
'delete_title' => 'Delete Server',
|
'delete_title' => 'Delete Server',
|
||||||
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
'delete_message' => 'Are you sure you want to delete server \'%1\'?',
|
||||||
'deleted' => 'Server deleted.',
|
'deleted' => 'Server deleted.',
|
||||||
|
|
|
@ -160,6 +160,8 @@ class ServerController extends AbstractServerController {
|
||||||
$tpl_data['url_go_back'] = psm_build_url(array('mod' => 'server'));
|
$tpl_data['url_go_back'] = psm_build_url(array('mod' => 'server'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$users = $this->db->select(PSM_DB_PREFIX.'users', null, array('user_id', 'name'), '', 'name');
|
||||||
|
|
||||||
switch($this->server_id) {
|
switch($this->server_id) {
|
||||||
case 0:
|
case 0:
|
||||||
// insert mode
|
// insert mode
|
||||||
|
@ -178,27 +180,37 @@ class ServerController extends AbstractServerController {
|
||||||
}
|
}
|
||||||
$tpl_data['titlemode'] = psm_get_lang('system', 'edit') . ' ' . $edit_server['label'];
|
$tpl_data['titlemode'] = psm_get_lang('system', 'edit') . ' ' . $edit_server['label'];
|
||||||
|
|
||||||
|
$user_idc_selected = $this->getServerUsers($this->server_id);
|
||||||
|
foreach($users as &$user) {
|
||||||
|
if(in_array($user['user_id'], $user_idc_selected)) {
|
||||||
|
$user['edit_checked'] = 'checked="checked"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// attempt to prefill previously posted fields
|
$this->tpl->addTemplateDataRepeat($this->getTemplateId(), 'users', $users);
|
||||||
foreach($edit_server as $key => $value) {
|
|
||||||
$edit_server[$key] = psm_POST($key, $value);
|
|
||||||
}
|
|
||||||
|
|
||||||
$tpl_data = array_merge($tpl_data, array(
|
if(!empty($edit_server)) {
|
||||||
'edit_value_label' => $edit_server['label'],
|
// attempt to prefill previously posted fields
|
||||||
'edit_value_ip' => $edit_server['ip'],
|
foreach($edit_server as $key => $value) {
|
||||||
'edit_value_port' => $edit_server['port'],
|
$edit_server[$key] = psm_POST($key, $value);
|
||||||
'edit_value_timeout' => $edit_server['timeout'],
|
}
|
||||||
'default_value_timeout' => PSM_CURL_TIMEOUT,
|
|
||||||
'edit_value_pattern' => $edit_server['pattern'],
|
$tpl_data = array_merge($tpl_data, array(
|
||||||
'edit_value_warning_threshold' => $edit_server['warning_threshold'],
|
'edit_value_label' => $edit_server['label'],
|
||||||
'edit_type_selected_' . $edit_server['type'] => 'selected="selected"',
|
'edit_value_ip' => $edit_server['ip'],
|
||||||
'edit_active_selected_' . $edit_server['active'] => 'selected="selected"',
|
'edit_value_port' => $edit_server['port'],
|
||||||
'edit_email_selected_' . $edit_server['email'] => 'selected="selected"',
|
'edit_value_timeout' => $edit_server['timeout'],
|
||||||
'edit_sms_selected_' . $edit_server['sms'] => 'selected="selected"',
|
'default_value_timeout' => PSM_CURL_TIMEOUT,
|
||||||
));
|
'edit_value_pattern' => $edit_server['pattern'],
|
||||||
|
'edit_value_warning_threshold' => $edit_server['warning_threshold'],
|
||||||
|
'edit_type_selected_' . $edit_server['type'] => 'selected="selected"',
|
||||||
|
'edit_active_selected_' . $edit_server['active'] => 'selected="selected"',
|
||||||
|
'edit_email_selected_' . $edit_server['email'] => 'selected="selected"',
|
||||||
|
'edit_sms_selected_' . $edit_server['sms'] => 'selected="selected"',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
$this->tpl->addTemplateData(
|
$this->tpl->addTemplateData(
|
||||||
$this->getTemplateId(),
|
$this->getTemplateId(),
|
||||||
|
@ -264,6 +276,22 @@ class ServerController extends AbstractServerController {
|
||||||
$this->addMessage(psm_get_lang('servers', 'inserted'), 'success');
|
$this->addMessage(psm_get_lang('servers', 'inserted'), 'success');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update users
|
||||||
|
$user_idc = psm_POST('user_id', array());
|
||||||
|
$user_idc_save = array();
|
||||||
|
|
||||||
|
foreach($user_idc as $user_id) {
|
||||||
|
$user_idc_save[] = array(
|
||||||
|
'user_id' => intval($user_id),
|
||||||
|
'server_id' => intval($this->server_id),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$this->db->delete(PSM_DB_PREFIX.'users_servers', array('server_id' => $this->server_id));
|
||||||
|
if(!empty($user_idc_save)) {
|
||||||
|
// add all new users
|
||||||
|
$this->db->insertMultiple(PSM_DB_PREFIX.'users_servers', $user_idc_save);
|
||||||
|
}
|
||||||
|
|
||||||
$back_to = isset($_GET['back_to']) ? $_GET['back_to'] : 'index';
|
$back_to = isset($_GET['back_to']) ? $_GET['back_to'] : 'index';
|
||||||
if($back_to == 'view') {
|
if($back_to == 'view') {
|
||||||
$this->initializeAction('view');
|
$this->initializeAction('view');
|
||||||
|
@ -382,6 +410,7 @@ class ServerController extends AbstractServerController {
|
||||||
'label_send_email' => psm_get_lang('servers', 'send_email'),
|
'label_send_email' => psm_get_lang('servers', 'send_email'),
|
||||||
'label_sms' => psm_get_lang('servers', 'sms'),
|
'label_sms' => psm_get_lang('servers', 'sms'),
|
||||||
'label_send_sms' => psm_get_lang('servers', 'send_sms'),
|
'label_send_sms' => psm_get_lang('servers', 'send_sms'),
|
||||||
|
'label_users' => psm_get_lang('servers', 'users'),
|
||||||
'label_warning_threshold' => psm_get_lang('servers', 'warning_threshold'),
|
'label_warning_threshold' => psm_get_lang('servers', 'warning_threshold'),
|
||||||
'label_warning_threshold_description' => psm_get_lang('servers', 'warning_threshold_description'),
|
'label_warning_threshold_description' => psm_get_lang('servers', 'warning_threshold_description'),
|
||||||
'label_action' => psm_get_lang('system', 'action'),
|
'label_action' => psm_get_lang('system', 'action'),
|
||||||
|
@ -397,4 +426,22 @@ class ServerController extends AbstractServerController {
|
||||||
|
|
||||||
return parent::createHTMLLabels();
|
return parent::createHTMLLabels();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all user ids for a server
|
||||||
|
* @param int $server_id
|
||||||
|
* @return array with ids only
|
||||||
|
*/
|
||||||
|
protected function getServerUsers($server_id) {
|
||||||
|
$users = $this->db->select(
|
||||||
|
PSM_DB_PREFIX.'users_servers',
|
||||||
|
array('server_id' => $server_id),
|
||||||
|
array('user_id')
|
||||||
|
);
|
||||||
|
$result = array();
|
||||||
|
foreach($users as $user) {
|
||||||
|
$result[] = $user['user_id'];
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,6 +152,21 @@
|
||||||
<input class="input-mini" type="text" id="timeout" name="timeout" value="{edit_value_timeout}" placeholder="{default_value_timeout}" maxlength="10" data-toggle="tooltip" title="{label_timeout_description}" /> s
|
<input class="input-mini" type="text" id="timeout" name="timeout" value="{edit_value_timeout}" placeholder="{default_value_timeout}" maxlength="10" data-toggle="tooltip" title="{label_timeout_description}" /> s
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<label class="control-label" for="users[]">{label_users}</label>
|
||||||
|
<div class="controls">
|
||||||
|
<!--%tpl_repeat_users-->
|
||||||
|
<label class="checkbox">
|
||||||
|
<input id="user{user_id}"
|
||||||
|
type="checkbox"
|
||||||
|
name='user_id[]'
|
||||||
|
value='{user_id}' {edit_checked} >
|
||||||
|
{name}
|
||||||
|
</label>
|
||||||
|
<!--%%tpl_repeat_users-->
|
||||||
|
{users}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
<button class="btn btn-success" type="submit">{label_save}</button>
|
<button class="btn btn-success" type="submit">{label_save}</button>
|
||||||
<a class="btn" href="{url_go_back}" >{label_go_back}</a>
|
<a class="btn" href="{url_go_back}" >{label_go_back}</a>
|
||||||
|
|
Loading…
Reference in New Issue