diff --git a/src/main.py b/src/main.py
index fab5122..c09af1d 100644
--- a/src/main.py
+++ b/src/main.py
@@ -1,7 +1,7 @@
import urllib.parse
import uuid
from contextlib import asynccontextmanager
-from datetime import timedelta, timezone
+from datetime import datetime, timedelta, timezone
from pathlib import Path
from typing import Annotated, Any, Generator, Optional
@@ -345,6 +345,7 @@ def admin_edit_episode_post(
user: AuthDep,
name: Annotated[str, Form()],
description: Annotated[str, Form()],
+ publish_date: Annotated[str, Form()],
):
episode = session.exec(
select(models.PodcastEpisode).where(
@@ -378,6 +379,12 @@ def admin_edit_episode_post(
else:
episode.description = None
+ if publish_date.strip() != "":
+ publish_dt = datetime.strptime(publish_date, "%Y-%m-%dT%H:%M")
+ # only update the date if it's changed by 2 mins or more as the input doesn't allow for seconds
+ if (episode.publish_date - publish_dt).seconds > 120:
+ episode.publish_date = publish_dt
+
session.add(episode)
session.commit()
diff --git a/src/templates/admin_episode_edit.html.j2 b/src/templates/admin_episode_edit.html.j2
index a6d93da..940f173 100644
--- a/src/templates/admin_episode_edit.html.j2
+++ b/src/templates/admin_episode_edit.html.j2
@@ -8,6 +8,11 @@
Name
+