Add fully-functional administration panel for administrators and dispatchers
This commit is contained in:
parent
bf599549ea
commit
ff6901e3a9
22 changed files with 1257 additions and 42 deletions
64
iFacility/viewmodels/administrationviewmodel.cpp
Normal file
64
iFacility/viewmodels/administrationviewmodel.cpp
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#include "administrationviewmodel.h"
|
||||
|
||||
AdministrationViewModel::AdministrationViewModel(QObject *parent) : QAbstractTableModel(parent) {
|
||||
|
||||
}
|
||||
|
||||
int AdministrationViewModel::rowCount(const QModelIndex &/*parent*/) const {
|
||||
return mUserData.length();
|
||||
}
|
||||
|
||||
int AdministrationViewModel::columnCount(const QModelIndex &/*parent*/) const {
|
||||
return 4;
|
||||
}
|
||||
|
||||
QVariant AdministrationViewModel::headerData(int section, Qt::Orientation orientation,
|
||||
int role) const {
|
||||
if (role == Qt::DisplayRole && orientation == Qt::Horizontal) {
|
||||
switch (section) {
|
||||
case 0:
|
||||
return QString("UID");
|
||||
case 1:
|
||||
return QString("Login");
|
||||
case 2:
|
||||
return QString("Full name");
|
||||
case 3:
|
||||
return QString("Status");
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QVariant AdministrationViewModel::data(const QModelIndex &index, int role) const {
|
||||
if (role == Qt::DisplayRole) {
|
||||
auto usr = mUserData[index.row()];
|
||||
|
||||
int col = index.column();
|
||||
switch (col) {
|
||||
case 0:
|
||||
return usr.uID();
|
||||
case 1:
|
||||
return usr.getLogin();
|
||||
case 2:
|
||||
return usr.getFullName();
|
||||
case 3:
|
||||
return usr.getUserType() == UserType::ADMINISTRATOR? "Administrator" : "Dispatcher";
|
||||
}
|
||||
|
||||
return "UNKNOWN FIELD";
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
void AdministrationViewModel::invalidateData() {
|
||||
beginResetModel();
|
||||
mUserData.clear();
|
||||
foreach (auto u, Database::instance()->getUsersByType(UserType::ADMINISTRATOR)) {
|
||||
mUserData += *u;
|
||||
}
|
||||
foreach (auto u, Database::instance()->getUsersByType(UserType::DISPATCHER)) {
|
||||
mUserData += *u;
|
||||
}
|
||||
endResetModel();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue