Изменение пароля

This commit is contained in:
2025-10-16 18:56:09 +03:00
parent 241382d305
commit b539f9fd2b
12 changed files with 174 additions and 15 deletions

View File

@@ -1,12 +1,14 @@
#include "dialogeditinstructor.h"
#include "ui_dialogeditinstructor.h"
#include "hashtools.h"
#include <QPushButton>
#include <QRegExpValidator>
DialogEditInstructor::DialogEditInstructor(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogEditInstructor),
instructorInput()
instructorInput(),
flNeedHashPassword(false)
{
ui->setupUi(this);
verify();
@@ -16,15 +18,17 @@ DialogEditInstructor::DialogEditInstructor(QWidget *parent) :
ui->editPassword->setProperty("mandatoryField", true);
ui->btnViewPassword->setObjectName("btnViewPassword");
ui->btnChangePassword->setObjectName("btnChangePassword");
ui->editLogin->setValidator(new QRegExpValidator(QRegExp("[A-Za-z\\d]+"), this));
ui->editPassword->setEnabled(false);
//#ifndef PROJECT_TYPE_DEBUG
#ifndef PROJECT_TYPE_DEBUG
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password);
//#endif
#endif
ui->btnViewPassword->setEnabled(false);
ui->btnChangePassword->setEnabled(false);
ui->btnOK->setEnabled(false);
}
@@ -56,8 +60,8 @@ void DialogEditInstructor::setInstructor(Instructor instructor)
ui->editPassword->setEnabled(true);
ui->btnViewPassword->setEnabled(true);
}
//else
//ui->editPassword->setText("*****");
else
ui->btnChangePassword->setEnabled(true);
ui->btnOK->setEnabled(false);
}
@@ -68,7 +72,15 @@ Instructor DialogEditInstructor::getInstructor()
instructor.setName(ui->editName->text());
instructor.setLogin(ui->editLogin->text());
instructor.setPassword(ui->editPassword->text());
if(flNeedHashPassword)
{
QString psw = ui->editPassword->text();
psw = HashTools::hashingMD5string(psw);
instructor.setPassword(psw);
}
else
instructor.setPassword(ui->editPassword->text());
instructor.setIsAdmin(ui->checkIsAdmin->isChecked());
instructor.setArchived(ui->checkArchived->isChecked());
@@ -116,3 +128,12 @@ void DialogEditInstructor::on_btnViewPassword_released()
{
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password);
}
void DialogEditInstructor::on_btnChangePassword_clicked()
{
ui->editPassword->setEnabled(true);
ui->btnViewPassword->setEnabled(true);
ui->editPassword->setText("");
flNeedHashPassword = true;
}