From b866f48e3b424757b064babcd30db51cada799f7 Mon Sep 17 00:00:00 2001 From: sonny Date: Thu, 14 May 2020 20:40:24 +0200 Subject: [PATCH] Refactor rule create/update views --- src/newsreader/news/collection/forms.py | 2 + .../templates/collection/rule-create.html | 13 +++-- .../templates/collection/rule-update.html | 13 +++-- .../collection/templates/collection/rule.html | 55 ------------------- src/newsreader/scss/elements/index.scss | 9 +-- .../scss/elements/select/_select.scss | 11 ++++ .../scss/elements/select/index.scss | 1 + src/newsreader/templates/form.html | 2 +- 8 files changed, 34 insertions(+), 72 deletions(-) delete mode 100644 src/newsreader/news/collection/templates/collection/rule.html create mode 100644 src/newsreader/scss/elements/select/_select.scss create mode 100644 src/newsreader/scss/elements/select/index.scss diff --git a/src/newsreader/news/collection/forms.py b/src/newsreader/news/collection/forms.py index bfa0d90..7e5fc97 100644 --- a/src/newsreader/news/collection/forms.py +++ b/src/newsreader/news/collection/forms.py @@ -1,4 +1,5 @@ from django import forms +from django.utils.translation import gettext_lazy as _ import pytz @@ -11,6 +12,7 @@ class CollectionRuleForm(forms.ModelForm): timezone = forms.ChoiceField( widget=forms.Select(attrs={"size": len(pytz.all_timezones)}), choices=((timezone, timezone) for timezone in pytz.all_timezones), + help_text=_("The timezone which the feed uses"), ) def __init__(self, *args, **kwargs): diff --git a/src/newsreader/news/collection/templates/collection/rule-create.html b/src/newsreader/news/collection/templates/collection/rule-create.html index b8db042..3b7ec34 100644 --- a/src/newsreader/news/collection/templates/collection/rule-create.html +++ b/src/newsreader/news/collection/templates/collection/rule-create.html @@ -1,9 +1,10 @@ -{% extends "collection/rule.html" %} +{% extends "base.html" %} -{% block form-header %} -

Create a rule

-{% endblock %} +{% load static %} -{% block confirm-button %} - +{% block content %} +
+ {% url "news:collection:rules" as cancel_url %} + {% include "form.html" with form=form title="Create rule" cancel_url=cancel_url only %} +
{% endblock %} diff --git a/src/newsreader/news/collection/templates/collection/rule-update.html b/src/newsreader/news/collection/templates/collection/rule-update.html index 403f86e..bdb442f 100644 --- a/src/newsreader/news/collection/templates/collection/rule-update.html +++ b/src/newsreader/news/collection/templates/collection/rule-update.html @@ -1,9 +1,10 @@ -{% extends "collection/rule.html" %} +{% extends "base.html" %} -{% block form-header %} -

Update rule

-{% endblock %} +{% load static %} -{% block confirm-button %} - +{% block content %} +
+ {% url "news:collection:rules" as cancel_url %} + {% include "form.html" with form=form title="Update rule" cancel_url=cancel_url only %} +
{% endblock %} diff --git a/src/newsreader/news/collection/templates/collection/rule.html b/src/newsreader/news/collection/templates/collection/rule.html deleted file mode 100644 index c7f56f4..0000000 --- a/src/newsreader/news/collection/templates/collection/rule.html +++ /dev/null @@ -1,55 +0,0 @@ -{% extends "base.html" %} - -{% load static %} - -{% block content %} -
-
- {% csrf_token %} - {{ form.non_field_errors }} - -
- {% block form-header %}{% endblock %} -
-
-
- - {{ form.name.errors }} - {{ form.name }} -
- -
- - {{ form.category.errors }} - {{ form.category }} -
- -
- - {{ form.url.errors }} - {{ form.url }} -
- -
- - {{ form.favicon.errors }} - {{ form.favicon }} -
- -
- - The timezone which the feed uses - {{ form.timezone.errors }} - {{ form.timezone }} -
-
- -
-
- Cancel - {% block confirm-button %}{% endblock %} -
-
-
-
-{% endblock %} diff --git a/src/newsreader/scss/elements/index.scss b/src/newsreader/scss/elements/index.scss index f0d7be3..3e2a01c 100644 --- a/src/newsreader/scss/elements/index.scss +++ b/src/newsreader/scss/elements/index.scss @@ -1,10 +1,11 @@ +@import "badge/index"; @import "button/index"; +@import "help-text/index"; +@import "input/index"; +@import "label/index"; @import "link/index"; @import "h1/index"; @import "h2/index"; @import "h3/index"; @import "small/index"; -@import "input/index"; -@import "label/index"; -@import "help-text/index"; -@import "badge/index"; +@import "select/index"; diff --git a/src/newsreader/scss/elements/select/_select.scss b/src/newsreader/scss/elements/select/_select.scss new file mode 100644 index 0000000..65a3227 --- /dev/null +++ b/src/newsreader/scss/elements/select/_select.scss @@ -0,0 +1,11 @@ +.select { + max-height: 200px; + + &:not([size]){ + width: 40%; + } +} + +select { + @extend .select; +} diff --git a/src/newsreader/scss/elements/select/index.scss b/src/newsreader/scss/elements/select/index.scss new file mode 100644 index 0000000..8320088 --- /dev/null +++ b/src/newsreader/scss/elements/select/index.scss @@ -0,0 +1 @@ +@import "select"; diff --git a/src/newsreader/templates/form.html b/src/newsreader/templates/form.html index c888754..eb9ff03 100644 --- a/src/newsreader/templates/form.html +++ b/src/newsreader/templates/form.html @@ -24,7 +24,7 @@ {{ field.errors }} {{ field }} - {{ field.help_text }} + {{ field.help_text }} {% endfor %}