diff --git a/project-templates/staff/teams/create_rosterrole.html b/project-templates/staff/teams/create_rosterrole.html
index 38bb19f6..c7d37f2f 100644
--- a/project-templates/staff/teams/create_rosterrole.html
+++ b/project-templates/staff/teams/create_rosterrole.html
@@ -3,7 +3,7 @@
{% load static %}
{% block title %}
- Create Roster Role
+ Teams / Create Roster Role
{% endblock %}
{% block body %}
diff --git a/project-templates/staff/teams/list_rosterrole.html b/project-templates/staff/teams/list_rosterrole.html
new file mode 100644
index 00000000..4a6a0982
--- /dev/null
+++ b/project-templates/staff/teams/list_rosterrole.html
@@ -0,0 +1,26 @@
+{% extends 'staff/staffbase.html' %}
+{% load static %}
+
+
+{% block title %}
+ Teams / Roster Role List
+{% endblock %}
+
+{% block body %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/staff/urls.py b/staff/urls.py
index bda41361..526e0de7 100644
--- a/staff/urls.py
+++ b/staff/urls.py
@@ -138,6 +138,11 @@
path('teams//remove/', login_required(views.remove_user), name='remove_user'),
path('teams/getrank/', login_required(views.getteamrank), name='getteamrank'),
path('teams//delete/', login_required(views.delete_team), name='delete_team'),
+ path('teams//rosters/', login_required(views.team_roster), name='team_roster'),
+ path('teams/rosters/roles/', login_required(views.list_roster_role), name='list_roster_role'),
+ path('teams/rosters/roles/create/', login_required(views.create_roster_role), name='create_roster_role'),
+ path('teams/rosters/roles//edit/', login_required(views.edit_roster_role), name='edit_roster_role'),
+ path('teams/rosters/roles//delete/', login_required(views.delete_roster_role), name='delete_roster_role'),
path('partners/', login_required(views.partnerlist), name='partner_list'),
path('partners/create/', login_required(views.createpartner), name='partner_create'),
diff --git a/staff/views/teams.py b/staff/views/teams.py
index 519aa4bb..9bc8ee0b 100644
--- a/staff/views/teams.py
+++ b/staff/views/teams.py
@@ -2,7 +2,7 @@
from django.shortcuts import render, redirect
from staff.forms import *
-from teams.models import TeamInvite
+from teams.models import TeamInvite, Roster, Team, RosterRole, RosterMember
from wagers.models import *
@@ -173,7 +173,28 @@ def getteamrank(request):
return redirect('staff:teamindex')
-def create_rosterrole(request):
+def team_roster(request, pk):
+ user = UserProfile.objects.get(user__username=request.user.username)
+ allowed = ['superadmin', 'admin']
+ if user.user_type not in allowed:
+ return render(request, 'staff/permissiondenied.html')
+ else:
+ team = Team.objects.get(pk=pk)
+ roster = Roster.objects.get(team=team)
+ return render(request, 'staff/teams/team_roster.html', {'roster': roster})
+
+
+def list_roster_role(request):
+ user = UserProfile.objects.get(user__username=request.user.username)
+ allowed = ['superadmin', 'admin']
+ if user.user_type not in allowed:
+ return render(request, 'staff/permissiondenied.html')
+ else:
+ roles = RosterRole.objects.all()
+ return render(request, 'staff/teams/list_rosterrole.html', {'roles': roles})
+
+
+def create_roster_role(request):
user = UserProfile.objects.get(user__username=request.user.username)
allowed = ['superadmin', 'admin']
if user.user_type not in allowed:
@@ -182,11 +203,40 @@ def create_rosterrole(request):
if request.method == 'POST':
form = CreateTeamRosterRole(request.POST)
if form.is_valid():
- temp = RosterRole
- temp.name = form.cleaned_data['name']
+ temp = form.instance
temp.save()
messages.success(request, "Successfully created Roster Role")
return redirect('staff:teamindex')
elif request.method == 'GET':
form = CreateTeamRosterRole()
- return render(request, 'staff/teams/create_rosterrole.html', {'form': form})
\ No newline at end of file
+ return render(request, 'staff/teams/create_rosterrole.html', {'form': form})
+
+
+def delete_roster_role(request, pk):
+ user = UserProfile.objects.get(user__username=request.user.username)
+ allowed = ['superadmin', 'admin']
+ if user.user_type not in allowed:
+ return render(request, 'staff/permissiondenied.html')
+ else:
+ role = RosterRole.objects.get(pk=pk)
+ role.delete()
+ messages.success(request, 'Roster role successfully deleted')
+ return redirect('staff:list_roster_role')
+
+
+def edit_roster_role(request, pk):
+ user = UserProfile.objects.get(user__username=request.user.username)
+ allowed = ['superadmin', 'admin']
+ if user.user_type not in allowed:
+ return render(request, 'staff/permissiondenied.html')
+ else:
+ role = RosterRole.objects.get(pk=pk)
+ if request.method == 'GET':
+ form = CreateTeamRosterRole(instance=role)
+ return render(request, 'staff/teams/create_rosterrole.html', {'form': form})
+ elif request.method == 'POST':
+ form = CreateTeamRosterRole(request.POST, instance=role)
+ form.save()
+ messages.success(request, "Successfully updated roster role")
+ return redirect('staff:list_roster_role')
+
diff --git a/teams/forms.py b/teams/forms.py
index 13d96dcc..cd4307ee 100644
--- a/teams/forms.py
+++ b/teams/forms.py
@@ -2,7 +2,7 @@
# import the actual team model for the create team forms
from teams.models import Team
# import the model for the team invite
-from teams.models import TeamInvite
+from teams.models import TeamInvite, Roster
from profiles.models import UserProfile
@@ -134,3 +134,8 @@ def __init__(self, request, pk, *args, **kwargs):
self.fields['confirmed'].widget.attrs.update(
{'name': 'confirmed', 'class': 'form-control', 'style': 'display: block'})
+
+class CreateRosterForm(forms.ModelForm):
+ class Meta:
+ model = Roster
+ fields = '__all__'