diff options
author | lxf <sng@luxagraf.net> | 2021-10-30 17:18:57 -0400 |
---|---|---|
committer | lxf <sng@luxagraf.net> | 2021-10-30 17:18:57 -0400 |
commit | 7b628e9cde7fe2babe16523b7d1d44df0c468203 (patch) | |
tree | d2303d4b6fb316ff32bf58c2afebc6fcd7f30a1e /app/posts/views/podcast_views.py | |
parent | 940da61accfd124a2dfc90fb585434203f39685b (diff) |
posts: made podcast posttype and templates
Diffstat (limited to 'app/posts/views/podcast_views.py')
-rw-r--r-- | app/posts/views/podcast_views.py | 97 |
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 + +""" |