Пример #1
0
    def GET(self, playerTag):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerTag)
            requestPendingList = connection.GetRequestPendingFor(
                playerTagObject)
        except TypeError:
            template = jinja_environment.get_template(
                'templates/pendingRequest.html')
            return template.render({
                'FriendRequests':
                requestPendingList,
                'the_title':
                'Pending Request',
                'errorMatch': ("Unexpected error:", sys.exc_info()[1]),
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
            })

        if (requestPendingList.__len__() == 0):
            raise cherrypy.HTTPRedirect("/dash/", 302)
        else:
            template = jinja_environment.get_template(
                'templates/pendingRequest.html')
            return template.render({
                'FriendRequests':
                requestPendingList,
                'the_title':
                'Pending Request',
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
            })
Пример #2
0
    def POST(self, playerName, teamName, teamNameConfirm):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerName)

            teamObject = Team()
            teamObject.SetTeamName(teamName)
        except:
            template = jinja_environment.get_template(
                'templates/createnewteam.html')
            return template.render({
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'errorMatch': ("Unexpected error:", sys.exc_info()[1])
            })

        if (teamName != teamNameConfirm):
            template = jinja_environment.get_template(
                'templates/createnewteam.html')
            return template.render({
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'errorTeam':
                'Team Name does not match!'
            })

        elif (teamName == ""):
            template = jinja_environment.get_template(
                'templates/createnewteam.html')
            return template.render({
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'errorTeam':
                'Empty Name not accepted!'
            })

        else:
            #Find Duplicates
            teams = connection.FindTeam(teamObject)
            if (str(teams) != 'None'):
                template = jinja_environment.get_template(
                    'templates/createnewteam.html')
                return template.render({
                    'playerTagHeader':
                    playerTagObject.GetPlayerTag(),
                    'errorTeam':
                    'This team already exist!'
                })
            else:
                teamObject.SetAdministrator(playerTagObject.GetPlayerTag())
                teamObject.SetMembers(playerTagObject.GetPlayerTag())
                connection.InsertTeam(teamObject)

                playerDB = connection.FindPlayerTagNoPass(playerTagObject)
                playerDB['Teams'].append(teamObject.GetTeamName())
                connection.UpdatePlayerTag(playerDB)

                raise cherrypy.HTTPRedirect("/dash/", 302)
Пример #3
0
    def POST(self, playerTag, selectedTag):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerTag)

            notFriendsWith = connection.NonFriendsList(playerTagObject)

            new_Request = FriendsRequest()
            new_Request.SetFromTag(playerTag)
            new_Request.SetToTag(selectedTag)
            new_Request.SetConfirmation('Awaiting')
            #Duplicates
            queryNew = connection.FindFriendRequestDuplicate(new_Request)
        except:
            new_Request.fromTag = None
            new_Request.toTag = None
            template = jinja_environment.get_template(
                'templates/friendRequest.html')
            return template.render({
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'the_title':
                'Friend Request',
                'errorMatch': ("Unexpected error:", sys.exc_info()[1]),
                'PlayerTags':
                notFriendsWith,
            })

        #If no Duplicates what so ever
        if (queryNew.__len__() == 0):
            connection.InsertFriendRequest(new_Request)
            raise cherrypy.HTTPRedirect("/dash/", 302)
        else:
            #We have Decline or Awaiting
            queryDub = connection.FindFriendRequest(new_Request)
            #You were declined
            if (queryDub.__len__() > 0):
                #Give another chance
                for item in queryDub:
                    if (item['Confirmation'] == 'Decline'):
                        item.SetConfirmation('Awaiting')
                        connection.InsertFriendRequest(item)
                        raise cherrypy.HTTPRedirect("/dash/", 302)
                    #Still Awaiting
                    else:
                        template = jinja_environment.get_template(
                            'templates/friendRequest.html')
                        return template.render({
                            'playerTagHeader':
                            playerTagObject.GetPlayerTag(),
                            'the_title':
                            'Friend Request',
                            'errorMatch':
                            'User already sent a friends request',
                            'PlayerTags':
                            notFriendsWith,
                        })
