From ca0fe71774a2a372cae296fdbbaadc470c587786 Mon Sep 17 00:00:00 2001 From: n1rwana Date: Tue, 14 Dec 2021 16:33:56 +0300 Subject: [PATCH] isLikedByUser --- Web/Models/Entities/TicketComment.php | 13 ++++++++++ Web/Presenters/SupportPresenter.php | 24 +++++++------------ .../templates/Support/AnswerTicket.xml | 6 ++--- Web/Presenters/templates/Support/View.xml | 8 +++---- Web/routes.yml | 2 +- .../00014-helpdesk-answers-evaluvating.sql | 2 +- locales/en.strings | 8 +++---- 7 files changed, 35 insertions(+), 28 deletions(-) diff --git a/Web/Models/Entities/TicketComment.php b/Web/Models/Entities/TicketComment.php index e85515b9..1f54fa92 100644 --- a/Web/Models/Entities/TicketComment.php +++ b/Web/Models/Entities/TicketComment.php @@ -113,5 +113,18 @@ class TicketComment extends RowModel return $this->getRecord()->mark; } + function isLikedByUser(): ?bool + { + $mark = $this->getMark(); + + if($mark === 0) { + return false; + } elseif ($mark === 1) { + return true; + } elseif ($mark === null) { + return null; + } + } + use Traits\TRichText; } diff --git a/Web/Presenters/SupportPresenter.php b/Web/Presenters/SupportPresenter.php index 94467b09..683a9597 100644 --- a/Web/Presenters/SupportPresenter.php +++ b/Web/Presenters/SupportPresenter.php @@ -232,24 +232,18 @@ final class SupportPresenter extends OpenVKPresenter $this->assertUserLoggedIn(); $comment = $this->comments->get($id); + if($this->user->id === $this->tickets->get($comment->getTicketId())->getUser()->getId()) { - if($mark === 1 || $mark === 2) {} - $comments->setMark($mark); - $comments->save(); - if($mark === 1) { - // $this->flashFail("succ", tr("information_-1"), tr("support_rated_good")); - exit(header("HTTP/1.1 200 OK")); - } elseif($mark === 2) { - // $this->flashFail("succ", tr("information_-1"), tr("support_rated_bad")); - exit(header("HTTP/1.1 200 OK")); - } - } else { - // $this->flashFail("err", tr("error"), tr("wrong_parameters")); + $comments->setMark($mark); + $comments->save(); + + if($mark === 1 || $mark === 2) { + exit(header("HTTP/1.1 200 OK")); + } else { exit(header("HTTP/1.1 400 Bad Request")); - } + } } else { - // $this->flashFail("err", tr("error"), tr("forbidden")); exit(header("HTTP/1.1 403 Forbidden")); } } -} +} \ No newline at end of file diff --git a/Web/Presenters/templates/Support/AnswerTicket.xml b/Web/Presenters/templates/Support/AnswerTicket.xml index 5938d8a5..b7fb1b4b 100644 --- a/Web/Presenters/templates/Support/AnswerTicket.xml +++ b/Web/Presenters/templates/Support/AnswerTicket.xml @@ -110,12 +110,12 @@ {/if} - {if $comment->getUType() === 1 && $comment->getMark() != null}} + {if $comment->getUType() === 1}
- {if $comment->getMark() === 1} + {if $comment->isLikedByUser() === true} {_support_good_answer_agent} - {elseif $comment->getMark() === 2} + {elseif $comment->isLikedByUser() === false} {_support_bad_answer_agent} {/if} diff --git a/Web/Presenters/templates/Support/View.xml b/Web/Presenters/templates/Support/View.xml index b9e8add3..625dc7d0 100644 --- a/Web/Presenters/templates/Support/View.xml +++ b/Web/Presenters/templates/Support/View.xml @@ -118,16 +118,16 @@
{/if} - {if $comment->getUType() === 1 && $comment->getMark() != null}} + {if $comment->getUType() === 1}
- {if $comment->getMark() === 1} + {if $comment->isLikedByUser() === true} {_support_good_answer_user} - {elseif $comment->getMark() === 2} + {elseif $comment->isLikedByUser() === false} {_support_bad_answer_user} {/if} - {if $comment->getMark() === 0} + {if $comment->isLikedByUser() === null} {_support_rate_good_answer} | {_support_rate_bad_answer} diff --git a/Web/routes.yml b/Web/routes.yml index 5e1d1d51..1d72f0d5 100644 --- a/Web/routes.yml +++ b/Web/routes.yml @@ -18,7 +18,7 @@ routes: - url: "/support/view/{num}" handler: "Support->view" - url: "/support/comment/{num}/rate/{num}" - handler: "Support->RateAnswer" + handler: "Support->rateAnswer" - url: "/al_comments.pl/create/support/{num}" handler: "Support->makeComment" - url: "/al_comments.pl/create/support/reply/{num}" diff --git a/install/sqls/00014-helpdesk-answers-evaluvating.sql b/install/sqls/00014-helpdesk-answers-evaluvating.sql index f771c97b..a957cf88 100644 --- a/install/sqls/00014-helpdesk-answers-evaluvating.sql +++ b/install/sqls/00014-helpdesk-answers-evaluvating.sql @@ -1 +1 @@ -ALTER TABLE `tickets_comments` ADD `mark` TINYINT NOT NULL DEFAULT '0'; \ No newline at end of file +ALTER TABLE `tickets_comments` ADD `mark` BOOLEAN NULL DEFAULT NULL; \ No newline at end of file diff --git a/locales/en.strings b/locales/en.strings index 6e93986b..1a6baa97 100644 --- a/locales/en.strings +++ b/locales/en.strings @@ -554,12 +554,12 @@ "support_rate_good_answer" = "This is good answer"; "support_rate_bad_answer" = "This is bad answer"; -"support_good_answer_user" = "You have left a positive feedback."; -"support_bad_answer_user" = "You have left a negative feedback."; +"support_good_answer_user" = "You left a positive feedback."; +"support_bad_answer_user" = "You left a negative feedback."; "support_good_answer_agent" = "User left a positive feedback."; "support_bad_answer_agent" = "User left a negative feedback."; -"support_rated_good" = "You have left a positive feedback about the answer."; -"support_rated_bad" = "You have left a negative feedback about the answer."; +"support_rated_good" = "You left a positive feedback about the answer."; +"support_rated_bad" = "You left a negative feedback about the answer."; "wrong_parameters" = "Invalid request parameters."; "comment" = "Comment";