AdminSettingForm show and hide for different user role
This commit is contained in:
@@ -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, ¶ms);
|
||||
isAdminFlag = map["RoleName"].toString() == "admin"?1:0 ;
|
||||
}
|
||||
return isAdminFlag;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user