Example #1
0
 def process_PUT(self):
     guest = self.request.user
     
     if guest.is_authenticated():
         app = Application.objects.get(short_name = self.appname)
         today = date.today()
         checkapps_no = guest.checkapp_set.filter(user = guest, \
                 time__year = today.year, time__month = today.month, \
                 time__day = today.day).count()
         
         if checkapps_no <= CheckApp_.CHECKAPPS_NUMBER:
             text = self.request.POST.get('comment', '')
             
             try:
                 DataChecker.check_ca_comment(text)
                 
                 checkapp = CheckApp()
                 checkapp.user = guest
                 checkapp.app = app
                 checkapp.text = text
                 checkapp.save()
                 
                 messages.success(self.request, UserMsgs.CHECKAPP_DONE)
                 
                 if MeritsChecker.check_checkapps(guest):
                     messages.info(self.request, UserMsgs.MERIT_ACHIEVED)
                 
                 return HttpResponseRedirect('/app/%s/' % app.short_name)
             except DataError, error:
                 messages.error(self.request, error.msg)
                 
                 try:
                     last_checkapp = guest.checkapp_set.all().order_by('-time')[0]
                 except:
                     last_checkapp = None
                 
                 return render_to_response('checkapp_confirm.html', \
                         {'guest': guest, 'app': app, \
                         'ca_no': checkapps_no, \
                         'last_ca': last_checkapp, 'text': text,}, \
                         context_instance=RequestContext(self.request))
         else:
             messages.warning(self.request, UserMsgs.CHECKAPPS_EXCEEDED)
             return HttpResponseRedirect('/app/%s/' % app.short_name)