Example #1
0
def _new_activity_report( request, challenge, reports, top_reporters ):
    # first get list of existing reporters for dropdown
    form = ActivityReportForm( request.POST )
    if( form.is_valid() ):
        name = form.cleaned_data['reporter_new_name'] or form.cleaned_data['reporter_existing_name']
        query =  Reporter.all()
        query.filter('name =', name )
        results = query.fetch(1)
        if( len( results ) ):
            reporter = results[0]
        else:
            reporter = Reporter( name = name )
            reporter.put( )
        report = Report( reporter = reporter, challenge = challenge,
                         reported_date = _makeDate( form.cleaned_data['reported_date'] ),
                         flights_up = form.cleaned_data['flights_up'],
                         flights_down = form.cleaned_data['flights_down'] )
        report.put()
        return HttpResponseRedirect(reverse('challenge.views.show_challenge', kwargs={'id':str(challenge.key().id() ) }) )
    else:
        return object_list(request, reports, paginate_by=15, extra_context=locals(), template_name='challenge/activity_report.html' )
Example #2
0
 def __init__(self, *args, **kwargs):
     super(ActivityReportForm, self).__init__(*args, **kwargs)
     self.fields['reporter_existing_name'].choices = [
         ('', "--------" ) ] + [
         ( reporter.name, reporter.name ) for reporter in Reporter.all()
         ]