コード例 #1
0
def event_subscribe(request, happening_id):
    #check_registrations_open()

    if request.method == "POST":
        if not request.session.get('valid'):
            rv = API_ERROR_response(u'non hai effettuato il login')
        else:
            chief = ScoutChief.objects.get(code=request.session['chief_code'])
            if chief.is_spalla:
                rv = API_ERROR_response(
                    u"Sei un capo spalla, come sei arrivato fin qui? Prego contattare %s" % settings.SUPPORT_EMAIL
                )
            else:
                eh = get_object_or_404(EventHappening, pk=happening_id)
                # check scout_chief age
                if eh.event.min_age > chief.age:
                    rv = API_ERROR_response(
                        u"Non puoi iscriverti a questo evento perchè devi avere almeno % anni" % eh.event.min_age
                    )
                # check district
                if eh.event.district != chief.quartier and eh.event.kind == 'LAB':
                    rv = API_ERROR_response(
                        u"Non puoi iscriverti ad un evento diverso dal tuo quartiere"
                    )
                else:
                    subscription = ScoutChiefSubscription(scout_chief=chief, event_happening=eh)
                    try:
                        subscription.save()
                    except ValidationError as e:
                        rv = API_ERROR_response(unicode(e))
                    rv = API_response()
    else:
        raise PermissionDenied

    return rv
コード例 #2
0
def event_subscribe(request, happening_id, chief_code):
    if not request.session.get("valid"):
        return API_ERROR_response(u"Non hai effettuato il login")
    chief = get_object_or_404(ScoutChief, code=chief_code)
    if not chief.is_spalla:
        return API_ERROR_response(u"Selezionare un capo spalla")
    eh = get_object_or_404(EventHappening, pk=happening_id)
    subscription = ScoutChiefSubscription(scout_chief=chief, event_happening=eh)
    try:
        subscription.save()
        return API_response()
    except ValidationError as e:
        return API_ERROR_response(unicode(e))
コード例 #3
0
def event_subscribe(request, happening_id, chief_code):
    if not request.session.get('valid'):
        return API_ERROR_response(u'Non hai effettuato il login')
    chief = get_object_or_404(ScoutChief, code=chief_code)
    if not chief.is_spalla:
        return API_ERROR_response(u'Selezionare un capo spalla')
    eh = get_object_or_404(EventHappening, pk=happening_id)
    subscription = ScoutChiefSubscription(scout_chief=chief,
                                          event_happening=eh)
    try:
        subscription.save()
        return API_response()
    except ValidationError as e:
        return API_ERROR_response(unicode(e))