def add_shirt(request, shirt_id=None): if shirt_id: shirt = get_object_or_404(Shirt, pk=shirt_id) if not (request.user.is_superuser or shirt.uploaded_by == request.user): messages.error(request, 'Yeah whatevah dude, nice try.') redirect('view_shirt', shirt.id) else: shirt = Shirt(uploaded_by=request.user) shot = ShirtShot(shirt=shirt, uploaded_by=request.user) shot_form = ShotForm(request.POST or None, request.FILES or None, instance=shot) shirt_form = ShirtForm(request.POST or None, instance=shirt) if ((shirt_form.is_valid() and not shirt_id and shot_form.is_valid()) or (shirt_form.is_valid() and shirt_id)): shirt_form.save() message = 'Yeah, shirt edited!' if not shirt_id: shot_form.instance.shirt = shirt_form.instance shot_form.save() message = 'Yeah, shirt added!' messages.success(request, message) else: import pdb pdb.set_trace() messages.error(request, 'Arrrrgh something went wrong, try again') return redirect('view_shirt', shirt.id)
def add_shot(request, shirt_id): shirt = get_object_or_404(Shirt, pk=shirt_id) shot = ShirtShot(shirt=shirt, uploaded_by=request.user) shot_form = ShotForm(request.POST or None, request.FILES or None, instance=shot) if shot_form.is_valid(): messages.success(request, 'Yeah, shot added!') shot_form.save() else: messages.error(request, 'Arrrrgh something went wrong, try again.') return redirect('view_shirt', shirt_id)
def shirt_form(request): """ A context processor that adds a BrowserID form to the request """ shirt_form = ShirtForm(initial={'created_by': '', 'introduced': ''}) shot_form = ShotForm() return {'shirt_form_new': shirt_form, 'shot_form_new': shot_form}
def home(request, query=None, tag=None): shirt_form = ShirtForm() shot_form = ShotForm() shirts = query or Shirt.objects.all() return render(request, 'index.html', { 'shirts': shirts, 'shot_form': shot_form, 'tag': tag })
def view_shirt(request, shirt_id): shirt = get_object_or_404(Shirt, pk=shirt_id) cover = shirt.shots.all()[0] owned = shirt.owned_by.filter(pk=request.user.id).exists() shirt_form = ShirtForm(instance=shirt) shot_form = ShotForm() can_edit = (request.user.is_superuser or request.user == shirt.uploaded_by) return render( request, 'shirt.html', { 'shirt': shirt, 'cover': cover, 'owned': owned, 'can_edit': can_edit, 'shot_form': shot_form, 'shirt_form': shirt_form })