Skip to content

Commit

Permalink
Add "Request New Authorization"
Browse files Browse the repository at this point in the history
  • Loading branch information
magnesj committed Feb 14, 2025
1 parent 860588d commit 651110f
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -247,11 +247,12 @@ void RiaCloudConnector::setTokenDataFilePath( const QString& filePath )
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiaCloudConnector::forceNewTokens()
void RiaCloudConnector::clearTokens()
{
if ( m_authCodeFlow )
{
m_authCodeFlow->grant();
m_authCodeFlow->setToken( "" );
m_authCodeFlow->setRefreshToken( "" );
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class RiaCloudConnector : public QObject

QString requestTokenBlocking();
void requestTokenWithCancelButton();
void forceNewTokens();
void clearTokens();

bool isGranted() const;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ RimCloudDataSourceCollection::RimCloudDataSourceCollection()
CAF_PDM_InitFieldNoDefault( &m_authenticate, "Authenticate", "" );
caf::PdmUiPushButtonEditor::configureEditorLabelLeft( &m_authenticate );

CAF_PDM_InitFieldNoDefault( &m_requestNewAuthentication, "RequestNewAuthentication", "" );
caf::PdmUiPushButtonEditor::configureEditorLabelLeft( &m_requestNewAuthentication );

CAF_PDM_InitFieldNoDefault( &m_sumoFieldName, "SumoFieldId", "Field Id" );
CAF_PDM_InitFieldNoDefault( &m_sumoCaseId, "SumoCaseId", "Case Id" );
m_sumoCaseId.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
Expand Down Expand Up @@ -110,6 +113,13 @@ void RimCloudDataSourceCollection::fieldChangedByUi( const caf::PdmFieldHandle*

m_authenticate = false;
}
else if ( changedField == &m_requestNewAuthentication )
{
m_sumoConnector->clearTokens();
m_sumoConnector->requestTokenWithCancelButton();

m_requestNewAuthentication = false;
}

if ( changedField == &m_sumoFieldName )
{
Expand Down Expand Up @@ -196,12 +206,16 @@ void RimCloudDataSourceCollection::defineUiOrdering( QString uiConfigName, caf::
{
auto authGroup = uiOrdering.addNewGroup( "Authentication" );
authGroup->add( &m_authenticate );
authGroup->add( &m_requestNewAuthentication );

bool isGranted = m_sumoConnector && m_sumoConnector->isGranted();
QString text = "Authentication Status: ";
text += isGranted ? "<font color='#228B22'>✔ Granted</font>" : "<font color='#FFA500'>❌ Not Granted</font>";

m_authenticate.uiCapability()->setUiName( text );
m_authenticate.uiCapability()->setUiReadOnly( isGranted );

m_requestNewAuthentication.uiCapability()->setUiHidden( isGranted );

if ( isGranted )
{
Expand Down Expand Up @@ -230,15 +244,21 @@ void RimCloudDataSourceCollection::defineEditorAttribute( const caf::PdmFieldHan
attrib->m_buttonText = "Authenticate";
}
}

if ( field == &m_addDataSources )
else if ( field == &m_requestNewAuthentication )
{
if ( auto attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute ) )
{
attrib->m_buttonText = "Request New Authentication";
}
}
else if ( field == &m_addDataSources )
{
if ( auto attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute ) )
{
attrib->m_buttonText = "Add Data Sources(s)";
}
}
if ( field == &m_addEnsembles )
else if ( field == &m_addEnsembles )
{
if ( auto attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>( attribute ) )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ class RimCloudDataSourceCollection : public caf::PdmObject

private:
caf::PdmField<bool> m_authenticate;
caf::PdmField<bool> m_requestNewAuthentication;
caf::PdmField<QString> m_sumoFieldName;
caf::PdmField<QString> m_sumoCaseId;
caf::PdmField<std::vector<QString>> m_sumoEnsembleNames;
Expand Down

0 comments on commit 651110f

Please sign in to comment.