Skip to content

Commit

Permalink
edit_readthrough: set start_date/finish_date iff present in request
Browse files Browse the repository at this point in the history
Fixes: #3164
  • Loading branch information
dato committed Jul 28, 2024
1 parent 8122214 commit 041f2fc
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 9 deletions.
4 changes: 1 addition & 3 deletions bookwyrm/tests/views/test_status.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
""" test for app action functionality """
import json
from unittest import expectedFailure
from unittest.mock import patch
import dateutil
from django.core.exceptions import PermissionDenied
Expand Down Expand Up @@ -170,7 +169,6 @@ def test_create_status_rating(self, *_):
self.assertEqual(status.rating, 4.0)
self.assertIsNone(status.edited_date)

@expectedFailure # https://github.com/bookwyrm-social/bookwyrm/issues/3164
def test_create_status_progress(self, *_):
"""create a status that updates a readthrough"""
start_date = timezone.make_aware(dateutil.parser.parse("2024-07-27"))
Expand Down Expand Up @@ -200,7 +198,7 @@ def test_create_status_progress(self, *_):
readthrough.refresh_from_db()

self.assertEqual(1, readthrough.progress)
self.assertEqual(start_date, readthrough.start_date)
self.assertEqual(start_date, readthrough.start_date) # not overwritten

def test_create_status_wrong_user(self, *_):
"""You can't compose statuses for someone else"""
Expand Down
11 changes: 5 additions & 6 deletions bookwyrm/views/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,12 +201,11 @@ def edit_readthrough(request):
# TODO: remove this, it duplicates the code in the ReadThrough view
readthrough = get_object_or_404(models.ReadThrough, id=request.POST.get("id"))

readthrough.start_date = load_date_in_user_tz_as_utc(
request.POST.get("start_date"), request.user
)
readthrough.finish_date = load_date_in_user_tz_as_utc(
request.POST.get("finish_date"), request.user
)
if start_date := request.POST.get("start_date"):
readthrough.start_date = load_date_in_user_tz_as_utc(start_date, request.user)

if finish_date := request.POST.get("finish_date"):
readthrough.finish_date = load_date_in_user_tz_as_utc(finish_date, request.user)

progress = request.POST.get("progress")
try:
Expand Down

0 comments on commit 041f2fc

Please sign in to comment.