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

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

@@ -0,0 +1,14 @@
#include "dialognewpassword.h"
#include "ui_dialognewpassword.h"
DialogNewPassword::DialogNewPassword(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogNewPassword)
{
ui->setupUi(this);
}
DialogNewPassword::~DialogNewPassword()
{
delete ui;
}

View File

@@ -0,0 +1,22 @@
#ifndef DIALOGNEWPASSWORD_H
#define DIALOGNEWPASSWORD_H
#include <QDialog>
namespace Ui {
class DialogNewPassword;
}
class DialogNewPassword : public QDialog
{
Q_OBJECT
public:
explicit DialogNewPassword(QWidget *parent = nullptr);
~DialogNewPassword();
private:
Ui::DialogNewPassword *ui;
};
#endif // DIALOGNEWPASSWORD_H

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DialogNewPassword</class>
<widget class="QDialog" name="DialogNewPassword">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>277</width>
<height>95</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLineEdit" name="editPassword1"/>
</item>
<item>
<widget class="QLineEdit" name="editPassword2"/>
</item>
<item>
<widget class="QPushButton" name="btnOK">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

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,6 +72,14 @@ Instructor DialogEditInstructor::getInstructor()
instructor.setName(ui->editName->text());
instructor.setLogin(ui->editLogin->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());
@@ -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;
}

View File

@@ -33,6 +33,8 @@ private slots:
void on_btnViewPassword_released();
void on_btnChangePassword_clicked();
private:
void verify();
@@ -40,6 +42,8 @@ private:
Ui::DialogEditInstructor *ui;
Instructor instructorInput;
bool flNeedHashPassword;
};
#endif // DIALOGEDITINSTRUCTOR_H

View File

@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>300</width>
<width>470</width>
<height>286</height>
</rect>
</property>
@@ -98,6 +98,17 @@
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnChangePassword">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/resources/icons/exchange.png</normaloff>:/resources/icons/exchange.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
</layout>

View File

@@ -54,5 +54,6 @@
<file>resources/icons/info.png</file>
<file>resources/icons/personalCard.png</file>
<file>resources/icons/eye.png</file>
<file>resources/icons/exchange.png</file>
</qresource>
</RCC>

View File

@@ -87,6 +87,13 @@ QToolButton#btnAssignTask {
width: 80px;
height: 55px;
}
QToolButton#btnViewPassword, QToolButton#btnChangePassword {
min-width: 18px;
width: 18px;
height: 18px;
}
QPushButton:flat, QToolButton:flat {
border: none; /* no border for a flat push button */
}
@@ -286,7 +293,6 @@ QTextEdit#editMsg {
height: 65px; /**/
background: #ddeeff;
background: #ffffff;
}
QTextEdit#MsgWidgetEditTextLocal {
/*background: tlightgreen;*/
@@ -337,6 +343,12 @@ QLabel#MessangerWidgetLblLoggedIn {
}
QLabel#PersonalCard_lblName {
font-size: 16pt;
}
QWidget#widgetControl {
background: #E0E0E0;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,12 +1,14 @@
#include "dialogedittrainee.h"
#include "ui_dialogedittrainee.h"
#include "hashtools.h"
#include <QPushButton>
#include <QRegExpValidator>
DialogEditTrainee::DialogEditTrainee(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogEditTrainee),
traineeInput()
traineeInput(),
flNeedHashPassword(false)
{
ui->setupUi(this);
verify();
@@ -16,15 +18,17 @@ DialogEditTrainee::DialogEditTrainee(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);
}
@@ -50,8 +54,8 @@ void DialogEditTrainee::setTrainee(Trainee trainee)
ui->editPassword->setEnabled(true);
ui->btnViewPassword->setEnabled(true);
}
//else
//ui->editPassword->setText("*****");
else
ui->btnChangePassword->setEnabled(true);
ui->btnOK->setEnabled(false);
}
@@ -62,6 +66,14 @@ Trainee DialogEditTrainee::getTrainee()
trainee.setName(ui->editName->text());
trainee.setLogin(ui->editLogin->text());
if(flNeedHashPassword)
{
QString psw = ui->editPassword->text();
psw = HashTools::hashingMD5string(psw);
trainee.setPassword(psw);
}
else
trainee.setPassword(ui->editPassword->text());
trainee.setArchived(ui->checkArchived->isChecked());
@@ -109,3 +121,12 @@ void DialogEditTrainee::on_btnViewPassword_released()
{
ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password);
}
void DialogEditTrainee::on_btnChangePassword_clicked()
{
ui->editPassword->setEnabled(true);
ui->btnViewPassword->setEnabled(true);
ui->editPassword->setText("");
flNeedHashPassword = true;
}

View File

@@ -32,6 +32,8 @@ private slots:
void on_btnViewPassword_released();
void on_btnChangePassword_clicked();
private:
void verify();
@@ -39,6 +41,8 @@ private:
Ui::DialogEditTrainee *ui;
Trainee traineeInput;
bool flNeedHashPassword;
};
#endif // DIALOGEDITTRAINEE_H

View File

@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>300</width>
<width>470</width>
<height>252</height>
</rect>
</property>
@@ -106,6 +106,17 @@
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnChangePassword">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/resources/icons/exchange.png</normaloff>:/resources/icons/exchange.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
</layout>