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)