Esempio n. 1
0
def edit(request, adId):
  # find the ad, if available
  ad = get_object_or_404(Ad, pk=adId, active=True)
  
  # make sure that only the owner of the ad can edit it
  if request.user != ad.user:
    return HttpResponseRedirect('%s?%s=%s' % (django_settings.LOGIN_URL, REDIRECT_FIELD_NAME, urlquote(request.get_full_path())))

  image_count = ad.category.images_max_count
  ImageUploadFormSet = inlineformset_factory(Ad, AdImage, extra=image_count, max_num=image_count, fields=('full_photo',))
  # enforce max width & height on images
  ImageUploadFormSet.clean = clean_adimageformset
  
  if request.method == 'POST':
    imagesformset = ImageUploadFormSet(request.POST, request.FILES, instance=ad)
    form = AdForm(ad, request.POST)
    if form.is_valid() and imagesformset.is_valid():
      form.save()
      imagesformset.save()
      for image in ad.adimage_set.all():
        image.resize()
        image.generate_thumbnail()
      return HttpResponseRedirect(reverse('classifieds.views.mine'))
  else:
    imagesformset = ImageUploadFormSet(request.POST, request.FILES, instance=ad)
    form = AdForm(ad)
  
  return render_category_page(request, ad.category, 'edit.html',
                              {'form': form, 
                               'imagesformset': imagesformset, 
                               'ad': ad})
Esempio n. 2
0
def edit(request, adId):
  # get the specified ad, only if it's not active and this user owns it.
  ad = get_object_or_404(Ad, pk=adId, active=False, user=request.user)
  
  image_count = ad.category.images_max_count
  ImageUploadFormSet = inlineformset_factory(Ad, AdImage, extra=image_count, max_num=image_count, fields=('full_photo',))
  # enforce max width & height on images
  ImageUploadFormSet.clean = clean_adimageformset
  
  if request.method == 'POST':
    imagesformset = ImageUploadFormSet(request.POST, request.FILES, instance=ad)
    form = AdForm(ad, request.POST)
    if form.is_valid():# and imagesformset.is_valid():
      ad = form.save()
      if imagesformset.is_valid():
        imagesformset.save()
        for image in ad.adimage_set.all():
          image.resize()
          image.generate_thumbnail()
        
        return HttpResponseRedirect(reverse('classifieds.views.create.preview', args=[ad.pk]))
  else:
    imagesformset = ImageUploadFormSet(instance=ad)
    form = AdForm(ad)
  
  return render_category_page(request, ad.category, 'edit.html',
                              {'form': form, 
                               'imagesformset': imagesformset, 
                               'ad': ad, 
                               'create': True})
Esempio n. 3
0
def view(request, adId):
  # find the ad, if available
  ad = get_object_or_404(Ad, pk=adId, active=True)
  
  if ad.expires_on < datetime.datetime.now() and ad.user != request.user:
    raise Http404
  
  return render_category_page(request, ad.category, 'view.html', {'ad': ad})
Esempio n. 4
0
def preview(request, pk):
    ad = get_object_or_404(Ad, pk=pk, user=request.user)

    if ad.active:
        return redirect('classifieds_browse_ad_view', pk=pk)

    return render_category_page(request, ad.category, 'preview.html',
                                {'ad': ad, 'create': True})
Esempio n. 5
0
def view(request, pk):
    # find the ad, if available
    ad = get_object_or_404(Ad, pk=pk, active=True)

    # only show an expired ad if this user owns it
    if ad.expires_on < datetime.datetime.now() and ad.user != request.user:
        raise Http404

    return render_category_page(request, ad.category, 'view.html', {'ad': ad})
Esempio n. 6
0
def view(request, pk):
    # find the ad, if available
    ad = get_object_or_404(Ad, pk=pk, active=True)

    # only show an expired ad if this user owns it
    if ad.expires_on < datetime.datetime.now() and ad.user != request.user:
        raise Http404

    return render_category_page(request, ad.category, 'view.html', {'ad': ad})
Esempio n. 7
0
def preview(request, pk):
    ad = get_object_or_404(Ad, pk=pk, user=request.user)

    if ad.active:
        return redirect('classifieds_browse_ad_view', pk=pk)

    return render_category_page(request, ad.category, 'preview.html', {
        'ad': ad,
        'create': True
    })
Esempio n. 8
0
 def render_to_response(self, context, **response_kwargs):
     category = self.get_category()
     return render_category_page(self.request, category,
                                 self.page, context)
Esempio n. 9
0
def preview(request, adId):
  ad = get_object_or_404(Ad, pk=adId, active=False, user=request.user)
  
  return render_category_page(request, ad.category, 'preview.html',
                              {'ad': ad, 'create': True})
Esempio n. 10
0
 def render_to_response(self, context, **response_kwargs):
     category = self.get_category()
     return render_category_page(self.request, category, self.page, context)