-
Notifications
You must be signed in to change notification settings - Fork 0
/
logindialog.cpp
52 lines (44 loc) · 1.39 KB
/
logindialog.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "logindialog.h"
#include "ui_logindialog.h"
#include <musers.h>
#include <QMessageBox>
LoginDialog::LoginDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::LoginDialog)
{
ui->setupUi(this);
ui->eUsername->setQuery("select users.id as cid, permissions.label as clabel, firstname||' '||lastname as ctitle from users inner join permissions on users.id = permissions.user_id where permission != 'user' and upassword is not null");
connect(ui->eUsername, SIGNAL(select()), this, SLOT(selectUser()));
ui->eUsername->setFocus();
}
void LoginDialog::selectUser()
{
ui->ePassword->setFocus();
}
LoginDialog::~LoginDialog()
{
delete ui;
}
void LoginDialog::on_buttonBox_accepted()
{
if (ui->ePassword->text().isEmpty())
return;
StrMap user;
if (MUsers::login(ui->eUsername->value(), ui->ePassword->text(), user))
{
App::instance()->userId = user["id"].toString();
App::instance()->userName = user["name"].toString();
App::instance()->userGender = user["gender"].toString();
App::instance()->userPermission = user["permission"].toString();
this->close();
}
else {
QMessageBox::warning(this, QObject::tr("Ketabkhaane"), tr("Invalid Username or Password."));
ui->ePassword->setText("");
ui->ePassword->setFocus();
}
}
void LoginDialog::on_buttonBox_rejected()
{
this->close();
}