pflaenz.li/pflaenzli/views.py

63 lines
1.6 KiB
Python
Raw Normal View History

2023-02-19 23:56:05 +01:00
import os
import pathlib
import uuid
from django.core.files.storage import default_storage
from django.shortcuts import render, get_object_or_404, redirect
from django.utils import timezone
from django.contrib import messages
from django.contrib.auth.decorators import login_required
2023-02-19 12:29:08 +01:00
2023-02-19 23:56:05 +01:00
from .forms import CreateOfferForm
from .models import Offer, Wish
def index(request):
return render(request, "app/index.html")
@login_required
def create_offer(request):
if request.method == "POST":
print(request.POST)
form = CreateOfferForm(request.POST, request.FILES)
if form.is_valid():
offer = form.save(commit=False)
offer.image.name = generate_unique_filename(request.FILES['image'].name)
offer.user = request.user
offer.save()
messages.success(request, "Offer uploaded successfully!")
return redirect("offer_detail", offer.id)
else:
form = CreateOfferForm()
return render(request, "basic_form.html", {"form": form, "button_label": "Create"})
@login_required
def offer_detail(request, offer_id):
offer = get_object_or_404(Offer, id=offer_id)
return render(request, "offer/detail.html", {"offer": offer, "wishes": ["Monstera", "Tradescantia"]})
def generate_unique_filename(filename):
file_type = pathlib.Path(filename).suffix
new_filename = default_storage.get_available_name(uuid.uuid4())
return f'{new_filename}{file_type}'
@login_required
def offer_delete(request, offer_id):
return 0
@login_required
def offer_edit(request, offer_id):
return 0
@login_required
def offer_trade(request, offer_id):
return 0