Пример #4
0
    def POST(self, playerName, requestPending, button):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerName)

            selectedTagObject = PlayerTag()
            selectedTagObject = PlayerTag(requestPending)

            playerTagObject = connection.FindPlayerTagNoPass(playerTagObject)
            selectedTagObject = connection.FindPlayerTagNoPass(
                selectedTagObject)

            #Get friend request object
            friendRequestObject = connection.GetRequestPendingForFrom(
                selectedTagObject, playerTagObject)
        except:
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerName)
            requestPendingList = connection.GetRequestPendingFor(
                playerTagObject)
            template = jinja_environment.get_template(
                'templates/pendingRequest.html')
            return template.render({
                'FriendRequests':
                requestPendingList,
                'the_title':
                'Pending Request',
                'errorMatch': ("Unexpected error:", sys.exc_info()[1]),
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
            })

        if (button == 'Accept'):
            if (playerTagObject['Friends'].__contains__(
                    selectedTagObject['PlayerTag'])
                    or selectedTagObject['Friends'].__contains__(
                        playerTagObject['PlayerTag'])):
                return

            for request in friendRequestObject:
                request['Confirmation'] = "Accept"
                connection.UpdateFriendRequest(request)

            playerTagObject['Friends'].append(selectedTagObject['PlayerTag'])
            selectedTagObject['Friends'].append(playerTagObject['PlayerTag'])

            connection.UpdatePlayerTag(playerTagObject)
            connection.UpdatePlayerTag(selectedTagObject)
        else:
            for request in friendRequestObject:
                request['Confirmation'] = "Decline"
                connection.UpdateFriendRequest(request)

        playerTagObject = PlayerTag()
        playerTagObject.SetPlayerTag(playerName)

        raise cherrypy.HTTPRedirect("/dash/", 302)
Пример #5
0
 def POST(self,playerName, currentTeam, selectedMember):
     try:
         connection = functions.Worker()
         playerTagObject = PlayerTag()                                  
         playerTagObject.SetPlayerTag(playerName)
         
         currentTeamObject = Team()                                  
         currentTeamObject.SetTeamName(currentTeam)
 
         selectedMemberObject = PlayerTag()                                  
         selectedMemberObject.SetPlayerTag(selectedMember)
         
         teamDB = connection.FindTeam(currentTeamObject)
         members = []
         for member in teamDB['Members']:
             if(members.__contains__(member)):continue
             else: members.append(member)
     except:
         template = jinja_environment.get_template('templates/manageateam.html')
         return template.render({'the_title': 'Manage A Team.',
                                 'playerTagHeader': playerName,
                                 'errorMatch': ("Unexpected error:", sys.exc_info()[1]),
                                 'team' : currentTeam,
                                 'members' : members})
      
     if(teamDB['Administrator'] != playerName):
         template = jinja_environment.get_template('templates/manageateam.html')
         return template.render({'the_title': 'Manage A Team.',
                                 'playerTagHeader': playerName,
                                 'errorMatch': 'Administrators privilege required in order to remove members.',
                                 'team' : currentTeam,
                                 'members' : members})
     else:   
         if(teamDB['Administrator'] == selectedMember):
             template = jinja_environment.get_template('templates/manageateam.html')
             return template.render({'the_title': 'Manage A Team.',
                                     'playerTagHeader': playerName,
                                     'errorMatch': 'Administrators cannot be removed. Delete the Team instead!',
                                     'team' : currentTeam,
                                     'members' : members})
         else:
             t = [] 
             t = teamDB['Members']
             for item in t:
                 if(item.__contains__(selectedMember)):
                     #Get the member
                     t.remove(item)
                     
                     playerTagObject = PlayerTag()                                  
                     playerTagObject.SetPlayerTag(str(item))
                     playerDB = connection.FindPlayerTagNoPass(playerTagObject)
                     playerDB['Teams'].remove(teamDB['TeamName'])
                     connection.UpdatePlayerTag(playerDB)
                     
             teamDB['Members'] = t
             connection.UpdateTeam(teamDB)
             raise cherrypy.HTTPRedirect("/dash/", 302)   
