diff --git a/rowers/models.py b/rowers/models.py index 5db49f02..69d81d68 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -520,7 +520,7 @@ class TeamRequest(models.Model): from rowers.utils import ( workflowleftpanel,workflowmiddlepanel, - defaultleft,defaultmiddle,landingpages, + defaultleft,defaultmiddle,landingpages,landingpages2, steps_read_fit, steps_write_fit, ps_dict_order ) @@ -993,6 +993,10 @@ class Rower(models.Model): max_length=200, choices=landingpages, verbose_name="Default Landing Page") + defaultlandingpage2 = models.CharField(default='workout_delete', + max_length=200, + choices=landingpages2, + verbose_name="Alternative Landing Page") # Access tokens c2token = models.CharField(default='',max_length=200,blank=True,null=True) @@ -4280,6 +4284,7 @@ class AccountRowerForm(ModelForm): 'fav_analysis', 'usersmooth', 'defaultlandingpage', + 'defaultlandingpage2', 'offercoaching','autojoin','emailalternatives'] widgets = { diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html index edd84608..690a7e50 100644 --- a/rowers/templates/list_workouts.html +++ b/rowers/templates/list_workouts.html @@ -35,46 +35,7 @@
    -
  • -

    - Total meters: {{ totalmeters }}. Total time {{ totalhours }}:{{ totalminutes }}h. - Dig deeper. -

    -

    - Activity chart by - TRIMP, - rScore, - Time. -

    - - - - - - {{ interactiveplot |safe }} - - {{ the_div |safe }} -
  • -
  • -

    Filter on date -

    - - {{ dateform.as_table }} -
    - {% csrf_token %} -

    -

    and keyword

    -

    - {{ searchform }} -

    -

    - -

    -

    -

    -

    +

  • {% if workouts.has_previous %} {% if request.GET.q %} @@ -118,7 +79,6 @@ {% endif %} {% endif %} -

  • {% if workouts %} @@ -154,18 +114,25 @@ {% if workout|may_edit:request %} - + title="{{ rower.defaultlandingpage|verbose }}"> + {% else %}   {% endif %}
    {% if workout|may_edit:request %} + {% if rower.defaultlandingpage2 != 'workout_delete' %} - + href={% url rower.defaultlandingpage2 id=workout.id|encode %} + title="{{ rower.defaultlandingpage2|verbose }}"> + + {% else %} + + + {% endif %} {% else %}   {% endif %} @@ -178,6 +145,45 @@ {% else %}
  • No workouts found
  • {% endif %} +
  • +

    Filter on date +

    + + {{ dateform.as_table }} +
    + {% csrf_token %} +

    +

    and keyword

    +

    + {{ searchform }} +

    +

    + +

    +

    +
  • +
  • +

    + Total meters: {{ totalmeters }}. Total time {{ totalhours }}:{{ totalminutes }}h. + Dig deeper. +

    +

    + Activity chart by + TRIMP, + rScore, + Time. +

    + + + + + + {{ interactiveplot |safe }} + + {{ the_div |safe }} +
  • {% if announcements %}
  • What's New?

    diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py index 57db8e3b..43173126 100644 --- a/rowers/templatetags/rowerfilters.py +++ b/rowers/templatetags/rowerfilters.py @@ -27,7 +27,7 @@ from rowers.mytypes import ( otwtypes,adaptivetypes,sexcategories,weightcategories,workouttypes, workouttypes_icons, ) -from rowers.utils import NoTokenError, step_to_string +from rowers.utils import NoTokenError, step_to_string, landingpages2 import rowers.payments as payments @@ -72,16 +72,29 @@ favanalysisdict = {} for key,value in favanalysischoices: favanalysisdict[key] = value -favanalysisicons = { - 'compare':'fa-balance-scale', - 'stats':'fa-table', - 'boxplot':'fa-box-open', - 'trendflex':'fa-chart-line', - 'histogram':'fa-chart-bar', - 'flexall':'fa-chart-line', - 'cp':'fa-user-chart', +landingpagedict = {} +for key, value in landingpages2: + landingpagedict[key] = value + +landingpageicons = { + 'workout_view':'fas fa-search fa-fw', + 'workout_edit_view':'fas fa-pencil-alt fa-fw', + 'workout_workflow_view':'fas fa-tachometer-alt fa-fw', + 'workout_stats_view':'fal fa-table fa-fw', + 'workout_data_view':'fal fa-table fa-fw', + 'workout_summary_edit_view':'fas fa-pause fa-fw', + 'workout_flexchart_stacked_view':'fas fa-align-justify fa-fw', + 'workout_flexchart3_view':'fas fa-chart-line fa-fw', + 'workout_delete':'fas fa-trash-alt fa-fw' } +@register.filter +def landingicon(landingpage): + try: + return landingpageicons[landingpage] + except KeyError: + return 'fas fa-search fa-fw' + @register.filter def steptostring(steps): res = ps_dict_get_description_html(steps,short=True) @@ -91,16 +104,9 @@ def steptostring(steps): @register.filter def verbose(s): try: - return favanalysisdict[s] + return landingpagedict[s] except KeyError: # pragma: no cover - return '' - -@register.filter -def icon(s): - try: - return favanalysisicons[s] - except KeyError: # pragma: no cover - return 'fa-chart-line' + return 'Details' @register.filter def datarows(data): # pragma: no cover diff --git a/rowers/utils.py b/rowers/utils.py index 596fc4ff..e03d405e 100644 --- a/rowers/utils.py +++ b/rowers/utils.py @@ -46,6 +46,19 @@ landingpages = ( ('workout_flexchart3_view','Workout Flex Chart') ) +landingpages2 = ( + ('workout_view', 'Workout View'), + ('workout_edit_view','Edit View'), + ('workout_workflow_view','Workflow View'), + ('workout_stats_view','Stats View'), + ('workout_data_view','Data Explore View'), + ('workout_summary_edit_view','Intervals Editor'), + ('workout_flexchart_stacked_view','Workout Stacked Chart'), + ('workout_flexchart3_view','Workout Flex Chart'), + ('workout_delete','Remove Workout') +) + + workflowmiddlepanel = (