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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
from django.http import HttpResponse, HttpResponseRedirect
from django.core.context_processors import csrf
from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import render
from django.template import RequestContext
from django.core.mail import send_mail
from website.forms import UserLoginForm, UserRegisterForm, ProposalForm, ContactUsForm
from website.models import Proposal
def home(request):
return render(request, 'website/templates/home.html')
def page(request):
return render(request, 'website/templates/page.html')
def venue(request):
return render(request, 'website/templates/venue.html')
def contact(request):
context = {}
if request.method == "POST":
form = ContactUsForm(request.POST)
if form.is_valid():
form = form.cleaned_data
from_email = form['useremail']
to = ('scipy@fossee.in',)
subject = form['subject'] + "-" + form['username']
message = form['message']
send_mail(subject, message, from_email, to, fail_silently=True)
context['mailsent'] = True
return render(request, 'website/templates/contact.html', context)
else:
context['form'] = form
return render(request, 'website/templates/contact.html', context)
form = ContactUsForm()
context['form'] = form
return render(request, 'website/templates/contact.html', context)
def register(request):
return render(request, 'website/templates/register.html')
def schedule(request):
return render(request, 'website/templates/schedule.html')
def sponsors(request):
return render(request, 'website/templates/sponsors.html')
def invited_speakers(request):
return render(request, 'website/templates/invited-speakers.html')
def call_for_proposals(request, action=None):
context = {}
""" EDIT PROPOSAL SECTION """
if action == 'edit':
# POST
if request.method == "POST":
if request.user.is_authenticated():
proposal = Proposal.objects.get(user=request.user)
form = ProposalForm(request.POST, request.FILES, instance=proposal)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
return HttpResponseRedirect('/2014/call-for-proposals')
else:
context['proposal_form'] = form
context['edit'] = True
return render(request, 'website/templates/call-for-proposals.html', context)
# GET
if Proposal.objects.filter(user=request.user).exists():
proposal = Proposal.objects.get(user=request.user)
context['proposal_form'] = ProposalForm(instance=proposal)
context['edit'] = True
return render(request, 'website/templates/call-for-proposals.html', context)
else:
return HttpResponseRedirect('/2014/call-for-proposals')
# GET
""" NEW PROPOSAL SECTION """
# POST
if request.method == 'POST':
if request.user.is_authenticated():
form = ProposalForm(request.POST, request.FILES)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
else:
context['proposal_form'] = form
return render(request, 'website/templates/call-for-proposals.html', context)
# GET
if request.user.is_authenticated():
user = request.user
if user.username == "fossee":
return HttpResponseRedirect('/2014/cfp-view-abstracts')
# Checking whether proposal exists
if Proposal.objects.filter(user=request.user).exists():
context['proposal'] = Proposal.objects.get(user=request.user)
else:
context['proposal_form'] = ProposalForm()
else:
context['login_form'] = UserLoginForm()
context['register_form'] = UserRegisterForm()
context.update(csrf(request))
return render(request, 'website/templates/call-for-proposals.html', context)
def view_abstracts(request):
user = request.user
context = {}
if user.is_authenticated():
if user.username == "fossee":
proposals = Proposal.objects.all()
context['proposals'] = proposals
context['user'] = user
return render(request, 'website/templates/view-abstracts.html', context)
def poster(request):
return render(request, 'website/templates/poster.html')
|