def FeedbackView(request): import datetime import os, sys, time if CommonToAllViews( request ): # any referrer blocks or web request checks processed here raise django.http.Http404 if request.method == 'POST': try: form = forms.FeedbackForm(request.POST) except: time.sleep(1.0) form = forms.FeedbackForm(request.POST) if not form.is_valid(): # validators added, see form definition items_to_render = {} items_to_render['mainForm'] = form return render_to_response('zunzun/invalid_form_data.html', items_to_render) msg = 'Email from ' + form.cleaned_data[ 'emailAddress'] + '\n\nAt ' + str(datetime.datetime.now( )) + "\n\n" + form.cleaned_data['feedbackText'] EmailMessage('ZunZunSite Feedback Form', msg, to=[settings.FEEDBACK_EMAIL_ADDRESS]).send() return render_to_response('zunzun/feedback_reply.html', {}) else: # not a POST return HttpResponseRedirect('/')
def HomePageView(request): import os, sys, time # whenever the home page is loaded, clear expired sessions SessionStore().clear_expired() # whenever the home page is loaded, make sure there is # space in the temp directory for newly created files totalDirSize = 0 dirInfo = [] for item in os.listdir(settings.TEMP_FILES_DIR): itempath = os.path.join(settings.TEMP_FILES_DIR, item) if os.path.isfile(itempath): fileSize = os.path.getsize(itempath) fileMtime = os.path.getmtime(itempath) # to sort by creation time dirInfo.append([fileMtime, fileSize, item]) totalDirSize += fileSize # approximately the max temp directory number of bytes maxSize = settings.MAX_TEMP_DIR_SIZE_IN_MBYTES * 1000000 tempDir = settings.TEMP_FILES_DIR if totalDirSize > maxSize: totalReduction = 0 reductionAmount = (totalDirSize - maxSize) + (maxSize * 0.25) dirInfo.sort() # delete oldest files first for fileItem in dirInfo: if totalReduction < reductionAmount: totalReduction += fileItem[1] try: # prevent possible exceptions from race conditions os.remove(os.path.join(tempDir, fileItem[2])) except: pass else: break # now start code for view generation if CommonToAllViews( request ): # any referrer blocks or web request checks processed here raise django.http.Http404 request.session['cookie_test'] = 1 items_to_render = {} items_to_render['dim_to_spline_list'] = [[ '2', pyeq2.Models_2D.Spline.Spline() ], ['3', pyeq2.Models_3D.Spline.Spline()]] items_to_render['dim_to_map_list'] = [[ '2', GetEquationInfoDictionary(2, 'Standard') ], ['3', GetEquationInfoDictionary(3, 'Standard')]] items_to_render[ 'header_text'] = 'ZunZunSite Online Curve Fitting<br>and Surface Fitting Web Site' items_to_render['feedbackForm'] = forms.FeedbackForm() items_to_render['loadavg'] = os.getloadavg() return render_to_response('zunzun/home_page.html', items_to_render)
def handle_ajax(request, url): if not request.POST: return HttpResponse(json.dumps({'error': 'no post received'})) else: post = {} for k in request.POST: post[k] = request.POST[k] post['url'] = url post['site'] = Site.objects.get_current().id post['user'] = request.user.username post['email'] = request.user.email form = forms.FeedbackForm(post) if form.is_valid(): form.save() return HttpResponse(json.dumps({})) else: return HttpResponse(json.dumps({'errors': sanitize(form.errors)}))
def feedback(): form = forms.FeedbackForm(request.form) if request.method == 'POST' and form.validate(): name = form.name.data email = form.email.data feedback = form.feedback.data msg = Message("Feedback from webapp", sender="*****@*****.**", recipients=["*****@*****.**"]) msg.body = """ From: %s <%s> %s """ % (name, email, feedback) mail.send(msg) flash('Thank you for your feedback', 'success') return render_template('about.html', form=form) return render_template('about.html', form=form)
def home(): confirmParticipation = forms.confirmParticipation() deleteParticipation = forms.deleteParticipation() LeaveFeedback = forms.LeaveFeedback() FeedbackForm = forms.FeedbackForm() if "submitD" in request.form and deleteParticipation.validate_on_submit(): event_id = deleteParticipation.event_id.data event = Event.query.filter_by(id=event_id).first() student = Student.query.filter_by(id=session.get('id')).first() event.numofPeople += -1 student.partecipations.remove(event) db.session.commit() return redirect('home') elif "submitC" in request.form and confirmParticipation.validate_on_submit( ): # add user to the list of participants event_id = confirmParticipation.event_id.data event = Event.query.filter_by(id=event_id).first() student = Student.query.filter_by(id=session.get('id')).first() if not Student.query.join(partecipation).join(Event).filter( (partecipation.c.student_id == student.id) & (partecipation.c.event_id == event.id)).first(): event.numofPeople += 1 student.partecipations.append(event) db.session.add(student) db.session.add(event) db.session.commit() return redirect('home') if "submitE" in request.form and LeaveFeedback.validate_on_submit(): # add feedback event_id = LeaveFeedback.event_id.data session['event_id'] = event_id session['event_name'] = Event.query.filter_by(id=event_id).first().name return redirect('feedback') if current_user.is_authenticated: if Student.query.filter_by(email=session.get( 'email')).first(): ## if student then show the wall events = Event.query.all() return render_template('index.html', events=events, confirmParticipation=confirmParticipation, deleteParticipation=deleteParticipation, partecipation=partecipation, Student=Student, Event=Event, BPs=BusinessPartner, and_=and_, feedback=feedback, LeaveFeedback=LeaveFeedback) elif BusinessPartner.query.filter_by( email=session.get('email')).first(): #if bp show its own events events = Event.query.filter_by(bp_id=session.get('id')) return render_template('index.html', events=events, BPs=BusinessPartner) else: return redirect('welcome')