summaryrefslogtreecommitdiff
path: root/website/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'website/views.py')
-rwxr-xr-xwebsite/views.py750
1 files changed, 750 insertions, 0 deletions
diff --git a/website/views.py b/website/views.py
new file mode 100755
index 0000000..f3995b4
--- /dev/null
+++ b/website/views.py
@@ -0,0 +1,750 @@
+# -*- coding: utf-8 -*-
+
+from django.shortcuts import render
+from django.utils.encoding import force_text
+from django.contrib.contenttypes.models import ContentType
+from django.template.context import RequestContext
+from django.http import HttpResponse, HttpResponseRedirect
+from django.shortcuts import render_to_response, redirect
+from django.views.decorators.csrf import csrf_exempt
+from django.core.context_processors import csrf
+from django.contrib.auth import authenticate, login, logout
+from django.contrib.auth.models import User
+from django.contrib.admin.models import CHANGE
+from django.contrib.auth.decorators import login_required
+from django.core.mail import send_mail
+from django.db.models import F
+import csv
+from django.core.mail import EmailMultiAlternatives
+import os
+
+from website.forms import ProposalForm, UserRegisterForm, UserLoginForm, WorkshopForm, ContactForm
+from website.models import Proposal, Comments, Ratings
+from social.apps.django_app.default.models import UserSocialAuth
+import random
+import string
+
+
+def userregister(request):
+ context = {}
+ context.update(csrf(request))
+ registered_emails = []
+ users = User.objects.all()
+ for user in users:
+ registered_emails.append(user.email)
+ if request.user.is_anonymous():
+ if request.method == 'POST':
+ form = UserRegisterForm(request.POST)
+ if form.is_valid():
+ data = form.cleaned_data
+ if data['email'] in registered_emails:
+ context['form'] = form
+ context['email_registered'] = True
+ return render_to_response('user-register.html', context)
+ else:
+ form.save()
+ context['registration_complete'] = True
+ form = UserLoginForm()
+ context['form'] = form
+ context['user'] = request.user
+ return render_to_response('cfp.html', context)
+ else:
+ context.update(csrf(request))
+ context['form'] = form
+ return render_to_response('user-register.html', context)
+ else:
+ form = UserRegisterForm()
+ context.update(csrf(request))
+ context['form'] = form
+ return render_to_response('user-register.html', context)
+ else:
+ context['user'] = request.user
+ return render_to_response('cfp.html', context)
+
+@csrf_exempt
+def gallery(request):
+ return render(request, 'gallery.html')
+
+@csrf_exempt
+def contact_us(request,next_url):
+ pass
+ # user = request.user
+ # context = {}
+ # if request.method == "POST":
+ # form = ContactForm(request.POST)
+ # sender_name = request.POST['name']
+ # sender_email = request.POST['email']
+ # to = ('scipy@fossee.in',)
+ # subject = "Query from - "+sender_name
+ # message = request.POST['message']
+ # try:
+ # send_mail(subject, message, sender_email, to)
+ # context['mailsent'] = True
+ # context['user'] = user
+ # except:
+ # context['mailfailed'] = True
+ # context['user'] = user
+ # return redirect(next_url,context)
+
+@csrf_exempt
+def home(request):
+ #pass
+ context = {}
+ if request.user.is_authenticated():
+ social_user = request.user
+ context.update(csrf(request))
+ django_user = User.objects.get(username=social_user)
+ context['user'] = django_user
+ if request.method == "POST":
+ sender_name = request.POST['name']
+ sender_email = request.POST['email']
+ to = ('scipy@fossee.in', sender_email)
+ subject = "Query from - "+sender_name
+ message = request.POST['message']
+ try:
+ send_mail(subject, message, sender_email, to)
+ context['mailsent'] = True
+ except:
+ context['mailfailed'] = True
+ return render_to_response('base.html', context)
+
+
+def cfp(request):
+ if request.method == "POST":
+ context = {}
+ context.update(csrf(request))
+ username = request.POST['username']
+ password = request.POST['password']
+ user = authenticate(username=username, password=password)
+ if user is not None:
+ login(request, user)
+ if 'next' in request.GET:
+ next = request.GET['next']
+ return HttpResponseRedirect(next)
+ proposals = Proposal.objects.filter(user = request.user).count()
+ context['user'] = user
+ context['proposals'] = proposals
+ return render_to_response('cfp.html', context)
+ else:
+ context['invalid'] = True
+ context['form'] = UserLoginForm
+ context['user'] = user
+ return render_to_response('cfp.html', context)
+ else:
+ form = UserLoginForm()
+ context = RequestContext(request, {'request': request,
+ 'user': request.user,
+ 'form': form})
+ context.update(csrf(request))
+ return render_to_response('cfp.html',
+ context_instance=context)
+
+@login_required
+def submitcfp(request):
+ context = {}
+ if request.user.is_authenticated():
+ social_user = request.user
+ context.update(csrf(request))
+ django_user = User.objects.get(username=social_user)
+ context['user'] = django_user
+ proposals_a = Proposal.objects.filter(user = request.user, proposal_type = 'ABSTRACT').count()
+ if request.method == 'POST':
+ form = ProposalForm(request.POST, request.FILES)
+ if form.is_valid():
+ data = form.save(commit=False)
+ data.user = django_user
+ data.email = social_user.email
+ data.save()
+ context['proposal_submit'] = True
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ subject = "SciPy India 2017 – Talk Proposal Submission Acknowledgment"
+ to = (social_user.email, "scipy@fossee.in")
+ message = """
+ Dear {0}, <br><br>
+ Thank you for showing interest & submitting a talk proposal at SciPy India 2017 conference for the talk titled <b>“{1}”</b>. Reviewal of the proposals will start once the CFP closes.
+ <br><br>You will be notified regarding comments/selection/rejection of your talk via email.
+ Visit this {2} link to view status of your submission.
+ <br>Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ social_user.first_name,
+ request.POST['title'],
+ 'http://scipy.in/2017/view-abstracts/', )
+ email = EmailMultiAlternatives(
+ subject,'',
+ sender_email, to,
+ headers={"Content-type":"text/html;charset=iso-8859-1"}
+ )
+ email.attach_alternative(message, "text/html")
+ email.send(fail_silently=True)
+ return render_to_response('cfp.html', context)
+ else:
+ context['proposal_form'] = form
+ context['proposals_a'] = proposals_a
+ return render_to_response('submit-cfp.html', context)
+ else:
+ form = ProposalForm()
+ context['proposals_a'] = proposals_a
+ context['proposal_form'] = form
+ return render_to_response('submit-cfp.html', context) #when link clicked
+ else:
+ context['login_required'] = True
+ return render_to_response('cfp.html', context)
+
+
+@login_required
+def submitcfw(request):
+ context = {}
+ if request.user.is_authenticated():
+ social_user = request.user
+ context.update(csrf(request))
+ django_user = User.objects.get(username=social_user)
+ context['user'] = django_user
+ proposals_w = Proposal.objects.filter(user = request.user, proposal_type = 'WORKSHOP').count()
+ if request.method == 'POST':
+ form = WorkshopForm(request.POST, request.FILES)
+ if form.is_valid():
+ data = form.save(commit=False)
+ data.user = django_user
+ data.email = social_user.email
+ data.save()
+ context['proposal_submit'] = True
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ subject = "SciPy India 2017 – Workshop Proposal Submission Acknowledgment"
+ to = (social_user.email, "scipy@fossee.in")
+ message = """
+ Dear {0}, <br><br>
+ Thank you for showing interest & submitting a workshop proposal at SciPy India 2017 conference for the workshop titled <b>“{1}”</b>. Reviewal of the proposals will start once the CFP closes.
+ <br><br>You will be notified regarding comments/selection/rejection of your workshop via email.
+ Visit this {2} link to view status of your submission.
+ <br>Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ social_user.first_name,
+ request.POST['title'],
+ 'http://scipy.in/2017/view-abstracts/', )
+ email = EmailMultiAlternatives(
+ subject,'',
+ sender_email, to,
+ headers={"Content-type":"text/html;charset=iso-8859-1"}
+ )
+ email.attach_alternative(message, "text/html")
+ email.send(fail_silently=True)
+ return render_to_response('cfp.html', context)
+ else:
+ context['proposal_form'] = form
+ context['proposals_w'] = proposals_w
+ return render_to_response('submit-cfw.html', context)
+ else:
+ form = WorkshopForm()
+ context['proposal_form'] = form
+ context['proposals_w'] = proposals_w
+ return render_to_response('submit-cfw.html', context)
+ else:
+ context['login_required'] = True
+ return render_to_response('cfp.html', context)
+
+@login_required
+def view_abstracts(request):
+ user = request.user
+ context = {}
+ count_list =[]
+ if user.is_authenticated():
+ if user.is_superuser :
+ proposals = Proposal.objects.all().order_by('status')
+ ratings = Ratings.objects.all()
+ context['ratings'] = ratings
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ elif user is not None:
+ if Proposal.objects.filter(user = user).exists :
+ proposals = Proposal.objects.filter(user = user).order_by('status')
+ context['counts'] = count_list
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ else:
+ return render(request, 'cfp.html')
+ else:
+ return render(request, 'cfp.html', context)
+
+
+@login_required
+def edit_proposal(request, proposal_id = None):
+ user = request.user
+ context = {}
+ if user.is_authenticated():
+ try:
+ proposal = Proposal.objects.get(id=proposal_id)
+ if proposal.status == 'Edit':
+ if proposal.proposal_type == 'ABSTRACT':
+ form = ProposalForm( instance=proposal)
+ else:
+ form = WorkshopForm( instance=proposal)
+ else:
+ return render(request,'cfp.html')
+ if request.method == 'POST':
+ if proposal.status == 'Edit':
+ if proposal.proposal_type == 'ABSTRACT':
+ form = ProposalForm( request.POST, request.FILES, instance=proposal)
+ else:
+ form = WorkshopForm( request.POST, request.FILES, instance=proposal)
+ else:
+ return render(request, 'cfp.html')
+ if form.is_valid():
+ data = form.save(commit = False)
+ data.user = user
+ proposal.status = 'Resubmitted'
+ data.save()
+ context.update(csrf(request))
+ proposals = Proposal.objects.filter(user = user).order_by('status')
+ context['proposals'] = proposals
+ return render(request, 'view-abstracts.html', context)
+ else:
+ context['user'] = user
+ context['form'] = form
+ context['proposal'] = proposal
+ return render(request, 'edit-proposal.html', context)
+ context['user'] = user
+ context['form'] = form
+ context['proposal'] = proposal
+ except:
+ render(request, 'cfp.html')
+ return render(request, 'edit-proposal.html', context)
+
+@login_required
+def abstract_details(request, proposal_id=None):
+ user = request.user
+ context = {}
+ if user.is_authenticated():
+ if user.is_superuser :
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'cfp.html', context)
+ elif user is not None:
+ try:
+ proposal = Proposal.objects.get(id=proposal_id)
+ print "------------------> owner",proposal.user
+ if proposal.user == user:
+ try:
+ url = '/2017'+str(proposal.attachment.url)
+ context['url'] = url
+ except:
+ pass
+ comments = Comments.objects.filter(proposal=proposal)
+ context['proposal'] = proposal
+ context['user'] = user
+ context['comments'] = comments
+ path, filename = os.path.split(str(proposal.attachment))
+ context['filename'] = filename
+ return render(request, 'abstract-details.html', context)
+ else:
+ return render(request, 'cfp.html', context)
+ except:
+ return render(request, 'cfp.html', context)
+ else:
+ return render(request, 'cfp.html', context)
+ else:
+ return render(request, 'cfp.html', context)
+
+
+@login_required
+def rate_proposal(request, proposal_id = None):
+ user = request.user
+ context = {}
+ if user.is_authenticated():
+ proposal = Proposal.objects.get(id=proposal_id)
+ if request.method == 'POST':
+ ratings = Ratings.objects.filter(proposal_id= proposal_id, user_id = user.id)
+ if ratings:
+ for rate in ratings:
+ rate.rating = request.POST['rating']
+ rate.save()
+ else:
+ newrate = Ratings()
+ newrate.rating = request.POST['rating']
+ newrate.user = user
+ newrate.proposal = proposal
+ newrate.save()
+ rates = Ratings.objects.filter(proposal_id=proposal_id)
+ comments = Comments.objects.filter(proposal=proposal)
+ context['comments'] = comments
+ context['proposal'] = proposal
+ context['rates'] = rates
+ context.update(csrf(request))
+ return render(request, 'comment-abstract.html', context)
+ else:
+ rates = Ratings.objects.filter(proposal=proposal)
+ comments = Comments.objects.filter(proposal=proposal)
+ context['comments'] = comments
+ context['proposal'] = proposal
+ context['rates'] = rates
+ context.update(csrf(request))
+ return render(request, 'comment-abstract.html', context)
+ else:
+ return render(request, 'comment-abstract.html', context)
+
+
+
+@login_required
+def comment_abstract(request, proposal_id = None):
+ user = request.user
+ context = {}
+ if user.is_authenticated():
+ if user.is_superuser :
+ try:
+ proposal = Proposal.objects.get(id=proposal_id)
+ try:
+ url = '/2017'+str(proposal.attachment.url)
+ context['url'] = url
+ except:
+ pass
+ if request.method == 'POST':
+ comment = Comments()
+ comment.comment = request.POST['comment']
+ comment.user = user
+ comment.proposal = proposal
+ comment.save()
+ comments = Comments.objects.filter(proposal=proposal)
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ to = (proposal.user.email, "scipy@fossee.in" )
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Comment on Your talk Proposal"
+ message = """
+ Dear {0}, <br><br>
+ There is a comment posted on your proposal for the talk titled <b>{1}</b>.<br>
+ Once we receive your response, you will be notified regarding further comments/acceptance/ rejection of your talk/workshop via email.
+ Visit this link {2} to view comments on your submission.<br><br>
+ Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ proposal.user.first_name,
+ proposal.title,
+ 'http://scipy.in/2017/abstract-details/' + str(proposal.id),
+ )
+ elif proposal.proposal_type =='WORKSHOP':
+ subject = "SciPy India 2017 - Comment on Your Workshop Proposal"
+ message = """
+ Dear {0}, <br><br>
+ There is a comment posted on your proposal for the workshop titled <b>{1}</b>.<br>
+ Once we receive your response, you will be notified regarding further comments/acceptance/ rejection of your talk/workshop via email.
+ Visit this {2} link to view comments on your submission.<br><br>
+ Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ proposal.user.first_name,
+ proposal.title,
+ 'http://scipy.in/2017/abstract-details/' + str(proposal.id),
+ )
+ email = EmailMultiAlternatives(
+ subject,'',
+ sender_email, to,
+ headers={"Content-type":"text/html;charset=iso-8859-1"}
+ )
+ email.attach_alternative(message, "text/html")
+ email.send(fail_silently=True)
+ proposal.status="Commented"
+ proposal.save()
+ rates = Ratings.objects.filter(proposal=proposal)
+ context['rates'] = rates
+ context['proposal'] = proposal
+ context['comments'] = comments
+ path, filename = os.path.split(str(proposal.attachment))
+ context['filename'] = filename
+ context.update(csrf(request))
+ return render(request, 'comment-abstract.html', context)
+ else:
+ comments = Comments.objects.filter(proposal=proposal)
+ rates = Ratings.objects.filter(proposal=proposal)
+ context['rates'] = rates
+ context['proposal'] = proposal
+ context['comments'] = comments
+ path, filename = os.path.split(str(proposal.attachment))
+ context['filename'] = filename
+ context.update(csrf(request))
+ return render(request, 'comment-abstract.html', context)
+ except:
+ return render(request, 'cfp.html', context)
+ else:
+ return render(request, 'cfp.html', context)
+ else:
+ return render(request, 'cfp.html', context)
+
+
+@login_required
+def status(request, proposal_id= None):
+ user = request.user
+ context = {}
+ if user.is_authenticated():
+ if user.is_superuser :
+ proposal = Proposal.objects.get(id=proposal_id)
+ if 'accept' in request.POST:
+ proposal.status="Accepted"
+ proposal.save()
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ to = (proposal.user.email, "scipy@fossee.in")
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Talk Proposal Accepted"
+ message = """Dear """+proposal.user.first_name+""",
+ Congratulations. Your proposal for the talk titled '"""+ proposal.title+ """' is accepted.
+ You shall present the talk at the conference.\n\nYou will be notified regarding instructions of your talk via email.\n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ elif proposal.proposal_type == 'WORKSHOP':
+ subject = "SciPy India 2017 - Workshop Proposal Accepted"
+ message = """Dear """+proposal.user.first_name+""",
+ Congratulations. Your proposal for the workshop titled '"""+ proposal.title+ """' is accepted.
+ You shall conduct the workshop at the conference.\n\nYou will be notified regarding instructions of your workshop via email.\n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ send_mail(subject, message, sender_email, to)
+ context.update(csrf(request))
+ elif 'reject' in request.POST:
+ proposal.status="Rejected"
+ proposal.save()
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ to = (proposal.user.email,"scipy@fossee.in", )
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Talk Proposal Rejected"
+ message = """Dear """+proposal.user.first_name+""",
+ We regret to inform you that your proposal for the talk titled '"""+ proposal.title+ """' as not been shortlisted.<br>
+ You may register and attend the conference by clicking http://scipyindia2017.doattend.com/
+ \n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ elif proposal.proposal_type == 'WORKSHOP':
+ subject = "SciPy India 2017 - Workshop Proposal Rejected"
+ message = """Dear """+proposal.user.first_name+""",
+ We regret to inform you that your proposal for the workshop titled '"""+ proposal.title+ """' as not been shortlisted.<br>
+ You may register and attend the conference by clicking http://scipyindia2017.doattend.com/
+ \n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ send_mail(subject, message, sender_email, to)
+ context.update(csrf(request))
+ elif 'resubmit' in request.POST:
+ to = (proposal.user.email, "scipy@fossee.in" )
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Talk Proposal Resumbmission"
+ message = """
+ Dear {0}, <br><br>
+ Thank you for showing interest & submitting a talk proposal at SciPy India 2017 conference for the talk titled <b>"{1}"</b>. You are requested to submit this talk proposal once again.<br>
+ You will be notified regarding comments/selection/rejection of your talk via email.
+ Visit this {2} link to view comments on your submission.<br><br>
+ Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ proposal.user.first_name,
+ proposal.title,
+ 'http://scipy.in/2017/view-abstracts/'
+ )
+ elif proposal.proposal_type =='WORKSHOP':
+ subject = "SciPy India 2017 - Workshop Proposal Resubmission"
+ message = """
+ Thank you for showing interest & submitting a workshop proposal at SciPy India 2017 conference for the workshop titled <b>"{1}"</b>. You are requested to submit this talk proposal once again.<br>
+ You will be notified regarding comments/selection/rejection of your workshop via email.
+ Visit this {2} link to view comments on your submission.<br><br>
+ Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ proposal.user.first_name,
+ proposal.title,
+ 'http://scipy.in/2017/view-abstracts/'
+ )
+ email = EmailMultiAlternatives(
+ subject,'',
+ sender_email, to,
+ headers={"Content-type":"text/html;charset=iso-8859-1"}
+ )
+ email.attach_alternative(message, "text/html")
+ email.send(fail_silently=True)
+ proposal.status="Edit"
+ proposal.save()
+ context.update(csrf(request))
+ else:
+ return render(request, 'cfp.html')
+ else:
+ return render(request, 'cfp.html')
+ proposals = Proposal.objects.all().order_by('status')
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+
+
+@login_required
+def status_change(request):
+ user = request.user
+ context = {}
+ if user.is_authenticated():
+ if user.is_superuser:
+ if 'delete' in request.POST:
+ delete_proposal = request.POST.getlist('delete_proposal')
+ for proposal_id in delete_proposal:
+ proposal = Proposal.objects.get(id = proposal_id)
+ proposal.delete()
+ context.update(csrf(request))
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ elif 'dump' in request.POST:
+ delete_proposal = request.POST.getlist('delete_proposal')
+ blank = False
+ if delete_proposal == [] :
+ blank = True
+ try:
+ if blank == False:
+ response = HttpResponse(content_type='text/csv')
+ response['Content-Disposition'] = 'attachment; filename="Proposals.csv"'
+ writer = csv.writer(response)
+ header = [
+ 'name',
+ 'username',
+ 'email',
+ 'about_me',
+ 'phone',
+ 'title',
+ 'abstract',
+ 'prerequisite',
+ 'duration',
+ 'attachment',
+ 'date_created',
+ 'status',
+ 'proposal_type',
+ 'tags',
+ ]
+ writer.writerow(header)
+ for proposal_id in delete_proposal:
+ proposal = Proposal.objects.get(id = proposal_id)
+ row = [
+ '{0} {1}'.format(proposal.user.first_name, proposal.user.last_name),
+ proposal.user.username,
+ proposal.user.email,
+ proposal.about_me,
+ proposal.phone,
+ proposal.title,
+ proposal.abstract,
+ proposal.prerequisite,
+ proposal.duration,
+ proposal.attachment,
+ proposal.date_created,
+ proposal.status,
+ proposal.proposal_type,
+ proposal.tags,
+ ]
+ writer.writerow(row)
+ return response
+ else:
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ except:
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ elif 'accept' in request.POST:
+ delete_proposal = request.POST.getlist('delete_proposal')
+ for proposal_id in delete_proposal:
+ proposal = Proposal.objects.get(id = proposal_id)
+ proposal.status = "Accepted"
+ proposal.save()
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ to = (proposal.user.email, "scipy@fossee.in")
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Talk Proposal Accepted"
+ message = """Dear """+proposal.user.first_name+""",
+ Congratulations. Your proposal for the talk titled '"""+ proposal.title+ """'is accepted.
+ You shall present the talk at the conference.\n\nYou will be notified regarding instructions of your talk via email.\n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ elif proposal.proposal_type == 'WORKSHOP':
+ subject = "SciPy India 2017 - Workshop Proposal Accepted"
+ message = """Dear """+proposal.user.first_name+""",
+ Congratulations. Your proposal for the workshop titled '"""+ proposal.title+ """'is accepted.
+ You shall conduct the workshop at the conference.\n\nYou will be notified regarding instructions of your workshop via email.\n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ send_mail(subject, message, sender_email, to)
+ context.update(csrf(request))
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ elif 'reject' in request.POST:
+ delete_proposal = request.POST.getlist('delete_proposal')
+ for proposal_id in delete_proposal:
+ proposal = Proposal.objects.get(id = proposal_id)
+ proposal.status="Rejected"
+ proposal.save()
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ to = (proposal.user.email, "scipy@fossee.in")
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Talk Proposal Rejected"
+ message = """Dear """+proposal.user.first_name+""",
+ We regret to inform you that your proposal for the talk titled '"""+ proposal.title+ """' as not been shortlisted.<br>
+ You may register and attend the conference by clicking http://scipyindia2017.doattend.com/
+ \n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ elif proposal.proposal_type == 'WORKSHOP':
+ subject = "SciPy India 2017 - Workshop Proposal Rejected"
+ message = """Dear """+proposal.user.first_name+""",
+ We regret to inform you that your proposal for the workshop titled '"""+ proposal.title+ """' as not been shortlisted.<br>
+ You may register and attend the conference by clicking http://scipyindia2017.doattend.com/
+ \n\nThank You ! \n\nRegards,\nSciPy India 2017,\nFOSSEE - IIT Bombay"""
+ send_mail(subject, message, sender_email, to)
+ context.update(csrf(request))
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ elif 'resubmit' in request.POST:
+ delete_proposal = request.POST.getlist('delete_proposal')
+ for proposal_id in delete_proposal:
+ proposal = Proposal.objects.get(id = proposal_id)
+ sender_name = "SciPy India 2017"
+ sender_email = "scipy@fossee.in"
+ to = (proposal.user.email, "scipy@fossee.in" )
+ if proposal.proposal_type == 'ABSTRACT':
+ subject = "SciPy India 2017 - Talk Proposal Resumbmission"
+ message = """
+ Dear {0}, <br><br>
+ Thank you for showing interest & submitting a talk proposal at SciPy India 2017 conference for the talk titled <b>"{1}"</b>. You are requested to submit this talk proposal once again.<br>
+ You will be notified regarding comments/selection/rejection of your talk via email.
+ Visit this {2} link to view comments on your submission.<br><br>
+ Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ proposal.user.first_name,
+ proposal.title,
+ 'http://scipy.in/2017/view-abstracts/'
+ )
+ elif proposal.proposal_type =='WORKSHOP':
+ subject = "SciPy India 2017 - Workshop Proposal Resubmission"
+ message = """
+ Thank you for showing interest & submitting a workshop proposal at SciPy India 2017 conference for the workshop titled <b>"{1}"</b>. You are requested to submit this talk proposal once again.<br>
+ You will be notified regarding comments/selection/rejection of your workshop via email.
+ Visit this {2} link to view comments on your submission.<br><br>
+ Thank You ! <br><br>Regards,<br>SciPy India 2017,<br>FOSSEE - IIT Bombay.
+ """.format(
+ proposal.user.first_name,
+ proposal.title,
+ 'http://scipy.in/2017/view-abstracts/'
+ )
+ email = EmailMultiAlternatives(
+ subject,'',
+ sender_email, to,
+ headers={"Content-type":"text/html;charset=iso-8859-1"}
+ )
+ email.attach_alternative(message, "text/html")
+ email.send(fail_silently=True)
+ proposal.status="Edit"
+ proposal.save()
+ context.update(csrf(request))
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ else:
+ proposals = Proposal.objects.all()
+ context['proposals'] = proposals
+ context['user'] = user
+ return render(request, 'view-abstracts.html', context)
+ else:
+ return render(request, 'cfp.html', context)
+ else:
+ return render(request, 'view-abstracts.html', context)
+
+