diff --git a/rowers/models.py b/rowers/models.py index cef1bece..e338b52e 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -904,6 +904,9 @@ class Rower(models.Model): getimportantemails = models.BooleanField(default=True, verbose_name='Get Important Emails') + share_course_results = models.BooleanField(default=True, + verbose_name = 'Share Course Results') + sex = models.CharField(default="not specified", max_length=30, @@ -4259,6 +4262,7 @@ class AccountRowerForm(ModelForm): 'adaptiveclass', 'getemailnotifications', 'getimportantemails', + 'share_course_results', 'defaulttimezone','showfavoritechartnotes', 'fav_analysis', 'usersmooth', diff --git a/rowers/templates/course_view.html b/rowers/templates/course_view.html index 7105c21a..b3e5252a 100644 --- a/rowers/templates/course_view.html +++ b/rowers/templates/course_view.html @@ -95,6 +95,13 @@

Filter Results

+

+ {% if onlyme %} + All Results + {% else %} + Only My Results + {% endif %} +

diff --git a/rowers/templates/summary_edit.html b/rowers/templates/summary_edit.html index 5b9a473a..5fe8d68d 100644 --- a/rowers/templates/summary_edit.html +++ b/rowers/templates/summary_edit.html @@ -190,6 +190,15 @@ The summary will be updated to show time on course, and you can compare this with other attempts.

+

+ {% if rower.share_course_results %} + You are currently sharing your course results with all Rowsandall users. + Click here to hide your course results. + {% else %} + You are currently hiding your course results (except for your participation in online challenges). + Click here to hide your course results. + {% endif %} +

{{ courseselectform.as_table }} diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index c5222860..7ff47875 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -232,6 +232,22 @@ def course_view(request,id=0): workoutid__isnull=False, coursecompleted=True).order_by("duration","-distance") + notsharing = Rower.objects.filter(share_course_results=False).exclude(id=r.id) + notsharing_ids = [o.user.id for o in notsharing] + + records = records.exclude(userid__in=notsharing_ids) + + if 'onlyme' in request.GET: + onlyme = request.GET.get('onlyme',False) + if onlyme == 'true': + onlyme = True + + if onlyme: + records = records.filter(userid=r.user.id) + else: + onlyme=False + + form = RaceResultFilterForm(records=records,groups=False) if request.method == 'POST': form = RaceResultFilterForm(request.POST,records=records,groups=False) @@ -305,6 +321,7 @@ def course_view(request,id=0): 'records':records, 'rower':r, 'form':form, + 'onlyme':onlyme, } ) diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py index ad995206..8cf39c7c 100644 --- a/rowers/views/userviews.py +++ b/rowers/views/userviews.py @@ -396,6 +396,15 @@ def rower_exportsettings_view(request,userid=0): def rower_edit_view(request,rowerid=0,userid=0,message=""): r = getrequestrowercoachee(request,rowerid=rowerid,userid=userid,notpermanent=True) + if 'courseshare' in request.GET: + courseshare = request.GET.get('courseshare',"ok") + if courseshare == 'true': + r.share_course_results = True + r.save() + elif courseshare == 'false': + r.share_course_results = False + r.save() + rowerid = r.id breadcrumbs = [ @@ -435,6 +444,7 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""): showfavoritechartnotes = cd['showfavoritechartnotes'] getemailnotifications = cd['getemailnotifications'] getimportantemails = cd['getimportantemails'] + share_course_results = cd['share_course_results'] defaulttimezone=cd['defaulttimezone'] fav_analysis = cd['fav_analysis'] usersmooth = cd['usersmooth'] @@ -461,6 +471,7 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""): r.offercoaching = offercoaching r.defaultlandingpage = defaultlandingpage r.showfavoritechartnotes = showfavoritechartnotes + r.share_course_results = share_course_results r.sex = sex r.birthdate = birthdate r.autojoin = autojoin