diff options
| author | RblSb <msrblsb@gmail.com> | 2021-02-04 01:43:37 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2021-02-04 01:43:37 +0300 |
| commit | 2bb127e1cd582d9151ef1b70c3496bc79776a95a (patch) | |
| tree | 918bacef6e9e59754948fc7103570853fbb6c419 /src/server/Main.hx | |
| parent | ec90923038d902d7c0fa5220afd5b79650e17d47 (diff) | |
Improve changeOrder permission
closes #21
Diffstat (limited to 'src/server/Main.hx')
| -rw-r--r-- | src/server/Main.hx | 13 |
1 files changed, 4 insertions, 9 deletions
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 { |
