Skip to content
Snippets Groups Projects
Commit 63b8bbc6 authored by Artem Konenko's avatar Artem Konenko Committed by PavelBegunkov
Browse files

Close #83 Move curator's interface to all teachers

* Eliminate redundant  role
* A little refactor in base.twig around officeTitle ifs
* Eliminate redundant db tables
parent 2e3439e8
Branches
Tags
No related merge requests found
......@@ -16,12 +16,10 @@ SET time_zone = "+00:00";
-- 4 - teacher
-- 8 - admin
-- 16 - deans
-- 32 - curator
INSERT INTO `user_roles` (`ID`, `Type`, `RoleName`, `Mark`) VALUES
(1, 'student', 'Студент', 3),
(2, 'teacher', 'Преподаватель', 5),
(3, 'teacher', 'Преподаватель-Администратор', 31),
(4, 'teacher', 'Работник деканата', 21),
(5, 'teacher', 'Преподаватель-Куратор', 37);
(4, 'teacher', 'Работник деканата', 21);
-- --------------------------------------------------------
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
-- --------------------------------------------------------
--
-- Структура таблицы `curators_groups`
--
CREATE TABLE IF NOT EXISTS `curators_groups` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TeacherID` int(11) NOT NULL,
`GroupID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `TeacherID` (`TeacherID`),
KEY `GroupID` (`GroupID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Ограничения внешнего ключа таблицы `curators_groups`
--
ALTER TABLE `curators_groups`
ADD CONSTRAINT `curators_groups_ibfk_1` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`),
ADD CONSTRAINT `curators_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`);
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
-- --------------------------------------------------------
--
-- Структура таблицы `curators_groups`
--
CREATE TABLE IF NOT EXISTS `curators_groups` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TeacherID` int(11) NOT NULL,
`GroupID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `TeacherID` (`TeacherID`),
KEY `GroupID` (`GroupID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Ограничения внешнего ключа таблицы `curators_groups`
--
ALTER TABLE `curators_groups`
ADD CONSTRAINT `curators_groups_ibfk_1` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`),
ADD CONSTRAINT `curators_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`);
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
......@@ -11,7 +11,7 @@ class Controller_Environment_Office extends Controller_Environment_User
public function before() {
parent::before();
$this->user->checkAccess(User::RIGHTS_DEAN | User::RIGHTS_ADMIN | User::RIGHTS_CURATOR);
$this->user->checkAccess(User::RIGHTS_DEAN | User::RIGHTS_ADMIN | User::RIGHTS_TEACHER);
if ($this->user->isAdmin()) {
$str='sidePanel/admin.json';
......@@ -19,8 +19,8 @@ class Controller_Environment_Office extends Controller_Environment_User
elseif ($this->user->isDean()) {
$str='sidePanel/dean.json';
}
elseif ($this->user->isCurator()) {
$str='sidePanel/curator.json';
elseif ($this->user->isTeacher()) {
$str='sidePanel/teacher.json';
}
// todo: move to twig
......
......@@ -36,8 +36,6 @@ class User implements ArrayAccess
const RIGHTS_TEACHER = 4;
const RIGHTS_ADMIN = 8;
const RIGHTS_DEAN = 16;
const RIGHTS_CURATOR = 32;
/** @var Session */
protected $_session;
......@@ -109,10 +107,6 @@ class User implements ArrayAccess
return (bool) ($this->RoleMark & self::RIGHTS_TEACHER);
}
public function isCurator() {
return (bool) ($this->RoleMark & self::RIGHTS_CURATOR);
}
public function isStudent() {
return (bool) ($this->RoleMark & self::RIGHTS_DEAN);
}
......
......@@ -110,14 +110,17 @@
{# see media/js/profile.js, views/profile/*.twig #}
<div id="username">{{ User.FirstName }} {{ User.LastName }}</div>
{% set officeTitle = '' %}
{% if User.isAdmin %}
{% set officeTitle = 'Администрирование' %}
{{ HTML.anchor('/office', '<i class="fa fa-university fa-md fa-fw"></i>', {'title': officeTitle })|raw }}
{% elseif User.isDean %}
{% set officeTitle = 'Деканат' %}
{{ HTML.anchor('/office', '<i class="fa fa-university fa-md fa-fw"></i>', {'title': officeTitle })|raw }}
{% elseif User.isCurator %}
{% set officeTitle = 'Куратор' %}
{% elseif User.isTeacher %}
{% set officeTitle = 'Сводные ведомости' %}
{% endif %}
{% if officeTitle != '' %}
{{ HTML.anchor('/office', '<i class="fa fa-university fa-md fa-fw"></i>', {'title': officeTitle })|raw }}
{% endif %}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment