{% extends 'domaincontroll/menu.html' %} {% load static %} {% block menuOpen %}
  • ` + curr_mem[i] + `
  • `) } } $(document).on('click', '#group-change', function(){ var button_container = $(this).closest('#control-buttons') var row_container = button_container.closest('.input-group') var group_name = row_container.find('.group-name') var group_description = row_container.find('#group-description') var group_members = row_container.find('#group-members') var group_permissions = row_container.find('#group-permissions') old_name = group_name.val() var curr_members = Object.values(group_members.data()) permissions = Object.values(group_permissions.data()) description = Object.values(group_description.data())[0] $('.control_buttons').each(function () { $(this).children().attr('disabled', true) }) button_container.children().removeAttr('disabled') $('#new-role-group-add').fadeOut() button_container.children().remove() button_container.append(` `) group_name.removeAttr('readonly') group_name.removeAttr('disabled') group_name.css('pointer-events', 'all') group_description.removeAttr('disabled') group_description.css('pointer-events', 'all') group_description.unwrap() group_description.text('Изменить описание группы') group_members.removeAttr('disabled') group_members.text('Изменить состав участников') group_members.css('pointer-events', 'all') group_members.unwrap() group_permissions.removeAttr('disabled') group_permissions.text('Изменить разрешения группы') group_permissions.css('pointer-events', 'all') group_permissions.unwrap() $('#new-description').val(description) current_members(curr_members) name_checker() }) $(document).on('click', '#group-description', function(){ $('#new-description').val(description) $('#new-group-description').modal() }) $(document).on('click', '#save-new-description', function(){ text = $('#new-description').val() if(text != ""){ description = text } $('#new-group-description').modal('hide') }) $(document).on('click', '.close_description', function(){ $('#new-description').val(description) }) $(document).on('click', '#group-permissions', function(){ unsaved_permissions = permissions.map((x) => x) $('#new-group-permission').modal() var identification_arr = ['#identification-read-permission', '#identification-create-permission', '#identification-update-permission', '#identification-delete-permission'] for(var i = 0; i < unsaved_permissions.length; i++){ if(i == 0){ if(unsaved_permissions[0][i] == 1){ active($(identification_arr[i])) $('.secondary_identification_permissions').children().removeAttr('disabled') }else{ deactive($(identification_arr[i])) $('.secondary_identification_permissions').children().attr('disabled', true) $('.secondary_identification_permissions').children().removeClass('btn-success').addClass('btn-outline-success') } }else{ if(unsaved_permissions[0][i] == 1){ active(identification_arr[i]) }else{ deactive(identification_arr[i]) } } } current_permissions(permissions) }) $(document).ready(function(){ $('#user-search').on('keyup', function(){ var value = $(this).val().toLowerCase(); $('#non-members > li').filter(function(){ $(this).toggle($(this).text().toLowerCase().indexOf(value) > - 1) }) }) }) $(document).ready(function(){ $('#member-search').on('keyup', function(){ var value = $(this).val().toLowerCase(); $('#members > li').filter(function(){ $(this).toggle($(this).text().toLowerCase().indexOf(value) > - 1) }) }) }) $(document).on('click', '#add-to', function(){ var from_li = $(this).closest('div').prev('.card').find('li[active="active"]') var to_ul = $(this).closest('div').next('.card').find('ul') from_li.attr('name', 'new_member') from_li.fadeOut().promise().done(function(){ to_ul.append(from_li) to_ul.find('li').removeAttr('active').css({'background-color': 'rgb(255, 255, 255)', 'color': 'rgb(0, 0, 0)'}).fadeIn() }) }) $(document).on('click', '#remove-from', function(){ var from_li = $(this).closest('div').next('.card').find('li[active="active"]') var to_ul = $(this).closest('div').prev('.card').find('ul') from_li.attr('name', 'old_member') from_li.fadeOut().promise().done(function(){ to_ul.prepend(from_li) to_ul.find('li').removeAttr('active').css({'background-color': 'rgb(255, 255, 255)', 'color': 'rgb(0, 0, 0)'}).fadeIn() }) }) $(document).on('click', '.close_members', function(){ var not_members = $(this).closest('div').siblings('.modal-body').find('#non-members') var members = $(this).closest('div').siblings('.modal-body').find('#members') old_members = not_members.find('li[name="old_member"]') new_members = members.find('li[name="new_member"]') not_members.append(new_members) members.remove(new_members) members.append(old_members) not_members.remove(old_members) }) $(document).on('click', '#save-new-members', function(){ var members = $(this).closest('div').siblings('.modal-body').find('#members') var names = members.find('li') for(let i = 0; i < names.length; i++){ members_of_group.push($(names[i]).text()) } if(members_of_group.length == 0){ empty_members = true } $('#new-group-members').modal('hide') }) // Раздел "Идентификация" function active(el){ $(el).removeClass('btn-outline-success') $(el).addClass('btn-success') } function deactive(el){ $(el).removeClass('btn-success') $(el).addClass('btn-outline-success') } $(document).on('click', '#identification-read-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) $('.secondary_identification_permissions').children().removeAttr('disabled') unsaved_permissions[0][0] = 1 }else{ deactive(this) $('.secondary_identification_permissions').children().attr('disabled', true) $('.secondary_identification_permissions').children().removeClass('btn-success').addClass('btn-outline-success') unsaved_permissions[0] = [0,0,0,0] } }) $(document).on('click', '#identification-create-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[0][1] = 1 }else{ deactive(this) unsaved_permissions[0][1] = 0 } }) $(document).on('click', '#identification-update-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[0][2] = 1 }else{ deactive(this) unsaved_permissions[0][2] = 0 } }) $(document).on('click', '#identification-delete-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[0][3] = 1 }else{ deactive(this) unsaved_permissions[0][3] = 0 } }) // Раздел "Собственные сценарии" $(document).on('click', '#self-s-read-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) $('.secondary_self_s_permissions').children().removeAttr('disabled') unsaved_permissions[1][0] = 1 }else{ deactive(this) $('.secondary_self_s_permissions').children().attr('disabled', true) $('.secondary_self_s_permissions').children().removeClass('btn-success').addClass('btn-outline-success') unsaved_permissions[1] = [0,0,0,0] } }) $(document).on('click', '#self-s-create-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[1][1] = 1 }else{ deactive(this) unsaved_permissions[1][1] = 0 } }) $(document).on('click', '#self-s-update-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[1][2] = 1 }else{ deactive(this) unsaved_permissions[1][2] = 0 } }) $(document).on('click', '#self-s-delete-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[1][3] = 1 }else{ deactive(this) unsaved_permissions[1][3] = 0 } }) // Раздел "Груповые политики" $(document).on('click', '#group-p-read-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[2][0] = 1 }else{ deactive(this) unsaved_permissions[2][0] = 0 } }) // Раздел "Груповые политики" $(document).on('click', '#politics-read-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[5][0] = 1 }else{ deactive(this) unsaved_permissions[5][0] = 0 } }) // Раздел "События" $(document).on('click', '#journal-read-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[3][0] = 1 }else{ deactive(this) unsaved_permissions[3][0] = 0 } }) // Раздел "Журнал" $(document).on('click', '#events-read-permission', function(){ trigger = true if($(this).hasClass('btn-outline-success')){ active(this) unsaved_permissions[4][0] = 1 }else{ deactive(this) unsaved_permissions[4][0] = 0 } }) $('#save-new-permissions').on('click', function(){ if(trigger){ permissions = unsaved_permissions.map((x) => x); } $('#new-group-permission').modal('hide') trigger = false console.log(unsaved_permissions) }) $(document).on('click', '.close_permissions', function(){ unsaved_permissions = unsaved_permissions.map((x) => x); permission_clean() trigger = false }) $(document).on('click', '#group-members', function(){ $('#new-group-members').modal() }) $(document).on('click', '#group-update', function(){ var button_container = $(this).closest('#control-buttons') var row_container = button_container.closest('.input-group') var group_name = row_container.find('.group-name') var group_description = row_container.find('#group-description') var group_members = row_container.find('#group-members') var group_permissions = row_container.find('#group-permissions') var new_group_data_arr = [] $('.control_buttons').each(function () { $(this).children().removeAttr('disabled') }) if(members_of_group.length == 0){ if(empty_members){ members_of_group = [] }else{ members_of_group = Object.values(group_members.data()) } } console.log(permissions) console.log(members_of_group) $.ajax({ type: "POST", headers:{"X-CSRFToken":"{{ csrf_token }}"}, url: "{% url 'settings:update_group' %}", data: {'new_name': group_name.val(), 'group_description': description, 'permissions[]': permissions, 'members_of_group[]': members_of_group, 'old_name': old_name}, success: function(){ console.log('success') }, error: function(){ console.log('error') } }) button_container.children().remove() button_container.append(` `) // имя группы group_name.attr('readonly', 'true') group_name.data([group_name.val()]) // описание группы if(description == ''){ description = 'У группы отсутствует описание' } console.log(description) group_description.attr('disabled', 'true') group_description.data([description]) group_description.css('pointer-events', 'none') group_description.text('Описание группы') group_description.wrap(` `) // члены группы group_members.attr('disabled', 'true') group_members.removeData() group_members.data(members_of_group) group_members.css('pointer-events', 'none') group_members.text('Состав участников') group_members.wrap(` `) // разрешения группы group_permissions.attr('disabled', 'true') group_permissions.data(permissions) group_permissions.css('pointer-events', 'none') group_permissions.text('Разрешения группы') group_permissions.wrap(` `) $('#new-group-description').find('textarea').val('') members_of_group = [] permissions = [[0,0,0,0], [0,0,0,0], [0], [0], [0], [0]] unsaved_permissions = [[0,0,0,0], [0,0,0,0], [0], [0], [0], [0]] description = '' group_name = '' text = '' $('#new-description').val('') popover_activator() $('#new-role-group-add').fadeIn() member_clean() permission_clean() $('#new-role-group-add').fadeIn() }) $(document).on('click', '#group-cancel', function(){ var button_container = $(this).closest('#control-buttons') var row_container = button_container.closest('.input-group') var group_name = row_container.find('.group-name') var group_description = row_container.find('#group-description') var group_members = row_container.find('#group-members') var group_permissions = row_container.find('#group-permissions') $('.control_buttons').each(function () { $(this).children().removeAttr('disabled') }) button_container.children().remove() button_container.append(` `) let old_name = Object.values(group_name.data())[0] group_name.val(old_name) group_name.attr('readonly', 'true') // описание группы group_description.attr('disabled', 'true') group_description.css('pointer-events', 'none') group_description.text('Описание группы') description = Object.values(group_description.data())[0] group_description.wrap(` `) // члены группы group_members.attr('disabled', 'true') members_of_group = Object.values(group_members.data()) group_members.css('pointer-events', 'none') group_members.text('Состав участников') group_members.wrap(` `) // разрешения группы group_permissions.attr('disabled', 'true') permissions = Object.values(group_permissions.data()) group_permissions.data(permissions) group_permissions.css('pointer-events', 'none') permissions = Object.values($(group_permissions).data()) group_permissions.text('Разрешения группы') group_permissions.wrap(` `) $('#new-description').val('') members_of_group = [] permissions = [[0,0,0,0], [0,0,0,0], [0], [0], [0], [0]] unsaved_permissions = [[0,0,0,0], [0,0,0,0], [0], [0], [0], [0]] description = '' group_name = '' text = '' popover_activator() member_clean() permission_clean() $('#new-role-group-add').fadeIn() }) $("#settings-rewriter").on('click', function(){ $(".load").each(function(e){ $(this).prop("checked", false) }) }) $(".click_load").on('click', function(){ let list_load = [] $(".load").each(function(e){ if ($(this).is(':checked')){ list_load.push($(this).attr('id')) } }) $.ajax({ type: "GET", url: "{% url 'settings:get_load' %}", data: {'get_file': JSON.stringify(list_load)}, dataType: 'binary', xhrFields: { 'responseType': 'blob' }, success: function(data, status, xhr){ let filename = xhr.getResponseHeader('filename') var blob = new Blob([data], {type: xhr.getResponseHeader('Content-Type')}); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = filename; link.click(); }, error: function(){ console.log('error') } }) console.log($(this)) }) {% endblock %} {% block head %} {% endblock %} {% block mainHeader %} {% include 'settings/includes/inc_menu_settings.html' %} {% endblock %} {% block wrapper %}
    {% endblock %}