Beispiel #1
0
def saveWorkout(request):
	rtn_dict = {'success': False, "msg": ""}

	if request.method == 'POST':
		try:
			if not request.user.id:
				user_id = request.POST['user']
			else:
				user_id = request.user.id

			account = Account.objects.get(pk=request.POST['account'])
			workout = Workout(name=request.POST['name'], account=account)
			workout.save()

			for exercise_id in request.POST.getlist('exercises[]'):
				exercise = Exercise.objects.get(pk=exercise_id)
				workout.exercises.add(exercise)
			rtn_dict['success'] = True

		except Exception as e:
			print e
			logger.info('Error saving workout {0}'.format(e))
			rtn_dict['msg'] = 'Error saving workout {0}'.format(e)
	else:
		rtn_dict['msg'] = 'Not POST'

	return HttpResponse(json.dumps(rtn_dict, cls=DjangoJSONEncoder), content_type="application/json")
Beispiel #2
0
def workout_add(request, id):
    complex = Complexe.objects.get(pk=id)
    data = RequestContext(request, {
        'complex': complex,
        'posted': False})

    if request.method == 'POST':
        if not WorkoutDate.objects.filter(date=request.POST['date'], 
                                          complex=id):
            workout_date = WorkoutDate(date=request.POST['date'],complex_id=id)
            workout_date.save()
        else:
            workout_date = WorkoutDate.objects.get(date=request.POST['date'],complex=id)

        for i in request.POST:
            if re.match('exercise_[0-9]+_times', i):
                exercise_id = re.match('exercise_([0-9]+)_times', i).group(1)
                workout = Workout()
                workout.load = request.POST['exercise_' + exercise_id + '_load']
                workout.times = request.POST['exercise_' + exercise_id + '_times']
                workout.repeats = request.POST['exercise_' + exercise_id + '_repeats']
                workout.exercise_id = exercise_id
                workout.date_id = workout_date.id
                workout.save()
                exercise = Exercise.objects.get(pk=exercise_id)
                exercise.current_load = workout.load
                exercise.current_times = workout.times
                exercise.current_repeats = workout.repeats
                exercise.save()
        data['posted'] = True
    return render_to_response('complex.html', data)
Beispiel #3
0
def create_workouts(social_auth_user, raw_workouts):
    created_workouts = []
    for provider_id, raw_workout in raw_workouts.iteritems():
        workout = Workout(**raw_workout)
        workout.save()
        created_workouts.append(workout)
        logger.info('Created {0} for {1}'.format(workout, social_auth_user.user))
    # We want to wait until markers have been checked for each worker before updating
    # leaderboards, so use chord to wait for all subtasks to complete.
    header = [check_workout_for_markers.s(workout) for workout in created_workouts]
    callback = update_leaderboards_for_user.subtask(args=(social_auth_user.user,), immutable=True)
    chord(header)(callback)
Beispiel #4
0
def add_workout(request):
    if not request.user.is_authenticated():
        return redirect(index)
    elif request.method == 'POST':
        form = WorkoutForm(request.POST)
        name = request.POST['name']
        if form.is_valid():
            w = Workout(name=name, owner=request.user)
            w.save()
            return redirect(index)
    else:
        form = WorkoutForm()
    return render(request, 'add_workout.html', {'form': form})
Beispiel #5
0
def indexCreate(request):
    s = set()
    s.add("name")
    s.add("age")
    s.add("dish")
    js2 = list(json.loads(request.body))
    for js in js2:
        js = dict(js)
        s1 = js.keys()
        s1 = set(s1)
        s2 = s - s1
        res = list(Workout.objects.filter(name=js['name']).values())

        ##################    For UPDATING the content and REJECTING if ALREADY FOUND    ##########################3

        if (len(res) != 0 and len(js) == 3):
            js1 = dict(res[0])
            js['id'] = js1['id']
            if (cmp(js, js1) == 0):
                dic = {}
                dic['message'] = "Content already Found"
                return JsonResponse(dic)
            else:
                Workout.objects.filter(id=js['id']).update(age=js['age'],
                                                           dish=js['dish'])
                dic = {}
                dic['message'] = "Content updated"
                return JsonResponse(dic, status=200)
        '''if(js.has_key('name')==False or  js.has_key('dish')==False or ja.has_key('age')==False):
            dic={}
            dic['message']="Contents Missing"
            return JsonResponse(dic,status=400)'''

        ####################        Finding the MISSING PARAMETERS           ##############################
        if (len(s2) != 0):
            dic = {}
            ans = ""
            for i in s2:
                ans += i + " "
            dic['message'] = ans + "Missing"
            return JsonResponse(dic, status=400)

        # All Conditions SATISFIED

        ob = Workout(name=js['name'], age=js['age'], dish=js['dish'])
        ob.save()

    return JsonResponse(successInsert(js2), status=201, safe=False)
Beispiel #6
0
from flask import Flask, jsonify, render_template, url_for, request