103 lines
2.9 KiB
Plaintext
103 lines
2.9 KiB
Plaintext
@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 |