def submit_workflow(request, doc_id): workflow = Workflow(document=Document2.objects.get(id=doc_id)) ParametersFormSet = formset_factory(ParameterForm, extra=0) if request.method == 'POST': params_form = ParametersFormSet(request.POST) if params_form.is_valid(): mapping = dict([(param['name'], param['value']) for param in params_form.cleaned_data]) job_id = _submit_workflow(request.user, request.fs, request.jt, workflow, mapping) request.info(_('Workflow submitted')) return redirect(reverse('oozie:list_oozie_workflow', kwargs={'job_id': job_id})) else: request.error(_('Invalid submission form: %s' % params_form.errors)) else: parameters = workflow.find_all_parameters() initial_params = ParameterForm.get_initial_params(dict([(param['name'], param['value']) for param in parameters])) params_form = ParametersFormSet(initial=initial_params) popup = render('editor2/submit_job_popup.mako', request, { 'params_form': params_form, 'name': workflow.name, 'action': reverse('oozie:editor_submit_workflow', kwargs={'doc_id': workflow.id}) }, force_template=True).content return JsonResponse(popup, safe=False)
def workflow_parameters(request): response = {'status': -1} try: workflow = Workflow(document=Document2.objects.get(type='oozie-workflow2', uuid=request.GET.get('uuid'))) response['status'] = 0 response['parameters'] = workflow.find_all_parameters(with_lib_path=False) except Exception, e: response['message'] = str(e)
def workflow_parameters(request): response = {'status': -1} try: workflow_doc = Document2.objects.get(uuid=request.GET.get('uuid') or request.GET.get('document')) if workflow_doc.type == 'oozie-workflow2': workflow = Workflow(document=workflow_doc, user=request.user) else: wf_doc = WorkflowBuilder().create_workflow(document=workflow_doc, user=request.user, managed=True) workflow = Workflow(data=wf_doc.data) wf_doc.delete() response['status'] = 0 response['parameters'] = workflow.find_all_parameters(with_lib_path=False) except Exception, e: response['message'] = str(e)
def workflow_parameters(request): response = {'status': -1} try: workflow_doc = Document2.objects.get(uuid=request.GET.get('uuid') or request.GET.get('document')) if workflow_doc.type == 'oozie-workflow2': workflow = Workflow(document=workflow_doc, user=request.user) else: wf_doc = WorkflowBuilder().create_workflow(document=workflow_doc, user=request.user, managed=True) workflow = Workflow(data=wf_doc.data) wf_doc.delete() response['status'] = 0 response['parameters'] = workflow.find_all_parameters(with_lib_path=False) except Exception, e: response['message'] = str(e)