Skip to content
Snippets Groups Projects
Commit de03932a authored by Andrew Rudenets's avatar Andrew Rudenets
Browse files

Merge branch 'master' of http://itlab.mmcs.sfedu.ru/git/grade-rating

Conflicts:
	application/classes/Controller/Admin/Departaments.php
	application/classes/Controller/Teacher/Admin/Index.php
	web/application/classes/Controller/Teacher/Admin/Index.php
	web/application/classes/Model/Account.php
parents ad959dc3 88ceb036
Branches
Tags
No related merge requests found
Showing
with 1661 additions and 1727 deletions
This diff is collapsed.
-- phpMyAdmin SQL Dump
-- version 4.0.10
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1:3306
-- Время создания: Авг 22 2014 г., 14:07
-- Версия сервера: 5.5.37-log
-- Версия PHP: 5.3.28
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 */;
--
-- База данных: `Sample2`
--
--
-- Дамп данных таблицы `accounts`
--
INSERT INTO `accounts` (`ID`, `Login`, `Password`, `EMail`, `UserRoleID`, `ActivationCode`, `isEnabled`, `UserAgent`) VALUES
(6, 'Abbadon', 'ff6cfea689c242780b084583790e39f5eb03bb91', 'solidovic@gmail.com', 2, NULL, 1, NULL),
(7, NULL, NULL, NULL, 1, 'code2', 1, NULL);
--
-- Дамп данных таблицы `degrees`
--
INSERT INTO `degrees` (`ID`, `Name`) VALUES
(1, 'Аспирант'),
(2, 'Ассистент'),
(3, 'Ведущий научный сотрудник'),
(4, 'Главный научный сотрудник'),
(5, 'Докторант'),
(6, 'Доцент'),
(7, 'Младший научный сотрудник'),
(8, 'Научный сотрудник'),
(9, 'Преподаватель'),
(10, 'Профессор'),
(11, 'Старший преподаватель'),
(12, 'Стажер'),
(13, 'Старший научный сотрудник'),
(14, 'Доцент');
--
-- Дамп данных таблицы `departments`
--
INSERT INTO `departments` (`ID`, `Name`, `FacultyID`) VALUES
(1, 'Кафедра математического анализа', 1),
(2, 'Кафедра магического анализа', 1);
--
-- Дамп данных таблицы `faculties`
--
INSERT INTO `faculties` (`ID`, `Name`, `Abbr`) VALUES
(1, 'Математика Механика и КН', 'МехМат'),
(2, 'Юридический факультет', 'ЮрФак');
--
-- Дамп данных таблицы `general_settings`
--
INSERT INTO `general_settings` (`ID`, `Val`, `ValS`) VALUES
(1, 1, NULL),
(2, NULL, 'hfkshfkjdshkjfsdj');
--
-- Дамп данных таблицы `semesters`
--
INSERT INTO `semesters` (`ID`, `Year`, `Num`) VALUES
(1, 2014, 1);
--
-- Дамп данных таблицы `specializations`
--
INSERT INTO `specializations` (`ID`, `Name`, `Abbr`, `FacultyID`) VALUES
(1, 'Прикладная математика и информатика', 'ПМиИ', 1),
(2, 'Информационные технологии', 'ИТ', 1),
(3, 'Математика', 'Матем', 1),
(4, 'Механика', 'Механика', 1);
--
-- Дамп данных таблицы `students`
--
INSERT INTO `students` (`ID`, `StudyGroupID`, `AccountID`, `LastName`, `FirstName`, `SecondName`) VALUES
(1, 1, 7, 'Иванов', 'Иван', 'Иванович');
--
-- Дамп данных таблицы `study_groups`
--
INSERT INTO `study_groups` (`ID`, `Grade`, `GroupNum`, `SpecializationID`, `Name`) VALUES
(1, 1, 1, 1, NULL);
--
-- Дамп данных таблицы `subjects`
--
INSERT INTO `subjects` (`ID`, `Name`, `Abbr`) VALUES
(1, 'Математический анализ', 'Матан'),
(2, 'Конституционное право', 'КП'),
(3, 'Операционные системы', 'ОС'),
(4, 'История', 'История');
--
-- Дамп данных таблицы `teachers`
--
INSERT INTO `teachers` (`ID`, `LastName`, `FirstName`, `SecondName`, `DegreeID`, `DepartmentID`, `AccountID`) VALUES
(1, 'Колобок', 'Фазиль', 'Евреивич', 9, 1, 6);
--
-- Дамп данных таблицы `user_roles`
--
INSERT INTO `user_roles` (`ID`, `Type`, `Role`, `Mark`) VALUES
(1, 'student', 'common', 0),
(2, 'teacher', 'common', 0);
/*!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 */;
This diff is collapsed.
......@@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1:3306
-- Время создания: Авг 19 2014 г., 01:56
-- Время создания: Авг 22 2014 г., 14:07
-- Версия сервера: 5.5.37-log
-- Версия PHP: 5.3.28
......@@ -17,7 +17,7 @@ SET time_zone = "+00:00";
/*!40101 SET NAMES utf8 */;
--
-- База данных: `Sample3`
-- База данных: `Sample2`
--
-- --------------------------------------------------------
......@@ -30,103 +30,15 @@ CREATE TABLE IF NOT EXISTS `accounts` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Login` varchar(50) DEFAULT NULL,
`Password` varchar(64) DEFAULT NULL,
`E-Mail` varchar(255) DEFAULT NULL,
`Type` enum('student','teacher') NOT NULL,
`EMail` varchar(255) DEFAULT NULL,
`UserRoleID` int(11) NOT NULL,
`ActivationCode` varchar(40) DEFAULT NULL,
`isEnabled` tinyint(1) NOT NULL DEFAULT '1',
`UserAgent` text,
PRIMARY KEY (`ID`),
UNIQUE KEY `E-Mail` (`E-Mail`),
UNIQUE KEY `Login` (`Login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `attending_groups`
--
CREATE TABLE IF NOT EXISTS `attending_groups` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(50) DEFAULT NULL,
`SemesterID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `SemesterID` (`SemesterID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `attending_groups_bases`
--
CREATE TABLE IF NOT EXISTS `attending_groups_bases` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`AttendingGroupID` int(11) NOT NULL,
`StudyGroupID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `StudyGroupID` (`StudyGroupID`),
KEY `AttendingGroupID` (`AttendingGroupID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `attending_groups_pool`
--
CREATE TABLE IF NOT EXISTS `attending_groups_pool` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`AttendingGroupID` int(11) NOT NULL,
`StudentID` int(11) NOT NULL,
`Type` enum('attach','detach') NOT NULL,
PRIMARY KEY (`ID`),
KEY `AttendingGroupID` (`AttendingGroupID`),
KEY `StudentID` (`StudentID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `classrooms`
--
CREATE TABLE IF NOT EXISTS `classrooms` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(50) NOT NULL,
`Capacity` int(11) DEFAULT NULL,
`FacultyID` int(11) NOT NULL,
`Export` enum('true','false') NOT NULL DEFAULT 'false',
PRIMARY KEY (`ID`),
KEY `FacultyID` (`FacultyID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `classroom_sets`
--
CREATE TABLE IF NOT EXISTS `classroom_sets` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `classroom_sets_pool`
--
CREATE TABLE IF NOT EXISTS `classroom_sets_pool` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`ClassroomSetID` int(11) NOT NULL,
`ClassroomID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `ClassroomID` (`ClassroomID`),
KEY `ClassroomSetID` (`ClassroomSetID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
UNIQUE KEY `Login` (`Login`,`EMail`),
KEY `UserRoleID` (`UserRoleID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -138,7 +50,7 @@ CREATE TABLE IF NOT EXISTS `degrees` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(200) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -152,7 +64,7 @@ CREATE TABLE IF NOT EXISTS `departments` (
`FacultyID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `FacultyID` (`FacultyID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -169,13 +81,44 @@ CREATE TABLE IF NOT EXISTS `disciplines` (
`SemesterID` int(11) NOT NULL,
`PracticeCount` int(11) NOT NULL DEFAULT '0',
`LectionCount` int(11) NOT NULL DEFAULT '0',
`Type` enum('general','special','choosen') NOT NULL DEFAULT 'general',
`Department` varchar(200) DEFAULT NULL,
`DepartmentID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `SubjectID` (`SubjectID`),
KEY `TeacherID` (`AuthorID`),
KEY `SemesterID` (`SemesterID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
KEY `SemesterID` (`SemesterID`),
KEY `DepartmentID` (`DepartmentID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `disciplines_groups`
--
CREATE TABLE IF NOT EXISTS `disciplines_groups` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`DisciplineID` int(11) NOT NULL,
`StudyGroupID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `DisciplineID` (`DisciplineID`),
KEY `StudyGroupID` (`StudyGroupID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `disciplines_students`
--
CREATE TABLE IF NOT EXISTS `disciplines_students` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`DisciplineID` int(11) NOT NULL,
`StudentID` int(11) NOT NULL,
`Type` enum('attach','detach') NOT NULL,
PRIMARY KEY (`ID`),
KEY `DisciplineID` (`DisciplineID`),
KEY `StudentID` (`StudentID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -188,9 +131,10 @@ CREATE TABLE IF NOT EXISTS `disciplines_teachers` (
`DisciplineID` int(11) NOT NULL,
`TeacherID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `DisciplineID_2` (`DisciplineID`,`TeacherID`),
KEY `DisciplineID` (`DisciplineID`),
KEY `AccountID` (`TeacherID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -203,7 +147,7 @@ CREATE TABLE IF NOT EXISTS `faculties` (
`Name` varchar(100) NOT NULL,
`Abbr` varchar(20) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -216,22 +160,7 @@ CREATE TABLE IF NOT EXISTS `general_settings` (
`Val` int(11) DEFAULT NULL,
`ValS` varchar(300) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `lessons`
--
CREATE TABLE IF NOT EXISTS `lessons` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`AttendingGroupID` int(11) NOT NULL,
`DisciplineTeacherID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `DisciplineID` (`DisciplineTeacherID`),
KEY `AttendingGroupID` (`AttendingGroupID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -249,7 +178,7 @@ CREATE TABLE IF NOT EXISTS `logs` (
PRIMARY KEY (`ID`),
KEY `RatingTableID` (`RatingTableID`),
KEY `AccountID` (`AccountID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -265,7 +194,20 @@ CREATE TABLE IF NOT EXISTS `modules` (
PRIMARY KEY (`ID`),
UNIQUE KEY `OrderNum` (`OrderNum`,`DisciplineID`),
KEY `DisciplineID` (`DisciplineID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `page_access`
--
CREATE TABLE IF NOT EXISTS `page_access` (
`ID` int(11) NOT NULL,
`Pagename` text NOT NULL,
`Bitmask` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -284,7 +226,7 @@ CREATE TABLE IF NOT EXISTS `rating_table` (
KEY `StudentID` (`StudentID`),
KEY `SubmoduleID` (`SubmoduleID`),
KEY `TeacherID` (`TeacherID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -300,29 +242,7 @@ CREATE TABLE IF NOT EXISTS `requests` (
`Status` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `AccountID` (`AccountID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Структура таблицы `schedule`
--
CREATE TABLE IF NOT EXISTS `schedule` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`LessonID` int(11) NOT NULL,
`Day` int(11) NOT NULL,
`LessonTimeID` int(11) NOT NULL,
`ClassroomSetID` int(11) NOT NULL,
`SubgroupCount` int(11) NOT NULL,
`SubgroupNum` int(11) NOT NULL,
`WeekSplit` enum('full','up','down') NOT NULL DEFAULT 'full',
`LesType` int(11) NOT NULL,
`Notice` varchar(30) NOT NULL,
PRIMARY KEY (`ID`),
KEY `LessonID` (`LessonID`),
KEY `ClassroomSetID` (`ClassroomSetID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -335,7 +255,7 @@ CREATE TABLE IF NOT EXISTS `semesters` (
`Year` int(11) NOT NULL,
`Num` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -347,8 +267,10 @@ CREATE TABLE IF NOT EXISTS `specializations` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(50) NOT NULL,
`Abbr` varchar(20) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
`FacultyID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `FacultyID` (`FacultyID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -366,7 +288,7 @@ CREATE TABLE IF NOT EXISTS `students` (
PRIMARY KEY (`ID`),
KEY `StudyGroupID` (`StudyGroupID`),
KEY `AccountID` (`AccountID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -379,12 +301,10 @@ CREATE TABLE IF NOT EXISTS `study_groups` (
`Grade` int(11) NOT NULL,
`GroupNum` int(11) NOT NULL,
`SpecializationID` int(11) NOT NULL,
`FacultyID` int(11) NOT NULL,
`Name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `SpecializtionID` (`SpecializationID`),
KEY `FacultyID` (`FacultyID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
KEY `SpecializtionID` (`SpecializationID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -397,7 +317,7 @@ CREATE TABLE IF NOT EXISTS `subjects` (
`Name` varchar(50) NOT NULL,
`Abbr` varchar(20) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -416,7 +336,7 @@ CREATE TABLE IF NOT EXISTS `submodules` (
PRIMARY KEY (`ID`),
UNIQUE KEY `ModuleID_2` (`ModuleID`,`OrderNum`),
KEY `ModuleID` (`ModuleID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -435,44 +355,31 @@ CREATE TABLE IF NOT EXISTS `teachers` (
PRIMARY KEY (`ID`),
KEY `FacultyID` (`DepartmentID`),
KEY `AccountID` (`AccountID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Ограничения внешнего ключа сохраненных таблиц
--
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Ограничения внешнего ключа таблицы `attending_groups`
--
ALTER TABLE `attending_groups`
ADD CONSTRAINT `attending_groups_ibfk_1` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`);
-- --------------------------------------------------------
--
-- Ограничения внешнего ключа таблицы `attending_groups_bases`
-- Структура таблицы `user_roles`
--
ALTER TABLE `attending_groups_bases`
ADD CONSTRAINT `attending_groups_bases_ibfk_1` FOREIGN KEY (`AttendingGroupID`) REFERENCES `attending_groups` (`ID`),
ADD CONSTRAINT `attending_groups_bases_ibfk_2` FOREIGN KEY (`StudyGroupID`) REFERENCES `study_groups` (`ID`);
--
-- Ограничения внешнего ключа таблицы `attending_groups_pool`
--
ALTER TABLE `attending_groups_pool`
ADD CONSTRAINT `attending_groups_pool_ibfk_1` FOREIGN KEY (`AttendingGroupID`) REFERENCES `attending_groups` (`ID`),
ADD CONSTRAINT `attending_groups_pool_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`);
CREATE TABLE IF NOT EXISTS `user_roles` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Type` enum('student','teacher') NOT NULL,
`Role` enum('common','classMonitor','departmentAdmin','admin') NOT NULL,
`Mark` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Ограничения внешнего ключа таблицы `classrooms`
-- Ограничения внешнего ключа сохраненных таблиц
--
ALTER TABLE `classrooms`
ADD CONSTRAINT `classrooms_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`);
--
-- Ограничения внешнего ключа таблицы `classroom_sets_pool`
-- Ограничения внешнего ключа таблицы `accounts`
--
ALTER TABLE `classroom_sets_pool`
ADD CONSTRAINT `classroom_sets_pool_ibfk_1` FOREIGN KEY (`ClassroomID`) REFERENCES `classrooms` (`ID`),
ADD CONSTRAINT `classroom_sets_pool_ibfk_2` FOREIGN KEY (`ClassroomSetID`) REFERENCES `classroom_sets` (`ID`);
ALTER TABLE `accounts`
ADD CONSTRAINT `accounts_ibfk_1` FOREIGN KEY (`UserRoleID`) REFERENCES `user_roles` (`ID`);
--
-- Ограничения внешнего ключа таблицы `departments`
......@@ -486,7 +393,22 @@ ALTER TABLE `departments`
ALTER TABLE `disciplines`
ADD CONSTRAINT `disciplines_ibfk_2` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`),
ADD CONSTRAINT `disciplines_ibfk_4` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`),
ADD CONSTRAINT `disciplines_ibfk_5` FOREIGN KEY (`AuthorID`) REFERENCES `teachers` (`ID`);
ADD CONSTRAINT `disciplines_ibfk_5` FOREIGN KEY (`AuthorID`) REFERENCES `teachers` (`ID`),
ADD CONSTRAINT `disciplines_ibfk_6` FOREIGN KEY (`DepartmentID`) REFERENCES `departments` (`ID`);
--
-- Ограничения внешнего ключа таблицы `disciplines_groups`
--
ALTER TABLE `disciplines_groups`
ADD CONSTRAINT `disciplines_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
ADD CONSTRAINT `disciplines_groups_ibfk_2` FOREIGN KEY (`StudyGroupID`) REFERENCES `study_groups` (`ID`);
--
-- Ограничения внешнего ключа таблицы `disciplines_students`
--
ALTER TABLE `disciplines_students`
ADD CONSTRAINT `disciplines_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
ADD CONSTRAINT `disciplines_students_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`);
--
-- Ограничения внешнего ключа таблицы `disciplines_teachers`
......@@ -495,13 +417,6 @@ ALTER TABLE `disciplines_teachers`
ADD CONSTRAINT `disciplines_teachers_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
ADD CONSTRAINT `disciplines_teachers_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
--
-- Ограничения внешнего ключа таблицы `lessons`
--
ALTER TABLE `lessons`
ADD CONSTRAINT `lessons_ibfk_6` FOREIGN KEY (`AttendingGroupID`) REFERENCES `attending_groups` (`ID`),
ADD CONSTRAINT `lessons_ibfk_7` FOREIGN KEY (`DisciplineTeacherID`) REFERENCES `disciplines_teachers` (`ID`);
--
-- Ограничения внешнего ключа таблицы `logs`
--
......@@ -530,11 +445,10 @@ ALTER TABLE `requests`
ADD CONSTRAINT `requests_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
--
-- Ограничения внешнего ключа таблицы `schedule`
-- Ограничения внешнего ключа таблицы `specializations`
--
ALTER TABLE `schedule`
ADD CONSTRAINT `schedule_ibfk_1` FOREIGN KEY (`LessonID`) REFERENCES `lessons` (`ID`),
ADD CONSTRAINT `schedule_ibfk_2` FOREIGN KEY (`ClassroomSetID`) REFERENCES `classroom_sets` (`ID`);
ALTER TABLE `specializations`
ADD CONSTRAINT `specializations_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`);
--
-- Ограничения внешнего ключа таблицы `students`
......@@ -547,7 +461,6 @@ ALTER TABLE `students`
-- Ограничения внешнего ключа таблицы `study_groups`
--
ALTER TABLE `study_groups`
ADD CONSTRAINT `study_groups_ibfk_2` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
ADD CONSTRAINT `study_groups_ibfk_4` FOREIGN KEY (`SpecializationID`) REFERENCES `specializations` (`ID`);
--
......
cp $1/web/* $2
mysqladmin -u mmcs_rating -pPefnesdy drop mmcs_rating
mysqladmin -u mmcs_rating -pPefnesdy create mmcs_rating
mysql mmcs_rating < $1/db/Structure.sql
mysql mmcs_rating < $1/db/StoredProcedures.sql
mysql mmcs_rating < $1/db/Sample.sql
rm -rf ~/grade-rating
git clone http://itlab.mmcs.sfedu.ru/git/grade-rating ~/
~/grade-rating/deploy.sh ~/grade-rating ~/public_html
function event_inspector_showMessage($text, $success){
$('.TopRightMessage').text($text);
$('.TopRightMessage').show();
if ($success == true)
$('.TopRightMessage').css('background', '#2bbd19');
if ($success == false)
$('.TopRightMessage').css('background', '#FF6666');
if ($('.TopRightMessage').css('display') == 'block')
setInterval(
function(){
$('.TopRightMessage').hide("slow")
}, 5000
);
}
File moved
......@@ -242,6 +242,13 @@ Route::set('stdnt:profile', 'student/profile')
/* --------------- Преподаватели ---------------- */
Route::set('map:create', 'map/create')
->defaults(array(
'directory' => 'teacher',
'controller' => 'map',
'action' => 'create'
));
Route::set('map:edit', 'map/<id>', array('id' => '[0-9]+'))
->defaults(array(
'directory' => 'teacher',
......
......@@ -13,6 +13,37 @@ class Controller_Handler_Map extends Controller_Handler {
return $result[0]['Num'];
}
// Добавление преподавателем дисциплины
public function action_AddDiscipline() {
$data['success'] = false;
$this->post -> rule('Grade', 'not_empty')
-> rule('Grade', 'digit')
-> rule('SubjectID', 'not_empty')
-> rule('SubjectID', 'digit')
-> rule('ExamType', 'not_empty')
-> rule('LectionCount', 'not_empty')
-> rule('LectionCount', 'digit')
-> rule('PracticeCount', 'not_empty')
-> rule('PracticeCount', 'digit')
-> rule('DepartmentID', 'not_empty')
-> rule('DepartmentID', 'digit');
if($this->post->check()) {
$result = $this->model->AddDiscipline(
$this->user['TeacherID'],
$this->post->offsetGet('Grade'),
$this->post->offsetGet('SubjectID'),
$this->post->offsetGet('ExamType'),
$this->post->offsetGet('LectionCount'),
$this->post->offsetGet('PracticeCount'),
$this->post->offsetGet('DepartmentID')
);
$data['DisciplineID'] = $result[0]['Num'];
if ($data['DisciplineID'] > 0)
$data['success'] = true;
}
$this->response->body(json_encode($data));
}
// Изменения базовых параметров дисциплины
public function action_ChangeDiscipline() {
$data['success'] = false;
......@@ -107,32 +138,30 @@ class Controller_Handler_Map extends Controller_Handler {
// Поменять имя модуля
public function action_ChangeModuleName() {
$data['success'] = false;
$this->post -> rule('ModuleID', 'not_empty')
-> rule('ModuleID', 'digit')
-> rule('ModuleName', 'not_empty');
if($this->post->check()) {
$this->model->ChangeModuleName($this->user['TeacherID'], $this->post->offsetGet('ModuleID'), $this->post->offsetGet('ModuleName'));
$this->response->body(json_encode('Ok, ChangeModuleName!'));
}
else
$this->response->body(json_encode('Error, ChangeModuleName'));
$result = $this->model->ChangeModuleName($this->user['TeacherID'], $this->post->offsetGet('ModuleID'), $this->post->offsetGet('ModuleName'));
if ($result[0]['Num'] == 0)
$data['success'] = true;
}
$this->response->body(json_encode($data));
}
// Поменять имя мероприятия
public function action_ChangeSubmoduleName() {
$data['success'] = false;
$this->post -> rule('SubmoduleID', 'not_empty')
-> rule('SubmoduleID', 'digit')
-> rule('SubmoduleName', 'not_empty');
if($this->post->check()) {
$this->model->ChangeSubmoduleName($this->user['TeacherID'], $this->post->offsetGet('SubmoduleID'), $this->post->offsetGet('SubmoduleName'));
$this->response->body(json_encode('Ok, ChangeSubmoduleName!'));
$result = $this->model->ChangeSubmoduleName($this->user['TeacherID'], $this->post->offsetGet('SubmoduleID'), $this->post->offsetGet('SubmoduleName'));
if ($result[0]['Num'] == 0)
$data['success'] = true;
}
else
$this->response->body(json_encode('Error, ChangeSubmoduleName'));
}
public function action_ChangeSubmoduleOrder() {
$this->response->body(json_encode($data));
}
// СВАП порядка двух модулей
......@@ -178,8 +207,11 @@ class Controller_Handler_Map extends Controller_Handler {
$data['success'] = false;
$this->post -> rule('ModuleID', 'not_empty')
-> rule('ModuleID', 'digit')
-> rule('SubmodulesID', 'not_empty');
-> rule('SubmodulesID', 'not_empty')
-> rule('CurrentModuleOrder', 'not_empty')
-> rule('CurrentModuleOrder', 'digit');
if($this->post->check()) {
$ChangeOrderModulesID = json_decode($this->post->offsetGet('ChangeOrderModulesID'));
$Submodules = json_decode($this->post->offsetGet('SubmodulesID'));
foreach ($Submodules as &$SubmoduleID) {
$this->privateDeleteSubmodule($SubmoduleID);
......@@ -188,8 +220,20 @@ class Controller_Handler_Map extends Controller_Handler {
$this->user['TeacherID'],
$this->post->offsetGet('ModuleID')
);
if ($result[0]['Num'] == 0)
if ($result[0]['Num'] == 0) {
if (count($ChangeOrderModulesID) > 0) {
$NewOrder = $this->post->offsetGet('CurrentModuleOrder');
foreach($ChangeOrderModulesID as $ModuleID) {
$this->model->ChangeModuleOrder(
$this->user['TeacherID'],
$ModuleID,
$NewOrder
);
$NewOrder++;
}
}
$data['success'] = true;
}
}
$this->response->body(json_encode($data));
}
......@@ -198,12 +242,27 @@ class Controller_Handler_Map extends Controller_Handler {
public function action_DeleteSubmodule() {
$data['success'] = false;
$this->post -> rule('SubmoduleID', 'not_empty')
-> rule('SubmoduleID', 'digit');
-> rule('SubmoduleID', 'digit')
-> rule('CurrentSubmoduleOrder', 'not_empty')
-> rule('CurrentSubmoduleOrder', 'digit');
if($this->post->check()) {
$ChangeOrderSubmodulesID = json_decode($this->post->offsetGet('ChangeOrderSubmodulesID'));
$result = $this->privateDeleteSubmodule($this->post->offsetGet('SubmoduleID'));
if ($result == 0)
if ($result == 0) {
if (count($ChangeOrderSubmodulesID) > 0) {
$NewOrder = $this->post->offsetGet('CurrentSubmoduleOrder');
foreach($ChangeOrderSubmodulesID as $SubmoduleID) {
$this->model->ChangeSubmoduleOrder(
$this->user['TeacherID'],
$SubmoduleID,
$NewOrder
);
$NewOrder++;
}
}
$data['success'] = true;
}
}
}
$this->response->body(json_encode($data));
}
......
......@@ -24,7 +24,9 @@ class Controller_Student_Index extends Controller_UserEnvi {
$disciplinesHandled[$i]['Rate'] = $row['Rate'];
$disciplinesHandled[$i]['MaxRate'] = $row['MaxCurrentRate'];
}
$twig->disciplines = $disciplinesHandled;
if ($i != 0) {
$twig->disciplines = $disciplinesHandled;
}
$this->response->body($twig);
}
......
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Teacher_Index extends Controller_UserEnvi {
public function action_index()
{
$twig = Twig::factory('teacher/index');
// ???
$twig->User = $this->UserInfo;
$this->response->body($twig);
}
public function action_settings() {
$twig = Twig::factory('settings');
$twig->User = $this->UserInfo;
$this->response->body($twig);
}
}
\ No newline at end of file
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