From 7cbf43d4082f06eb2cc6fda47b356bbb8d1604b9 Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Tue, 21 Nov 2017 17:28:11 +0100 Subject: [news] reworked permission system from "click and you get error" to "button is disabled due to lack of permission" --- modules-available/news/page.inc.php | 54 +++++++++++++------------------------ 1 file changed, 19 insertions(+), 35 deletions(-) (limited to 'modules-available/news/page.inc.php') diff --git a/modules-available/news/page.inc.php b/modules-available/news/page.inc.php index d6ad03dd..920b9861 100644 --- a/modules-available/news/page.inc.php +++ b/modules-available/news/page.inc.php @@ -64,30 +64,20 @@ class Page_News extends Page $pageType = Request::post('news-type'); if ($pageType == 'news') { - if(User::hasPermission("news.save")) { - if (!$this->saveNews()) { - // re-set the fields we got - Request::post('news-title') ? $this->newsTitle = Request::post('news-title') : $this->newsTitle = false; - Request::post('news-content') ? $this->newsContent = Request::post('news-content') : $this->newsContent = false; - } else { - Message::addSuccess('news-save-success'); - $lastId = Database::lastInsertId(); - Util::redirect("?do=News&newsid=$lastId"); - } + if (!$this->saveNews()) { + // re-set the fields we got + Request::post('news-title') ? $this->newsTitle = Request::post('news-title') : $this->newsTitle = false; + Request::post('news-content') ? $this->newsContent = Request::post('news-content') : $this->newsContent = false; } else { - Message::addError('main.no-permission'); - Util::redirect('?do=news'); + Message::addSuccess('news-save-success'); + $lastId = Database::lastInsertId(); + Util::redirect("?do=News&newsid=$lastId"); } } elseif ($pageType == 'help') { - if(User::hasPermission("help.save")) { - if ($this->saveHelp()) { - Message::addSuccess('help-save-success'); - $lastId = Database::lastInsertId(); - Util::redirect("?do=News&newsid=$lastId"); - } - } else { - Message::addError('main.no-permission'); - Util::redirect('?do=news'); + if ($this->saveHelp()) { + Message::addSuccess('help-save-success'); + $lastId = Database::lastInsertId(); + Util::redirect("?do=News&newsid=$lastId"); } } } elseif ($action === 'delete') { @@ -95,21 +85,11 @@ class Page_News extends Page $pageType = Request::post('news-type'); if ($pageType == 'news') { - if (User::hasPermission("news.delete")) { - $this->delNews(Request::post('newsid')); - Util::redirect('?do=News&editHelp='.Request::any('editHelp')); - } else { - Message::addError('main.no-permission'); - Util::redirect('?do=news'); - } + $this->delNews(Request::post('newsid')); + Util::redirect('?do=News&editHelp='.Request::any('editHelp')); } elseif ($pageType == 'help') { - if (User::hasPermission("help.delete")) { - $this->delNews(Request::post('newsid')); - Util::redirect('?do=News&editHelp='.Request::any('editHelp')); - } else { - Message::addError('main.no-permission'); - Util::redirect('?do=news'); - } + $this->delNews(Request::post('newsid')); + Util::redirect('?do=News&editHelp='.Request::any('editHelp')); } } else { // unknown action, redirect user @@ -159,6 +139,10 @@ class Page_News extends Page 'editHelp' => $this->editHelp, 'list' => $lines, 'listHelp' => $linesHelp, + 'allowedNewsSave' => User::hasPermission("news.save"), + 'allowedNewsDelete' => User::hasPermission("news.delete"), + 'allowedHelpSave' => User::hasPermission("help.save"), + 'allowedHelpDelete' => User::hasPermission("help.delete"), 'hasSummernote' => $this->hasSummernote, )); } /** -- cgit v1.2.3-55-g7522