Пример #6
0
 def GET(self, playerName):
     connection = functions.Worker()
     playerTagObject = PlayerTag()
     playerTagObject.SetPlayerTag(playerName)
     team = connection.GetTeams(playerTagObject)
     template = jinja_environment.get_template('templates/teams.html')
     return template.render({
         'playerTagHeader': playerName,
         'the_title': 'Team Menu',
         'teams': team
     })
Пример #7
0
 def GET(self,playerName): 
     connection = functions.Worker()
     playerTagObject = PlayerTag()                                  
     playerTagObject.SetPlayerTag(playerName)
     friends = connection.GetFriends(playerTagObject)
     team = connection.GetTeams(playerTagObject)
                        
     template = jinja_environment.get_template('templates/dash.html')   
     return template.render({'playerTagHeader': playerTagObject.GetPlayerTag(),
                             'the_title': 'Dashboard',
                             'friends' : friends,
                             'teams': team})
Пример #8
0
    def POST(self, playerName, selectedTeam):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerName)

            selectedTeamObject = Team()
            selectedTeamObject.SetTeamName(selectedTeam)

            teamNames = connection.GetAllTeams()
            team = connection.GetTeams(playerTagObject)
            for item in team:
                if (teamNames.__contains__(item)):
                    teamNames.remove(item)
        except:
            template = jinja_environment.get_template(
                'templates/joinateam.html')
            return template.render({
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'errorMatch': ("Unexpected error:", sys.exc_info()[1]),
                'teams':
                teamNames
            })

        #Check if this user is part of this current team
        teamMember = connection.GetTeams(playerTagObject)

        if (teamMember.__contains__(selectedTeam)):
            template = jinja_environment.get_template(
                'templates/joinateam.html')
            return template.render({
                'the_title':
                'Join A Team.',
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'errorMatch':
                'Player Tag is already a member of this Team!',
                'teams':
                teamNames
            })
        else:
            teamDB = connection.FindTeam(selectedTeamObject)
            teamDB['Members'].append(playerName)
            connection.UpdateTeam(teamDB)

            playerDB = connection.FindPlayerTagNoPass(playerTagObject)
            playerDB['Teams'].append(teamDB['TeamName'])
            connection.UpdatePlayerTag(playerDB)
            raise cherrypy.HTTPRedirect("/dash/", 302)
Пример #9
0
    def POST(self,playerName, page):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()                                  
            playerTagObject.SetPlayerTag(playerName)
            friends = connection.GetFriends(playerTagObject)
            team = connection.GetTeams(playerTagObject)
        except:
            template = jinja_environment.get_template('templates/dash.html')   
            return template.render({'playerTagHeader': playerTagObject.GetPlayerTag(),
                                    'the_title': 'Dashboard',
                                    'friends' : friends,
                                    'teams': team,
                                    'errorMatch': ("Unexpected error:", sys.exc_info()[1])})        
        #If friend request option selected
        if(page == 'friendRequest'):
            notFriendsWith = connection.NonFriendsList(playerTagObject)
            if (notFriendsWith.__len__() == 0):
                template = jinja_environment.get_template('templates/dash.html')
                return template.render({'the_title': 'Dashboard',
                                        'errorMatch': 'You are friends with everyone or Your Request/s are Pending !',
                                        'playerTagHeader' : playerTagObject.GetPlayerTag(),
                                        'teams' : team,
                                        'friends': friends})
            else:
                raise cherrypy.HTTPRedirect("/friendRequest/", 302)     
                
        #If pending Request option selected    
        elif (page == 'pendingRequest'):
            requestPendingList =connection.GetRequestPendingFor(playerTagObject)

            if(requestPendingList.__len__() == 0):
                template = jinja_environment.get_template('templates/dash.html')
                return template.render({'the_title': 'Dashboard',
                                        'errorMatch': 'No Request Pending',
                                        'playerTagHeader' : playerTagObject.GetPlayerTag(),
                                        'teams' : team,
                                        'friends': friends})
            else:
                raise cherrypy.HTTPRedirect("/pendingRequest/", 302)
        
        #If Team set up is selected
        else:
            raise cherrypy.HTTPRedirect("/teams/", 302)
