Reset account password

This commit is contained in:
Krad
2021-12-10 11:22:20 +08:00
parent bbc424cff6
commit 5c62bdf120
3 changed files with 43 additions and 9 deletions

View File

@@ -21,16 +21,19 @@ bool User::submitChange() {
static QString updateSQL = "update Account %1 %2";
QString setString = "";
QMap<QString,QVariant> params;
bool needUpdate = false;
#define USER_READONLY_PROPERTY(name)
#define USER_PROPERTY(name)\
USER_READONLY_PROPERTY(name)\
if (mf_##name){\
setString += QString((!setString.isEmpty())?", ":"") + QString(QString("set %1=%2").arg(#name, ":" #name));\
params[":" #name] = m_##name;\
needUpdate = true;\
}
USER_PROPERTIES_MACRO()
#undef USER_PROPERTY
#undef USER_READONLY_PROPERTY
if (!needUpdate) return true;
QString whereString = " where "+getIndexName()+" = '"+getIndexValue()+"'";
bool result = 1 == SQLHelper::ExecuteNoQuery(updateSQL.arg(setString,whereString),&params);
if (result)
@@ -170,6 +173,12 @@ bool User::insertUser(QString UserCode, User &user) {
return result;
}
bool User::resetPassword() {
static QString defaultPwd = User::getEncryptedPassword("123456");
this->setPassword(defaultPwd);
return this->submitChange();
}

View File

@@ -63,6 +63,7 @@ public:
}
bool submitChange();
bool isAdmin();
bool resetPassword();
static QString getRoleName(QString RoleID);
static QString getRoleID(QString RoleName);
static QStringList getAllRoleName();