Add registration dialog and bare-minimum auth
This commit is contained in:
parent
42bf5da2a3
commit
1e30ca20e7
13 changed files with 658 additions and 41 deletions
|
|
@ -37,17 +37,17 @@ PID User::getCurrentProfession() const {
|
|||
return mCurrentProfession;
|
||||
}
|
||||
|
||||
User User::createUser(QString login, QString password, UserType userType,
|
||||
QString firstName, QString secondName, QString patronymic) {
|
||||
User u;
|
||||
User* User::createUser(QString login, QString password, UserType userType,
|
||||
QString firstName, QString secondName, QString patronymic) {
|
||||
User *u = new User();
|
||||
|
||||
u.mUID = QUuid::createUuid();
|
||||
u.mLogin = login;
|
||||
u.mPassword = password;
|
||||
u.mUserType = userType;
|
||||
u.mFirstName = firstName;
|
||||
u.mSecondName = secondName;
|
||||
u.mPatronymic = patronymic;
|
||||
u->mUID = QUuid::createUuid();
|
||||
u->mLogin = login;
|
||||
u->mPassword = password;
|
||||
u->mUserType = userType;
|
||||
u->mFirstName = firstName;
|
||||
u->mSecondName = secondName;
|
||||
u->mPatronymic = patronymic;
|
||||
|
||||
return u;
|
||||
}
|
||||
|
|
@ -62,15 +62,20 @@ bool User::hasProfession(PID pid) {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool User::addProfession(const Profession &p, ProfRank rank) {
|
||||
if (hasProfession(p.pID())) {
|
||||
bool User::addProfession(PID pid, ProfRank rank) {
|
||||
if (hasProfession(pid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mProfessions.size() >= 4) {
|
||||
mProfessions.remove(0);
|
||||
if (mCurrentProfession == mProfessions[0].getProfession()) {
|
||||
mProfessions.remove(1);
|
||||
}
|
||||
else {
|
||||
mProfessions.remove(0);
|
||||
}
|
||||
}
|
||||
UserProfession up(p.pID(), rank);
|
||||
UserProfession up(pid, rank);
|
||||
|
||||
mProfessions.push_back(up);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ typedef QUuid UID;
|
|||
typedef QVector<UserProfession> ProfessionsList;
|
||||
|
||||
enum class UserType {
|
||||
ADMINISTRATOR,
|
||||
DISPATCHER,
|
||||
WORKER
|
||||
ADMINISTRATOR = 0,
|
||||
DISPATCHER = 1,
|
||||
WORKER = 2
|
||||
};
|
||||
|
||||
class User {
|
||||
|
|
@ -30,6 +30,8 @@ private:
|
|||
ProfessionsList mProfessions;
|
||||
PID mCurrentProfession = 0;
|
||||
|
||||
friend class RegistrationDialog;
|
||||
|
||||
public:
|
||||
User() = default;
|
||||
|
||||
|
|
@ -43,11 +45,11 @@ public:
|
|||
ProfessionsList getProfessions() const;
|
||||
PID getCurrentProfession() const;
|
||||
|
||||
static User createUser(QString login, QString password, UserType userType,
|
||||
static User* createUser(QString login, QString password, UserType userType,
|
||||
QString firstName, QString secondName, QString patronymic);
|
||||
|
||||
bool hasProfession(PID pid);
|
||||
bool addProfession(const Profession &p, ProfRank rank);
|
||||
bool addProfession(PID pid, ProfRank rank);
|
||||
bool setCurrentProfession(PID pid);
|
||||
void removeProfession(PID pid);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue