summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/posts/migrations/0019_auto_20210323_2155.py23
-rw-r--r--app/posts/models.py12
-rw-r--r--app/posts/urls/friends_urls.py2
3 files changed, 35 insertions, 2 deletions
diff --git a/app/posts/migrations/0019_auto_20210323_2155.py b/app/posts/migrations/0019_auto_20210323_2155.py
new file mode 100644
index 0000000..0f3af44
--- /dev/null
+++ b/app/posts/migrations/0019_auto_20210323_2155.py
@@ -0,0 +1,23 @@
+# Generated by Django 3.1 on 2021-03-23 21:55
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('posts', '0018_auto_20210128_1708'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='post',
+ name='issue',
+ field=models.PositiveIntegerField(null=True),
+ ),
+ migrations.AlterField(
+ model_name='post',
+ name='post_type',
+ field=models.IntegerField(choices=[(0, 'range'), (1, 'review'), (2, 'essay'), (3, 'src'), (4, 'jrnl'), (5, 'field note'), (6, 'guide'), (7, 'friends')], default=4),
+ ),
+ ]
diff --git a/app/posts/models.py b/app/posts/models.py
index cc6e1d5..6adae3b 100644
--- a/app/posts/models.py
+++ b/app/posts/models.py
@@ -115,7 +115,9 @@ class Post(models.Model):
if self.post_type == PostType.JRNL:
return reverse('jrnl:detail', kwargs={"year": self.pub_date.year, "month": self.pub_date.strftime("%m"), "slug": self.slug})
if self.post_type == PostType.RANGE:
- return reverse('range:detail', kwargs={"slug": self.slug})
+ return reverse('range:detail', kwargs={"issue": self.issue, "slug": self.slug})
+ if self.post_type == PostType.FRIENDS:
+ return reverse('friends:friends-detail', kwargs={"issue": self.get_issue_str(), "slug": self.slug})
def comment_period_open(self):
return self.enable_comments and datetime.datetime.today() - datetime.timedelta(30) <= self.pub_date
@@ -126,6 +128,14 @@ class Post(models.Model):
def get_content_type(self):
return ContentType.objects.get(app_label="posts", model="post")
+ def get_issue_str(self):
+ issue = self.issue
+ if self.issue < 100:
+ issue = "0%s" % self.issue
+ if self.issue < 10:
+ issue = "00%s" % self.issue
+ return issue
+
@property
def get_previous_published(self):
return self.get_previous_by_pub_date(status__exact=1,post_type=self.post_type)
diff --git a/app/posts/urls/friends_urls.py b/app/posts/urls/friends_urls.py
index 2e2d220..5998d08 100644
--- a/app/posts/urls/friends_urls.py
+++ b/app/posts/urls/friends_urls.py
@@ -7,7 +7,7 @@ app_name = "range"
urlpatterns = [
path(
- r'<str:slug>',
+ r'<int:issue>/<str:slug>',
views.FriendsDetailView.as_view(),
name="friends-detail"
),