diff --git a/asuzr/tables.py b/asuzr/tables.py index 30a29e4..f1dd9f4 100644 --- a/asuzr/tables.py +++ b/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'Удалить' % + (reverse('asuzr.views.delete_sketch'), escape(record.id))) class Meta: attrs = {'class': 'paleblue'} diff --git a/asuzr/views.py b/asuzr/views.py index 1902bfa..881a92c 100644 --- a/asuzr/views.py +++ b/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') diff --git a/record/urls.py b/record/urls.py index ca3f3ee..390c34f 100644 --- a/record/urls.py +++ b/record/urls.py @@ -20,6 +20,7 @@ urlpatterns = patterns('', url(r'^desreport/$', 'asuzr.views.desreport'), url(r'^production_table/(?P\d+)/$', 'asuzr.views.production_table'), url(r'^sketches/(?P\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')),