From 7446ffcb80f15306978b6219487688954e709a50 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 28 Sep 2016 04:15:43 +0200 Subject: [PATCH] refs #769, use role bulk to decide if user can directly write models * renamed role functions * renamed buttons * some formatting --- .../components/datasettingscomponent.ui | 2 +- .../components/dbdebugdatabasesetup.cpp | 2 +- src/blackgui/components/dblogincomponent.cpp | 4 ++ src/blackgui/components/dblogincomponent.h | 2 +- src/blackgui/components/dblogincomponent.ui | 43 ++++++++++++------- .../components/dbmappingcomponent.cpp | 2 +- src/blackgui/components/dbstashcomponent.cpp | 4 +- src/blackgui/editors/modelmappingform.cpp | 2 +- .../editors/modelmappingmodifyform.cpp | 2 +- src/blackmisc/network/authenticateduser.cpp | 13 ++++-- src/blackmisc/network/authenticateduser.h | 7 ++- 11 files changed, 54 insertions(+), 29 deletions(-) diff --git a/src/blackgui/components/datasettingscomponent.ui b/src/blackgui/components/datasettingscomponent.ui index fc90faa9e..c8bfe0bff 100644 --- a/src/blackgui/components/datasettingscomponent.ui +++ b/src/blackgui/components/datasettingscomponent.ui @@ -151,7 +151,7 @@ - + Qt::Vertical diff --git a/src/blackgui/components/dbdebugdatabasesetup.cpp b/src/blackgui/components/dbdebugdatabasesetup.cpp index 5beb9e135..dde74d505 100644 --- a/src/blackgui/components/dbdebugdatabasesetup.cpp +++ b/src/blackgui/components/dbdebugdatabasesetup.cpp @@ -26,7 +26,7 @@ namespace BlackGui ui(new Ui::CDbDebugDatabaseSetup) { ui->setupUi(this); - bool enabled = sGui->isRunningInDeveloperEnvironment(); + const bool enabled = sGui->isRunningInDeveloperEnvironment(); this->setEnabled(enabled); if (!enabled) { diff --git a/src/blackgui/components/dblogincomponent.cpp b/src/blackgui/components/dblogincomponent.cpp index dbcabaa76..3fe6cc0bb 100644 --- a/src/blackgui/components/dblogincomponent.cpp +++ b/src/blackgui/components/dblogincomponent.cpp @@ -48,9 +48,13 @@ namespace BlackGui QString html = ui->tbr_InfoAndHints->toHtml(); html = html.replace("##swiftDB##", url.getFullUrl(), Qt::CaseInsensitive); html = html.replace("##swiftEnableSSO##", url.getFullUrl(), Qt::CaseInsensitive); + ui->tbr_InfoAndHints->setHtml(html); ui->tbr_InfoAndHints->setOpenExternalLinks(true); + const bool devEnv = sGui->isRunningInDeveloperEnvironment(); + ui->comp_DebugSetup->setVisible(devEnv); + connect(ui->pb_Login, &QPushButton::clicked, this, &CDbLoginComponent::ps_onLoginClicked); connect(ui->pb_Logoff, &QPushButton::clicked, this, &CDbLoginComponent::ps_onLogoffClicked); connect(&m_loginService, &CDatabaseAuthenticationService::userAuthenticationFinished, this, &CDbLoginComponent::ps_AuthenticationFinished); diff --git a/src/blackgui/components/dblogincomponent.h b/src/blackgui/components/dblogincomponent.h index aadd6b38a..4359b64c2 100644 --- a/src/blackgui/components/dblogincomponent.h +++ b/src/blackgui/components/dblogincomponent.h @@ -43,7 +43,7 @@ namespace BlackGui ~CDbLoginComponent(); private: - QScopedPointer ui; + QScopedPointer ui; BlackCore::Db::CDatabaseAuthenticationService m_loginService {this}; //!< login service //! Overlay messages diff --git a/src/blackgui/components/dblogincomponent.ui b/src/blackgui/components/dblogincomponent.ui index 49756d957..e736c7c94 100644 --- a/src/blackgui/components/dblogincomponent.ui +++ b/src/blackgui/components/dblogincomponent.ui @@ -108,10 +108,16 @@ - - - - Password: + + + + QLineEdit::PasswordEchoOnEdit + + + password + + + true @@ -138,16 +144,10 @@ - - - - QLineEdit::PasswordEchoOnEdit - - - password - - - true + + + + Password: @@ -156,11 +156,24 @@ 0 - 25 + 40 + + + + Qt::Vertical + + + + 20 + 40 + + + + diff --git a/src/blackgui/components/dbmappingcomponent.cpp b/src/blackgui/components/dbmappingcomponent.cpp index 2c58c54a6..59c8da93d 100644 --- a/src/blackgui/components/dbmappingcomponent.cpp +++ b/src/blackgui/components/dbmappingcomponent.cpp @@ -144,7 +144,7 @@ namespace BlackGui void CDbMappingComponent::initVPilotLoading() { - this->m_vPilotEnabled = this->vPilotSupport && this->m_swiftDbUser.get().isMappingAdmin(); + this->m_vPilotEnabled = this->vPilotSupport && this->m_swiftDbUser.get().hasAdminRole(); static const QString tabName(ui->tw_ModelsToBeMapped->tabText(TabVPilot)); if (this->m_vPilot1stInit && vPilotSupport) diff --git a/src/blackgui/components/dbstashcomponent.cpp b/src/blackgui/components/dbstashcomponent.cpp index bc6996d54..ff80c69f0 100644 --- a/src/blackgui/components/dbstashcomponent.cpp +++ b/src/blackgui/components/dbstashcomponent.cpp @@ -475,13 +475,13 @@ namespace BlackGui } else if (user.canDirectlyWriteModels()) { - ui->pb_Publish->setText("Publish (admin)"); + ui->pb_Publish->setText("Publish (direct)"); ui->pb_Publish->setToolTip("Models directly released"); ui->pb_Publish->setEnabled(true); } else { - ui->pb_Publish->setText("Publish (user)"); + ui->pb_Publish->setText("Publish (CR)"); ui->pb_Publish->setToolTip("Models published as change request"); ui->pb_Publish->setEnabled(true); } diff --git a/src/blackgui/editors/modelmappingform.cpp b/src/blackgui/editors/modelmappingform.cpp index fcc6b7f09..888cec5ae 100644 --- a/src/blackgui/editors/modelmappingform.cpp +++ b/src/blackgui/editors/modelmappingform.cpp @@ -91,7 +91,7 @@ namespace BlackGui void CModelMappingForm::ps_userChanged() { const CAuthenticatedUser user(this->getSwiftDbUser()); - if (user.isAdmin()) + if (user.hasAdminRole()) { ui->selector_ModelMode->setValue(CAircraftModel::Include); ui->selector_ModelMode->setReadOnly(false); diff --git a/src/blackgui/editors/modelmappingmodifyform.cpp b/src/blackgui/editors/modelmappingmodifyform.cpp index 561dad7ef..0d51f1afe 100644 --- a/src/blackgui/editors/modelmappingmodifyform.cpp +++ b/src/blackgui/editors/modelmappingmodifyform.cpp @@ -93,7 +93,7 @@ namespace BlackGui void CModelMappingModifyForm::ps_userChanged() { const CAuthenticatedUser user(this->getSwiftDbUser()); - if (user.isAdmin()) + if (user.hasAdminRole()) { ui->selector_ModeSelector->setValue(CAircraftModel::Include); ui->selector_ModeSelector->setReadOnly(false); diff --git a/src/blackmisc/network/authenticateduser.cpp b/src/blackmisc/network/authenticateduser.cpp index 0f2e4a0f9..e7d594dfc 100644 --- a/src/blackmisc/network/authenticateduser.cpp +++ b/src/blackmisc/network/authenticateduser.cpp @@ -98,19 +98,24 @@ namespace BlackMisc return msgs; } - bool CAuthenticatedUser::isAdmin() const + bool CAuthenticatedUser::hasAdminRole() const { return this->hasRole("ADMIN"); } - bool CAuthenticatedUser::isMappingAdmin() const + bool CAuthenticatedUser::hasMappingAdminRole() const { - return this->hasRole("MAPPINGADMIN") || this->isAdmin(); + return this->hasRole("MAPPINGADMIN"); + } + + bool CAuthenticatedUser::hasBulkRole() const + { + return this->hasRole("BULK"); } bool CAuthenticatedUser::canDirectlyWriteModels() const { - return this->isAdmin() || this->isMappingAdmin(); + return this->hasBulkRole(); } CIcon CAuthenticatedUser::toIcon() const diff --git a/src/blackmisc/network/authenticateduser.h b/src/blackmisc/network/authenticateduser.h index 83a5b2d5f..9ed68b225 100644 --- a/src/blackmisc/network/authenticateduser.h +++ b/src/blackmisc/network/authenticateduser.h @@ -129,10 +129,13 @@ namespace BlackMisc void setCountry(const BlackMisc::CCountry &country) { m_country = country; } //! Admin? - bool isAdmin() const; + bool hasAdminRole() const; //! Admin? - bool isMappingAdmin() const; + bool hasMappingAdminRole() const; + + //! Has bulk role? + bool hasBulkRole() const; //! Authenticated void setAuthenticated(bool authenticated) { m_authenticated = authenticated; }