Private
Public Access
1
0

finally making admin widgets work

This commit is contained in:
Sander Roosendaal
2019-02-19 21:04:40 +01:00
parent 8575443220
commit e388d56177
6 changed files with 32 additions and 5 deletions

View File

@@ -1042,7 +1042,12 @@ def checkaccessplanuser(user,rower):
if rower == r: if rower == r:
return True return True
team_managers = [t.manager for t in rower.team.all() if t.manager.rower.rowerplan in ['plan','coach']] team_managers = [t.manager for t in rower.team.all() if t.manager.rower.rowerplan in ['plan','coach']]
if user.rower.rowerplan != 'basic':
return user in team_managers return user in team_managers
else:
return False
return False
except Rower.DoesNotExist: except Rower.DoesNotExist:
return False return False

View File

@@ -189,7 +189,7 @@
</td> </td>
<td> {{ workout.date|date:"Y-m-d" }} </td> <td> {{ workout.date|date:"Y-m-d" }} </td>
<td> {{ workout.starttime|date:"H:i" }} </td> <td> {{ workout.starttime|date:"H:i" }} </td>
{% if workout.user.user == user or user == team.manager %} {% if workout|may_edit:request %}
{% if workout.name != '' %} {% if workout.name != '' %}
<td> <td>
<a href={% url rower.defaultlandingpage id=workout.id|encode %}> <a href={% url rower.defaultlandingpage id=workout.id|encode %}>
@@ -215,18 +215,27 @@
<td> {{ workout.maxhr }} </td> <td> {{ workout.maxhr }} </td>
{% if team %} {% if team %}
<td colspan="2"> <td colspan="2">
{% if workout|may_edit:request %}
<a class="small" href="/rowers/{{ workout.user.id }}/list-workouts/"> <a class="small" href="/rowers/{{ workout.user.id }}/list-workouts/">
{{ workout.user.user.first_name }} {{ workout.user.user.first_name }}
{{ workout.user.user.last_name }} {{ workout.user.user.last_name }}
</a> </a>
{% else %}
{{ workout.user.user.first_name }}
{{ workout.user.user.last_name }}
{% endif %}
</td> </td>
{% endif %} {% endif %}
<td> <td>
{% if workout|may_edit:request %}
<a class="small" <a class="small"
href="/rowers/workout/{{ workout.id|encode }}/edit/" href="/rowers/workout/{{ workout.id|encode }}/edit/"
title="Edit"> title="Edit">
<i class="fas fa-pencil-alt fa-fw"></i> <i class="fas fa-pencil-alt fa-fw"></i>
</a> </a>
{% else %}
&nbsp;
{% endif %}
</td> </td>
<td> <td>
<a class="small" <a class="small"
@@ -236,17 +245,25 @@
</a> </a>
</td> </td>
<td> <td>
{% if workout|may_edit:request %}
<a class="small" <a class="small"
href="/rowers/workout/{{ workout.id|encode }}/stats/" href="/rowers/workout/{{ workout.id|encode }}/stats/"
title="Stats"> title="Stats">
<i class="fal fa-table fa-fw"></i> <i class="fal fa-table fa-fw"></i>
</a> </a>
{% else %}
&nbsp;
{% endif %}
</td> </td>
<td> <td>
{% if workout.user.user == user or user == team.manager %}
<a class="small" href="/rowers/workout/{{ workout.id|encode }}/delete/" <a class="small" href="/rowers/workout/{{ workout.id|encode }}/delete/"
title="Delete"> title="Delete">
<i class="fas fa-trash-alt fa-fw"></i> <i class="fas fa-trash-alt fa-fw"></i>
</a> </a>
{% else %}
&nbsp;
{% endif %}
</td> </td>
</tr> </tr>

View File

@@ -548,6 +548,7 @@ def plannedsession_multicreate_view(request,
# Manager creates sessions for entire team # Manager creates sessions for entire team
@user_passes_test(hasplannedsessions,login_url="/rowers/paidplans/", @user_passes_test(hasplannedsessions,login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
redirect_field_name=None) redirect_field_name=None)
def plannedsession_teamcreate_view(request, def plannedsession_teamcreate_view(request,
teamid=0,userid=0): teamid=0,userid=0):
@@ -716,6 +717,7 @@ def plannedsession_teamcreate_view(request,
# Manager edits sessions for entire team # Manager edits sessions for entire team
@user_passes_test(iscoachmember,login_url="/rowers/paidplans/", @user_passes_test(iscoachmember,login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
redirect_field_name=None) redirect_field_name=None)
def plannedsession_teamedit_view(request, def plannedsession_teamedit_view(request,
sessionid=0,userid=0): sessionid=0,userid=0):

View File

@@ -856,7 +856,7 @@ def virtualevent_compare_view(request,id=0):
workouts = [] workouts = []
for id in workoutids: for id in workoutids:
try: try:
workouts.append(Workout.objects.get(id=encode.decode_hex(id))) workouts.append(Workout.objects.get(id=id))
except Workout.DoesNotExist: except Workout.DoesNotExist:
pass pass

View File

@@ -75,6 +75,7 @@ urlpatterns += [
url(r'^twitter\_callback',rowersviews.rower_process_twittercallback), url(r'^twitter\_callback',rowersviews.rower_process_twittercallback),
url(r'^i18n/', include('django.conf.urls.i18n')), url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^tz_detect/', include('tz_detect.urls')), url(r'^tz_detect/', include('tz_detect.urls')),
url(r'^jsi18n/', 'django.views.i18n.javascript_catalog',name='jsi18n'),
] ]

View File

@@ -12,7 +12,7 @@
<title>{% block title %}Rowsandall Rowing Data Analytics{% endblock %}</title> <title>{% block title %}Rowsandall Rowing Data Analytics{% endblock %}</title>
{% block scripts %} {% endblock %} {% block scripts %} {% endblock %}
<script type="text/javascript" src="/admin/jsi18n/"></script> <script type="text/javascript" src="/jsi18n/"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script> <script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script> <script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script> <script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
@@ -31,7 +31,9 @@
<link rel="stylesheet" href="/static/css/bokeh-0.12.3.min.css" type="text/css" /> <link rel="stylesheet" href="/static/css/bokeh-0.12.3.min.css" type="text/css" />
<link rel="stylesheet" href="/static/css/bokeh-widgets-0.12.3.min.css" type="text/css" /> <link rel="stylesheet" href="/static/css/bokeh-widgets-0.12.3.min.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="/static/admin/css/forms.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/widgets.css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >
<link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="/static/img/favicon.ico" type="image/x-icon" />
<link rel="icon" sizes="32x32" href="/static/img/favicon-32x32.png" type="image/png"/> <link rel="icon" sizes="32x32" href="/static/img/favicon-32x32.png" type="image/png"/>
<link rel="icon" sizes="64x64" href="/static/img/favicon-64x64.png" type="image/png"/> <link rel="icon" sizes="64x64" href="/static/img/favicon-64x64.png" type="image/png"/>