Private
Public Access
1
0

added option to kill parents with join workouts

This commit is contained in:
Sander Roosendaal
2020-05-13 08:06:45 +02:00
parent d2a810c873
commit 748f12e44a
4 changed files with 36 additions and 15 deletions

View File

@@ -408,7 +408,7 @@ def filter_df(datadf, fieldname, value, largerthan=True):
def join_workouts(r,ids,title='Joined Workout', def join_workouts(r,ids,title='Joined Workout',
parent=None, parent=None,
setprivate=False, setprivate=False,
forceunit='lbs'): forceunit='lbs',killparents=False):
message = None message = None
@@ -477,6 +477,10 @@ def join_workouts(r,ids,title='Joined Workout',
dosmooth=False, dosmooth=False,
consistencychecks=False) consistencychecks=False)
if killparents:
for w in ws:
w.delete()
return (id, message) return (id, message)

View File

@@ -1091,6 +1091,8 @@ metricchoices = list(sorted(formaxlabels.items(), key = lambda x:x[1]))
class WorkoutJoinParamForm(forms.Form): class WorkoutJoinParamForm(forms.Form):
workout_name = forms.CharField(required = True, initial = 'Joined Workout') workout_name = forms.CharField(required = True, initial = 'Joined Workout')
set_private = forms.BooleanField(initial=False, required = False) set_private = forms.BooleanField(initial=False, required = False)
killparents = forms.BooleanField(initial=False, required = False,
label='Delete original workouts')
class FusionMetricChoiceForm(ModelForm): class FusionMetricChoiceForm(ModelForm):
class Meta: class Meta:

View File

@@ -60,12 +60,20 @@
}); });
$(document).ready(function(){
console.log('kill parents')
$("#id_killparents").change(function() {
if (this.checked) {
$("#id_killparentswarning").html("<p><em>Warning: Deleted workouts cannot be recovered</em></p>");
};
});
});
</script> </script>
<h1>{{ team.name }} Glue Workouts</h1> <h1>{{ team.name }} Glue Workouts</h1>
<ul class="main-content"> <ul class="main-content">
@@ -97,10 +105,14 @@
</li> </li>
<li class="grid_2"> <li class="grid_2">
<p>Select two or more workouts on the left, <p>Select two or more workouts on the left,
and press submit</p> and press submit. Be careful with the "delete original workouts" option. Deleted
workouts cannot be recovered.</p>
<table> <table>
{{ joinparamform.as_table }} {{ joinparamform.as_table }}
</table> </table>
<div id="id_killparentswarning">
</div>
<p> <p>
{% csrf_token %} {% csrf_token %}
<input name='workoutselectform' type="submit" value="Submit"> <input name='workoutselectform' type="submit" value="Submit">
@@ -127,6 +139,7 @@
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% include 'menu_workouts.html' %} {% include 'menu_workouts.html' %}
{% endblock %} {% endblock %}

View File

@@ -890,6 +890,7 @@ def workouts_join_view(request,userid=0):
if form.is_valid() and paramform.is_valid(): if form.is_valid() and paramform.is_valid():
workout_name = paramform.cleaned_data['workout_name'] workout_name = paramform.cleaned_data['workout_name']
set_private = paramform.cleaned_data['set_private'] set_private = paramform.cleaned_data['set_private']
killparents = paramform.cleaned_data['killparents']
cd = form.cleaned_data cd = form.cleaned_data
workouts = cd['workouts'] workouts = cd['workouts']
@@ -899,7 +900,8 @@ def workouts_join_view(request,userid=0):
id,message = dataprep.join_workouts(r,ids, id,message = dataprep.join_workouts(r,ids,
title=workout_name, title=workout_name,
setprivate=set_private) setprivate=set_private,
killparents=killparents)
if message: if message:
messages.error(request,message) messages.error(request,message)