Пример #10
0
    def POST(self, password, confirmPassword, playerTag):
        template = jinja_environment.get_template('templates/register.html')
        try:
            connection = functions.Worker()  # get an instance of the class
        except:
            return template.render({
                'the_title':
                'Register',
                'errorOther': ("Unexpected error:", sys.exc_info()[1])
            })

        if (password != confirmPassword):  #Compare passwords
            return template.render({
                'the_title': 'Register',
                'errorPassword': '******',
                'errorCPassword': '******'
            })
        elif (password == None or str(password) == ""):
            return template.render({
                'the_title': 'Register',
                'errorPassword': '******'
            })
        elif (playerTag == None or str(playerTag) == ""):
            return template.render({
                'the_title': 'Register',
                'errorPlayerTag': 'Empty playerTag'
            })

        else:
            playerTagObject = model.PlayerTag()
            playerTagObject.SetPlayerTag(playerTag)
            playerTagObject.SetPassword(password)

            if (connection.FindPlayerTag(playerTagObject).count() >
                    0):  #Find the player tag
                return template.render({
                    'the_title':
                    'Register',
                    'errorOther':
                    "Player Tag already exists!"
                })
            else:
                connection.InsertPlayerTag(playerTagObject)
                raise cherrypy.HTTPRedirect("/", 302)
Пример #11
0
    def GET(self,playerName,currentTeam):
        try:
            connection = functions.Worker()
            currentTeamObject = Team()                                  
            currentTeamObject.SetTeamName(currentTeam)
            teamDB = connection.FindTeam(currentTeamObject)
            members = []
            for member in teamDB['Members']:
                if(members.__contains__(member)):continue
                else: members.append(member)

        except:
            template = jinja_environment.get_template('templates/manageateam.html')
            return template.render({'the_title': 'Manage A Team.',
                                    'playerTagHeader': playerName,
                                    'errorMatch': ("Unexpected error:", sys.exc_info()[1]),
                                    'team' : currentTeam,
                                    'members' : members})
                                       
        template = jinja_environment.get_template('templates/manageateam.html')
        return template.render({'the_title': 'Manage A Team.',
                                'playerTagHeader' : playerName,
                                'team' : currentTeam,
                                'members' : members})
Пример #12
0
    def POST(self, playerName, page, selectedTeam):
        try:
            connection = functions.Worker()
            playerTagObject = PlayerTag()
            playerTagObject.SetPlayerTag(playerName)

            team = connection.GetTeams(playerTagObject)

            selectedTeamObject = Team()
            selectedTeamObject.SetTeamName(selectedTeam)
        except:
            template = jinja_environment.get_template('templates/teams.html')
            return template.render({
                'playerTagHeader':
                playerTagObject.GetPlayerTag(),
                'the_title':
                'Team Menu',
                'teams':
                team,
                'errorMatch': ("Unexpected error:", sys.exc_info()[1])
            })

        #If friend request option selected
        if (page == 'createnewteam'):
            raise cherrypy.HTTPRedirect("/createnewteam/", 302)

        #If pending Request option selected
        elif (page == 'joinateam'):
            teamNames = connection.GetAllTeams()
            for item in team:
                if (teamNames.__contains__(item)):
                    teamNames.remove(item)

            if (teamNames.__len__() > 0):
                raise cherrypy.HTTPRedirect("/joinateam/", 302)
            else:
                template = jinja_environment.get_template(
                    'templates/teams.html')
                return template.render({
                    'the_title':
                    'Join A Team',
                    'errorMatch':
                    'No Teams Available!',
                    'teams':
                    team,
                    'playerTagHeader':
                    playerTagObject.GetPlayerTag(),
                })
        #If Team set up is selected
        else:
            teamDB = connection.FindTeam(selectedTeamObject)
            if (teamDB == ""):
                template = jinja_environment.get_template(
                    'templates/teams.html')
                return template.render({
                    'the_title':
                    'Manage A Team',
                    'errorMatch':
                    'No Teams Available!',
                    'teams':
                    team,
                    'playerTagHeader':
                    playerTagObject.GetPlayerTag(),
                })
            else:
                cherrypy.session['selectedTeam'] = selectedTeam
                raise cherrypy.HTTPRedirect("/manageateam/", 302)