From 9a46fa7ab00e1261c25a76ad653d3dc40bd083e5 Mon Sep 17 00:00:00 2001 From: sonny Date: Thu, 14 May 2020 20:20:09 +0200 Subject: [PATCH 01/32] Initial form refactor --- .../templates/collection/import.html | 33 ++------------- .../scss/components/form/_form.scss | 18 ++++---- .../scss/elements/input/_input.scss | 9 ++++ src/newsreader/templates/form.html | 41 +++++++++++++++++++ 4 files changed, 63 insertions(+), 38 deletions(-) create mode 100644 src/newsreader/templates/form.html diff --git a/src/newsreader/news/collection/templates/collection/import.html b/src/newsreader/news/collection/templates/collection/import.html index 0ca15ab..9675842 100644 --- a/src/newsreader/news/collection/templates/collection/import.html +++ b/src/newsreader/news/collection/templates/collection/import.html @@ -1,37 +1,10 @@ {% extends "base.html" %} -{% load static i18n %} +{% load static %} {% block content %}
-
- {% csrf_token %} - {{ form.non_field_errors }} - -
-

{% trans "Import an OPML file" %}

-
-
-
- - {{ form.file.errors }} - {{ form.file }} -
- -
- - {{ form.skip_existing }} -
- -
- Cancel - -
-
-
+ {% url "news:collection:rules" as cancel_url %} + {% include "form.html" with form=form title="Import an OPML file" cancel_url=cancel_url only %}
{% endblock %} diff --git a/src/newsreader/scss/components/form/_form.scss b/src/newsreader/scss/components/form/_form.scss index 5b97958..feab671 100644 --- a/src/newsreader/scss/components/form/_form.scss +++ b/src/newsreader/scss/components/form/_form.scss @@ -8,6 +8,16 @@ font-family: $form-font; background-color: $white; + &__section { + &--last { + & .form__fieldset { + display: flex; + flex-direction: row; + justify-content: space-between; + } + } + } + &__fieldset { @extend .fieldset; } @@ -19,14 +29,6 @@ padding: 15px; } - &__actions { - display: flex; - justify-content: space-between; - - width: 50%; - padding: 15px; - } - &__title { font-size: 18px; } diff --git a/src/newsreader/scss/elements/input/_input.scss b/src/newsreader/scss/elements/input/_input.scss index 1cfb4bb..897fbf9 100644 --- a/src/newsreader/scss/elements/input/_input.scss +++ b/src/newsreader/scss/elements/input/_input.scss @@ -8,6 +8,15 @@ &:focus { border: 1px $focus-blue solid; } + + &[type="file"] { + width: 40%; + } + + &[type="checkbox"] { + align-self: flex-start; + margin: 0 0 0 10px; + } } input { diff --git a/src/newsreader/templates/form.html b/src/newsreader/templates/form.html new file mode 100644 index 0000000..c888754 --- /dev/null +++ b/src/newsreader/templates/form.html @@ -0,0 +1,41 @@ +{% load i18n %} + +
+ {% csrf_token %} + + {% if form.non_field_errors %} +
+ {{ form.non_field_errors }} +
+ {% endif %} + + {% if title %} +
+

{{ title }}

+
+ {% endif %} + +
+ {% for field in form %} +
+ + + {{ field.errors }} + {{ field }} + {{ field.help_text }} +
+ {% endfor %} +
+ +
+
+ {% if cancel_url %} + {% trans "Cancel" %} + {% endif %} + + +
+
+
From b866f48e3b424757b064babcd30db51cada799f7 Mon Sep 17 00:00:00 2001 From: sonny Date: Thu, 14 May 2020 20:40:24 +0200 Subject: [PATCH 02/32] 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 %} From 880ae577bd2883e642bc06f272bf184be38730b0 Mon Sep 17 00:00:00 2001 From: sonny Date: Thu, 14 May 2020 21:08:38 +0200 Subject: [PATCH 03/32] Use seperate form dir --- src/newsreader/templates/form/errors.html | 3 +++ src/newsreader/templates/{ => form}/form.html | 12 ++++-------- src/newsreader/templates/form/title.html | 3 +++ 3 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 src/newsreader/templates/form/errors.html rename src/newsreader/templates/{ => form}/form.html (76%) create mode 100644 src/newsreader/templates/form/title.html diff --git a/src/newsreader/templates/form/errors.html b/src/newsreader/templates/form/errors.html new file mode 100644 index 0000000..bf030ea --- /dev/null +++ b/src/newsreader/templates/form/errors.html @@ -0,0 +1,3 @@ +
+ {{ form.non_field_errors }} +
diff --git a/src/newsreader/templates/form.html b/src/newsreader/templates/form/form.html similarity index 76% rename from src/newsreader/templates/form.html rename to src/newsreader/templates/form/form.html index eb9ff03..5b8f2fa 100644 --- a/src/newsreader/templates/form.html +++ b/src/newsreader/templates/form/form.html @@ -4,20 +4,16 @@ {% csrf_token %} {% if form.non_field_errors %} -
- {{ form.non_field_errors }} -
+ {% include "form/errors.html" title=title %} {% endif %} {% if title %} -
-

