Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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))
Esempio n. 4
0
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
Esempio n. 5
0
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        
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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        
Esempio n. 9
0
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
Esempio n. 10
0
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
Esempio n. 11
0
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
Esempio n. 12
0
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))