Private
Public Access
1
0

some fixes

This commit is contained in:
Sander Roosendaal
2020-01-15 11:08:32 +01:00
parent a6746030e9
commit 88703bb34e
4 changed files with 17 additions and 11 deletions

View File

@@ -904,11 +904,11 @@ class Rower(models.Model):
def get_coaches(self): def get_coaches(self):
coaches = [] coaches = []
for group in self.coachinggroups.all(): for group in self.coachinggroups.all():
try: try:
coach = Rower.objects.get(mycoachgroup=group) coach = Rower.objects.get(mycoachgroup=group)
coaches.append(coach) coaches.append(coach)
except Rower.DoesNotExist: except Rower.DoesNotExist:
pass pass
return coaches return coaches
@@ -2665,7 +2665,7 @@ class Workout(models.Model):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
user = self.user user = self.user
if not can_add_workout(self.user): if not can_add_workout(user.user):
raise forms.ValidationError("Free Coach User cannot have any workouts") raise forms.ValidationError("Free Coach User cannot have any workouts")
super(Workout, self).save(*args, **kwargs) super(Workout, self).save(*args, **kwargs)

View File

@@ -572,7 +572,7 @@ urlpatterns = [
# re_path(r'^workout/compare/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>[\w\ ]+.*)/$',views.workout_comparison_view2), # re_path(r'^workout/compare/(?P<id1>\d+)/(?P<id2>\d+)/(?P<xparam>\w+.*)/(?P<yparam>[\w\ ]+.*)/$',views.workout_comparison_view2),
re_path(r'^test\_callback',views.rower_process_testcallback,name='rower_process_testcallback'), re_path(r'^test\_callback',views.rower_process_testcallback,name='rower_process_testcallback'),
re_path(r'^createplan/$',views.rower_create_trainingplan,name='rower_create_trainingplan'), re_path(r'^createplan/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
re_path(r'^createplan/user/(?P<userid>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'), re_path(r'^createplan/user/(?P<id>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
re_path(r'^deleteplan/(?P<pk>\d+)/$',login_required( re_path(r'^deleteplan/(?P<pk>\d+)/$',login_required(
views.TrainingPlanDelete.as_view()),name='trainingplan_delete_view'), views.TrainingPlanDelete.as_view()),name='trainingplan_delete_view'),
re_path(r'^deletemicrocycle/(?P<pk>\d+)/$',login_required( re_path(r'^deletemicrocycle/(?P<pk>\d+)/$',login_required(

View File

@@ -1906,11 +1906,12 @@ class PlannedSessionDelete(DeleteView):
return obj return obj
@user_passes_test(can_add_plan,login_url="/rowers/paidplans", @user_passes_test(isplanmember,login_url="/rowers/paidplans",
message="This functionality requires a Coach or Self-Coach plan", message="This functionality requires a Coach or Self-Coach plan",
redirect_field_name=None) redirect_field_name=None)
def rower_create_trainingplan(request,userid=0): @permission_required('rower.add_plan',fn=get_rower_by_userid,raise_exception=True)
therower = getrequestrower(request,userid=userid) def rower_create_trainingplan(request,id=0):
therower = getrequestrower(request,userid=id)
theuser = therower.user theuser = therower.user
themanager = getrower(request.user) themanager = getrower(request.user)
@@ -2016,7 +2017,7 @@ def rower_create_trainingplan(request,userid=0):
}, },
{ {
'url':reverse(rower_create_trainingplan, 'url':reverse(rower_create_trainingplan,
kwargs={'userid':userid}), kwargs={'id':id}),
'name': 'Manage Plans and Targets' 'name': 'Manage Plans and Targets'
} }
] ]

View File

@@ -348,6 +348,11 @@ def get_user_by_id(*args,**kwargs):
return get_object_or_404(User,pk=id) return get_object_or_404(User,pk=id)
def get_rower_by_userid(*args,**kwargs):
userid = kwargs['id']
u = User.objects.get(id=userid)
return u.rower
def getrequestrower(request,rowerid=0,userid=0,notpermanent=False): def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
userid = int(userid) userid = int(userid)