def setup_source_transformation_create(request, source_type, source_id): Permission.objects.check_permissions(request.user, [PERMISSION_SOURCES_SETUP_EDIT]) if source_type == SOURCE_CHOICE_WEB_FORM: cls = WebForm elif source_type == SOURCE_CHOICE_STAGING: cls = StagingFolder elif source_type == SOURCE_CHOICE_WATCH: cls = WatchFolder source = get_object_or_404(cls, pk=source_id) redirect_view = reverse('setup_source_transformation_list', args=[source.source_type, source.pk]) if request.method == 'POST': form = SourceTransformationForm_create(request.POST) if form.is_valid(): try: source_tranformation = form.save(commit=False) source_tranformation.content_object = source source_tranformation.save() messages.success(request, _(u'Source transformation created successfully')) return HttpResponseRedirect(redirect_view) except Exception, e: messages.error(request, _(u'Error creating source transformation; %s') % e)
elif source_type == SOURCE_CHOICE_STAGING: cls = StagingFolder elif source_type == SOURCE_CHOICE_WATCH: cls = WatchFolder source = get_object_or_404(cls, pk=source_id) redirect_view = reverse('setup_source_transformation_list', args=[source.source_type, source.pk]) if request.method == 'POST': form = SourceTransformationForm_create(request.POST) if form.is_valid(): try: source_tranformation = form.save(commit=False) source_tranformation.content_object = source source_tranformation.save() messages.success(request, _(u'Source transformation created successfully')) return HttpResponseRedirect(redirect_view) except Exception, e: messages.error(request, _(u'Error creating source transformation; %s') % e) else: form = SourceTransformationForm_create() return render_to_response('generic_form.html', { 'form': form, 'source': source, 'object_name': _(u'source'), 'navigation_object_name': 'source', 'title': _(u'Create new transformation for source: %s') % source, }, context_instance=RequestContext(request))