Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create your views here.
- from django.http import HttpResponseRedirect,Http404,HttpResponse
- from django.shortcuts import render_to_response
- from oasisreg.registration.forms import EventForm
- from oasisreg.registration.forms import ParticipantForm,FacultyForm
- from django.contrib.auth.decorators import login_required
- from django.contrib.auth.models import User
- from django.contrib import auth
- from oasisreg.registration.models import Participant,Faculty,Event
- from django.forms.models import modelformset_factory
- from django.core.exceptions import ObjectDoesNotExist
- from django.core.urlresolvers import reverse
- import xlwt
- import xlrd
- def create_formfield(f, **kwargs):
- return f.formfield(**kwargs)
- @login_required
- def add(request):
- target = reverse('add-p')
- if request.method == 'POST':
- i = request.session.get('id')
- u = User.objects.get(pk = int(i) )
- u = u.get_profile()
- coll = u.college
- p = Participant(college = coll)
- ParticipantFormset = modelformset_factory(Participant,
- form = ParticipantForm,
- formfield_callback=create_formfield,
- extra = 1)
- if 'submit_add' in request.POST and request.POST['extra']!='' :
- formset = ParticipantFormset(request.POST)
- flag = 0
- if formset.is_valid():
- forms = formset.save(commit = False)
- for form in forms:
- form.college = coll
- flag = 1
- form.save()
- formset.save_m2m()
- try:
- ext = int(request.POST['extra'])
- if ext > 12:
- ext = 12
- elif ext < 0:
- ext = 1
- except ValueError:
- if not flag:
- message = u'Please enter a number in "No. of forms to add " field '
- else:
- message = u'Participants were added but,you did not enter a number in "No. of forms to add " field '
- return render_to_response('thank.html',{ 'message': message})
- ParticipantFormset = modelformset_factory(Participant,
- form = ParticipantForm,
- formfield_callback=create_formfield,
- extra = ext)
- formset = ParticipantFormset(queryset = Participant.objects.none())
- return render_to_response('add_participant.html',{'formFormset' : formset , 'action' : target})
- else:
- return render_to_response('add_participant.html',{'formFormset' : formset, 'action' : target})
- else:
- formset = ParticipantFormset(request.POST)
- if formset.is_valid():
- forms = formset.save(commit = False)
- if forms:
- for form in forms:
- form.college = coll
- form.save()
- formset.save_m2m()
- return HttpResponseRedirect(reverse('manage'))
- else:
- ParticipantFormset = modelformset_factory(Participant,
- form = ParticipantForm,
- formfield_callback=create_formfield,
- extra = 1)
- formset = ParticipantFormset(queryset = Participant.objects.none())
- message = " You submitted empty forms!"
- return render_to_response('add_participant.html',{'formFormset' : formset , 'action' : target , 'emessage':message})
- else:
- return render_to_response('add_participant.html',{'formFormset' : formset, 'action' : target})
- else :
- ParticipantFormset = modelformset_factory(Participant,
- form = ParticipantForm,
- formfield_callback=create_formfield,
- extra = 1)
- formset = ParticipantFormset(queryset = Participant.objects.none())
- return render_to_response('add_participant.html',{'formFormset' : formset})
- @login_required
- def addfaculty(request):
- target = reverse('add-f')
- if request.method == 'POST':
- i = request.session.get('id')
- u = User.objects.get(id = i )
- u = u.get_profile()
- coll = u.college
- p = Faculty(college = coll)
- form = FacultyForm(request.POST)
- if form.is_valid():
- form = FacultyForm(request.POST,instance = p)
- form.save()
- return HttpResponseRedirect(reverse('manage'))
- else:
- return render_to_response('addf.html',{'form' : form , 'action': target})
- else:
- form = FacultyForm()
- return render_to_response('addf.html',{'form' : form , 'action': target})
- def login(request):
- if request.method == 'POST':
- username = request.POST.get('username')
- password = request.POST.get('password')
- user = auth.authenticate(username = username,password = password)
- if user is not None and user.is_active:
- auth.login(request,user)
- u = User.objects.get(username = username)
- request.session["id"] = u.id
- return HttpResponseRedirect(reverse('profile'))
- else:
- message = 'User Does not exist/Wrong username-password !!!'
- return render_to_response('login.html', {'message':message})
- else:
- if request.session.get('id'):
- return HttpResponseRedirect(reverse('profile'))
- return render_to_response('login.html')
- @login_required
- def displayParticipants(request):
- if not request.session.get('id'):
- return HttpResponseRedirect(reverse('login'))
- else:
- i = request.session.get('id')
- u = User.objects.get(id = i)
- u = u.get_profile()
- coll = u.college
- ps = Participant.objects.filter(college = coll)
- fs = Faculty.objects.filter(college = coll)
- return render_to_response('partcipants.html',{'participants':ps , 'faculty' : fs})
- @login_required
- def editp(request,i):
- try:
- p = Participant.objects.get(pk = int(i))
- except ObjectDoesNotExist:
- raise Http404
- id = request.session.get('id')
- u = User.objects.get(pk = int(id))
- u = u.get_profile()
- c = u.college
- if not p and p.college != u.college:
- raise Http404
- else:
- request.session['pid'] = p.id
- prtcpnt = ParticipantForm(instance = p)
- target = reverse('edit')
- return render_to_response('edit_p.html',{'form':prtcpnt ,'action' : target})
- @login_required
- def edit(request):
- target = reverse('edit')
- if request.method == 'POST':
- i = request.session.get('pid')
- try:
- p = Participant.objects.get(id = int(i) ) # updated 07-10-2010 by samvit
- except ObjectDoesNotExist:
- raise Http404
- r = request.POST
- t = ParticipantForm(r,instance = p)
- if t.is_valid():
- t.save()
- del request.session['pid']
- else:
- return render_to_response('edit_p.html' ,{ 'form': t, 'action':target } )
- i = request.session.get('id')
- u = User.objects.get(pk = int(i))
- u = u.get_profile()
- coll = u.college
- ps = Participant.objects.filter(college = coll)
- fs = Faculty.objects.filter(college = coll)
- message = "Participant successfully edited!"
- return render_to_response('partcipants.html',{'participants':ps , 'faculty' : fs , 'message' : message})
- @login_required
- def delete(request, id):
- try:
- p = Participant.objects.get(pk = int(id))
- except ObjectDoesNotExist:
- raise Http404
- i = request.session.get('id')
- u = User.objects.get(pk = int(i))
- u = u.get_profile()
- c = u.college
- if p and p.college == c:
- p.delete()
- i = request.session.get('id')
- u = User
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement