diff --git a/admin/survey/SurveyAdminSettings.php b/admin/survey/SurveyAdminSettings.php
index d253ac0a0..16b137524 100644
--- a/admin/survey/SurveyAdminSettings.php
+++ b/admin/survey/SurveyAdminSettings.php
@@ -8353,6 +8353,7 @@ class SurveyAdminSettings {
echo '
' . $lang['srv_survey_list_users_aai'] . ' | ';
echo '' . $lang['srv_survey_list_users_survey_count'] . ' | ';
echo '' . $lang['srv_survey_list_users_survey_archive_count'] . ' | ';
+ echo '' . $lang['srv_manager_count'] . ' | ';
echo '' . $lang['users_gdpr_title'] . ' | ';
echo '' . $lang['srv_survey_list_users_registred'] . ' | ';
echo '' . $lang['srv_survey_list_users_last_login'] . ' | ';
diff --git a/admin/survey/classes/class.Dostop.php b/admin/survey/classes/class.Dostop.php
index 52d315c28..75f7a66e2 100644
--- a/admin/survey/classes/class.Dostop.php
+++ b/admin/survey/classes/class.Dostop.php
@@ -193,61 +193,69 @@ class Dostop {
return FALSE;
}
- function ajax()
- {
+ function ajax(){
if ($_GET['a'] == 'manager_add_user') {
$this->ajax_manager_add_user();
-
- } elseif($_GET['a'] == 'add_new_user'){
+ }
+ elseif($_GET['a'] == 'add_new_user'){
$this->ajax_add_new_user();
-
- } elseif ($_GET['a'] == 'anketa_user_dostop') {
+ }
+ elseif ($_GET['a'] == 'anketa_user_dostop') {
$this->ajax_anketa_user_dostop();
-
- } elseif ($_GET['a'] == 'anketa_user_dostop_save') {
+ }
+ elseif ($_GET['a'] == 'anketa_user_dostop_save') {
$this->ajax_anketa_user_dostop_save();
-
- } elseif ($_GET['a'] == 'edit_user') {
+ }
+ elseif ($_GET['a'] == 'edit_user') {
$this->ajax_edit_user();
-
- } elseif ($_GET['a'] == 'edit_user_save') {
+ }
+ elseif ($_GET['a'] == 'edit_user_save') {
$this->ajax_edit_user_save();
-
- } elseif ($_GET['a'] == 'admin_add_user') {
+ }
+ elseif ($_GET['a'] == 'admin_add_user') {
$this->ajax_admin_add_user();
-
- } elseif($_GET['a'] == 'find_user'){
+ }
+ elseif ($_GET['a'] == 'admin_add_user_popup') {
+ $this->ajax_admin_add_user_popup();
+ }
+ elseif($_GET['a'] == 'find_user'){
$this->ajax_find_user();
-
- } elseif ($_GET['a'] == 'edit_remove_user') {
+ }
+ elseif ($_GET['a'] == 'edit_remove_user') {
$this->ajax_edit_remove_user();
-
- } elseif ($_GET['a'] == 'edit_remove_user_manager') {
+ }
+ elseif ($_GET['a'] == 'edit_remove_user_manager') {
$this->ajax_edit_remove_user_manager();
-
- } elseif ($_GET['a'] == 'all_users_list') {
- if ($_GET['m'] == 'delete') {
+ }
+ elseif ($_GET['a'] == 'edit_remove_user_admin') {
+ $this->ajax_edit_remove_user_admin();
+ }
+ elseif ($_GET['a'] == 'all_users_list') {
+
+ if ($_GET['m'] == 'delete') {
$this->ajax_all_users_list_delete();
}
+
if ($_GET['m'] == 'ban') {
$this->ajax_all_users_list_ban();
}
else {
$this->ajax_all_users_list();
}
-
- } elseif($_GET['a'] == 'my_users_list'){
+ }
+ elseif($_GET['a'] == 'my_users_list'){
$this->ajax_all_users_list_my();
-
- } elseif ($_GET['a'] == 'delete_users_list') {
+ }
+ elseif ($_GET['a'] == 'delete_users_list') {
$this->ajax_delete_users_list();
-
- } elseif ($_GET['a'] == 'unsigned_users_list') {
+ }
+ elseif ($_GET['a'] == 'unsigned_users_list') {
$this->ajax_unsigned_users_list();
-
- } elseif ($_GET['a'] == 'unconfirmed_mail_user_list') {
- if ($_GET['m'] == 'delete') {
+ }
+ elseif ($_GET['a'] == 'unconfirmed_mail_user_list') {
+
+ if ($_GET['m'] == 'delete') {
$this->ajax_unconfirmed_mail_user_list_delet_user();
}
elseif ($_GET['m'] == 'accept') {
@@ -257,6 +265,9 @@ class Dostop {
$this->ajax_unconfirmed_mail_user_list();
}
}
+ elseif ($_GET['a'] == 'dodeljeni_uporabniki_display') {
+ $this->ajax_dodeljeni_uporabniki_display();
+ }
}
/**
@@ -978,6 +989,30 @@ class Dostop {
header("Location: index.php?a=diagnostics&t=uporabniki".($error !== FALSE ? '&error='.$error : ''));
}
+ /**
+ * Admin: dodajanje obstojecih uporabnikov drugemu uporabniku v popupu
+ *
+ */
+ function ajax_admin_add_user_popup(){
+ global $lang;
+ global $admin_type;
+
+ if ($admin_type != 0)
+ return;
+
+ $manager = (isset($_POST['manager'])) ? $_POST['manager'] : '0';
+ $user = (isset($_POST['user'])) ? $_POST['user'] : '0';
+
+ if($manager == '' || $manager == '0' || $user == '' || $user == '0')
+ return;
+
+ $sql = sisplet_query("INSERT INTO srv_dostop_manage (manager, user) VALUES ('".$manager."', '".$user."')");
+ if (!$sql)
+ echo mysqli_error($GLOBALS['connect_db']);
+
+ $this->ajax_dodeljeni_uporabniki_display();
+ }
+
/**
* Poiščemo uporabnika, ki je v bazi
*/
@@ -1026,8 +1061,7 @@ class Dostop {
* odstrani uporabnika iz nadzora
*
*/
- function ajax_edit_remove_user()
- {
+ function ajax_edit_remove_user(){
global $global_user_id;
global $site_url;
@@ -1042,8 +1076,7 @@ class Dostop {
* odstrani uporabnika iz managerjevega nadzora
*
*/
- function ajax_edit_remove_user_manager()
- {
+ function ajax_edit_remove_user_manager(){
global $global_user_id;
global $site_url;
@@ -1054,6 +1087,27 @@ class Dostop {
header("Location: " . $site_url . "admin/survey/index.php?a=diagnostics&t=uporabniki");
}
+ /**
+ * admin odstrani uporabnika iz nadzora drugemu uporabniku (managerju ali adminu)
+ *
+ */
+ function ajax_edit_remove_user_admin(){
+ global $admin_type;
+
+ if($admin_type != '0')
+ return;
+
+ $manager = (isset($_POST['manager'])) ? $_POST['manager'] : '0';
+ $user = (isset($_POST['user'])) ? $_POST['user'] : '0';
+
+ if($manager == '' || $manager == '0' || $user == '' || $user == '0')
+ return;
+
+ $sql = sisplet_query("DELETE FROM srv_dostop_manage WHERE user='$user' AND manager='$manager'");
+
+ $this->ajax_dodeljeni_uporabniki_display();
+ }
+
/**
* Seznam vseh uporabnikov znotrja 1ke
*/
@@ -1072,10 +1126,11 @@ class Dostop {
}
// Pridobimo vse uporabnike
- $sql = "SELECT u.id as id, u.type as type, u.status, u.email as email, u.name as name, u.surname as surname, u.lang as lang, u.eduroam as aai, date_format(u.when_reg, '%d.%m.%Y') as registriran, u.gdpr_agree as gdpr_agree, d1.dostop_survey_count as st_anket, d2.dostop_survey_archive as st_arhivskih, date_format(u.last_login, '%d.%m.%Y') as last_login, ue.email as second_email FROM users AS u ".
- " LEFT OUTER JOIN ( SELECT srv_dostop.ank_id, srv_dostop.uid, count(*) AS dostop_survey_count FROM srv_dostop, srv_anketa WHERE srv_anketa.id=srv_dostop.ank_id AND srv_anketa.backup='0' GROUP BY srv_dostop.uid ) AS d1 ON d1.uid = u.id ".
- " LEFT OUTER JOIN ( SELECT srv_dostop.ank_id, srv_dostop.uid, count(*) AS dostop_survey_archive FROM srv_dostop, srv_anketa WHERE srv_anketa.id=srv_dostop.ank_id AND srv_anketa.backup>'0' GROUP BY srv_dostop.uid ) AS d2 ON d2.uid = u.id ".
- " LEFT OUTER JOIN (SELECT user_emails.email, user_emails.user_id FROM user_emails WHERE active=1) AS ue ON ue.user_id = u.id".
+ $sql = "SELECT u.id as id, u.type as type, u.status, u.email as email, u.name as name, u.surname as surname, u.lang as lang, u.eduroam as aai, date_format(u.when_reg, '%d.%m.%Y') as registriran, u.gdpr_agree as gdpr_agree, dm.st_dodeljenih_uporabnikov as st_dodeljenih_uporabnikov, d1.dostop_survey_count as st_anket, d2.dostop_survey_archive as st_arhivskih, date_format(u.last_login, '%d.%m.%Y') as last_login, ue.email as second_email FROM users AS u ".
+ " LEFT OUTER JOIN (SELECT srv_dostop.ank_id, srv_dostop.uid, count(*) AS dostop_survey_count FROM srv_dostop, srv_anketa WHERE srv_anketa.id=srv_dostop.ank_id AND srv_anketa.backup='0' GROUP BY srv_dostop.uid ) AS d1 ON d1.uid = u.id ".
+ " LEFT OUTER JOIN (SELECT srv_dostop.ank_id, srv_dostop.uid, count(*) AS dostop_survey_archive FROM srv_dostop, srv_anketa WHERE srv_anketa.id=srv_dostop.ank_id AND srv_anketa.backup>'0' GROUP BY srv_dostop.uid ) AS d2 ON d2.uid = u.id ".
+ " LEFT OUTER JOIN (SELECT srv_dostop_manage.manager, count(*) AS st_dodeljenih_uporabnikov FROM srv_dostop_manage GROUP BY srv_dostop_manage.manager) AS dm ON dm.manager = u.id ".
+ " LEFT OUTER JOIN (SELECT user_emails.email, user_emails.user_id FROM user_emails WHERE active=1) AS ue ON ue.user_id = u.id".
" WHERE u.email NOT LIKE ('D3LMD-%') AND u.email NOT LIKE ('UNSU8MD-%') ".$iskanjeSql;
// Filtri, ki jih datatables pošilja in po katerih filtriramo
@@ -1088,12 +1143,13 @@ class Dostop {
"u.eduroam", //AAI
"d1.dostop_survey_count", //st_anket
"d2.dostop_survey_archive", //st_arhivskih
+ "dm.st_dodeljenih_uporabnikov", //st_dodeljenih_uporabnikov
"u.gdpr_agree",
"u.when_reg",
"u.last_login"
];
- if($_POST['order'][0]['column'] == 7){
+ if($_POST['order'][0]['column'] == 8){
$vrednost='u.gdpr_agree desc';
if($_POST['order'][0]['dir'] == 'asc'){
@@ -1133,6 +1189,7 @@ class Dostop {
(!empty($uporabnik->aai) ? $this->vrniDaNe($uporabnik->aai) : $lang['no1']),
(!empty($uporabnik->st_anket) ? $uporabnik->st_anket : 0),
(!empty($uporabnik->st_arhivskih) ? $uporabnik->st_arhivskih : 0),
+ ''.(!empty($uporabnik->st_dodeljenih_uporabnikov) ? $uporabnik->st_dodeljenih_uporabnikov : 0).'',
$lang["users_gdpr".$uporabnik->gdpr_agree],
$uporabnik->registriran,
$uporabnik->last_login,
@@ -1549,6 +1606,75 @@ class Dostop {
]);
}
+ private function ajax_dodeljeni_uporabniki_display(){
+ global $lang;
+
+ $manager = (isset($_POST['manager'])) ? $_POST['manager'] : '0';
+
+ if($manager == '' || $manager == '0'){
+ return;
+ }
+
+
+ echo '';
+
+ echo ''.$lang['srv_manager_count'].'
';
+
+
+ echo '';
+
+
+ echo '';
+ }
+
function isAnketar()
{
global $admin_type;
diff --git a/admin/survey/script/dostop.js b/admin/survey/script/dostop.js
index 4a785f2a6..3d3b65cdd 100644
--- a/admin/survey/script/dostop.js
+++ b/admin/survey/script/dostop.js
@@ -39,6 +39,33 @@ function edit_user_close() {
$('#fade').fadeOut('slow');
}
+function dodeljeni_uporabniki_display(manager) {
+
+ $('#fade').fadeTo('slow', 1);
+
+ $('#vrednost_edit').addClass('dodeljeni_uporabniki').show().load('ajax.php?t=dostop&a=dodeljeni_uporabniki_display', {manager: manager});
+}
+function dodeljeni_uporabniki_close() {
+
+ $('#vrednost_edit').removeClass('dodeljeni_uporabniki').hide().html('');
+
+ $('#fade').fadeOut('slow');
+
+ //location.reload();
+}
+function dodeljeni_uporabniki_remove(manager, user) {
+
+ if (confirm(lang['srv_manager_remove_alert'])){
+ $('#vrednost_edit').load('ajax.php?t=dostop&a=edit_remove_user_admin', {manager: manager, user: user});
+ }
+}
+function dodeljeni_uporabniki_add(manager, user) {
+
+ var user = $('#add_user_id').val();
+
+ $('#vrednost_edit').load('ajax.php?t=dostop&a=admin_add_user_popup', {manager: manager, user: user});
+}
+
function dostop_language(chk) {
var edit = $('#edit').is(':checked');
@@ -226,7 +253,7 @@ $(document).ready(function () {
tabelaDataTables = $('#all_users_list').DataTable({
lengthMenu: [[50, 500, 1000, 5000, 10000], [50, 500, 1000, 5000, 10000]],
select: true,
- order: [[ 9, "desc" ]],
+ order: [[ 10, "desc" ]],
lengthChange: true,
serverSide: true,
ajax: {
diff --git a/admin/survey/script/js-lang.php b/admin/survey/script/js-lang.php
index 88106b6c0..7b45bfa71 100644
--- a/admin/survey/script/js-lang.php
+++ b/admin/survey/script/js-lang.php
@@ -191,6 +191,7 @@ lang('srv_delete_testdata_warning');
lang('srv_alert_upload_size');
lang('srv_alert_upload_ext');
lang('srv_trans_lang');
+lang('srv_manager_remove_alert');
//LOKACIJA
diff --git a/lang/1.php b/lang/1.php
index 8b664dfe6..9116d6035 100644
--- a/lang/1.php
+++ b/lang/1.php
@@ -5626,6 +5626,9 @@ $lang = array (
"srv_manager_add_user4" => 'Uporabnik bo obveščen na e-mail',
"srv_manager_rem_user2" => 'Odstranite uporabnika iz svojega pregleda',
"srv_manager_manager" => 'Uporabniki, ki imajo managerski pregled nad vašimi anketami',
+ "srv_manager_count" => 'Dodeljeni uporabniki',
+ "srv_manager_remove_alert" => 'Ste prepričani, da želite odstraniti uporabnika iz pregleda?',
+ "srv_manager_add_admin" => 'Dodaj uporabnika v pregled',
"create" => 'Ustvari',
"create_add" => 'Ustvari in dodaj',
"srv_library_left" => 'Standardna vprašanja lahko dodajate v anketo',
diff --git a/lang/2.php b/lang/2.php
index d852309f1..48aed91c5 100644
--- a/lang/2.php
+++ b/lang/2.php
@@ -5523,6 +5523,9 @@ $lang = array (
"srv_manager_add_user4" => 'User will be notified with an e-mail',
"srv_manager_rem_user2" => 'Remove user',
"srv_manager_manager" => 'Users with managing view of your surveys',
+ "srv_manager_count" => 'Managed users',
+ "srv_manager_remove_alert" => 'Are you sure you would like to remove user from managing?',
+ "srv_manager_add_admin" => 'Add user to managing',
"create" => 'Create',
"create_add" => 'Create and add',
"srv_library_left" => '',
diff --git a/public/css/admin.css b/public/css/admin.css
index dc2540aa7..f3d4838af 100644
--- a/public/css/admin.css
+++ b/public/css/admin.css
@@ -11409,6 +11409,36 @@ and open the template in the editor.
text-align: center;
}
+.popup_content.dodeljeni_uporabniki ul {
+ overflow: auto;
+ max-height: 60vh;
+ padding: 10px;
+ margin: 0 0 20px 0;
+ list-style-type: none;
+ background-color: #f0f7fd;
+ border: 1px solid #d5e9fa;
+}
+.popup_content.dodeljeni_uporabniki ul li {
+ display: flex;
+ justify-content: space-between;
+ line-height: 24px;
+ padding: 0 5px;
+}
+.popup_content.dodeljeni_uporabniki ul li:hover {
+ background-color: #d5e9fa;
+}
+.popup_content.dodeljeni_uporabniki h4 {
+ margin: 0 0 5px 0;
+}
+.popup_content.dodeljeni_uporabniki .add_user {
+ box-sizing: border-box;
+ width: 100%;
+ padding: 10px;
+ margin-bottom: 50px;
+ background-color: #f0f7fd;
+ border: 1px solid #d5e9fa;
+}
+
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
diff --git a/resources/sass/admin/popup/dodeljeni_uporabniki.scss b/resources/sass/admin/popup/dodeljeni_uporabniki.scss
new file mode 100644
index 000000000..ee5008754
--- /dev/null
+++ b/resources/sass/admin/popup/dodeljeni_uporabniki.scss
@@ -0,0 +1,41 @@
+.popup_content.dodeljeni_uporabniki{
+
+ ul{
+ overflow: auto;
+
+ max-height: 60vh;
+ padding: 10px;
+ margin: 0 0 20px 0;
+
+ list-style-type: none;
+
+ background-color: $strong_blue_super_light;
+ border: 1px solid $strong_blue_very_lighten;
+
+ li{
+ display: flex;
+ justify-content: space-between;
+
+ line-height: 24px;
+ padding: 0 5px;
+
+ &:hover{
+ background-color: $strong_blue_very_lighten;
+ }
+ }
+ }
+
+ h4{
+ margin: 0 0 5px 0;
+ }
+
+ .add_user{
+ box-sizing: border-box;
+ width: 100%;
+ padding: 10px;
+ margin-bottom: 50px;
+
+ background-color: $strong_blue_super_light;
+ border: 1px solid $strong_blue_very_lighten;
+ }
+}
\ No newline at end of file
diff --git a/resources/sass/admin/popup/popup.scss b/resources/sass/admin/popup/popup.scss
index c08ebcbc3..d33de96ff 100644
--- a/resources/sass/admin/popup/popup.scss
+++ b/resources/sass/admin/popup/popup.scss
@@ -19,3 +19,4 @@
@import "archive";
@import "preview_question";
@import "consulting";
+@import "dodeljeni_uporabniki";