Example #1
0
def competition(id=None, p=None, limit=None, admin=None, **kwargs):
    db = DB_Session()
    query = db.query(Competition)
    if web.ctx.method in ("POST", "PUT", "PATCH"):
        i = json.loads(web.data())
        if web.ctx.method in ("PUT", "PATCH"):
            competition = query.get(int(id))
            for name, value in i.items():
                setattr(competition, name, value)
        else:
            competition = Competition(**i)
            db.add(competition)
            db.flush()
            db.refresh(competition)
        db.commit()
        n = ResultWrapper(competition, competition=competition.to_api())
    else:
        if id:
            competition = query.get(int(id))
            competition = competition.to_api()
            n = ResultWrapper(competition, competition=competition)
        else:
            if kwargs.has_key("nation"):
                nation = kwargs["nation"]
                competition = query.filter(Competition.nation_id == int(nation))
            competition = paging(competition, limit, p)
            n = ResultWrapper(competition, competition=[v.to_api() for v in competition], count=query.count())
    db.close()
    return n
Example #2
0
def new_competition(request):
    event = None
    if request.method == 'POST':
        form = NewEventForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            competition = Competition(name=name)
            competition.save()

            msg = "New competition {0} has been created!".format(name)
            messages.success(request, msg)

            return redirect('soccer.views.competition', str(competition.id))
    else:
        form = NewEventForm()
        c = {}
        c.update(csrf(request))
        c['form'] = form
        return c