def post(self, request, id=None, format=None): form = CarForm(request.DATA, user=request.user) if form.is_valid(): obj = form.save(commit=False) obj.created_by = request.user # p is the flag for publish if request.DATA.get("status") == "P": obj.status = obj.STATUS_PENDING obj.save() if obj.status == obj.STATUS_PENDING: # when post is published obj.primary_image = Image.objects.get(id=request.DATA["primary_image"]) obj.save() self._update_images(request, obj) self._send_notification(obj) messages.info(request, _("Your car has been successfully submitted and is currently pending approval.")) return Response({"redirect": reverse("vehicle-index")}) response = {"id": obj.id} return Response(response, mimetype="application/json", status=status.HTTP_201_CREATED) else: return Response({"errors": form.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def addCar(request, eventid): event = EventModel.getEvent(eventid) user = request.user if memberCheck(request.user, event) == False: return render(request, 'invite/notMember.html') if request.method == 'GET': carform = CarForm() context = {'menu' : getMenuInfo(request), 'title' : "Add Car", 'carform' : carform, 'event' : event, 'user' : request.user} return render(request, 'ride_share/add_car_form.html', context) if request.method == 'POST': #instance = Car.objects.filter(event = event, user = user) #if instance.count() == 0: # carform = CarForm(request.POST) #else: # carform = CarForm(request.POST, instance = instance[0]) carform=CarForm(request.POST) if carform.is_valid(): #form = carform.save(commit=False) #form.user = request.user #form.event = event #form.save() person=Person(personid=user,status='DR',event=event) person.save() car=Car(event=event, driver=person, seats=request.POST['seats'], open_seats=request.POST['seats']) car.event=event car.driver =person car.seats = request.POST['seats'] car.open_seats=car.seats car.save() return HttpResponseRedirect(reverse('events:tools:rideshare:carDetails', kwargs={'eventid':eventid,'carid':car.carid}))
def new(request): form = None try: if request.method == 'POST': if request.POST.get('id'): #edit operations pass form = CarForm(request.POST, user=request.user) if form.is_valid(): obj = form.save(commit=False) obj.created_by = request.user obj.save() # save record and redirect return redirect('/') else: # edit mode for draft form = CarForm(instance=Car.objects.get(status=Car.STATUS_DRAFT, created_by=request.user), user=request.user) model_lookup_form = ModelLookUpForm() model_lookup_i18n_form = ModelLookUpI18nForm() return render_to_response( 'vehicle/new.html', { 'model_lookup_form': model_lookup_form, 'model_lookup_i18n_form': model_lookup_i18n_form, 'form': form, }, RequestContext(request) ) except (Car.DoesNotExist, Car.MultipleObjectsReturned) as e: # new form (no drafts found) model_lookup_form = ModelLookUpForm() model_lookup_i18n_form = ModelLookUpI18nForm() form = CarForm(user=request.user) return render_to_response( 'vehicle/new.html', { 'model_lookup_form': model_lookup_form, 'model_lookup_i18n_form': model_lookup_i18n_form, 'form': form, }, RequestContext(request) ) except Exception as e: logging.error(str(e)) raise Http404 finally: pass