summaryrefslogtreecommitdiff
path: root/app/posts/views/podcast_views.py
diff options
context:
space:
mode:
authorlxf <sng@luxagraf.net>2021-10-30 17:18:57 -0400
committerlxf <sng@luxagraf.net>2021-10-30 17:18:57 -0400
commit7b628e9cde7fe2babe16523b7d1d44df0c468203 (patch)
treed2303d4b6fb316ff32bf58c2afebc6fcd7f30a1e /app/posts/views/podcast_views.py
parent940da61accfd124a2dfc90fb585434203f39685b (diff)
posts: made podcast posttype and templates
Diffstat (limited to 'app/posts/views/podcast_views.py')
-rw-r--r--app/posts/views/podcast_views.py97
1 files changed, 97 insertions, 0 deletions
diff --git a/app/posts/views/podcast_views.py b/app/posts/views/podcast_views.py
new file mode 100644
index 0000000..49e25d9
--- /dev/null
+++ b/app/posts/views/podcast_views.py
@@ -0,0 +1,97 @@
+from django.views.generic import ListView
+from django.views.generic.detail import DetailView
+from django.contrib.syndication.views import Feed
+from django.urls import reverse
+from django.conf import settings
+
+#from paypal.standard.forms import PayPalPaymentsForm
+from utils.views import PaginatedListView
+from ..models import Post, PostType
+from taxonomy.models import Category
+
+
+class PodcastListView(PaginatedListView):
+ model = Post
+ template_name="posts/podcast_list.html"
+
+ def get_queryset(self):
+ queryset = super(PodcastListView, self).get_queryset()
+ return queryset.filter(post_type=PostType.PODCAST).filter(status__exact=1).order_by('-pub_date')
+
+ def get_context_data(self, **kwargs):
+ # Call the base implementation first to get a context
+ context = super(PodcastListView, self).get_context_data(**kwargs)
+ #context['topics'] = Topic.objects.all()
+ context['breadcrumbs'] = ['podcast',]
+ return context
+
+
+class PodcastDetailView(DetailView):
+ model = Post
+ slug_field = "slug"
+ template_name="posts/podcast_detail.html"
+
+
+class PodcastDetailViewTXT(PodcastDetailView):
+ template_name = "posts/jrnl_detail.txt"
+
+
+class TopicListView(ListView):
+ template_name = 'posts/topic_list.html'
+
+ def get_queryset(self):
+ return Post.objects.filter(topics__slug=self.kwargs['slug'],post_type=PostType.SRC)
+
+ def get_context_data(self, **kwargs):
+ # Call the base implementation first to get a context
+ context = super(TopicListView, self).get_context_data(**kwargs)
+ context['topic'] = Category.objects.get(slug__exact=self.kwargs['slug'])
+ return context
+
+
+class PodcastRSSFeedView(Feed):
+ title = "The Lulu and Birdie Podcast"
+ link = "/podcasts/"
+ description = "Latest postings to luxagraf.net/src"
+ description_template = 'feeds/blog_description.html'
+
+ def items(self):
+ return Post.objects.filter(post_type=PostType.PODCAST).filter(status__exact=1).order_by('-pub_date')[:10]
+
+
+"""
+class BookListView(ListView):
+ template_name = "archives/src_books.html"
+
+ def queryset(self):
+ return Book.objects.filter(status__exact=1)
+
+
+class BookDetailView(DetailView):
+ model = Book
+
+ def get_template_names(self):
+ book = self.get_object()
+ return [book.template_name]
+
+ def get_context_data(self, **kwargs):
+ # Call the base implementation first to get a context
+ context = super(BookDetailView, self).get_context_data(**kwargs)
+ book = self.get_object()
+ if book.price_sale < book.price:
+ price = book.price_sale
+ else:
+ price = book.price
+ #paypal_dict = {
+ # "business": settings.PAYPAL_RECEIVER_EMAIL,
+ # "amount": price,
+ # "item_name": book.title,
+ # "invoice": "unique-invoice-id",
+ # "notify_url": "https://luxagraf.net/src/paypal/" + reverse('src:paypal-ipn'),
+ # "return_url": "https://luxagraf.net/src/thank-you",
+ # "cancel_return": "https://luxagraf.net/src/books/",
+ #}
+ #context['paypal_form'] = PayPalPaymentsForm(initial=paypal_dict)
+ return context
+
+"""