From 2bb127e1cd582d9151ef1b70c3496bc79776a95a Mon Sep 17 00:00:00 2001 From: RblSb Date: Thu, 4 Feb 2021 01:43:37 +0300 Subject: Improve changeOrder permission closes #21 --- src/server/Main.hx | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src/server') diff --git a/src/server/Main.hx b/src/server/Main.hx index 07f782a..565daab 100644 --- a/src/server/Main.hx +++ b/src/server/Main.hx @@ -472,6 +472,9 @@ class Main { serverMessage(client, "videoLimitPerUserError"); return; } + if (!data.addVideo.atEnd && !checkPermission(client, ChangeOrderPerm)) { + data.addVideo.atEnd = true; + } final item = data.addVideo.item; item.author = client.name; final local = '$localIp:$port'; @@ -721,7 +724,7 @@ class Main { } function checkPermission(client:Client, perm:Permission):Bool { - final state = hasPermission(client, perm); + final state = client.hasPermission(perm, config.permissions); if (!state) send(client, { type: ServerMessage, serverMessage: { textId: "accessError" @@ -730,14 +733,6 @@ class Main { return state; } - function hasPermission(client:Client, perm:Permission):Bool { - final p = config.permissions; - if (client.isAdmin) return p.admin.indexOf(cast perm) != -1; - if (client.isLeader) return p.leader.indexOf(cast perm) != -1; - if (client.isUser) return p.user.indexOf(cast perm) != -1; - return p.guest.indexOf(cast perm) != -1; - } - final htmlChars = ~/[&^<>'"]/; public function badNickName(name:String):Bool { -- cgit v1.2.3