Skip to content

Commit c6006e8

Browse files
committed
PR feedback: Update exception catching, make tags multi select
1 parent de985a7 commit c6006e8

3 files changed

Lines changed: 27 additions & 21 deletions

File tree

news/tasks.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,9 @@ def set_summary_for_link_page(pk: int):
325325
logger.debug(f"Fetched {len(markup)=} for entry.{pk=}...")
326326
_title, content = extract_article(markup)
327327
logger.info(f"extracted content from {external_url=}, {markup[:100]=}")
328+
except UnsafeURLError:
329+
logger.warning(f"Refusing to fetch unsafe {external_url=} for {pk=}")
330+
return
328331
except requests.RequestException as e:
329332
logger.error(f"Error fetching content from {external_url=}: {e=}")
330333
return

news/views.py

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ def post(self, request, *args, **kwargs):
588588
"An internal database error has occurred. Please contact an admin."
589589
),
590590
)
591-
context = self.get_context_data()
591+
context = self.get_context_data(form=form, post_type_selected=post_type)
592592
return self.render_to_response(context)
593593

594594
try:
@@ -613,26 +613,29 @@ def post(self, request, *args, **kwargs):
613613
)
614614
page.image = wagtail_image
615615
tags = []
616-
if related_library := post_data.get("related_libraries"):
617-
try:
618-
lib = Library.objects.get(slug=related_library)
619-
except Library.DoesNotExist:
620-
messages.error(
621-
request,
622-
_(
623-
"That related library does not exist, please select another."
624-
),
616+
if related_libraries := post_data.getlist("related_libraries"):
617+
for library in related_libraries:
618+
try:
619+
lib = Library.objects.get(slug=library)
620+
except Library.DoesNotExist:
621+
messages.error(
622+
request,
623+
_(
624+
"That related library does not exist, please select another."
625+
),
626+
)
627+
context = self.get_context_data(
628+
form=form, post_type_selected=post_type
629+
)
630+
return self.render_to_response(context)
631+
632+
tag, created = ContentTag.objects.get_or_create(
633+
slug=lib.slug,
634+
defaults={
635+
"name": lib.name,
636+
},
625637
)
626-
context = self.get_context_data()
627-
return self.render_to_response(context)
628-
629-
tag, created = ContentTag.objects.get_or_create(
630-
slug=lib.slug,
631-
defaults={
632-
"name": lib.name,
633-
},
634-
)
635-
tags.append(tag)
638+
tags.append(tag)
636639
index_page.add_child(instance=page)
637640
if tags:
638641
page.tags.add(*tags)

templates/news/v3/create.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ <h1 class="create-post-page__title">Create Post</h1>
184184

185185
{% include "v3/includes/_field_file.html" with name="image" label="Image" accept="image/png,image/jpeg" preview=True alpine_error="errors.image" error=form.errors.image.0 help_text="This should be a PNG or JPEG format and no larger than 5MB" extra_class="field--file-narrow create-post-page__field-image" %}
186186

187-
{% include "v3/includes/_field_dropdown.html" with name="related_libraries" label="Related Libraries" options=related_libraries_options placeholder="Select" selected=form.data.related_libraries %}
187+
{% include "v3/includes/_field_multiselect.html" with name="related_libraries" label="Related Libraries" options=related_libraries_options placeholder="Select" selected=form.data.related_libraries %}
188188

189189
{% include "v3/includes/_field_datetime.html" with name="publish_at" label="Publish Date *" value=form.publish_at.value|default:publish_at_initial %}
190190

0 commit comments

Comments
 (0)