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
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))
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))