Beispiel #1
0
    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)
Beispiel #2
0
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}))
Beispiel #3
0
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