1
/* A simple qt interface to add new users. */
11
// Global pointer to DBclient
12
extern DBclient* dbcp;
14
/* Simple constructor */
15
newUser::newUser(QWidget *parent)
20
// Customized signal-slot pairs
21
connect(mainUI.okButton, SIGNAL(clicked()), this, SLOT(sendVal()));
22
connect(mainUI.cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
25
/* Check information in the form and submit to user database.
26
* Before sending the data on the form to user databse, make sure:
27
* (1) Account name and passwd fields are not blank;
28
* (2) Account name is unique;
29
* (3) Passwd confirmation matches exactly the initial one. */
30
void newUser::sendVal()
32
// Is account field blank?
33
if (mainUI.account->text().isEmpty()) {
34
QMessageBox::warning(0, "Error in add user form", "Account name is required.");
38
// Is password field blank?
39
if (mainUI.passwd->text().isEmpty()) {
40
QMessageBox::warning(0, "Error in add user form", "Password field is required.");
41
mainUI.passwd->setFocus();
45
// Is password confirmation blank?
46
if (mainUI.confirmation->text().isEmpty()) {
47
QMessageBox::warning(0, "Error in add user form", "Password confirmation field is required.");
48
mainUI.confirmation->setFocus();
52
// Is password and confirmation match with each other?
53
if (mainUI.passwd->text() != mainUI.confirmation->text()) {
54
QMessageBox::warning(0, "Error in add user form", "confirmed password doesn't match the initial one.");
55
mainUI.confirmation->setFocus();
56
mainUI.confirmation->selectAll();
62
substring = mainUI.account->text().toStdString();
63
if (substring.length())
64
uiData.setAccount(substring);
66
substring = mainUI.name->text().toStdString();
67
if (substring.length())
68
uiData.setName(substring);
70
substring = mainUI.phone->text().toStdString();
71
if (substring.length())
72
uiData.setPhone(substring);
74
substring = mainUI.email->text().toStdString();
75
if (substring.length())
76
uiData.setEmail(substring);
78
substring = mainUI.address->text().toStdString();
79
if (substring.length())
80
uiData.setAddress(substring);
82
substring = mainUI.passwd->text().toStdString();
83
if (substring.length())
84
uiData.setPasswd(substring);
87
// Use dynamic binding to add new user to local or remote db
88
int stat = dbcp->putNewUser(uiData);
90
QString tmpStr = QString::fromStdString(dbcp->getErrMsg());
91
QMessageBox::warning(0, "Error in add user form", tmpStr);
95
QMessageBox::information(0, "User Added", "Account name " +
96
mainUI.account->text() + " has been added successfully!");
97
mainUI.account->clear();
99
mainUI.phone->clear();
100
mainUI.email->clear();
101
mainUI.address->clear();
102
mainUI.passwd->clear();
103
mainUI.confirmation->clear();