diff --git a/qml/page/T_EventInfo.qml b/qml/page/T_EventInfo.qml index d4b82c3..32de48c 100644 --- a/qml/page/T_EventInfo.qml +++ b/qml/page/T_EventInfo.qml @@ -504,7 +504,7 @@ FluScrollablePage { score_value = rating.value feedback_content = textbox_content.text statusMode = FluStatusViewType.Loading - EventoInfoController.feedbackEvento(score_value, content, + EventoInfoController.feedbackEvento(score_value, feedback_content, EventoHelper.id) } } diff --git a/qml/page/T_Schedule.qml b/qml/page/T_Schedule.qml index 75c0a7c..0b0d91a 100644 --- a/qml/page/T_Schedule.qml +++ b/qml/page/T_Schedule.qml @@ -397,8 +397,8 @@ FluScrollablePage { } PropertyChanges { target: btn - text: lang.lang_feedback - disabled: false + text: model.isChecked ? lang.lang_feedback : "" + disabled: !model.isChecked onClicked: { EventoHelper.id = model.id MainWindow.window.pushPage( diff --git a/src/controller/feedback_service.cpp b/src/controller/feedback_service.cpp index 0bfe721..e6d5620 100644 --- a/src/controller/feedback_service.cpp +++ b/src/controller/feedback_service.cpp @@ -66,7 +66,7 @@ void FeedbackService::load_FeedbackInfo(EventoID id) { { std::lock_guard lock(mutex); for (auto& i : feedbackSummary.feedbacks) { - if (!i.content.isEmpty()) + if (!i.content.trimmed().isEmpty()) model.push_back(Feedback(i)); } } diff --git a/src/controller/ui/evento_info.cpp b/src/controller/ui/evento_info.cpp index f70e43b..525d717 100644 --- a/src/controller/ui/evento_info.cpp +++ b/src/controller/ui/evento_info.cpp @@ -11,7 +11,7 @@ void EventoInfoController::registerEvento(EventoID id, bool selection) { UserService::getInstance().registerEvento(id, selection); } -void EventoInfoController::feedbackEvento(QString content, int score, EventoID id) { +void EventoInfoController::feedbackEvento(int score, QString content, EventoID id) { FeedbackService::getInstance().feedback(id, score, content); } diff --git a/src/controller/ui/evento_info.h b/src/controller/ui/evento_info.h index 35f5334..00e8a0d 100644 --- a/src/controller/ui/evento_info.h +++ b/src/controller/ui/evento_info.h @@ -19,7 +19,7 @@ class EventoInfoController : public QObject { Q_INVOKABLE void loadEventoInfo(EventoID id); Q_INVOKABLE void registerEvento(EventoID id, bool selection); Q_INVOKABLE void subscribeEvento(EventoID id, bool selection); - Q_INVOKABLE void feedbackEvento(QString content, int score, EventoID id); + Q_INVOKABLE void feedbackEvento(int score, QString content, EventoID id); private: bool m_isRegistrated; diff --git a/src/infrastructure/helper/feedback_helper.cpp b/src/infrastructure/helper/feedback_helper.cpp index cd6e47e..eb52434 100644 --- a/src/infrastructure/helper/feedback_helper.cpp +++ b/src/infrastructure/helper/feedback_helper.cpp @@ -1,5 +1,5 @@ #include "feedback_helper.h" -#include "feedback.h" +#include "dto/feedback.h" FeedbackHelper* FeedbackHelper::getInstance() { static FeedbackHelper instance; @@ -12,10 +12,10 @@ FeedbackHelper* FeedbackHelper::create(QQmlEngine* qmlEngine, QJSEngine* jsEngin return pInstance; } -void FeedbackHelper::updateFeedback(const Feedback& feedback) { +void FeedbackHelper::updateFeedback(const DTO_Feedback& feedback) { setProperty("id", feedback.id); setProperty("score", feedback.score); setProperty("content", feedback.content); setProperty("eventId", feedback.eventId); - setProperty("submitted", feedback.submitted); + setProperty("submitted", feedback.eventId != 0); } diff --git a/src/infrastructure/helper/feedback_helper.h b/src/infrastructure/helper/feedback_helper.h index 4d1a7de..8b73376 100644 --- a/src/infrastructure/helper/feedback_helper.h +++ b/src/infrastructure/helper/feedback_helper.h @@ -3,7 +3,7 @@ #include -struct Feedback; +struct DTO_Feedback; class FeedbackHelper : public QObject { Q_OBJECT @@ -20,7 +20,7 @@ class FeedbackHelper : public QObject { static FeedbackHelper* getInstance(); static FeedbackHelper* create(QQmlEngine* qmlEngine, QJSEngine* jsEngine); - void updateFeedback(const Feedback& feedback); + void updateFeedback(const DTO_Feedback& feedback); private: FeedbackHelper() = default; diff --git a/src/infrastructure/network/EventoNetworkClient.cpp b/src/infrastructure/network/EventoNetworkClient.cpp index 5789d04..a88940a 100644 --- a/src/infrastructure/network/EventoNetworkClient.cpp +++ b/src/infrastructure/network/EventoNetworkClient.cpp @@ -354,9 +354,8 @@ EventoFuture> register_object_member(DTO_Feedback, "id", id); register_object_member(DTO_Feedback, "content", content); register_object_member(DTO_Feedback, "score", score); -register_object_member(DTO_Feedback, "eventId", eventId); declare_object(DTO_Feedback, object_member(DTO_Feedback, id), object_member(DTO_Feedback, content), - object_member(DTO_Feedback, score), object_member(DTO_Feedback, eventId)); + object_member(DTO_Feedback, score)); EventoFuture> EventoNetworkClient::getFeedbackInfo(EventoID eventoId) { QUrlQuery params;