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):
date = self.date
name = self.name
distance = str(self.distance)
ownerfirst = self.user.user.first_name
ownerlast = self.user.user.last_name
duration = self.duration
boattype = self.boattype
workouttype = self.workouttype
elements = dict(
date = self.date.strftime('%Y-%m-%d'),
name = self.name,
distance = str(self.distance),
ownerfirst = self.user.user.first_name,
ownerlast = self.user.user.last_name,
duration = self.duration.strftime("%H:%M:%S"),
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:
stri = u'{d} {n} {dist}m {duration} {workouttype} {ownerfirst} {ownerlast}'.format(
d=date.strftime('%Y-%m-%d'),
n=name,
dist=distance,
duration=duration.strftime("%H:%M:%S"),
workouttype=workouttype,
ownerfirst=ownerfirst,
ownerlast=ownerlast,
stri = u''
for element in self.user.workoutnametemplate:
stri += u'{'+u'{element}'.format(element=element)+u'} '
stri = stri[:-1]
return stri.format(**elements)
except ValueError:
return self.name
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:
stri = self.name
@@ -3723,15 +3736,8 @@ class Workout(models.Model):
return "No workout"
else:
try:
stri = u'{d} {n} {dist}m {duration} {workouttype} {boattype} {ownerfirst} {ownerlast}'.format(
d=date.strftime('%Y-%m-%d'),
n=name,
dist=distance,
duration=duration.strftime("%H:%M:%S"),
workouttype=workouttype,
boattype=boattype,
ownerfirst=ownerfirst,
ownerlast=ownerlast,
stri = u'{date} {name} {distance}m {duration} {workouttype} {boattype} {ownerfirst} {ownerlast}'.format(
**elements
)
except (ValueError, AttributeError):
stri = self.name

View File

@@ -54,7 +54,12 @@
{{ workoutnametemplate_formset.as_table }}
</table>
{% 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>

Binary file not shown.

View File

@@ -64,9 +64,13 @@ workout_name_element = (
('ownerfirst', 'Rower first name'),
('ownerlast', 'Rower last name'),
('duration', 'Duration'),
('boattype','Boat Type'),
('workouttype', 'Workout Type'),
('seatnumber','Seat Number')
('boattype','Boat type'),
('workouttype', 'Workout type'),
('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')
if request.method == 'POST' and 'workoutname-TOTAL_FORMS' in request.POST:
workoutnametemplate_formset = WorkoutNameTemplateFormSet(request.POST, prefix='workoutname')
newworkoutnametemplate = []
if workoutnametemplate_formset.is_valid():
for form in workoutnametemplate_formset:
element = form.cleaned_data.get('element')
if element != 'None':
newworkoutnametemplate.append(element)
if 'defaults_workoutname' in request.POST:
r.workoutnametemplate = ['date','name','distance','ownerfirst','ownerlast','duration','boattype','workouttype']
r.save()
else:
workoutnametemplate_formset = WorkoutNameTemplateFormSet(request.POST, prefix='workoutname')
newworkoutnametemplate = []
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]
r.workoutnametemplate = newworkoutnametemplate
try:
r.save()
except IntegrityError:
messages.error("Something went wrong")
newworkoutnametemplate = [i for i in newworkoutnametemplate if i is not None]
r.workoutnametemplate = newworkoutnametemplate
try:
r.save()
except IntegrityError:
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
staticchartform = StaticChartRowerForm(request.POST, instance=r)