Beispiel #1
0
def get_tournaments1():
    projectID = request.vars.project_id or None
    showDetails = False if (request.vars.show_details == "false") else True
    from Project import Project
    projectObj = Project(db)

    if not showDetails:
        results = db(db.projects.owner == session.organization).count()
        return api_response(project=results)

    else:
        # Retrieve the list of projects belonging to the organization
        if projectID:
            project = projectObj.get_project(projectID)
            if project:
                appKey = project.get("default_app_key") or None
                if not appKey:
                    appKey = projectObj.get_app_key_from_project(projectID)

                if appKey:
                    from Application import Application
                    application = Application(db)
                    appSettings = application.get_application(appKey)
                    projectAppSettings = {}
                    projectAppSettings['nickname'] = appSettings['nickname']
                    projectAppSettings['domain'] = appSettings['domain']
                    projectAppSettings['touUrl'] = appSettings['touUrl']
                    projectAppSettings['privacyUrl'] = appSettings[
                        'privacyUrl']
                    projectAppSettings['facebookAppID'] = appSettings[
                        'facebookAppID']
                    projectAppSettings['googleAnalyticsCode'] = appSettings[
                        'googleAnalyticsCode']
                    projectAppSettings['headerImageUrl'] = appSettings[
                        'headerImageUrl']
                    projectAppSettings['iconImageUrl'] = appSettings[
                        'iconImageUrl']

                    project.update(projectAppSettings)

                return api_response(project=project)
            else:
                return api_error('Input03', "Nope")

        else:
            projects = projectObj.get_projects_by_owner(session.organization)

            if projects:
                from TMLocation import Event
                eventObj = Event(db)
                from Poll import Poll
                pollObj = Poll(db)
                for project in projects:
                    project['thumbnails'] = []
                    for activity in project['activities']:
                        if activity['coverImageUrl']:
                            if len(project['thumbnails']) < 9:
                                alreadyExists = False
                                for image in project['thumbnails']:
                                    if image == activity['coverImageUrl']:
                                        alreadyExists = True

                                if not alreadyExists:
                                    project['thumbnails'].append(
                                        activity['coverImageUrl'])

                    project['events'] = eventObj.get_events_by_project(
                        project['projectID'], "all")
                    project['contests'] = pollObj.get_polls(
                        projectID=project['projectID'], details=False)

                return api_response(projects=projects)
            else:
                return api_response(projects=None)