diff --git a/app/modules/db/sql.py b/app/modules/db/sql.py
index 61d5dd0b..1988db7e 100755
--- a/app/modules/db/sql.py
+++ b/app/modules/db/sql.py
@@ -453,6 +453,15 @@ def select_user_groups_with_names(user_id, **kwargs):
return query_res
+def select_user_roles_by_group(group_id: int):
+ try:
+ query_res = UserGroups.select().where(UserGroups.user_group_id == group_id).execute()
+ except Exception as e:
+ out_error(e)
+ else:
+ return query_res
+
+
def select_groups(**kwargs):
if kwargs.get("group") is not None:
query = Groups.select().where(Groups.name == kwargs.get('group'))
diff --git a/app/modules/roxywi/user.py b/app/modules/roxywi/user.py
index 2b10dfd3..5b0f4bfb 100644
--- a/app/modules/roxywi/user.py
+++ b/app/modules/roxywi/user.py
@@ -156,18 +156,6 @@ def show_user_groups_and_roles() -> None:
print(template)
-def add_user_group_and_role() -> None:
- group_id = common.checkAjaxInput(form.getvalue('group_id'))
- group_name = common.checkAjaxInput(form.getvalue('group_name'))
- length_tr = common.checkAjaxInput(form.getvalue('length_tr'))
- roles = sql.select_roles()
- lang = roxywi_common.get_user_lang()
- env = Environment(loader=FileSystemLoader('templates/'), autoescape=True)
- template = env.get_template('ajax/add_user_group_and_role.html')
- template = template.render(roles=roles, lang=lang, group_id=group_id, group_name=group_name, length_tr=length_tr)
- print(template)
-
-
def save_user_group_and_role() -> None:
import json
diff --git a/app/options.py b/app/options.py
index 5f77378b..b7b33016 100644
--- a/app/options.py
+++ b/app/options.py
@@ -1090,11 +1090,6 @@ if act == 'show_user_group_and_role':
roxy_user.show_user_groups_and_roles()
-if act == 'add_user_group_and_role':
- import modules.roxywi.user as roxy_user
-
- roxy_user.add_user_group_and_role()
-
if act == 'save_user_group_and_role':
import modules.roxywi.user as roxy_user
diff --git a/app/templates/ajax/add_user_group_and_role.html b/app/templates/ajax/add_user_group_and_role.html
deleted file mode 100644
index d9357a29..00000000
--- a/app/templates/ajax/add_user_group_and_role.html
+++ /dev/null
@@ -1,15 +0,0 @@
-{% import 'languages/'+lang|default('en')+'.html' as lang %}
-{% if length_tr|int() % 2 == 1 %}
-{% set class = 'even' %}
-{% endif %}
-
- {{group_name}} |
-
-
- |
- - |
-
\ No newline at end of file
diff --git a/app/templates/languages/en.html b/app/templates/languages/en.html
index a8ea42d6..798cebf2 100644
--- a/app/templates/languages/en.html
+++ b/app/templates/languages/en.html
@@ -821,5 +821,6 @@
"send": "send",
"additions": "additions",
"deletions": "deletions",
+ "recent": "recent",
}
%}
diff --git a/app/templates/languages/fr.html b/app/templates/languages/fr.html
index 3eae1314..6b6f3206 100644
--- a/app/templates/languages/fr.html
+++ b/app/templates/languages/fr.html
@@ -821,5 +821,6 @@
"send": "envoyer",
"additions": "ajouts",
"deletions": "suppressions",
+ "recent": "récent",
}
%}
diff --git a/app/templates/languages/ru.html b/app/templates/languages/ru.html
index 2c1eee23..a35a74b8 100644
--- a/app/templates/languages/ru.html
+++ b/app/templates/languages/ru.html
@@ -828,5 +828,6 @@
"send": "отправить",
"additions": "дополнения",
"deletions": "удаления",
+ "recent": "недавние",
}
%}
diff --git a/app/templates/ovw.html b/app/templates/ovw.html
index 5366f3c2..df249861 100644
--- a/app/templates/ovw.html
+++ b/app/templates/ovw.html
@@ -211,7 +211,7 @@
{% else %}
{% endif %}
- Recent Roxy-WI {{lang.words.logs}}
+ {{lang.words.recent|title()}} Roxy-WI {{lang.words.logs}}
diff --git a/app/users.py b/app/users.py
index c4ea846a..e40d6d8c 100644
--- a/app/users.py
+++ b/app/users.py
@@ -43,7 +43,7 @@ except Exception as e:
rendered_template = template.render(
role=user_params['role'], user=user_params['user'], users=users, groups=sql.select_groups(),
- servers=sql.select_servers(full=1), masters=masters, sshs=sql.select_ssh(),
+ servers=sql.select_servers(full=1), masters=masters, sshs=sql.select_ssh(), roles=sql.select_roles(),
settings=settings, backups=sql.select_backups(), services=services, timezones=pytz.all_timezones,
page="users.py", user_services=user_params['user_services'], ldap_enable=ldap_enable, gits=gits, guide_me=1,
user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'], token=user_params['token'],
diff --git a/inc/users.js b/inc/users.js
index 6145ca33..a6e7d598 100644
--- a/inc/users.js
+++ b/inc/users.js
@@ -2377,7 +2377,7 @@ function addServiceToUser(service_id) {
}
var html_tag = ' | ' +
''+service_name+' | ' +
- '+ |
';
+ '- | ';
$('#add_service-'+service_id).remove();
$("#checked_services tbody").append(html_tag);
}
@@ -3142,21 +3142,25 @@ function confirmChangeGroupsAndRoles(user_id) {
}
function addGroupToUser(group_id) {
var group_name = $('#add_group-'+group_id).attr('data-group_name');
- $.ajax({
- url: "options.py",
- data: {
- act: 'add_user_group_and_role',
- group_id: group_id,
- group_name: group_name,
- length_tr: $('#checked_groups tbody tr').length,
- token: $('#token').val()
- },
- type: "POST",
- success: function (data) {
- $('#add_group-'+group_id).remove();
- $("#checked_groups tbody").append(data);
- }
- });
+ var delete_word = $('#translate').attr('data-delete');
+ var group2_word = $('#translate').attr('data-group2');
+ var length_tr = $('#all_groups tbody tr').length;
+ const roles = {1: 'superAdmin', 2: 'amdin', 3: 'user', 4: 'guest'};
+ var options_roles = '';
+ for (const [role_id, role_name] of Object.entries(roles)) {
+ options_roles += '';
+ }
+ var tr_class = 'odd';
+ if (length_tr % 2 != 0) {
+ tr_class = 'even';
+ }
+ var html_tag = '\n' +
+ ' '+group_name+' | \n' +
+ ' \n' +
+ ' | \n' +
+ ' - |
'
+ $('#add_group-'+group_id).remove();
+ $("#checked_groups tbody").append(html_tag);
}
function removeGroupFromUser(group_id) {
var group_name = $('#remove_group-'+group_id).attr('data-group_name');
@@ -3169,8 +3173,7 @@ function removeGroupFromUser(group_id) {
}
var html_tag = '\n' +
' '+group_name+' | \n' +
- ' + | \n' +
- '
'
+ ' + | '
$('#remove_group-'+group_id).remove();
$("#all_groups tbody").append(html_tag);
}