Просмотр исходного кода

Удаление эскизов

Сделал возможность удалять эскизы
Denis V. Dedkov 10 лет назад
Родитель
Сommit
7ef7e2c353
3 измененных файлов с 14 добавлено и 1 удалено
  1. 5 0
      asuzr/tables.py
  2. 8 1
      asuzr/views.py
  3. 1 0
      record/urls.py

+ 5 - 0
asuzr/tables.py

@@ -107,6 +107,11 @@ class DesignerTable(tables.Table):
 class SketchesTable(tables.Table):
   sketch_file = tables.FileColumn(verbose_name = 'Имя файла')
   sketch_image = ThumbnailColumn('sketch_file', verbose_name = 'Эскиз', orderable = False)
+  delete_sketch = tables.Column(verbose_name = 'Удалить', orderable = False, empty_values = ())
+
+  def render_delete_sketch(self, record):
+    return mark_safe(u'<a href="%s?pk=%s">Удалить</a>' % 
+                           (reverse('asuzr.views.delete_sketch'), escape(record.id)))
 
   class Meta:
     attrs = {'class': 'paleblue'}

+ 8 - 1
asuzr/views.py

@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-from django.shortcuts import render
+from django.shortcuts import render, redirect, get_object_or_404
 from django.http import HttpResponse
 from django.template import RequestContext, Context, loader
 from asuzr.models import Product
@@ -197,6 +197,13 @@ def sketches(request, order_id):
   RequestConfig(request).configure(table)
   return render(request, 'asuzr/table.html', {'table': table, 'title': 'Эскизы заказа %s' % curr_order})
 
+def delete_sketch(request):
+  pk = request.GET.get('pk', -1)
+  sketch = get_object_or_404(Sketch, pk = pk)
+  order_id = sketch.order.pk
+  sketch.delete()
+  return redirect(sketches, order_id = order_id)
+
 @login_required 
 def orders(request, archive):
   is_archive = (archive == '1')

+ 1 - 0
record/urls.py

@@ -20,6 +20,7 @@ urlpatterns = patterns('',
     url(r'^desreport/$', 'asuzr.views.desreport'),
     url(r'^production_table/(?P<order_id>\d+)/$', 'asuzr.views.production_table'),
     url(r'^sketches/(?P<order_id>\d+)/$', 'asuzr.views.sketches'),
+    url(r'^sketches/delete/$', 'asuzr.views.delete_sketch'),
     url(r'^prodplan/$', 'asuzr.views.prod_plan_view'),
     url(r'^admin/', include(admin.site.urls)),
     url(r'^inplaceeditform/', include('inplaceeditform.urls')),