Improved document sources transacion views

This commit is contained in:
Roberto Rosario
2011-07-09 04:32:16 -04:00
parent ee46653578
commit 3ff461a2d3
4 changed files with 65 additions and 32 deletions

View File

@@ -5,33 +5,41 @@ from navigation.api import register_links, \
register_sidebar_template
from sources.staging import StagingFile
from sources.models import WebForm, StagingFolder
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']}
setup_web_form_edit = {'text': _(u'edit'), 'view': 'setup_web_form_edit', 'args': 'object.pk', 'famfam': 'application_form_edit'}
setup_web_form_delete = {'text': _(u'delete'), 'view': 'setup_web_form_delete', 'args': 'object.pk', 'famfam': 'application_form_delete'}
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_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_staging_folder_list = {'text': _(u'staging folders'), 'view': 'setup_staging_folder_list', 'famfam': 'folder_magnify', 'children_url_regex': [r'sources/setup/interactive/staging_folder']}
setup_staging_folder_edit = {'text': _(u'edit'), 'view': 'setup_staging_folder_edit', 'args': 'object.pk', 'famfam': 'folder_edit'}
setup_staging_folder_delete = {'text': _(u'delete'), 'view': 'setup_staging_folder_delete', 'args': 'object.pk', 'famfam': 'folder_delete'}
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_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']}
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(['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')
register_links(WebForm, [setup_web_form_list, setup_staging_folder_list], menu_name='form_header')
register_links(WebForm, [setup_web_form_edit, setup_web_form_delete])
register_links(WebForm, [setup_web_form_transformation_list, setup_web_form_edit, setup_web_form_delete])
register_links(['setup_web_form_list', 'setup_web_form_edit', 'setup_web_form_delete', 'setup_web_form_create'], [setup_web_form_create], menu_name='sidebar')
register_links(StagingFolder, [setup_web_form_list, setup_staging_folder_list], menu_name='form_header')
register_links(StagingFolder, [setup_staging_folder_edit, setup_staging_folder_delete])
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']
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']

View File

@@ -91,6 +91,7 @@ class SourceTransformationForm(forms.ModelForm):
class Meta:
model = SourceTransformation
#def __init__(self, *args, **kwargs):
# super(SourceTransformationForm, self).__init__(*args, **kwargs)
# self.fields['document_page'].widget = forms.HiddenInput()
def __init__(self, *args, **kwargs):
super(SourceTransformationForm, self).__init__(*args, **kwargs)
self.fields['content_type'].widget = forms.HiddenInput()
self.fields['object_id'].widget = forms.HiddenInput()

View File

@@ -21,5 +21,7 @@ urlpatterns = patterns('sources.views',
url(r'^setup/interactive/staging_folder/(?P<source_id>\w+)/edit/$', 'setup_source_edit', {'source_type': SOURCE_CHOICE_STAGING}, 'setup_staging_folder_edit'),
url(r'^setup/interactive/staging_folder/(?P<source_id>\w+)/delete/$', 'setup_source_delete', {'source_type': SOURCE_CHOICE_STAGING}, 'setup_staging_folder_delete'),
url(r'^setup/interactive/staging_folder/create/$', 'setup_source_create', {'source_type': SOURCE_CHOICE_STAGING}, 'setup_staging_folder_create'),
url(r'^setup/interactive/staging_folder/(?P<source_id>\w+)/transformation/list/$', 'setup_source_transformation_list', {'source_type': SOURCE_CHOICE_STAGING}, 'setup_staging_folder_transformation_list'),
url(r'^setup/interactive/source/transformation/(?P<transformation_id>\w+)/edit/$', 'setup_source_transformation_edit', (), 'setup_source_transformation_edit'),
)

View File

@@ -348,6 +348,7 @@ def setup_source_list(request, source_type):
'object_list': cls.objects.all(),
'title': title,
'hide_link': True,
'list_object_variable_name': 'source'
}
return render_to_response('generic_list.html', context,
@@ -384,7 +385,8 @@ def setup_source_edit(request, source_type, source_id):
return render_to_response('generic_form.html', {
'title': title % source,
'form': form,
'object': source,
'source': source,
'navigation_object_name': 'source',
'next': next,
'object_name': _(u'source'),
},
@@ -419,8 +421,9 @@ def setup_source_delete(request, source_type, source_id):
context = {
'title': title % source,
'object': source,
'source': source,
'object_name': _(u'source'),
'navigation_object_name': 'source',
'delete_view': True,
'previous': reverse(redirect_view),
'form_icon': form_icon,
@@ -478,8 +481,11 @@ def setup_source_transformation_list(request, source_type, source_id):
context = {
'object_list': SourceTransformation.objects.get_for_object(source),
'title': _(u'default transformations for: %s') % source,
'object': source,
'title': _(u'transformations for: %s') % source,
'source': source,
'object_name': _(u'source'),
'navigation_object_name': 'source',
'list_object_variable_name': 'transformation',
'extra_columns': [
{'name': _(u'order'), 'attribute': 'order'},
{'name': _(u'transformation'), 'attribute': lambda x: x.get_transformation_display()},
@@ -493,22 +499,38 @@ def setup_source_transformation_list(request, source_type, source_id):
context_instance=RequestContext(request))
def setup_source_transformation_edit(request, source_transformation_id):
#check_permissions(request.user, [PERMISSION_DOCUMENT_TRANSFORM])
def setup_source_transformation_edit(request, transformation_id):
#check_permissions(request.user, [PERMISSION_SOURCES_SETUP_EDIT])
source_transformation = get_object_or_404(SourceTransformation, pk=source_transformation_id)
return update_object(request, template_name='generic_form.html',
form_class=DocumentPageTransformationForm,
object_id=document_page_transformation_id,
post_save_redirect=reverse('document_page_view', args=[document_page_transformation.document_page_id]),
extra_context={
'object_name': _(u'transformation'),
'title': _(u'Edit transformation "%(transformation)s" for: %(document_page)s') % {
'transformation': document_page_transformation.get_transformation_display(),
'document_page': document_page_transformation.document_page},
'web_theme_hide_menus': True,
}
)
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':
form = SourceTransformationForm(instance=source_transformation, data=request.POST)
if form.is_valid():
try:
form.save()
messages.success(request, _(u'Source transformation edited successfully'))
return HttpResponseRedirect(next)
except Exception, e:
messages.error(request, _(u'Error editing source transformation; %s') % e)
else:
form = SourceTransformationForm(instance=source_transformation)
return render_to_response('generic_form.html', {
'title': _(u'Edit transformation: %s') % source_transformation,
'form': form,
'source': source_transformation.content_object,
'transformation': source_transformation,
#'navigation_object_name_list': ['source', 'transformation'],
'navigation_object_list': [
{'object': 'source', 'name': _(u'source')},
{'object': 'transformation', 'name': _(u'transformation')}
],
#'object_name_list': [_(u'source'), _(u'transformation')],
'next': next,
},
context_instance=RequestContext(request))
'''
def document_page_transformation_create(request, document_page_id):
check_permissions(request.user, [PERMISSION_DOCUMENT_TRANSFORM])