1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
from django.views.generic import ListView
from django.views.generic.detail import DetailView
from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from django.conf import settings
from paypal.standard.forms import PayPalPaymentsForm
from .models import Post, Topic, Book
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
class SrcListView(ListView):
template_name = "archives/src_home.html"
def queryset(self):
return Post.objects.filter(status__exact=1)
class EntryDetailView(DetailView):
model = Post
template_name = "details/src_entry.html"
slug_field = "slug"
class EntryDetailViewTXT(EntryDetailView):
template_name = "details/entry.txt"
class EntryDetailViewAMP(EntryDetailView):
template_name = "details/src_entry.amp"
class TopicListView(ListView):
template_name = 'archives/src_home.html'
def queryset(self):
return Post.objects.filter(topics__slug=self.kwargs['slug'])
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'] = Topic.objects.get(slug__exact=self.kwargs['slug'])
return context
class SrcRSSFeedView(Feed):
title = "luxagraf:src Code and Technology"
link = "/src/"
description = "Latest postings to luxagraf.net/src"
description_template = 'feeds/blog_description.html'
def items(self):
return Post.objects.filter(status__exact=1).order_by('-pub_date')[:10]
|