def picture_add(request): context = {} if request.GET.get('event'): event = get_object_or_404(Event, id=request.GET.get('event')) result = can_edit_event(event, request.user, default='manage:picturegallery') if isinstance(result, http.HttpResponse): return result context['event'] = event if request.method == 'POST': if request.POST.get('remove'): # this is for when you change your mind size = request.POST['size'] filename = request.POST['name'] notes = filename_to_notes(filename) matches = Picture.objects.filter(notes=notes, size=int(size), modified_user=request.user) for picture in matches.order_by('-created')[:1]: picture.delete() return True return False form = forms.PictureForm(request.POST, request.FILES) if form.is_valid(): picture = form.save(commit=False) picture.modified_user = request.user picture.save() return redirect('manage:picturegallery') else: form = forms.PictureForm() context['form'] = form return render(request, 'manage/picture_add.html', context)
def picture_add(request): context = {} if request.GET.get('event'): event = get_object_or_404(Event, id=request.GET.get('event')) result = can_edit_event( event, request.user, default='manage:picturegallery' ) if isinstance(result, http.HttpResponse): return result context['event'] = event if request.method == 'POST': if request.POST.get('remove'): # this is for when you change your mind size = request.POST['size'] filename = request.POST['name'] notes = filename_to_notes(filename) matches = Picture.objects.filter( notes=notes, size=int(size), modified_user=request.user ) for picture in matches.order_by('-created')[:1]: picture.delete() return True return False form = forms.PictureForm(request.POST, request.FILES) if form.is_valid(): picture = form.save(commit=False) picture.modified_user = request.user picture.is_active = True picture.save() return redirect('manage:picturegallery') else: form = forms.PictureForm() context['form'] = form return render(request, 'manage/picture_add.html', context)
def update_size(sender, instance, *args, **kwargs): instance.size = instance.file.size if not instance.notes: instance.notes = filename_to_notes(instance.file.name)