-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsecurity.cpp
More file actions
29 lines (22 loc) · 1.12 KB
/
Copy pathsecurity.cpp
File metadata and controls
29 lines (22 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "security.h"
Security::Security()
{
}
// проверка на возможность создания нового журнала
bool Security::allowCreateJournal(User *user)
{
if (!user) return false;
// создавать новые журналы разрешается только админу, заучу и учителю
return (user->userType == utAdmin || user->userType == utDirector || user->userType == utTeacher);
}
// проверка на возможность редактирования журнала
bool Security::allowEditJournal(User *user, Journal *journal)
{
if (!user || !journal) return false;
// админу можно всё
if (user->userType == utAdmin) return true;
// завуч и учитель может редактировать только неархивированный неудалённый журнал
if (user->userType == utDirector || user->userType == utTeacher) return (!journal->isDeleted && !journal->isArchived);
// остальным редактирование запрещено
return false;
}