Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
database_plugin.cpp
Zobrazit dokumentaci tohoto souboru.
1
7#include "database_plugin.h"
8#include "database.h"
9#include "msettings.h"
10
11using namespace Db::Plugins;
12
13
14DatabasePlugin::DatabasePlugin(QObject *parent) : QObject (parent) {
15 Q_ASSERT(parent != nullptr);
16 setObjectName("DatabasePlugin-Fotomon");
17}
18
19
20QString DatabasePlugin::connectionName() const {
21 return m_db.connectionName();
22}
23
24
25
26int DatabasePlugin::userId() const {
27 return (m_authenticatedUser != nullptr) ? m_authenticatedUser->user() : 0;
28}
29
30
31bool DatabasePlugin::userAuthenticated() const {
32 return (m_authenticatedUser != nullptr) ? m_authenticatedUser->authenticated() : false;
33}
34
35QString DatabasePlugin::userLogin() const {
36 return (m_authenticatedUser != nullptr) ? m_authenticatedUser->login() : QString();
37}
38
39
40QString DatabasePlugin::userLang() const {
41 return (m_authenticatedUser != nullptr) ? m_authenticatedUser->lang() : QString();
42}
43
44
45QList<Dbt::Statuses> DatabasePlugin::statuses(const QString& category, const QStringList& previousStatuses) {
46 QList<Dbt::Statuses> values;
47 for (int i=0; i<previousStatuses.size(); i++) {
48 values += statuses(category, previousStatuses[i]);
49 }
50
51 QMap<QString, int> counts;
52 for (int i=0; i<values.size(); i++) {
53 counts[values[i].status] += 1;
54 }
55
56 QList<QString> selected;
57 QMapIterator<QString, int> iterator(counts);
58 while (iterator.hasNext()) {
59 iterator.next();
60 const QString& status = iterator.key();
61 const int count = iterator.value();
62 if (count != previousStatuses.size()) { continue; }
63 selected << status;
64 }
65
66 QList<Dbt::Statuses> list;
67 QList<QString> selected2;
68 for (int i=0; i<values.size(); i++) {
69 if (selected2.contains(values[i].status)) { continue; }
70 if (!selected.contains(values[i].status)) { continue; }
71 selected2 << values[i].status;
72 list << values[i];
73 }
74 return list;
75}
76
77
78QList<Dbt::ServerInfo> DatabasePlugin::serverInfo() {
79 QList<Dbt::ServerInfo> list;
81 x.name = MSETTINGS->serverName();
82 x.description = MSETTINGS->serverDescription();
83 list << x;
84 return list;
85}
86