diff --git a/apps/sources/__init__.py b/apps/sources/__init__.py index 84f7bf307e..952addc609 100644 --- a/apps/sources/__init__.py +++ b/apps/sources/__init__.py @@ -10,27 +10,28 @@ from sources.models import WebForm, StagingFolder, SourceTransformation staging_file_preview = {'text': _(u'preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'zoom'} staging_file_delete = {'text': _(u'delete'), 'view': 'staging_file_delete', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'delete', 'keep_query': True} -setup_web_form_list = {'text': _(u'web forms'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'children_url_regex': [r'sources/setup/interactive/webforms'], 'children_classes': [WebForm]} +setup_web_form_list = {'text': _(u'web forms'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'children_classes': [WebForm]} setup_web_form_edit = {'text': _(u'edit'), 'view': 'setup_web_form_edit', 'args': 'source.pk', 'famfam': 'application_form_edit'} setup_web_form_delete = {'text': _(u'delete'), 'view': 'setup_web_form_delete', 'args': 'source.pk', 'famfam': 'application_form_delete'} setup_web_form_create = {'text': _(u'add new'), 'view': 'setup_web_form_create', 'famfam': 'application_form_add'} setup_web_form_transformation_list = {'text': _(u'transformations'), 'view': 'setup_web_form_transformation_list', 'args': 'source.pk', 'famfam': 'shape_move_front'} -setup_staging_folder_list = {'text': _(u'staging folders'), 'view': 'setup_staging_folder_list', 'famfam': 'folder_magnify', 'children_classes': [StagingFolder], 'children_url_regex': [r'sources/setup/interactive/staging_folder']}, +setup_staging_folder_list = {'text': _(u'staging folders'), 'view': 'setup_staging_folder_list', 'famfam': 'folder_magnify', 'children_classes': [StagingFolder]} setup_staging_folder_edit = {'text': _(u'edit'), 'view': 'setup_staging_folder_edit', 'args': 'source.pk', 'famfam': 'folder_edit'} setup_staging_folder_delete = {'text': _(u'delete'), 'view': 'setup_staging_folder_delete', 'args': 'source.pk', 'famfam': 'folder_delete'} setup_staging_folder_create = {'text': _(u'add new'), 'view': 'setup_staging_folder_create', 'famfam': 'folder_add'} setup_staging_folder_transformation_list = {'text': _(u'transformations'), 'view': 'setup_staging_folder_transformation_list', 'args': 'source.pk', 'famfam': 'shape_move_front'} -setup_source_transformation_edit = {'text': _(u'edit'), 'view': 'setup_source_transformation_edit', 'args': 'transformation.pk', 'famfam': 'shape_square_edit'}#, 'children_url_regex': [r'sources/setup/interactive/staging_folder']} +setup_source_transformation_edit = {'text': _(u'edit'), 'view': 'setup_source_transformation_edit', 'args': 'transformation.pk', 'famfam': 'shape_square_edit'} +setup_source_transformation_delete = {'text': _(u'delete'), 'view': 'setup_source_transformation_delete', 'args': 'transformation.pk', 'famfam': 'shape_square_delete'} source_list = {'text': _(u'Document sources'), 'view': 'setup_web_form_list', 'famfam': 'page_add', 'children_url_regex': [r'sources/setup']} register_links(StagingFile, [staging_file_preview, staging_file_delete]) -register_links(SourceTransformation, [setup_source_transformation_edit]) +register_links(SourceTransformation, [setup_source_transformation_edit, setup_source_transformation_delete]) register_links(['setup_web_form_list', 'setup_web_form_create', 'setup_staging_folder_list', 'setup_staging_folder_create'], [setup_web_form_list, setup_staging_folder_list], menu_name='form_header') @@ -42,4 +43,4 @@ register_links(StagingFolder, [setup_web_form_list, setup_staging_folder_list], register_links(StagingFolder, [setup_staging_folder_transformation_list, setup_staging_folder_edit, setup_staging_folder_delete]) register_links(['setup_staging_folder_list', 'setup_staging_folder_edit', 'setup_staging_folder_delete', 'setup_staging_folder_create'], [setup_staging_folder_create], menu_name='sidebar') -source_views = ['setup_web_form_list', 'setup_web_form_edit', 'setup_web_form_delete', 'setup_web_form_create', 'setup_staging_folder_list', 'setup_staging_folder_edit', 'setup_staging_folder_delete', 'setup_staging_folder_create', 'setup_web_form_transformation_list'] +source_views = ['setup_web_form_list', 'setup_web_form_edit', 'setup_web_form_delete', 'setup_web_form_create', 'setup_staging_folder_list', 'setup_staging_folder_edit', 'setup_staging_folder_delete', 'setup_staging_folder_create', 'setup_web_form_transformation_list', 'setup_staging_folder_transformation_list', 'setup_source_transformation_edit', 'setup_source_transformation_delete'] diff --git a/apps/sources/urls.py b/apps/sources/urls.py index a21b1c4ad9..664739b005 100644 --- a/apps/sources/urls.py +++ b/apps/sources/urls.py @@ -24,4 +24,5 @@ urlpatterns = patterns('sources.views', url(r'^setup/interactive/staging_folder/(?P\w+)/transformation/list/$', 'setup_source_transformation_list', {'source_type': SOURCE_CHOICE_STAGING}, 'setup_staging_folder_transformation_list'), url(r'^setup/interactive/source/transformation/(?P\w+)/edit/$', 'setup_source_transformation_edit', (), 'setup_source_transformation_edit'), + url(r'^setup/interactive/source/transformation/(?P\w+)/delete/$', 'setup_source_transformation_delete', (), 'setup_source_transformation_delete'), ) diff --git a/apps/sources/views.py b/apps/sources/views.py index 114e29d9a5..5a10c50438 100644 --- a/apps/sources/views.py +++ b/apps/sources/views.py @@ -531,6 +531,43 @@ def setup_source_transformation_edit(request, transformation_id): 'next': next, }, context_instance=RequestContext(request)) + + +def setup_source_transformation_delete(request, transformation_id): + #check_permissions(request.user, [PERMISSION_DOCUMENT_TRANSFORM]) + + source_transformation = get_object_or_404(SourceTransformation, pk=transformation_id) + next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/'))) + + if request.method == 'POST': + try: + source_transformation.delete() + messages.success(request, _(u'Transformation deleted successfully.')) + except Exception, e: + messages.error(request, _(u'Error deleting transformation; %(error)s') % { + 'error': e} + ) + return HttpResponseRedirect(next) + + return render_to_response('generic_confirm.html', { + 'delete_view': True, + 'transformation': source_transformation, + #'object_name': _(u'document transformation'), + 'source': source_transformation.content_object, + 'navigation_object_list': [ + {'object': 'source', 'name': _(u'source')}, + {'object': 'transformation', 'name': _(u'transformation')} + ], + 'title': _(u'Are you sure you wish to delete transformation "%(transformation)s"') % { + 'transformation': source_transformation.get_transformation_display(), + #'document_page': document_page_transformation.document_page + }, + 'next': next, + 'previous': next, + 'form_icon': u'shape_square_delete.png', + }, + context_instance=RequestContext(request)) + ''' def document_page_transformation_create(request, document_page_id): check_permissions(request.user, [PERMISSION_DOCUMENT_TRANSFORM]) @@ -557,25 +594,4 @@ def document_page_transformation_create(request, document_page_id): -def document_page_transformation_delete(request, document_page_transformation_id): - check_permissions(request.user, [PERMISSION_DOCUMENT_TRANSFORM]) - - previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None))) - - document_page_transformation = get_object_or_404(DocumentPageTransformation, pk=document_page_transformation_id) - - return delete_object(request, model=DocumentPageTransformation, object_id=document_page_transformation_id, - template_name='generic_confirm.html', - post_delete_redirect=reverse('document_page_view', args=[document_page_transformation.document_page_id]), - extra_context={ - 'delete_view': True, - 'object': document_page_transformation, - 'object_name': _(u'document transformation'), - 'title': _(u'Are you sure you wish to delete transformation "%(transformation)s" for: %(document_page)s') % { - 'transformation': document_page_transformation.get_transformation_display(), - 'document_page': document_page_transformation.document_page}, - 'previous': previous, - 'web_theme_hide_menus': True, - 'form_icon': u'pencil_delete.png', - }) ''' diff --git a/site_media/images/icons/shape_square_delete.png b/site_media/images/icons/shape_square_delete.png new file mode 100644 index 0000000000..5d1a30aa30 Binary files /dev/null and b/site_media/images/icons/shape_square_delete.png differ