From 779f7aae278c940f534760b11ddcb483cac52ffe Mon Sep 17 00:00:00 2001 From: Fredrik Jonsson <frjo@xdeb.org> Date: Fri, 8 Sep 2023 14:10:05 +0200 Subject: [PATCH] Add colour to review outcome displays and do not show "Avg. Score" if it is zero (0) (#3548) Replaces PR: #3380 --- .../funds/includes/review_sidebar.html | 8 +++++--- .../funds/includes/review_sidebar_item.html | 8 +++++--- hypha/apply/review/models.py | 2 +- hypha/apply/review/templatetags/review_tags.py | 10 +++++----- .../src/sass/apply/components/_form.scss | 2 +- .../src/sass/apply/components/_grid.scss | 8 ++++---- .../apply/components/_reviews-sidebar.scss | 14 +++++++++++++- .../src/sass/public/components/_form.scss | 2 +- .../src/sass/public/components/_grid.scss | 18 +++++++++--------- 9 files changed, 44 insertions(+), 28 deletions(-) diff --git a/hypha/apply/funds/templates/funds/includes/review_sidebar.html b/hypha/apply/funds/templates/funds/includes/review_sidebar.html index fc81143b3..75cb0d3a2 100644 --- a/hypha/apply/funds/templates/funds/includes/review_sidebar.html +++ b/hypha/apply/funds/templates/funds/includes/review_sidebar.html @@ -4,9 +4,11 @@ <span> {{ recommendation|traffic_light }} </span> - <span class="font-medium"> - {% trans 'Avg. Score'%}: {{assigned_reviewers|average_review_score|floatformat:'1'}} - </span> + {% with assigned_reviewers|average_review_score as average %} + <span class="font-medium"> + {{ assigned_reviewers|average_review_score }} + </span> + {% endwith %} </div> <ul class="reviews-sidebar mt-4" x-data='{showHiddenReviewers: false}'> diff --git a/hypha/apply/funds/templates/funds/includes/review_sidebar_item.html b/hypha/apply/funds/templates/funds/includes/review_sidebar_item.html index 984bba729..9aaf01814 100644 --- a/hypha/apply/funds/templates/funds/includes/review_sidebar_item.html +++ b/hypha/apply/funds/templates/funds/includes/review_sidebar_item.html @@ -28,8 +28,10 @@ {% if reviewer.role %}{% image reviewer.role.icon max-12x12 %}{% endif %} </div> {% endif %} - <div>{{ reviewer.review.get_recommendation_display }}</div> - <div>{{ reviewer.review.get_score_display }}</div> + {% with reviewer.review.get_recommendation_display as recommendation and reviewer.review.get_score_display as score %} + <div class="{{ recommendation|slugify }}">{{ recommendation }}</div> + <div class="{{ recommendation|slugify }}">{{ score }}</div> + {% endwith %} {% endif %} </li> @@ -45,7 +47,7 @@ {% endwith %} </div> <div></div> - <div class="reviews-sidebar__outcome {{ opinion.get_opinion_display|lower }}">{{ opinion.get_opinion_display}}</div> + <div class="reviews-sidebar__outcome {{ opinion.get_opinion_display|slugify }}">{{ opinion.get_opinion_display}}</div> </li> {% if forloop.last %} </ul> diff --git a/hypha/apply/review/models.py b/hypha/apply/review/models.py index a78f2b149..19dc4ff3a 100644 --- a/hypha/apply/review/models.py +++ b/hypha/apply/review/models.py @@ -200,7 +200,7 @@ class Review(ReviewFormFieldsMixin, BaseStreamForm, AccessFormData, models.Model @property def get_score_display(self): - return "{:.1f}".format(self.score) if self.score != NA else "NA" + return "{:.1f}".format(self.score) if self.score != NA else "-" def get_absolute_url(self): return reverse( diff --git a/hypha/apply/review/templatetags/review_tags.py b/hypha/apply/review/templatetags/review_tags.py index 8feac2f3d..9c8a4cc7d 100644 --- a/hypha/apply/review/templatetags/review_tags.py +++ b/hypha/apply/review/templatetags/review_tags.py @@ -1,5 +1,6 @@ from django import template from django.utils.safestring import mark_safe +from django.utils.translation import gettext_lazy as _ from ..models import MAYBE, NO, YES from ..options import NA @@ -54,8 +55,7 @@ def average_review_score(reviewers): and not reviewer.review.score == NA ] if len(scores) > 0: - return sum(scores) / len(scores) - else: - return 0 - else: - return reviewers + return _("Avg. score: {average}").format( + average=round(sum(scores) / len(scores), 1) + ) + return "" diff --git a/hypha/static_src/src/sass/apply/components/_form.scss b/hypha/static_src/src/sass/apply/components/_form.scss index 8983aecba..e38d4ee12 100644 --- a/hypha/static_src/src/sass/apply/components/_form.scss +++ b/hypha/static_src/src/sass/apply/components/_form.scss @@ -234,7 +234,7 @@ @supports (display: grid) { display: grid; grid-template-columns: 1fr 1fr; - grid-gap: 5px; + gap: 5px; } } diff --git a/hypha/static_src/src/sass/apply/components/_grid.scss b/hypha/static_src/src/sass/apply/components/_grid.scss index 0585a714d..5e9adc94e 100644 --- a/hypha/static_src/src/sass/apply/components/_grid.scss +++ b/hypha/static_src/src/sass/apply/components/_grid.scss @@ -28,7 +28,7 @@ .grid { display: grid; margin-bottom: 1rem; - grid-gap: 10px; + gap: 10px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); > * { @@ -39,7 +39,7 @@ &--two { grid-template-columns: 100%; - grid-gap: 0.25rem; + gap: 0.25rem; @include media-query(tablet-portrait) { grid-template-columns: 1fr 1fr; @@ -51,7 +51,7 @@ .form--comments & { margin: 20px 0 0; - grid-gap: 10px; + gap: 10px; grid-template-columns: 100px 100px; } @@ -70,7 +70,7 @@ &--proposal-info { grid-template-columns: 100%; - grid-gap: 10px; + gap: 10px; margin: 0 0 1rem; @include media-query(mob-landscape) { diff --git a/hypha/static_src/src/sass/apply/components/_reviews-sidebar.scss b/hypha/static_src/src/sass/apply/components/_reviews-sidebar.scss index 676de0f3a..7fda99be1 100644 --- a/hypha/static_src/src/sass/apply/components/_reviews-sidebar.scss +++ b/hypha/static_src/src/sass/apply/components/_reviews-sidebar.scss @@ -22,7 +22,7 @@ @supports (display: grid) { display: grid; grid-template-columns: 45% 25% 15% 15%; - grid-gap: 5px; + gap: 5px; } &--decision { @@ -57,6 +57,18 @@ &.no-response { color: $color--black-20; } + + .yes { + color: $color--green; + } + + .maybe { + color: $color--mustard; + } + + .no { + color: $color--tomato; + } } &__date { diff --git a/hypha/static_src/src/sass/public/components/_form.scss b/hypha/static_src/src/sass/public/components/_form.scss index f0798fe2d..a36bf4793 100644 --- a/hypha/static_src/src/sass/public/components/_form.scss +++ b/hypha/static_src/src/sass/public/components/_form.scss @@ -242,7 +242,7 @@ @supports (display: grid) { display: grid; grid-template-columns: 1fr 1fr; - grid-gap: 5px; + gap: 5px; } } diff --git a/hypha/static_src/src/sass/public/components/_grid.scss b/hypha/static_src/src/sass/public/components/_grid.scss index 8cd72df37..7363ff6a2 100644 --- a/hypha/static_src/src/sass/public/components/_grid.scss +++ b/hypha/static_src/src/sass/public/components/_grid.scss @@ -60,7 +60,7 @@ .grid { display: grid; margin: 30px 0; - grid-gap: 10px; + gap: 10px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); > * { @@ -82,12 +82,12 @@ &--one { grid-template-columns: 1fr; - grid-gap: 30px; + gap: 30px; } &--two { grid-template-columns: 100%; - grid-gap: 0; + gap: 0; @include media-query(tablet-portrait) { grid-template-columns: 1fr 1fr; @@ -96,7 +96,7 @@ &--max-three { grid-template-columns: 1fr; - grid-gap: 30px; + gap: 30px; @include media-query(small-tablet) { grid-template-columns: repeat(2, 1fr); @@ -108,11 +108,11 @@ } &--medium-gap { - grid-gap: 35px; + gap: 35px; } &--small-gap { - grid-gap: 20px; + gap: 20px; } &--no-margin { @@ -124,7 +124,7 @@ margin: 0 0 30px; border-bottom: 1px solid $color--mid-grey; grid-template-columns: 100%; - grid-gap: 10px; + gap: 10px; @include media-query(mob-landscape) { margin: 0 0 30px; @@ -138,7 +138,7 @@ &--focus-areas { margin: 20px 0; - grid-gap: 20px; + gap: 20px; grid-template-columns: 1fr; @include media-query(small-tablet) { @@ -150,7 +150,7 @@ margin: 3rem 0; text-align: center; grid-template-columns: repeat(4, 1fr); - grid-gap: 35px; + gap: 35px; } } } -- GitLab