def create(request): """ Create a new trip """ form = TripForm(request.POST, auto_id="%s", prefix="TripForm") if form.is_valid(): form.save() if request.is_ajax(): template_format = "json" mimetype = "application/json" if form.errors: errors = simplejson.dumps(form.errors, cls=LazyEncoder, ensure_ascii=False) else: errors = None else: template_format = "html" mimetype = "text/html; charset=utf-8" errors = form.errors return render_to_response( "trips/create.%s" % template_format, {"errors": errors}, context_instance=RequestContext(request), mimetype=mimetype, )
def edit(request, tripid): context = RequestContext(request) user = request.user try: trip = Trip.objects.get(pk=tripid) if trip.owner != user: messages.error(request, _('You have not permission to edit foreign trip.')) return HttpResponseRedirect(reverse('trips:index')) if request.method == 'POST': trip_form = TripForm(data=request.POST, instance=trip) if trip_form.is_valid(): trip = trip_form.save(commit=False) if 'gpx_log' in request.FILES: trip.gpx_log = request.FILES['gpx_log'] try: trip.save() messages.success(request, _('Successfully edited trip ') + trip.title) #trip_form = TripForm(instance=trip) #for refreshing gpx log return HttpResponseRedirect(reverse('trips:view', args=(tripid,))) except ValidationError, e: messages.error(request, e.message) trip = Trip.objects.get(pk=tripid) else: messages.error(request, trip_form.errors) else:
def add_trip(request): # A HTTP POST? if request.method == 'POST': form = TripForm(request.POST) # Have we been provided with a valid form? if form.is_valid(): # Save the new category to the database. trip = form.save(commit=False) trip.user = request.user # The logged-in user trip.lat_lng = trip.country trip.save() # Now call the index() view. # The user will be shown the homepage. return my_trips(request) else: # The supplied form contained errors - just print them to the terminal. print(form.errors) else: # If the request was not a POST, display the form to enter details. form = TripForm() # Bad form (or form details), no form supplied... # Render the form with error messages (if any). return render(request, 'trips/add_trip.html', {'form': form})
def create(request): context = RequestContext(request) if request.method == 'POST': trip_form = TripForm(data=request.POST) if trip_form.is_valid(): trip = trip_form.save(commit=False) user = request.user trip.owner = user if 'gpx_log' in request.FILES: trip.gpx_log = request.FILES['gpx_log'] try: trip.save() messages.success(request, _('Successfully created trip ') + trip.title) return HttpResponseRedirect(reverse('trips:index')) except ValidationError, e: messages.error(request, e.message) else: messages.error(request, trip_form.errors)