Skip to content

Commit

Permalink
#147 backend functionality for roster roles
Browse files Browse the repository at this point in the history
  • Loading branch information
mikemaddem committed Jul 22, 2021
1 parent f0400f8 commit 393190e
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 7 deletions.
2 changes: 1 addition & 1 deletion project-templates/staff/teams/create_rosterrole.html
Expand Up @@ -3,7 +3,7 @@
{% load static %}
<link rel="stylesheet" href="{% static "css/staff.css" %}">
{% block title %}
Create Roster Role
<a href="{% url 'staff:teamindex' %}">Teams</a> / Create Roster Role
{% endblock %}
{% block body %}
<link rel="stylesheet" href="{% static "css/staff.css" %}">
Expand Down
26 changes: 26 additions & 0 deletions project-templates/staff/teams/list_rosterrole.html
@@ -0,0 +1,26 @@
{% extends 'staff/staffbase.html' %}
{% load static %}
<link rel="stylesheet" href="{% static "css/staff.css" %}">

{% block title %}
<a href="{% url 'staff:teamindex' %}">Teams</a> / Roster Role List
{% endblock %}

{% block body %}
<div style="overflow-x:auto;">
<table class="table table-hover">
<tr id="header">
<thead>
<th scope="row">Name</th>
</thead>
</tr>
{% for role in roles %}
<tbody>
<tr scope="">
<td scope="row"><a href="{% url 'staff:edit_roster_role' pk=role.pk %}">{{ role.name }}</a></td>
</tr>
</tbody>
{% endfor %}
</table>
</div>
{% endblock %}
5 changes: 5 additions & 0 deletions staff/urls.py
Expand Up @@ -138,6 +138,11 @@
path('teams/<int:pk>/remove/', login_required(views.remove_user), name='remove_user'),
path('teams/getrank/', login_required(views.getteamrank), name='getteamrank'),
path('teams/<int:pk>/delete/', login_required(views.delete_team), name='delete_team'),
path('teams/<int:pk>/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/<int:pk>/edit/', login_required(views.edit_roster_role), name='edit_roster_role'),
path('teams/rosters/roles/<int:pk>/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'),
Expand Down
60 changes: 55 additions & 5 deletions staff/views/teams.py
Expand Up @@ -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 *


Expand Down Expand Up @@ -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:
Expand All @@ -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})
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')

7 changes: 6 additions & 1 deletion teams/forms.py
Expand Up @@ -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


Expand Down Expand Up @@ -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__'

0 comments on commit 393190e

Please sign in to comment.