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 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
def car(request, car_id=None, template="car/car.html", context={}):
    car_object = None
    car_form = None

    if car_id:
        car_object = get_object_or_404(Car, pk=car_id)

    car_form = CarForm(request.POST or None, instance=car_object)

    if request.method == 'POST':
        car_object = car_form.save()
        return redirect('/car')

    context['car_id'] = car_id
    context['car_object'] = car_object
    context['car_form'] = car_form

    return render(request, template, context)