def _save_design(design_id, data): sanitize_node_dict(data) workflow = _get_design(design_id) workflow.name = data['name'] workflow.description = data.setdefault('description', '') workflow.is_shared = str(data.setdefault('is_shared', 'true')).lower() == "true" workflow.parameters = data.setdefault('parameters', '[]') node = workflow.start.get_child('to').get_full_node() node_id = node.id for key in data: if key in ('is_shared', 'capture_output', 'propagate_configuration'): setattr(node, key, str(data[key]).lower() == 'true') else: setattr(node, key, data[key]) node.id = node_id node.pk = node_id node.save() workflow.save() if workflow.doc.exists(): workflow.doc.update(name=workflow.name, description=workflow.description)
def save_design(request, design_id): workflow = _get_design(design_id) _check_permission(request, workflow.owner.username, _("Access denied: edit design %(id)s.") % {'id': workflow.id}) ActionForm = design_form_by_type(request.POST.get('node_type', None), request.user, workflow) form = ActionForm(request.POST) if not form.is_valid(): raise StructuredException(code="INVALID_REQUEST_ERROR", message=_('Error saving design'), data={'errors': form.errors}, error_code=400) data = format_dict_field_values(request.POST.copy()) sanitize_node_dict(data) workflow.name = data['name'] workflow.description = data['description'] node = workflow.start.get_child('to').get_full_node() node_id = node.id for key in data: setattr(node, key, data[key]) node.id = node_id node.pk = node_id node.save() workflow.save() data['id'] = workflow.id return render_json(data);
def _save_design(design_id, data): sanitize_node_dict(data) workflow = _get_design(design_id) workflow.name = data["name"] workflow.description = data.setdefault("description", "") workflow.is_shared = str(data.setdefault("is_shared", "true")).lower() == "true" workflow.parameters = data.setdefault("parameters", "[]") node = workflow.start.get_child("to").get_full_node() node_id = node.id for key in data: if key in ("is_shared", "capture_output", "propagate_configuration"): setattr(node, key, str(data[key]).lower() == "true") else: setattr(node, key, data[key]) node.id = node_id node.pk = node_id node.save() workflow.save() if workflow.doc.exists(): workflow.doc.update(name=workflow.name, description=workflow.description)
def _save_design(design_id, data): sanitize_node_dict(data) workflow = _get_design(design_id) workflow.name = data["name"] workflow.description = data.setdefault("description", "") workflow.is_shared = str(data.setdefault("is_shared", "true")).lower() == "true" workflow.parameters = data.setdefault("parameters", "[]") node = workflow.start.get_child("to").get_full_node() node_id = node.id for key in data: setattr(node, key, data[key]) node.id = node_id node.pk = node_id node.save() workflow.save()