def submit_bug_report(request): username = request.POST['username'] description = request.POST['description'] if len(username.strip()) > 0 and len(description.strip()) > 0: report = BugReport() report.when = current_time_decimal(); report.username = username report.description = description report.save() return HttpResponse('Thank you for your report.', 'text/html'); response = HttpResponse('Please provide your username and a description', 'text/html'); response.status_code = 400 return response
def submit_bug_report(request): username = request.POST['username'] description = request.POST['description'] if len(username.strip()) > 0 and len(description.strip()) > 0: report = BugReport() report.when = current_time_decimal() report.username = username report.description = description report.save() return HttpResponse('Thank you for your report.', 'text/html') response = HttpResponse('Please provide your username and a description', 'text/html') response.status_code = 400 return response
def activity_logs_for_user(user,action=None,days_ago=None): from jv3.study.content_analysis import _actlogs_to_values,_notes_to_values if days_ago is None: #print "days ago is none" if action: return _actlogs_to_values(ActivityLog.objects.filter(action=action,owner=user).order_by("when")) return _actlogs_to_values(ActivityLog.objects.filter(owner=user).order_by("when")) else: today_msec = current_time_decimal() n_days_ago = today_msec - days_ago*24*60*60*1000 print "starting with %d // %s" % (n_days_ago,repr(datetime.datetime.fromtimestamp(n_days_ago/1000.0))) if action: return _actlogs_to_values(ActivityLog.objects.filter(action=action,owner=user,when__gt=n_days_ago)) return _actlogs_to_values(ActivityLog.objects.filter(owner=user,when__gt=n_days_ago))
def reconsent(request): email = request.GET['email'] newest_registration = get_most_recent(UserRegistration.objects.filter(email__iexact=email)) if newest_registration: logevent(request,'reconsent',200,newest_registration) newest_registration.couhes = True newest_registration.when = current_time_decimal() ## update time newest_registration.save() return render_to_response('jv3/confirmuser.html', {'message': "Great! Thank you for signing back up for our study. If you would like to set up your client or re-install list it, use the links below. ", "username":email, 'password':newest_registration.password, 'server':settings.SERVER_URL}) response = render_to_response('/500.html'); response.status_code = 500; logevent(request,'reconsent',500,request) return response
def done_survey(request): (user,registration) = get_user_and_registration_from_cookie(request.POST['cookie'],request) if (not user): print "no such user registration for cookie %s " % repr(cookie) response = render_to_response('/500.html'); response.status_code = 500; return response done = jv3.models.SurveyDoneDeclaration() done.user = user done.when = current_time_decimal(); done.save() response = HttpResponse('Successful', 'text/html'); response.status_code = 200 return response
def createuser(request): ## as of 8.13, we now no longer require email confirmation -- we create users immediately ## on signup. email = request.POST['username'] passwd = request.POST['password'] if get_user_by_email(email): response = HttpResponse("User exists", "text/html") response.status_code = 405 logevent(request, 'createuser', 205, email) return response user_reg = UserRegistration() user_reg.when = current_time_decimal() user_reg.email = email user_reg.password = passwd ## this is unfortunate. ## couhes handling: couhes requires first & last name user_reg.couhes = (request.POST['couhes'] == 'true') ## assume this is boolean user_reg.first_name = request.POST.get('firstname', '') user_reg.last_name = request.POST.get('lastname', '') ## print "user couhes is %s " % repr(type(user.couhes)) user_reg.cookie = gen_cookie() user_reg.save() if require_account_confirmation: print "New user registration is %s " % repr(user_reg) send_mail('Did you register for Listit?', gen_confirm_newuser_email_body(user_reg), '*****@*****.**', (user_reg.email, ), fail_silently=False) response = HttpResponse("UserRegistration created successfully", "text/html") response.status_code = 200 logevent(request, 'createusr', 201, user_reg) return response ## else user = _make_user_from_registration(user_reg) response = HttpResponse("User created successfully", "text/html") response.status_code = 200 logevent(request, 'createusr', 201, user_reg) return response
def done_survey(request): (user, registration) = get_user_and_registration_from_cookie( request.POST['cookie'], request) if (not user): print "no such user registration for cookie %s " % repr(cookie) response = render_to_response('/500.html') response.status_code = 500 return response done = jv3.models.SurveyDoneDeclaration() done.user = user done.when = current_time_decimal() done.save() response = HttpResponse('Successful', 'text/html') response.status_code = 200 return response
def createuser(request): ## as of 8.13, we now no longer require email confirmation -- we create users immediately ## on signup. email = request.POST['username']; passwd = request.POST['password']; if get_user_by_email(email) : response = HttpResponse("User exists", "text/html"); response.status_code = 405; logevent(request,'createuser',205,email) return response user_reg = UserRegistration(); user_reg.when = current_time_decimal(); user_reg.email = email; user_reg.password = passwd; ## this is unfortunate. ## couhes handling: couhes requires first & last name user_reg.couhes = (request.POST['couhes'] == 'true'); ## assume this is boolean user_reg.first_name = request.POST.get('firstname',''); user_reg.last_name = request.POST.get('lastname',''); ## print "user couhes is %s " % repr(type(user.couhes)) user_reg.cookie = gen_cookie(); user_reg.save(); if require_account_confirmation: print "New user registration is %s " % repr(user_reg); send_mail('Did you register for Listit?', gen_confirm_newuser_email_body(user_reg) , '*****@*****.**', (user_reg.email,), fail_silently=False) response = HttpResponse("UserRegistration created successfully", "text/html"); response.status_code = 200; logevent(request,'createusr',201,user_reg) return response ## else user = _make_user_from_registration(user_reg) response = HttpResponse("User created successfully", "text/html"); response.status_code = 200; logevent(request,'createusr',201,user_reg) return response
def reconsent(request): email = request.GET['email'] newest_registration = get_most_recent( UserRegistration.objects.filter(email__iexact=email)) if newest_registration: logevent(request, 'reconsent', 200, newest_registration) newest_registration.couhes = True newest_registration.when = current_time_decimal() ## update time newest_registration.save() return render_to_response( 'jv3/confirmuser.html', { 'message': "Great! Thank you for signing back up for our study. If you would like to set up your client or re-install list it, use the links below. ", "username": email, 'password': newest_registration.password, 'server': settings.SERVER_URL }) response = render_to_response('/500.html') response.status_code = 500 logevent(request, 'reconsent', 500, request) return response
def post_usage_statistics(request): print "usage stats" print request.raw_post_data try: slog = ServerLog() request_user = basicauth_get_user_by_emailaddr(request) if request_user: slog.user = request_user slog.when = current_time_decimal() slog.action = "usage_statistics" slog.info = request.raw_post_data slog.host = "" slog.url = "post_diagnostics" slog.request = "" slog.save() return json_response("[]", 200) except: excinfo = sys.exc_info() response = HttpResponse(repr(excinfo), 'text/html') response.status_code = 500 return response
def post_usage_statistics(request): print "usage stats" print request.raw_post_data try: slog = ServerLog() request_user = basicauth_get_user_by_emailaddr(request); if request_user: slog.user = request_user slog.when = current_time_decimal() slog.action = "usage_statistics" slog.info = request.raw_post_data slog.host = "" slog.url="post_diagnostics" slog.request="" slog.save() return json_response("[]", 200); except: excinfo = sys.exc_info() response = HttpResponse(repr(excinfo), 'text/html'); response.status_code = 500 return response
def activity_logs_for_user(user, action=None, days_ago=None): from jv3.study.content_analysis import _actlogs_to_values, _notes_to_values if days_ago is None: #print "days ago is none" if action: return _actlogs_to_values( ActivityLog.objects.filter(action=action, owner=user).order_by("when")) return _actlogs_to_values( ActivityLog.objects.filter(owner=user).order_by("when")) else: today_msec = current_time_decimal() n_days_ago = today_msec - days_ago * 24 * 60 * 60 * 1000 print "starting with %d // %s" % ( n_days_ago, repr(datetime.datetime.fromtimestamp(n_days_ago / 1000.0))) if action: return _actlogs_to_values( ActivityLog.objects.filter(action=action, owner=user, when__gt=n_days_ago)) return _actlogs_to_values( ActivityLog.objects.filter(owner=user, when__gt=n_days_ago))