From 1417dfe9eb2818101938ae203f0b754f05cc5030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AiDN=E2=84=A2?= <45371311+originalaidn@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:54:08 +0200 Subject: [PATCH 1/6] if user is not admin, dont show IP and action columns --- resources/js/bans/bans.ts | 135 +++++++++++---------- resources/js/mutes/mutes.ts | 45 ++++--- resources/views/admin/bans/list.blade.php | 10 +- resources/views/admin/mutes/list.blade.php | 5 +- 4 files changed, 108 insertions(+), 87 deletions(-) diff --git a/resources/js/bans/bans.ts b/resources/js/bans/bans.ts index c89607c..40dc8e5 100644 --- a/resources/js/bans/bans.ts +++ b/resources/js/bans/bans.ts @@ -4,9 +4,72 @@ import 'datatables.net-fixedcolumns'; import 'datatables.net-responsive'; let dataTable = null; function loadBans() { - dataTable = new DataTable("#bansList", { + let columns = [ + {"data": "id"}, + { + "data": "player_name", "render": function (data, type, row, meta) { + return `${data}`; + } + }, + {"data": "player_ip"}, + { + "data": "admin_steamid", "render": function (data, type, row, meta) { + if (data !== 'Console') { + return `${row.admin_name}`; + } else { + return data; + } + } + }, + {"data": "reason"}, + {"data": "duration"}, + {"data": "ends"}, + { + "data": "created", "render": function (data, type, row, meta) { + return formatDuration(data); + } + }, + {"data": "server_id"}, + {"data": "status"}, + { + "data": "action", "render": function (data, type, row, meta) { + return '
' + data + '
'; + } + }, + { + "data": "duration", "render": function (data, type, row, meta) { + let progress = calculateProgress(row.created, row.ends); + + let progressBarClass = 'bg-warning'; + if (row.status.includes("badge badge-primary")) { + progressBarClass = 'bg-primary'; + progress = 100; + } else if (row.duration.includes("badge badge-danger")) { + progressBarClass = 'bg-danger'; + } else if (progress === 100) { + progressBarClass = 'bg-success'; + } + return ` +
+
+
+
`; + } + } + ]; + + if (!isSuperAdmin) { + columns = columns.filter(column => column.data !== "player_ip"); + } + if (!hasBanPermission) { + columns = columns.filter(column => column.data !== "action"); + } + + dataTable = new DataTable("#bansList", { "processing": true, - responsive: true, + responsive: true, "serverSide": true, "ajax": { "url": bansListUrl, @@ -19,72 +82,17 @@ function loadBans() { "language": { "search": "Search by player steamid:", 'processing': '
' - }, - order: [[0, 'desc']], - "columns": [ - {"data": "id"}, - { - "data": "player_name", "render": function (data, type, row, meta) { - return `${data}`; - } - }, - {"data": "player_ip"}, - { - "data": "admin_steamid", "render": function (data, type, row, meta) { - if(data != 'Console') - return `${row.admin_name}`; - else - return data; - } - }, - {"data": "reason"}, - {"data": "duration"}, - {"data": "ends"}, - { - "data": "created", "render": function (data, type, row, meta) { - return formatDuration(data); - } - }, - {"data": "server_id"}, - {"data": "status"}, - { - "data": "action", "render": function (data, type, row, meta) { - return '
' + data + '
'; - } - }, - { - "data": "duration", "render": function (data, type, row, meta) { - let progress = calculateProgress(row.created, row.ends); - - let progressBarClass = 'bg-warning'; - if (row.status.includes("badge badge-primary")) { - progressBarClass = 'bg-primary'; - progress = 100; - } - else if (row.duration.includes("badge badge-danger")) { - progressBarClass = 'bg-danger'; - } - else if (progress == 100) { - progressBarClass = 'bg-success'; - } - return ` -
-
-
-
` - } - } - ] + order: [[0, 'desc']], + "columns": columns }); } + loadBans(); -$(document).on('click', '.unban-btn', function() { - let playerSteamid = $(this).data('player-steamid'); - $.ajax({ +$(document).on('click', '.unban-btn', function () { + let playerSteamid = $(this).data('player-steamid'); + $.ajax({ url: getPlayerUnBanUrl(playerSteamid), type: 'PUT', dataType: 'json', @@ -113,4 +121,3 @@ $(document).on('click', '.unban-btn', function() { } }); }); - diff --git a/resources/js/mutes/mutes.ts b/resources/js/mutes/mutes.ts index 6747080..7d114c2 100644 --- a/resources/js/mutes/mutes.ts +++ b/resources/js/mutes/mutes.ts @@ -6,25 +6,7 @@ let dataTable = null; loadMutes(); function loadMutes() { - dataTable = new DataTable("#mutesList", { - "responsive": true, - "processing": true, - "serverSide": true, - "ajax": { - "url": mutesListUrl, - "headers": { - "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content') - }, - "type": "POST", - "dataType": "json" - }, - "language": { - "search": "Search by player steamid:", - 'processing': '
' - - }, - order: [[0, 'desc']], - "columns": [ + let columns = [ {"data": "id"}, { "data": "player_name", "render": function (data, type, row, meta) { @@ -78,7 +60,30 @@ function loadMutes() { ` } } - ] + ]; + + if (!hasMutePermission) { + columns = columns.filter(column => column.data !== "action"); + } + + dataTable = new DataTable("#mutesList", { + "responsive": true, + "processing": true, + "serverSide": true, + "ajax": { + "url": mutesListUrl, + "headers": { + "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content') + }, + "type": "POST", + "dataType": "json" + }, + "language": { + "search": "Search by player steamid:", + 'processing': '
' + + }, + "columns": columns }); } $(document).on('click', '.unmute-btn', function() { diff --git a/resources/views/admin/bans/list.blade.php b/resources/views/admin/bans/list.blade.php index f4f0c41..d1b00da 100644 --- a/resources/views/admin/bans/list.blade.php +++ b/resources/views/admin/bans/list.blade.php @@ -43,7 +43,9 @@ {{ __('admins.id') }} {{ __('dashboard.player') }} - {{ __('dashboard.ip') }} + @if(PermissionsHelper::isSuperAdmin()) + {{ __('dashboard.ip') }} + @endif {{ __('admins.bannedBy') }} {{ __('admins.banReason') }} {{ __('admins.banDuration') }} @@ -51,7 +53,9 @@ {{ __('admins.banned') }} {{ __('dashboard.server') }} {{ __('admins.status') }} - {{ __('admins.action') }} + @if(PermissionsHelper::hasBanPermission()) + {{ __('admins.action') }} + @endif {{ __('admins.progress') }} @@ -70,6 +74,8 @@ function getPlayerUnBanUrl(playerSteamid) { return "{!! env('VITE_SITE_DIR') !!}/players/"+playerSteamid+"/unban"; } const bansListUrl = '{!! env('VITE_SITE_DIR') !!}/list/bans'; + const isSuperAdmin = ; + const hasBanPermission = ; @vite(['resources/js/bans/bans.ts']) diff --git a/resources/views/admin/mutes/list.blade.php b/resources/views/admin/mutes/list.blade.php index 03dc3b7..3a0b498 100644 --- a/resources/views/admin/mutes/list.blade.php +++ b/resources/views/admin/mutes/list.blade.php @@ -51,7 +51,9 @@ {{ __('admins.muted') }} {{ __('dashboard.server') }} {{ __('admins.status') }} - {{ __('admins.action') }} + @if(PermissionsHelper::hasMutePermission()) + {{ __('admins.action') }} + @endif {{ __('admins.progress') }} @@ -70,6 +72,7 @@ function getPlayerUnMuteUrl(playerSteamid) { return "{!! env('VITE_SITE_DIR') !!}/players/"+playerSteamid+"/unmute"; } const mutesListUrl = '{!! env('VITE_SITE_DIR') !!}/list/mutes'; + const hasMutePermission = ; @vite(['resources/js/mutes/mutes.ts']) From d733a09947decd078e69e3a10febe82e1efc26a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AiDN=E2=84=A2?= <45371311+originalaidn@users.noreply.github.com> Date: Tue, 11 Jun 2024 13:14:29 +0200 Subject: [PATCH 2/6] hide server's actions too --- resources/views/admin/servers/players.blade.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/views/admin/servers/players.blade.php b/resources/views/admin/servers/players.blade.php index afafcb7..3707f5e 100644 --- a/resources/views/admin/servers/players.blade.php +++ b/resources/views/admin/servers/players.blade.php @@ -12,7 +12,9 @@ {{ __('admins.serverListPlayerName') }} {{ __('admins.playerFrags') }} {{ __('admins.playerPlayTime') }} - {{ __('admins.actions') }} + @if(PermissionsHelper::hasKickPermission() || PermissionsHelper::hasMutePermission() || PermissionsHelper::hasBanPermission()) + {{ __('admins.actions') }} + @endif From 54f0ef72b97698c1508f76f534e2051dbdde88b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AiDN=E2=84=A2?= <45371311+originalaidn@users.noreply.github.com> Date: Tue, 11 Jun 2024 13:20:20 +0200 Subject: [PATCH 3/6] adding translation to "Close" button --- lang/cz.json | 2 +- lang/de.json | 2 +- lang/en.json | 2 +- lang/es.json | 2 +- lang/fr.json | 2 +- lang/it.json | 2 +- lang/ja.json | 2 +- lang/ko.json | 2 +- lang/pt_BR.json | 2 +- lang/pt_PT.json | 2 +- lang/ro.json | 2 +- lang/ru.json | 2 +- lang/zh_CN.json | 2 +- resources/views/components/modal.blade.php | 2 +- resources/views/weapons/skins.blade.php | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lang/cz.json b/lang/cz.json index e6443c6..19f711c 100644 --- a/lang/cz.json +++ b/lang/cz.json @@ -167,7 +167,7 @@ "skins.apply": "Použít", "skins.applySkin": "Použít skin", "skins.battleScarred": "Bojově zničený", - "skins.close": "Zavřít", + "Close": "Zavřít", "skins.error": "Při aplikaci skinu došlo k chybě.", "skins.factoryNew": "Zcela nový", "skins.fieldTested": "Terénní test", diff --git a/lang/de.json b/lang/de.json index 96fffa1..21ace6c 100644 --- a/lang/de.json +++ b/lang/de.json @@ -159,7 +159,7 @@ "skins.apply": "Anwenden", "skins.applySkin": "Skin anwenden", "skins.battleScarred": "Kampfspuren", - "skins.close": "Schließen", + "Close": "Schließen", "skins.error": "Beim Anwenden des Skins ist ein Fehler aufgetreten.", "skins.factoryNew": "Fabrikneu", "skins.fieldTested": "Feldgetestet", diff --git a/lang/en.json b/lang/en.json index a9a3975..35afb1c 100644 --- a/lang/en.json +++ b/lang/en.json @@ -177,7 +177,7 @@ "skins.apply": "Apply", "skins.applySkin": "Apply Skin", "skins.battleScarred": "Battle-Scarred", - "skins.close": "Close", + "Close": "Close", "skins.error": "An error occurred while applying the skin.", "skins.factoryNew": "Factory New", "skins.fieldTested": "Field-Tested", diff --git a/lang/es.json b/lang/es.json index cff9259..5cc70f9 100644 --- a/lang/es.json +++ b/lang/es.json @@ -167,7 +167,7 @@ "skins.apply": "Aplicar", "skins.applySkin": "Aplicar Skin", "skins.battleScarred": "Muy Desgastado", - "skins.close": "Cerrar", + "Close": "Cerrar", "skins.error": "Se produjo un error al aplicar la skin.", "skins.factoryNew": "De Fábrica", "skins.fieldTested": "Probado en Campo", diff --git a/lang/fr.json b/lang/fr.json index 61ff6ae..7be5da9 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -167,7 +167,7 @@ "skins.apply": "Appliquer", "skins.applySkin": "Appliquer le skin", "skins.battleScarred": "Marqué par les combats", - "skins.close": "Fermer", + "Close": "Fermer", "skins.error": "Une erreur s'est produite lors de l'application du skin.", "skins.factoryNew": "Comme neuf", "skins.fieldTested": "Testé sur le terrain", diff --git a/lang/it.json b/lang/it.json index cd84410..69061ed 100644 --- a/lang/it.json +++ b/lang/it.json @@ -167,7 +167,7 @@ "skins.apply": "Applica", "skins.applySkin": "Applica skin", "skins.battleScarred": "Segni di battaglia", - "skins.close": "Chiudi", + "Close": "Chiudi", "skins.error": "Si è verificato un errore durante l'applicazione della skin.", "skins.factoryNew": "Nuovo di fabbrica", "skins.fieldTested": "Testato sul campo", diff --git a/lang/ja.json b/lang/ja.json index 1827578..bdcc556 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -167,7 +167,7 @@ "skins.apply": "適用", "skins.applySkin": "スキンを適用", "skins.battleScarred": "戦闘の傷跡", - "skins.close": "閉じる", + "Close": "閉じる", "skins.error": "スキンを適用する際にエラーが発生しました。", "skins.factoryNew": "工場新品", "skins.fieldTested": "フィールドテスト済み", diff --git a/lang/ko.json b/lang/ko.json index 5f86157..651c6e9 100644 --- a/lang/ko.json +++ b/lang/ko.json @@ -167,7 +167,7 @@ "skins.apply": "적용", "skins.applySkin": "스킨 적용", "skins.battleScarred": "전투 스크래치", - "skins.close": "닫기", + "Close": "닫기", "skins.error": "스킨을 적용하는 중에 오류가 발생했습니다.", "skins.factoryNew": "공장 신제품", "skins.fieldTested": "현장 시험된", diff --git a/lang/pt_BR.json b/lang/pt_BR.json index e5f2a2f..d671843 100644 --- a/lang/pt_BR.json +++ b/lang/pt_BR.json @@ -167,7 +167,7 @@ "skins.apply": "Aplicar", "skins.applySkin": "Aplicar Skin", "skins.battleScarred": "Muy Desgastado", - "skins.close": "Cerrar", + "Close": "Cerrar", "skins.error": "Se produjo un error al aplicar la skin.", "skins.factoryNew": "De Fábrica", "skins.fieldTested": "Probado en Campo", diff --git a/lang/pt_PT.json b/lang/pt_PT.json index 882d83e..ef7577c 100644 --- a/lang/pt_PT.json +++ b/lang/pt_PT.json @@ -169,7 +169,7 @@ "skins.apply": "Aplicar", "skins.applySkin": "Aplicar Skin", "skins.battleScarred": "Gasto", - "skins.close": "Fechar", + "Close": "Fechar", "skins.error": "Um erro occoreu ao aplicar a skin!", "skins.factoryNew": "Novo de Fábrica", "skins.fieldTested": "Testado no Terreno", diff --git a/lang/ro.json b/lang/ro.json index 516bf07..d4169c1 100644 --- a/lang/ro.json +++ b/lang/ro.json @@ -167,7 +167,7 @@ "skins.apply": "Aplică", "skins.applySkin": "Aplică Skin", "skins.battleScarred": "Rănit de Bătălie", - "skins.close": "Închide", + "Close": "Închide", "skins.error": "A apărut o eroare în timpul aplicării skinului.", "skins.factoryNew": "Nou de Fabrică", "skins.fieldTested": "Testat pe Teren", diff --git a/lang/ru.json b/lang/ru.json index 3a182e6..c79531b 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -151,7 +151,7 @@ "dashboard.unmuted": "Голос включен", "dashboard.expired": "Истек срок", "skins.select": "Выберите тип оружия", - "skins.close": "Закрыть", + "Close": "Закрыть", "skins.applySkin": "Применить скин", "skins.selectWear": "Выберите износ", "skins.factoryNew": "Заводское новое", diff --git a/lang/zh_CN.json b/lang/zh_CN.json index 5bb4ed0..6ceb9fc 100644 --- a/lang/zh_CN.json +++ b/lang/zh_CN.json @@ -167,7 +167,7 @@ "skins.apply": "应用", "skins.applySkin": "应用皮肤", "skins.battleScarred": "战斗痕迹", - "skins.close": "关闭", + "Close": "关闭", "skins.error": "应用皮肤时出现错误。", "skins.factoryNew": "工厂新", "skins.fieldTested": "实战测试", diff --git a/resources/views/components/modal.blade.php b/resources/views/components/modal.blade.php index edfc8d3..8aca780 100644 --- a/resources/views/components/modal.blade.php +++ b/resources/views/components/modal.blade.php @@ -9,7 +9,7 @@ {{ $body }} diff --git a/resources/views/weapons/skins.blade.php b/resources/views/weapons/skins.blade.php index 19454d6..8089f78 100644 --- a/resources/views/weapons/skins.blade.php +++ b/resources/views/weapons/skins.blade.php @@ -38,7 +38,7 @@ From 00b428fc5d11329e4de0c0d96114ded260c9b928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AiDN=E2=84=A2?= <45371311+originalaidn@users.noreply.github.com> Date: Tue, 11 Jun 2024 18:06:47 +0200 Subject: [PATCH 4/6] added Ukrainian language --- resources/images/1x1/{ua.svg => uk.svg} | 0 resources/views/components/navbar/style-vertical-menu.blade.php | 1 + 2 files changed, 1 insertion(+) rename resources/images/1x1/{ua.svg => uk.svg} (100%) diff --git a/resources/images/1x1/ua.svg b/resources/images/1x1/uk.svg similarity index 100% rename from resources/images/1x1/ua.svg rename to resources/images/1x1/uk.svg diff --git a/resources/views/components/navbar/style-vertical-menu.blade.php b/resources/views/components/navbar/style-vertical-menu.blade.php index 1e07387..ef7d2ba 100644 --- a/resources/views/components/navbar/style-vertical-menu.blade.php +++ b/resources/views/components/navbar/style-vertical-menu.blade.php @@ -37,6 +37,7 @@ + From ff804ddda87f95a3c1295c3ce92e4dd4a9e3d6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AiDN=E2=84=A2?= <45371311+originalaidn@users.noreply.github.com> Date: Wed, 12 Jun 2024 20:37:16 +0200 Subject: [PATCH 5/6] Update style-vertical-menu.blade.php --- .../views/components/navbar/style-vertical-menu.blade.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/views/components/navbar/style-vertical-menu.blade.php b/resources/views/components/navbar/style-vertical-menu.blade.php index ef7d2ba..cb7992f 100644 --- a/resources/views/components/navbar/style-vertical-menu.blade.php +++ b/resources/views/components/navbar/style-vertical-menu.blade.php @@ -36,7 +36,8 @@ - + + From 3a52770ab2904b31aefeadd1d820a5e982c44b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AiDN=E2=84=A2?= <45371311+originalaidn@users.noreply.github.com> Date: Wed, 12 Jun 2024 20:38:07 +0200 Subject: [PATCH 6/6] Update style-vertical-menu.blade.php --- resources/views/components/navbar/style-vertical-menu.blade.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/views/components/navbar/style-vertical-menu.blade.php b/resources/views/components/navbar/style-vertical-menu.blade.php index cb7992f..fc44306 100644 --- a/resources/views/components/navbar/style-vertical-menu.blade.php +++ b/resources/views/components/navbar/style-vertical-menu.blade.php @@ -38,8 +38,6 @@ - -