From 5563e414152badd4a5ca8a28a24197d9035d38f1 Mon Sep 17 00:00:00 2001 From: Camila Date: Wed, 21 Sep 2022 17:22:01 +0200 Subject: Fix persistent two factor auth notification. The server app returns a 202 code when the request succeeded, which was not taken into account. Signed-off-by: Camila --- src/gui/ocsjob.h | 2 ++ src/gui/tray/ActivityActionButton.qml | 10 ++++------ src/gui/tray/ActivityItemActions.qml | 5 ++--- src/gui/tray/usermodel.cpp | 6 ++++-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/gui/ocsjob.h b/src/gui/ocsjob.h index a6ee88f86..e3b8b475d 100644 --- a/src/gui/ocsjob.h +++ b/src/gui/ocsjob.h @@ -26,6 +26,8 @@ #define OCS_SUCCESS_STATUS_CODE 100 // Apparantly the v2.php URLs can return that #define OCS_SUCCESS_STATUS_CODE_V2 200 +// Two factor auth notification returns Accepted 202 +#define OCS_ACCEPTED_STATUS_CODE 202 // not modified when using ETag #define OCS_NOT_MODIFIED_STATUS_CODE_V2 304 diff --git a/src/gui/tray/ActivityActionButton.qml b/src/gui/tray/ActivityActionButton.qml index 53ae3f40a..a6b0d70da 100644 --- a/src/gui/tray/ActivityActionButton.qml +++ b/src/gui/tray/ActivityActionButton.qml @@ -10,7 +10,7 @@ Item { property string text: "" property string toolTipText: "" - property bool bold: false + property bool primaryButton: false property string imageSource: "" property string imageSourceHover: "" @@ -18,12 +18,10 @@ Item { property color textColor: Style.ncTextColor property color textColorHovered: Style.ncSecondaryTextColor - property bool primaryButton: false - signal clicked() Loader { - active: root.imageSource === "" && !primaryButton + active: !root.primaryButton anchors.fill: parent @@ -40,7 +38,7 @@ Item { } Loader { - active: root.imageSource !== "" || primaryButton + active: root.primaryButton anchors.fill: parent @@ -55,7 +53,7 @@ Item { textColor: root.textColor textColorHovered: root.textColorHovered - bold: root.bold + bold: root.primaryButton imageSource: root.imageSource imageSourceHover: root.imageSourceHover diff --git a/src/gui/tray/ActivityItemActions.qml b/src/gui/tray/ActivityItemActions.qml index 40934fea6..130a51566 100644 --- a/src/gui/tray/ActivityItemActions.qml +++ b/src/gui/tray/ActivityItemActions.qml @@ -46,10 +46,9 @@ RowLayout { imageSource: model.modelData.imageSource ? model.modelData.imageSource + root.adjustedHeaderColor : "" imageSourceHover: model.modelData.imageSourceHovered ? model.modelData.imageSourceHovered + UserModel.currentUser.headerTextColor : "" - textColor: imageSource !== "" || primary ? root.adjustedHeaderColor : Style.ncTextColor - textColorHovered: imageSource !== "" || primary ? UserModel.currentUser.headerTextColor : Style.ncTextColor + textColor: primary ? root.adjustedHeaderColor : Style.ncTextColor + textColorHovered: primary ? UserModel.currentUser.headerTextColor : Style.ncTextColor - bold: primary primaryButton: primary onClicked: !isTalkReplyButton ? root.triggerAction(model.index) : root.showReplyField() diff --git a/src/gui/tray/usermodel.cpp b/src/gui/tray/usermodel.cpp index 27e9b3bd8..ea2764b34 100644 --- a/src/gui/tray/usermodel.cpp +++ b/src/gui/tray/usermodel.cpp @@ -342,8 +342,10 @@ void User::slotNotificationRequestFinished(int statusCode) { int row = sender()->property("activityRow").toInt(); - // the ocs API returns stat code 100 or 200 inside the xml if it succeeded. - if (statusCode != OCS_SUCCESS_STATUS_CODE && statusCode != OCS_SUCCESS_STATUS_CODE_V2) { + // the ocs API returns stat code 100 or 200 or 202 inside the xml if it succeeded. + if (statusCode != OCS_SUCCESS_STATUS_CODE + && statusCode != OCS_SUCCESS_STATUS_CODE_V2 + && statusCode != OCS_ACCEPTED_STATUS_CODE) { qCWarning(lcActivity) << "Notification Request to Server failed, leave notification visible."; } else { // to do use the model to rebuild the list or remove the item -- cgit v1.2.3