{{ title }}

-
+ {% include "form/title.html" title=title %} {% endif %}
{% for field in form %} -
+
@@ -30,7 +26,7 @@
-
+
{% if cancel_url %} {% trans "Cancel" %} {% endif %} diff --git a/src/newsreader/templates/form/title.html b/src/newsreader/templates/form/title.html new file mode 100644 index 0000000..3adcb75 --- /dev/null +++ b/src/newsreader/templates/form/title.html @@ -0,0 +1,3 @@ +
+

{{ title }}

+
From 1ec81ff48cfe74e7f15aebaac69be830f981cba6 Mon Sep 17 00:00:00 2001 From: sonny Date: Fri, 15 May 2020 19:38:35 +0200 Subject: [PATCH 04/32] Fix templates --- .../news/collection/templates/collection/rule-create.html | 2 +- .../news/collection/templates/collection/rule-update.html | 2 +- src/newsreader/templates/form/errors.html | 2 +- src/newsreader/templates/form/form.html | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/newsreader/news/collection/templates/collection/rule-create.html b/src/newsreader/news/collection/templates/collection/rule-create.html index 3b7ec34..d83d7ec 100644 --- a/src/newsreader/news/collection/templates/collection/rule-create.html +++ b/src/newsreader/news/collection/templates/collection/rule-create.html @@ -5,6 +5,6 @@ {% block content %}
{% url "news:collection:rules" as cancel_url %} - {% include "form.html" with form=form title="Create rule" cancel_url=cancel_url only %} + {% include "form/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 bdb442f..8a6b750 100644 --- a/src/newsreader/news/collection/templates/collection/rule-update.html +++ b/src/newsreader/news/collection/templates/collection/rule-update.html @@ -5,6 +5,6 @@ {% block content %}
{% url "news:collection:rules" as cancel_url %} - {% include "form.html" with form=form title="Update rule" cancel_url=cancel_url only %} + {% include "form/form.html" with form=form title="Update rule" cancel_url=cancel_url only %}
{% endblock %} diff --git a/src/newsreader/templates/form/errors.html b/src/newsreader/templates/form/errors.html index bf030ea..eed67f5 100644 --- a/src/newsreader/templates/form/errors.html +++ b/src/newsreader/templates/form/errors.html @@ -1,3 +1,3 @@
- {{ form.non_field_errors }} + {{ errors }}
diff --git a/src/newsreader/templates/form/form.html b/src/newsreader/templates/form/form.html index 5b8f2fa..31242a9 100644 --- a/src/newsreader/templates/form/form.html +++ b/src/newsreader/templates/form/form.html @@ -4,11 +4,11 @@ {% csrf_token %} {% if form.non_field_errors %} - {% include "form/errors.html" title=title %} + {% include "form/errors.html" with errors=form.non_field_errors only %} {% endif %} {% if title %} - {% include "form/title.html" title=title %} + {% include "form/title.html" with title=title only %} {% endif %}
From ba2b5d054754d1738544b8394cc0302a521b88d2 Mon Sep 17 00:00:00 2001 From: sonny Date: Fri, 15 May 2020 20:32:35 +0200 Subject: [PATCH 05/32] Update rules list view --- .../templates/collection/rules.html | 76 +++++++++++-------- .../scss/components/form/_form.scss | 20 +++++ 2 files changed, 63 insertions(+), 33 deletions(-) diff --git a/src/newsreader/news/collection/templates/collection/rules.html b/src/newsreader/news/collection/templates/collection/rules.html index 32b6f24..a17b818 100644 --- a/src/newsreader/news/collection/templates/collection/rules.html +++ b/src/newsreader/news/collection/templates/collection/rules.html @@ -6,42 +6,52 @@
{% csrf_token %} -
- - - -
- - - - - - - - - - - - - - {% for rule in rules %} +
+
+ + + +
+ + +
+ +
+
- - {% trans "Name" %}{% trans "Category" %}{% trans "URL" %}{% trans "Successfuly ran" %}{% trans "Enabled" %}
+ - - - - - - - + + + + + + + - {% endfor %} - -
{{ rule.name }}{{ rule.category.name }}{{ rule.url }}{{ rule.succeeded }}{{ rule.enabled }} - - + + {% trans "Name" %}{% trans "Category" %}{% trans "URL" %}{% trans "Successfuly ran" %}{% trans "Enabled" %}
+ + + {% for rule in rules %} + + + {{ rule.name }} + {{ rule.category.name }} + {{ rule.url }} + {{ rule.succeeded }} + {{ rule.enabled }} + + + + + {% endfor %} + + +
+