Private
Public Access
1
0
This commit is contained in:
2024-05-22 11:02:24 +02:00
parent 38b2a71e25
commit c1a027db6b
5 changed files with 65 additions and 43 deletions

View File

@@ -3697,25 +3697,38 @@ class Workout(models.Model):
def __str__(self): def __str__(self):
date = self.date elements = dict(
name = self.name date = self.date.strftime('%Y-%m-%d'),
distance = str(self.distance) name = self.name,
ownerfirst = self.user.user.first_name distance = str(self.distance),
ownerlast = self.user.user.last_name ownerfirst = self.user.user.first_name,
duration = self.duration ownerlast = self.user.user.last_name,
boattype = self.boattype duration = self.duration.strftime("%H:%M:%S"),
workouttype = self.workouttype boattype = self.boattype,
workouttype = self.workouttype,
seatnumber = 'seat '+str(self.seatnumber),
boatname = 'boat '+str(self.boatname),
empowerside = self.empowerside,
inboard = self.inboard,
oarlength = self.oarlength
)
if workouttype not in ['water','rower']: if len(self.user.workoutnametemplate):
try: try:
stri = u'{d} {n} {dist}m {duration} {workouttype} {ownerfirst} {ownerlast}'.format( stri = u''
d=date.strftime('%Y-%m-%d'), for element in self.user.workoutnametemplate:
n=name, stri += u'{'+u'{element}'.format(element=element)+u'} '
dist=distance, stri = stri[:-1]
duration=duration.strftime("%H:%M:%S"), return stri.format(**elements)
workouttype=workouttype, except ValueError:
ownerfirst=ownerfirst, return self.name
ownerlast=ownerlast, except AttributeError:
return "No workout"
if self.workouttype not in ['water','rower']:
try:
stri = u'{date} {name} {distance}m {duration} {workouttype} {ownerfirst} {ownerlast}'.format(
**elements
) )
except ValueError: except ValueError:
stri = self.name stri = self.name
@@ -3723,15 +3736,8 @@ class Workout(models.Model):
return "No workout" return "No workout"
else: else:
try: try:
stri = u'{d} {n} {dist}m {duration} {workouttype} {boattype} {ownerfirst} {ownerlast}'.format( stri = u'{date} {name} {distance}m {duration} {workouttype} {boattype} {ownerfirst} {ownerlast}'.format(
d=date.strftime('%Y-%m-%d'), **elements
n=name,
dist=distance,
duration=duration.strftime("%H:%M:%S"),
workouttype=workouttype,
boattype=boattype,
ownerfirst=ownerfirst,
ownerlast=ownerlast,
) )
except (ValueError, AttributeError): except (ValueError, AttributeError):
stri = self.name stri = self.name

View File

@@ -54,7 +54,12 @@
{{ workoutnametemplate_formset.as_table }} {{ workoutnametemplate_formset.as_table }}
</table> </table>
{% csrf_token %} {% csrf_token %}
<input class="grid_2 alpha button" type="submit" value="Save"> <p>
<input class="grid_2 alpha button" type="submit" value="Save">
</p>
<p>
<input type="submit" value="Restore Defaults" name="defaults_workoutname" class="button"/>
</p>
</form> </form>

Binary file not shown.

View File

@@ -64,9 +64,13 @@ workout_name_element = (
('ownerfirst', 'Rower first name'), ('ownerfirst', 'Rower first name'),
('ownerlast', 'Rower last name'), ('ownerlast', 'Rower last name'),
('duration', 'Duration'), ('duration', 'Duration'),
('boattype','Boat Type'), ('boattype','Boat type'),
('workouttype', 'Workout Type'), ('workouttype', 'Workout type'),
('seatnumber','Seat Number') ('seatnumber','Seat number'),
('boatname', 'Boat name'),
('empowerside', 'Empower side'),
('inboard', 'Inboard'),
('oarlength', 'Oar length'),
) )

View File

@@ -329,20 +329,27 @@ def rower_favoritecharts_view(request, userid=0):
workoutnametemplate_formset = WorkoutNameTemplateFormSet(initial=workoutnametemplate_data, prefix='workoutname') workoutnametemplate_formset = WorkoutNameTemplateFormSet(initial=workoutnametemplate_data, prefix='workoutname')
if request.method == 'POST' and 'workoutname-TOTAL_FORMS' in request.POST: if request.method == 'POST' and 'workoutname-TOTAL_FORMS' in request.POST:
workoutnametemplate_formset = WorkoutNameTemplateFormSet(request.POST, prefix='workoutname') if 'defaults_workoutname' in request.POST:
newworkoutnametemplate = [] r.workoutnametemplate = ['date','name','distance','ownerfirst','ownerlast','duration','boattype','workouttype']
if workoutnametemplate_formset.is_valid(): r.save()
for form in workoutnametemplate_formset: else:
element = form.cleaned_data.get('element') workoutnametemplate_formset = WorkoutNameTemplateFormSet(request.POST, prefix='workoutname')
if element != 'None': newworkoutnametemplate = []
newworkoutnametemplate.append(element) if workoutnametemplate_formset.is_valid():
for form in workoutnametemplate_formset:
element = form.cleaned_data.get('element')
if element != 'None':
newworkoutnametemplate.append(element)
newworkoutnametemplate = [i for i in newworkoutnametemplate if i is not None] newworkoutnametemplate = [i for i in newworkoutnametemplate if i is not None]
r.workoutnametemplate = newworkoutnametemplate r.workoutnametemplate = newworkoutnametemplate
try: try:
r.save() r.save()
except IntegrityError: except IntegrityError:
messages.error("Something went wrong") messages.error("Something went wrong")
workoutnametemplate_data = [{'element': element} for element in r.workoutnametemplate]
workoutnametemplate_formset = WorkoutNameTemplateFormSet(initial=workoutnametemplate_data, prefix='workoutname')
if request.method == 'POST' and 'staticgrids' in request.POST: # pragma: no cover if request.method == 'POST' and 'staticgrids' in request.POST: # pragma: no cover
staticchartform = StaticChartRowerForm(request.POST, instance=r) staticchartform = StaticChartRowerForm(request.POST, instance=r)