diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 6101fcde..9e099622 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1123,7 +1123,6 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', inboard=inboard, oarlength=oarlength, timezone=timezone_str, privacy=privacy) - try: w.save() except ValidationError: @@ -1391,9 +1390,10 @@ def new_workout_from_file(r, f2, if workoutsource is None: workoutsource = fileformat - + id, message = save_workout_database( f2, r, + notes=notes, workouttype=workouttype, weightcategory=r.weightcategory, adaptiveclass=r.adaptiveclass, diff --git a/rowers/templates/document_form.html b/rowers/templates/document_form.html index f285de40..b5dd35ba 100644 --- a/rowers/templates/document_form.html +++ b/rowers/templates/document_form.html @@ -39,7 +39,9 @@ {{ form.as_table }} {% csrf_token %} - +

+   +

@@ -201,9 +203,15 @@ $('#id_workouttype').change(); if ($(this).attr('id') == 'id_file') { data.set("file",this.files[0]); } - console.log($(this).attr('name'),$(this).val()); + console.log($(this).attr('id'),$(this).attr('name'),$(this).val()); }; - });}); + });}); + + $('textarea').each(function( i ) { + $(this).change(function() { + data.set($(this).attr('name'),$(this).val()); + console.log($(this).attr('id'),$(this).attr('name'),$(this).val()); + });}); $('select').each(function( i ) { console.log($(this).attr('name'),$(this).val()); @@ -213,7 +221,7 @@ $('#id_workouttype').change(); }); }); - frm.submit(function() { + frm.submit(function() { console.log("Form submission"); $(data.values()).each(function(value) { console.log(value); diff --git a/rowers/urls.py b/rowers/urls.py index 1ad43ed7..d9ff16ef 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -111,7 +111,6 @@ def response_error_handler(request, exception=None): return HttpResponse('Error handler content', status=403) def filenotfound_handler(request, exception=None): - print('noot') return HttpResponse('Error handler content', status=404) handler403 = views.error403_view @@ -381,11 +380,11 @@ urlpatterns = [ re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/addstatic/(?P\d+)/$', views.workout_add_chart_view,name='workout_add_chart_view'), re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/addstatic/$',views.workout_add_chart_view,name='workout_add_chart_view'), - re_path(r'^workout/(?P\d+)/delete/$',login_required( + re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/delete/$',login_required( views.WorkoutDelete.as_view()), name='workout_delete'), - re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/delete/$',login_required( - views.workout_code_delete_view),name='workout_code_delete'), +# re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/delete/$',login_required( +# views.workout_code_delete_view),name='workout_code_delete'), re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/smoothenpace/$',views.workout_smoothenpace_view,name='workout_smoothenpace_view'), re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/undosmoothenpace/$',views.workout_undo_smoothenpace_view,name='workout_undo_smoothenpace_view'), re_path(r'^workout/c2import/$',views.workout_c2import_view,name='workout_c2import_view'), diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 22901823..ad68a439 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -3900,6 +3900,11 @@ def workout_upload_view(request, except KeyError: boattype = '1x' + try: + notes = docformoptions['notes'] + except KeyError: + notes = '' + try: workoutsource = uploadoptions['workoutsource'] except KeyError: @@ -4028,7 +4033,7 @@ def workout_upload_view(request, boattype=boattype, makeprivate=makeprivate, title = t, - notes='' + notes=notes, ) else: workoutsbox = Mailbox.objects.filter(name='workouts')[0] @@ -5289,7 +5294,11 @@ class GraphDelete(DeleteView): def workout_code_delete_view(request,id=0): pk = encoder.decode_hex(id) - url = reverse('workout_delete',kwargs={'pk':pk}) + try: + w = Workout.objects.get(pk=pk) + url = reverse('workout_delete',kwargs={'pk':pk}) + except Workout.DoesNotExist: + url = reverse('workout_delete',kwargs={'pk':id}) return HttpResponseRedirect(url) @@ -5341,7 +5350,16 @@ class WorkoutDelete(DeleteView): return reverse('workouts_view') def get_object(self, *args, **kwargs): - obj = super(WorkoutDelete, self).get_object(*args, **kwargs) + workout_pk = self.kwargs['pk'] + try: + obj = Workout.objects.get(pk=workout_pk) + except (ValueError,Workout.DoesNotExist): + workout_pk = encoder.decode_hex(workout_pk) + try: + obj = Workout.objects.get(pk=workout_pk) + except Workout.DoesNotExist: + raise Http404("One of the workouts doesn't exist") + # obj = super(WorkoutDelete, self).get_object(*args, **kwargs) if not checkaccessuser(self.request.user,obj.user): raise PermissionDenied('You are not allowed to delete this workout')