Private
Public Access
1
0

basic PlannedSession object in models.py

This commit is contained in:
Sander Roosendaal
2018-01-24 18:20:30 +01:00
parent 3e0b98fab8
commit 177af2b49e
2 changed files with 91 additions and 2 deletions

View File

@@ -5,7 +5,7 @@ from django.contrib.auth.models import User
from .models import (
Rower, Workout,GraphImage,FavoriteChart,SiteAnnouncement,
Team,TeamInvite,TeamRequest,
WorkoutComment,C2WorldClassAgePerformance,
WorkoutComment,C2WorldClassAgePerformance,PlannedSession,
)
# Register your models here so you can use them in the Admin module
@@ -43,11 +43,17 @@ class TeamRequestAdmin(admin.ModelAdmin):
class WorkoutCommentAdmin(admin.ModelAdmin):
list_display = ('created','user','workout')
class PlannedSessionAdmin(admin.ModelAdmin):
list_display = ('name','startdate','enddate','manager','sessionvalue','sessionunit')
class GraphImageAdmin(admin.ModelAdmin):
list_display = ('creationdatetime','workout','filename')
admin.site.unregister(User)
admin.site.register(User,UserAdmin)
admin.site.register(Workout,WorkoutAdmin)
admin.site.register(GraphImage)
admin.site.register(GraphImage,GraphImageAdmin)
admin.site.register(Team,TeamAdmin)
admin.site.register(FavoriteChart,FavoriteChartAdmin)
admin.site.register(SiteAnnouncement,SiteAnnouncementAdmin)
@@ -56,3 +62,5 @@ admin.site.register(TeamRequest,TeamRequestAdmin)
admin.site.register(WorkoutComment,WorkoutCommentAdmin)
admin.site.register(C2WorldClassAgePerformance,
C2WorldClassAgePerformanceAdmin)
admin.site.register(PlannedSession,PlannedSessionAdmin)

View File

@@ -1387,4 +1387,85 @@ class WorkoutCommentForm(ModelForm):
widgets = {
'comment': forms.Textarea,
}
# model for Planned Session (Workout, Challenge, Test)
class PlannedSession(models.Model):
sessiontypechoices = (
('session','Training Session'),
('challenge','Challenge'),
('test','Mandatory Test'),
)
sessionmodechoices = (
('distance','Distance'),
('time','Time')
)
criteriumchoices = (
('none','None'),
('minimum','At Least'),
('exact','Exactly'),
)
verificationchoices = (
('none','None'),
('automatic','Automatic'),
('manual','Manual')
)
sessionunitchoices = (
('min','minutes'),
('km','km'),
('m','meters')
)
manager = models.ForeignKey(User)
name = models.CharField(max_length=150,blank=True)
comment = models.TextField(max_length=300,blank=True)
startdate = models.DateField(default=timezone.now,
verbose_name='Start Date')
enddate = models.DateField(default=timezone.now,
verbose_name='End Date')
sessiontype = models.CharField(default='session',
choices=sessiontypechoices,
max_length=150)
sessionvalue = models.IntegerField(default=60,verbose_name'Value')
sessionunit = models.CharField(
default='min',choices=sessionunitchoices,
max_length=150,
verbose_name='Unit')
criterium = models.CharField(
default='none',
choices=criteriumchoices,
max_length=150)
verification = models.CharField(
default='none',
max_length=150,
choices=verificationchoices
)
team = models.ManyToManyField(Team,blank=True)
rower = models.ManyToManyField(Rower,blank=True)
sessionmode = models.CharField(default='distance',
choices=sessionmodechoices,
max_length=150)
hasranking = models.BooleanField(default=False)
class PlannedSessionForm(ModelForm):
class Meta:
model = PlannedSession
fields = ['name','comment','startdate','enddate','sessionvalue',
'sessionunit']
widgets = {
'comment': forms.Textarea,
'startdate': SelectDateWidget(
years=range(
timezone.now().year-1,timezone.now().year+1)),
'enddate': SelectDateWidget(
years=range(
timezone.now().year-1,timezone.now().year+1)),
}