AdminSettingForm show and hide for different user role

This commit is contained in:
Krad
2021-11-23 09:21:36 +08:00
parent 5c4e3453dd
commit b31bcbcf63
4 changed files with 41 additions and 3 deletions

View File

@@ -44,6 +44,7 @@ bool User::submitChange() {
}
bool User::QueryUser(QString userID, QString Pwd) {
QString sql = QString("select * from Account where UserCode=:userID and Password=:pwd");
QMap<QString,QVariant> map;
QMap<QString,QVariant> params;
@@ -54,12 +55,26 @@ bool User::QueryUser(QString userID, QString Pwd) {
{
if (!currentUser) currentUser = new User;
#define USER_READONLY_PROPERTY(name) currentUser->m_##name = map[#name].toString();
#define USER_PROPERTY(name)\
#define USER_PROPERTY(name) currentUser->mf_##name = false;\
USER_READONLY_PROPERTY(name)
USER_PROPERTIES_MACRO()
#undef USER_PROPERTY
#undef USER_READONLY_PROPERTY
currentUser->isAdminFlag = -1;
return true;
}
return false;
}
bool User::isAdmin() {
if (isAdminFlag<0)
{
QString sql = QString("select RoleName from Role where RoleID=:RoleID");
QMap<QString,QVariant> map;
QMap<QString,QVariant> params;
params[":RoleID"] = this->m_RoleID;
SQLHelper::QueryFirst(sql, map, &params);
isAdminFlag = map["RoleName"].toString() == "admin"?1:0 ;
}
return isAdminFlag;
}

View File

@@ -59,6 +59,7 @@ public:
mf_Password = false;
}
bool submitChange();
bool isAdmin();
private:
static User* currentUser;
@@ -70,6 +71,7 @@ private:
USER_PROPERTIES_MACRO()
#undef USER_PROPERTY
#undef USER_READONLY_PROPERTY
int isAdminFlag = -1;
};