@startuml Manage Tournament title Manage Tournament Actor Admin #palegreen participant Website database Server #brown hide footbox alt Manage Teams Admin->Website: manageTeamsButton() activate Admin activate Website Website-->Admin: redirect(/tournament/id/teams) opt Add Admin->Website: addTeam(name,members) opt Error Website-->Admin: displayError(error) end Website->Server: addTeam(id,name,members) activate Server Server-->Website: postTeam(team) deactivate Server Website-->Admin: updateTeamList(team) deactivate Admin deactivate Website end opt Edit Admin->Website: selectTeam(team) activate Admin activate Website Website->Server: getTeam(team) activate Server Server-->Website: postTeam(team) deactivate Server Website-->Admin: showTeam(team,members) opt Add Member Admin->Website: addMember(name) activate Server Website->Server: updateTeam(team,member:name) Website-->Admin: showTeam(team,member) deactivate Server end opt Remove Member Admin->Website: removeMember(id) activate Server Website->Server: updateTeam(team,member:id) Website-->Admin: showTeam(team,member) deactivate Server deactivate Admin deactivate Website end end opt Delete activate Admin activate Website Admin->Website: deleteTeam(team) Website-->Admin: confirm ? Yes : No; opt Error Website-->Admin: displayError(error) end opt Yes Website->Server: removeTeam(team:id) activate Server Server-->Website: postTeam(team) deactivate Server Website-->Admin: updateTeamList(team) end opt No Website-->Admin: redirect(/tournament/tournament/id/teams) end deactivate Admin deactivate Website end end alt Select Match Winner Admin->Website: chooseWinner(match,team) Website->Server: updateMatch(id:matchID,winner:teamID) activate Server Server-->Website: updateParentOf(child:matchID) deactivate Server Website-->Admin: displayTournament(Tournament) end alt Delete Tournament Admin->Website: removeTournament(tournament) Website-->Admin: confirm ? Yes : No; opt Yes activate Server Website->Server: removeTournament(tournament:id) Website-->Admin: redirect(/homePage) deactivate Server end opt No Website-->Admin: redirect(/tournaments/id/) end deactivate Admin deactivate Website end @enduml