Advertisement
Guest User

Untitled

a guest
Jun 21st, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.21 KB | None | 0 0
  1. # Create your views here.
  2. from django.http import HttpResponseRedirect,Http404,HttpResponse
  3. from django.shortcuts import render_to_response
  4. from oasisreg.registration.forms import EventForm
  5. from oasisreg.registration.forms import ParticipantForm,FacultyForm
  6. from django.contrib.auth.decorators import login_required
  7. from django.contrib.auth.models import User
  8. from django.contrib import auth
  9. from oasisreg.registration.models import Participant,Faculty,Event
  10. from django.forms.models import modelformset_factory
  11. from django.core.exceptions import ObjectDoesNotExist
  12. from django.core.urlresolvers import reverse
  13. import xlwt
  14. import xlrd
  15.  
  16. def create_formfield(f, **kwargs):
  17.     return f.formfield(**kwargs)
  18.  
  19. @login_required
  20. def add(request):
  21.     target = reverse('add-p')
  22.     if request.method == 'POST':
  23.         i = request.session.get('id')
  24.         u = User.objects.get(pk = int(i) )
  25.         u = u.get_profile()
  26.         coll = u.college
  27.         p = Participant(college = coll)
  28.         ParticipantFormset = modelformset_factory(Participant,
  29.                                      form = ParticipantForm,
  30.                                      formfield_callback=create_formfield,
  31.                                      extra = 1)
  32.  
  33.         if 'submit_add' in request.POST and request.POST['extra']!='' :
  34.             formset = ParticipantFormset(request.POST)
  35.             flag = 0
  36.  
  37.             if formset.is_valid():
  38.  
  39.                 forms = formset.save(commit = False)
  40.                 for form in forms:
  41.                     form.college = coll
  42.                     flag = 1
  43.                     form.save()
  44.                 formset.save_m2m()
  45.  
  46.                 try:
  47.                     ext  = int(request.POST['extra'])
  48.                     if ext > 12:
  49.                         ext = 12
  50.                     elif ext < 0:
  51.                         ext = 1
  52.  
  53.                 except ValueError:
  54.                     if not flag:
  55.                         message = u'Please enter a number in "No. of forms to add " field '
  56.                     else:
  57.                         message = u'Participants were added but,you did not enter a  number in "No. of forms to add " field '
  58.                     return render_to_response('thank.html',{ 'message': message})
  59.  
  60.                 ParticipantFormset = modelformset_factory(Participant,
  61.                                      form = ParticipantForm,
  62.                                      formfield_callback=create_formfield,
  63.                                      extra = ext)
  64.  
  65.                 formset = ParticipantFormset(queryset = Participant.objects.none())
  66.  
  67.                 return render_to_response('add_participant.html',{'formFormset' : formset , 'action' : target})
  68.  
  69.             else:
  70.  
  71.                 return render_to_response('add_participant.html',{'formFormset' : formset, 'action' : target})
  72.  
  73.  
  74.         else:
  75.  
  76.             formset = ParticipantFormset(request.POST)
  77.  
  78.             if formset.is_valid():
  79.                 forms = formset.save(commit = False)
  80.                 if forms:
  81.                     for form in forms:
  82.                         form.college = coll
  83.                         form.save()
  84.                     formset.save_m2m()
  85.                     return HttpResponseRedirect(reverse('manage'))
  86.                 else:
  87.                     ParticipantFormset = modelformset_factory(Participant,
  88.                                      form = ParticipantForm,
  89.                                      formfield_callback=create_formfield,
  90.                                      extra = 1)
  91.                     formset = ParticipantFormset(queryset = Participant.objects.none())
  92.                     message = " You submitted empty forms!"
  93.                     return render_to_response('add_participant.html',{'formFormset' : formset , 'action' : target , 'emessage':message})
  94.  
  95.             else:
  96.  
  97.                 return render_to_response('add_participant.html',{'formFormset' : formset, 'action' : target})
  98.  
  99.  
  100.     else :
  101.  
  102.         ParticipantFormset = modelformset_factory(Participant,
  103.                                      form = ParticipantForm,
  104.                                      formfield_callback=create_formfield,
  105.                                      extra = 1)
  106.         formset = ParticipantFormset(queryset = Participant.objects.none())
  107.  
  108.         return render_to_response('add_participant.html',{'formFormset' : formset})
  109.  
  110. @login_required
  111. def addfaculty(request):
  112.     target = reverse('add-f')
  113.     if request.method == 'POST':
  114.         i = request.session.get('id')
  115.         u = User.objects.get(id = i )
  116.         u = u.get_profile()
  117.         coll = u.college
  118.         p = Faculty(college = coll)
  119.         form = FacultyForm(request.POST)
  120.         if form.is_valid():
  121.             form = FacultyForm(request.POST,instance = p)
  122.             form.save()
  123.             return HttpResponseRedirect(reverse('manage'))
  124.         else:
  125.             return render_to_response('addf.html',{'form' : form , 'action': target})
  126.     else:
  127.         form = FacultyForm()
  128.         return render_to_response('addf.html',{'form' : form , 'action': target})
  129.  
  130. def login(request):
  131.     if request.method == 'POST':
  132.         username = request.POST.get('username')
  133.         password = request.POST.get('password')
  134.         user = auth.authenticate(username = username,password = password)
  135.         if user is not None and user.is_active:
  136.             auth.login(request,user)
  137.             u = User.objects.get(username = username)
  138.             request.session["id"] = u.id
  139.             return HttpResponseRedirect(reverse('profile'))
  140.         else:
  141.             message = 'User Does not exist/Wrong username-password !!!'
  142.             return render_to_response('login.html', {'message':message})
  143.     else:
  144.         if request.session.get('id'):
  145.             return HttpResponseRedirect(reverse('profile'))
  146.         return render_to_response('login.html')
  147.  
  148. @login_required
  149. def displayParticipants(request):
  150.     if not request.session.get('id'):
  151.         return HttpResponseRedirect(reverse('login'))
  152.     else:
  153.         i = request.session.get('id')
  154.         u = User.objects.get(id = i)
  155.         u = u.get_profile()
  156.         coll = u.college
  157.         ps = Participant.objects.filter(college = coll)
  158.         fs = Faculty.objects.filter(college = coll)
  159.         return render_to_response('partcipants.html',{'participants':ps , 'faculty' : fs})
  160.  
  161. @login_required
  162. def editp(request,i):
  163.     try:
  164.         p = Participant.objects.get(pk = int(i))
  165.     except ObjectDoesNotExist:
  166.         raise Http404
  167.  
  168.     id = request.session.get('id')
  169.     u = User.objects.get(pk = int(id))
  170.     u = u.get_profile()
  171.     c =  u.college
  172.     if not p and p.college != u.college:
  173.         raise Http404
  174.     else:
  175.         request.session['pid'] = p.id
  176.         prtcpnt = ParticipantForm(instance = p)
  177.         target = reverse('edit')
  178.         return render_to_response('edit_p.html',{'form':prtcpnt ,'action' : target})
  179.  
  180. @login_required
  181. def edit(request):
  182.     target = reverse('edit')
  183.     if request.method == 'POST':
  184.         i = request.session.get('pid')
  185.         try:
  186.             p = Participant.objects.get(id = int(i) )               # updated 07-10-2010 by samvit
  187.         except ObjectDoesNotExist:
  188.             raise Http404
  189.        
  190.         r = request.POST
  191.         t = ParticipantForm(r,instance = p)
  192.         if t.is_valid():
  193.             t.save()
  194.             del request.session['pid']
  195.         else:
  196.         return render_to_response('edit_p.html' ,{ 'form': t, 'action':target } )
  197.  
  198.         i = request.session.get('id')
  199.         u = User.objects.get(pk = int(i))
  200.         u = u.get_profile()
  201.         coll = u.college
  202.         ps = Participant.objects.filter(college = coll)
  203.         fs = Faculty.objects.filter(college = coll)
  204.         message = "Participant successfully edited!"
  205.         return render_to_response('partcipants.html',{'participants':ps , 'faculty' : fs , 'message' : message})
  206.  
  207. @login_required
  208. def delete(request, id):
  209.     try:
  210.         p = Participant.objects.get(pk = int(id))
  211.     except ObjectDoesNotExist:
  212.         raise Http404
  213.     i = request.session.get('id')
  214.     u = User.objects.get(pk = int(i))
  215.     u = u.get_profile()
  216.     c = u.college
  217.     if p and p.college == c:
  218.         p.delete()
  219.     i = request.session.get('id')
  220.         u = User
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement