Rename route functions to be clearer

This commit is contained in:
leigh-mil 2019-07-17 15:38:58 -04:00
parent a8df5044a9
commit 4826e8002b
13 changed files with 102 additions and 66 deletions

View File

@ -15,7 +15,9 @@ from atst.utils.flash import formatted_flash as flash
def review_task_order(task_order_id): def review_task_order(task_order_id):
task_order = TaskOrders.get(task_order_id) task_order = TaskOrders.get(task_order_id)
if task_order.is_draft: if task_order.is_draft:
return redirect(url_for("task_orders.add_pdf", task_order_id=task_order.id)) return redirect(
url_for("task_orders.form_step_one_add_pdf", task_order_id=task_order.id)
)
else: else:
signature_form = SignatureForm() signature_form = SignatureForm()
return render_template( return render_template(

View File

@ -57,7 +57,7 @@ def update_task_order(
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step_1") @task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step_1")
@task_orders_bp.route("/task_orders/<task_order_id>/step_1") @task_orders_bp.route("/task_orders/<task_order_id>/step_1")
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def add_pdf(portfolio_id=None, task_order_id=None): def form_step_one_add_pdf(portfolio_id=None, task_order_id=None):
return render_task_orders_edit( return render_task_orders_edit(
"task_orders/step_1.html", "task_orders/step_1.html",
portfolio_id=portfolio_id, portfolio_id=portfolio_id,
@ -68,9 +68,9 @@ def add_pdf(portfolio_id=None, task_order_id=None):
@task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step-1", methods=["POST"]) @task_orders_bp.route("/portfolios/<portfolio_id>/task_orders/step-1", methods=["POST"])
@task_orders_bp.route("/task_orders/<task_order_id>/step_1", methods=["POST"]) @task_orders_bp.route("/task_orders/<task_order_id>/step_1", methods=["POST"])
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def upload_pdf(portfolio_id=None, task_order_id=None): def submit_form_step_one_add_pdf(portfolio_id=None, task_order_id=None):
form_data = {**http_request.form, **http_request.files} form_data = {**http_request.form, **http_request.files}
next_page = "task_orders.add_number" next_page = "task_orders.form_step_two_add_number"
current_template = "task_orders/step_1.html" current_template = "task_orders/step_1.html"
return update_task_order( return update_task_order(
@ -84,7 +84,7 @@ def upload_pdf(portfolio_id=None, task_order_id=None):
@task_orders_bp.route("/task_orders/<task_order_id>/step_2") @task_orders_bp.route("/task_orders/<task_order_id>/step_2")
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def add_number(task_order_id): def form_step_two_add_number(task_order_id):
return render_task_orders_edit( return render_task_orders_edit(
"task_orders/step_2.html", task_order_id=task_order_id "task_orders/step_2.html", task_order_id=task_order_id
) )
@ -92,9 +92,9 @@ def add_number(task_order_id):
@task_orders_bp.route("/task_orders/<task_order_id>/step_2", methods=["POST"]) @task_orders_bp.route("/task_orders/<task_order_id>/step_2", methods=["POST"])
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def update_number(task_order_id): def submit_form_step_two_add_number(task_order_id):
form_data = {**http_request.form} form_data = {**http_request.form}
next_page = "task_orders.add_clins" next_page = "task_orders.form_step_three_add_clins"
current_template = "task_orders/step_2.html" current_template = "task_orders/step_2.html"
return update_task_order( return update_task_order(
@ -104,7 +104,7 @@ def update_number(task_order_id):
@task_orders_bp.route("/task_orders/<task_order_id>/step_3") @task_orders_bp.route("/task_orders/<task_order_id>/step_3")
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def add_clins(task_order_id): def form_step_three_add_clins(task_order_id):
return render_task_orders_edit( return render_task_orders_edit(
"task_orders/step_3.html", task_order_id=task_order_id "task_orders/step_3.html", task_order_id=task_order_id
) )
@ -112,9 +112,9 @@ def add_clins(task_order_id):
@task_orders_bp.route("/task_orders/<task_order_id>/step_3", methods=["POST"]) @task_orders_bp.route("/task_orders/<task_order_id>/step_3", methods=["POST"])
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def update_clins(task_order_id): def submit_form_step_three_add_clins(task_order_id):
form_data = {**http_request.form} form_data = {**http_request.form}
next_page = "task_orders.review" next_page = "task_orders.form_step_four_review"
current_template = "task_orders/step_3.html" current_template = "task_orders/step_3.html"
return update_task_order( return update_task_order(
@ -124,7 +124,7 @@ def update_clins(task_order_id):
@task_orders_bp.route("/task_orders/<task_order_id>/step_4") @task_orders_bp.route("/task_orders/<task_order_id>/step_4")
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def review(task_order_id): def form_step_four_review(task_order_id):
return render_task_orders_edit( return render_task_orders_edit(
"task_orders/step_4.html", task_order_id=task_order_id "task_orders/step_4.html", task_order_id=task_order_id
) )
@ -132,7 +132,7 @@ def review(task_order_id):
@task_orders_bp.route("/task_orders/<task_order_id>/step_5") @task_orders_bp.route("/task_orders/<task_order_id>/step_5")
@user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form") @user_can(Permissions.CREATE_TASK_ORDER, message="view new task order form")
def confirm_signature(task_order_id): def form_step_five_confirm_signature(task_order_id):
return render_task_orders_edit( return render_task_orders_edit(
"task_orders/step_5.html", task_order_id=task_order_id, form=SignatureForm() "task_orders/step_5.html", task_order_id=task_order_id, form=SignatureForm()
) )

View File

@ -27,7 +27,7 @@
icon='funding', icon='funding',
text='navigation.portfolio_navigation.breadcrumbs.funding' | translate, text='navigation.portfolio_navigation.breadcrumbs.funding' | translate,
url=url_for("task_orders.portfolio_funding", portfolio_id=portfolio.id), url=url_for("task_orders.portfolio_funding", portfolio_id=portfolio.id),
active=request.url_rule.endpoint in ["task_orders.portfolio_funding", "task_orders.review_task_order", "task_orders.add_pdf", "task_orders.upload_pdf", "task_orders.add_number", "task_orders.update_number", "task_orders.add_clins", "task_orders.update_clins", "task_orders.review", "task_orders.confirm_signature"], active=request.url_rule.endpoint in ["task_orders.portfolio_funding", "task_orders.review_task_order", "task_orders.form_step_one_add_pdf", "task_orders.submit_form_step_one_add_pdf", "task_orders.form_step_two_add_number", "task_orders.submit_form_step_two_add_number", "task_orders.form_step_three_add_clins", "task_orders.submit_form_step_three_add_clins", "task_orders.form_step_four_review", "task_orders.form_step_five_confirm_signature"],
) }} ) }}
{{ Link( {{ Link(
icon='applications', icon='applications',

View File

@ -13,7 +13,7 @@
{% endmacro %} {% endmacro %}
{% macro TaskOrderEditButton(task_order, text="Edit", secondary=False) %} {% macro TaskOrderEditButton(task_order, text="Edit", secondary=False) %}
<a href="{{ url_for('task_orders.add_pdf', task_order_id=task_order.id) }}" class="usa-button {{ 'usa-button-secondary' if secondary else '' }}"> <a href="{{ url_for('task_orders.form_step_one_add_pdf', task_order_id=task_order.id) }}" class="usa-button {{ 'usa-button-secondary' if secondary else '' }}">
{{ text }} {{ text }}
</a> </a>
{% endmacro %} {% endmacro %}
@ -97,7 +97,7 @@
{% call StickyCTA(text="Funding") %} {% call StickyCTA(text="Funding") %}
{% if user_can(permissions.CREATE_TASK_ORDER) %} {% if user_can(permissions.CREATE_TASK_ORDER) %}
<a href="{{ url_for("task_orders.add_pdf", portfolio_id=portfolio.id) }}" class="usa-button usa-button-primary" type="submit">Start a new task order</a> <a href="{{ url_for("task_orders.form_step_one_add_pdf", portfolio_id=portfolio.id) }}" class="usa-button usa-button-primary" type="submit">Start a new task order</a>
{% endif %} {% endif %}
{% endcall %} {% endcall %}
@ -111,7 +111,7 @@
{{ EmptyState( {{ EmptyState(
'This portfolio doesnt have any active or pending task orders.', 'This portfolio doesnt have any active or pending task orders.',
action_label='Add a New Task Order', action_label='Add a New Task Order',
action_href=url_for('task_orders.add_pdf', portfolio_id=portfolio.id), action_href=url_for('task_orders.form_step_one_add_pdf', portfolio_id=portfolio.id),
icon='cloud', icon='cloud',
add_perms=user_can(permissions.CREATE_TASK_ORDER) add_perms=user_can(permissions.CREATE_TASK_ORDER)
) }} ) }}

View File

@ -5,7 +5,7 @@
{% block portfolio_content %} {% block portfolio_content %}
{% call StickyCTA(text="Task order details") %} {% call StickyCTA(text="Task order details") %}
<a href="{{ url_for('task_orders.add_pdf', task_order_id=task_order.id) }}" class="usa-button usa-button-secondary" type="submit">Edit</a> <a href="{{ url_for('task_orders.form_step_one_add_pdf', task_order_id=task_order.id) }}" class="usa-button usa-button-secondary" type="submit">Edit</a>
{% endcall %} {% endcall %}
{% include "fragments/task_order_review.html" %} {% include "fragments/task_order_review.html" %}

View File

@ -5,9 +5,9 @@
{% from 'components/upload_input.html' import UploadInput %} {% from 'components/upload_input.html' import UploadInput %}
{% if task_order_id %} {% if task_order_id %}
{% set action = url_for("task_orders.upload_pdf", task_order_id=task_order_id) %} {% set action = url_for("task_orders.submit_form_step_one_add_pdf", task_order_id=task_order_id) %}
{% else %} {% else %}
{% set action = url_for("task_orders.upload_pdf", portfolio_id=portfolio.id) %} {% set action = url_for("task_orders.submit_form_step_one_add_pdf", portfolio_id=portfolio.id) %}
{% endif %} {% endif %}
{% set next_button_text = "Next: Add TO Number" %} {% set next_button_text = "Next: Add TO Number" %}

View File

@ -2,9 +2,9 @@
{% from 'components/text_input.html' import TextInput %} {% from 'components/text_input.html' import TextInput %}
{% set action = url_for("task_orders.update_number", task_order_id=task_order_id) %} {% set action = url_for("task_orders.submit_form_step_two_add_number", task_order_id=task_order_id) %}
{% set next_button_text = "Next: Add Base CLIN" %} {% set next_button_text = "Next: Add Base CLIN" %}
{% set previous_button_link = url_for("task_orders.add_pdf", task_order_id=task_order_id) %} {% set previous_button_link = url_for("task_orders.form_step_one_add_pdf", task_order_id=task_order_id) %}
{% set step = "2" %} {% set step = "2" %}
{% block to_builder_form_field %} {% block to_builder_form_field %}

View File

@ -5,9 +5,9 @@
{% from 'components/options_input.html' import OptionsInput %} {% from 'components/options_input.html' import OptionsInput %}
{% from 'components/text_input.html' import TextInput %} {% from 'components/text_input.html' import TextInput %}
{% set action = url_for("task_orders.update_clins", task_order_id=task_order_id) %} {% set action = url_for("task_orders.submit_form_step_three_add_clins", task_order_id=task_order_id) %}
{% set next_button_text = "Next: Review Funding" %} {% set next_button_text = "Next: Review Funding" %}
{% set previous_button_link = url_for("task_orders.add_number", task_order_id=task_order_id) %} {% set previous_button_link = url_for("task_orders.form_step_two_add_number", task_order_id=task_order_id) %}
{% set step = "3" %} {% set step = "3" %}
{% macro LOAInput() %} {% macro LOAInput() %}

View File

@ -1,7 +1,7 @@
{% extends "task_orders/builder_base.html" %} {% extends "task_orders/builder_base.html" %}
{% set action = url_for('task_orders.confirm_signature', task_order_id=task_order_id) %} {% set action = url_for('task_orders.form_step_five_confirm_signature', task_order_id=task_order_id) %}
{% set previous_button_link = url_for("task_orders.add_clins", task_order_id=task_order_id) %} {% set previous_button_link = url_for("task_orders.form_step_three_add_clins", task_order_id=task_order_id) %}
{% set step = "4" %} {% set step = "4" %}
{% block next_button %} {% block next_button %}

View File

@ -5,7 +5,7 @@
{% set action = url_for("task_orders.submit_task_order", task_order_id=task_order_id) %} {% set action = url_for("task_orders.submit_task_order", task_order_id=task_order_id) %}
{% set next_button_text = "Next: Confirm & Submit" %} {% set next_button_text = "Next: Confirm & Submit" %}
{% set previous_button_link = url_for("task_orders.review", task_order_id=task_order_id) %} {% set previous_button_link = url_for("task_orders.form_step_four_review", task_order_id=task_order_id) %}
{% set step = "5" %} {% set step = "5" %}
{% block to_builder_form_field %} {% block to_builder_form_field %}

View File

@ -52,7 +52,8 @@ def test_review_task_order_draft(client, user_session, task_order):
) )
assert response.status_code == 302 assert response.status_code == 302
assert ( assert (
url_for("task_orders.add_pdf", task_order_id=task_order.id) in response.location url_for("task_orders.form_step_one_add_pdf", task_order_id=task_order.id)
in response.location
) )

View File

@ -32,9 +32,11 @@ def user():
return UserFactory.create() return UserFactory.create()
def test_task_orders_add_pdf(client, user_session, portfolio): def test_task_orders_form_step_one_add_pdf(client, user_session, portfolio):
user_session(portfolio.owner) user_session(portfolio.owner)
response = client.get(url_for("task_orders.add_pdf", portfolio_id=portfolio.id)) response = client.get(
url_for("task_orders.form_step_one_add_pdf", portfolio_id=portfolio.id)
)
assert response.status_code == 200 assert response.status_code == 200
@ -42,7 +44,8 @@ def test_task_orders_upload_pdf(client, user_session, portfolio, pdf_upload, ses
user_session(portfolio.owner) user_session(portfolio.owner)
form_data = {"pdf": pdf_upload} form_data = {"pdf": pdf_upload}
response = client.post( response = client.post(
url_for("task_orders.upload_pdf", portfolio_id=portfolio.id), data=form_data url_for("task_orders.submit_form_step_one_add_pdf", portfolio_id=portfolio.id),
data=form_data,
) )
assert response.status_code == 302 assert response.status_code == 302
@ -50,19 +53,21 @@ def test_task_orders_upload_pdf(client, user_session, portfolio, pdf_upload, ses
assert task_order.pdf.filename == pdf_upload.filename assert task_order.pdf.filename == pdf_upload.filename
def test_task_orders_add_number(client, user_session, task_order): def test_task_orders_form_step_two_add_number(client, user_session, task_order):
user_session(task_order.creator) user_session(task_order.creator)
response = client.get( response = client.get(
url_for("task_orders.add_number", task_order_id=task_order.id) url_for("task_orders.form_step_two_add_number", task_order_id=task_order.id)
) )
assert response.status_code == 200 assert response.status_code == 200
def test_task_orders_update_number(client, user_session, task_order): def test_task_orders_submit_form_step_two_add_number(client, user_session, task_order):
user_session(task_order.creator) user_session(task_order.creator)
form_data = {"number": "1234567890"} form_data = {"number": "1234567890"}
response = client.post( response = client.post(
url_for("task_orders.update_number", task_order_id=task_order.id), url_for(
"task_orders.submit_form_step_two_add_number", task_order_id=task_order.id
),
data=form_data, data=form_data,
) )
@ -70,13 +75,15 @@ def test_task_orders_update_number(client, user_session, task_order):
assert task_order.number == "1234567890" assert task_order.number == "1234567890"
def test_task_orders_add_clins(client, user_session, task_order): def test_task_orders_form_step_three_add_clins(client, user_session, task_order):
user_session(task_order.creator) user_session(task_order.creator)
response = client.get(url_for("task_orders.add_clins", task_order_id=task_order.id)) response = client.get(
url_for("task_orders.form_step_three_add_clins", task_order_id=task_order.id)
)
assert response.status_code == 200 assert response.status_code == 200
def test_task_orders_update_clins(client, user_session, task_order): def test_task_orders_submit_form_step_three_add_clins(client, user_session, task_order):
user_session(task_order.creator) user_session(task_order.creator)
form_data = { form_data = {
"clins-0-jedi_clin_type": "JEDI_CLIN_1", "clins-0-jedi_clin_type": "JEDI_CLIN_1",
@ -94,23 +101,30 @@ def test_task_orders_update_clins(client, user_session, task_order):
"clins-1-loas-0": "78979087", "clins-1-loas-0": "78979087",
} }
response = client.post( response = client.post(
url_for("task_orders.update_clins", task_order_id=task_order.id), data=form_data url_for(
"task_orders.submit_form_step_three_add_clins", task_order_id=task_order.id
),
data=form_data,
) )
assert response.status_code == 302 assert response.status_code == 302
assert len(task_order.clins) == 2 assert len(task_order.clins) == 2
def test_task_orders_review(client, user_session, task_order): def test_task_orders_form_step_four_review(client, user_session, task_order):
user_session(task_order.creator) user_session(task_order.creator)
response = client.get(url_for("task_orders.review", task_order_id=task_order.id)) response = client.get(
url_for("task_orders.form_step_four_review", task_order_id=task_order.id)
)
assert response.status_code == 200 assert response.status_code == 200
def test_task_orders_confirm_signature(client, user_session, task_order): def test_task_orders_form_step_five_confirm_signature(client, user_session, task_order):
user_session(task_order.creator) user_session(task_order.creator)
response = client.get( response = client.get(
url_for("task_orders.confirm_signature", task_order_id=task_order.id) url_for(
"task_orders.form_step_five_confirm_signature", task_order_id=task_order.id
)
) )
assert response.status_code == 200 assert response.status_code == 200
@ -119,7 +133,9 @@ def test_task_orders_form_step_one_add_pdf_existing_to(
client, user_session, task_order client, user_session, task_order
): ):
user_session(task_order.creator) user_session(task_order.creator)
response = client.get(url_for("task_orders.add_pdf", task_order_id=task_order.id)) response = client.get(
url_for("task_orders.form_step_one_add_pdf", task_order_id=task_order.id)
)
assert response.status_code == 200 assert response.status_code == 200
@ -132,29 +148,41 @@ def test_task_orders_upload_pdf_existing_to(
user_session(task_order.creator) user_session(task_order.creator)
form_data = {"pdf": pdf_upload2} form_data = {"pdf": pdf_upload2}
response = client.post( response = client.post(
url_for("task_orders.upload_pdf", task_order_id=task_order.id), data=form_data url_for(
"task_orders.submit_form_step_one_add_pdf", task_order_id=task_order.id
),
data=form_data,
) )
assert response.status_code == 302 assert response.status_code == 302
assert task_order.pdf.filename == pdf_upload2.filename assert task_order.pdf.filename == pdf_upload2.filename
def test_task_orders_upload_pdf_delete_pdf(client, user_session, portfolio, pdf_upload): def test_task_orders_submit_form_step_one_add_pdf_delete_pdf(
client, user_session, portfolio, pdf_upload
):
user_session(portfolio.owner) user_session(portfolio.owner)
task_order = TaskOrderFactory.create(pdf=pdf_upload, portfolio=portfolio) task_order = TaskOrderFactory.create(pdf=pdf_upload, portfolio=portfolio)
data = {"pdf": ""} data = {"pdf": ""}
response = client.post( response = client.post(
url_for("task_orders.upload_pdf", task_order_id=task_order.id), data=data url_for(
"task_orders.submit_form_step_one_add_pdf", task_order_id=task_order.id
),
data=data,
) )
assert task_order.pdf is None assert task_order.pdf is None
assert response.status_code == 302 assert response.status_code == 302
def test_task_orders_update_number_existing_to(client, user_session, task_order): def test_task_orders_submit_form_step_two_add_number_existing_to(
client, user_session, task_order
):
user_session(task_order.creator) user_session(task_order.creator)
form_data = {"number": "0000000000"} form_data = {"number": "0000000000"}
original_number = task_order.number original_number = task_order.number
response = client.post( response = client.post(
url_for("task_orders.update_number", task_order_id=task_order.id), url_for(
"task_orders.submit_form_step_two_add_number", task_order_id=task_order.id
),
data=form_data, data=form_data,
) )
assert response.status_code == 302 assert response.status_code == 302
@ -162,7 +190,9 @@ def test_task_orders_update_number_existing_to(client, user_session, task_order)
assert task_order.number != original_number assert task_order.number != original_number
def test_task_orders_update_clins_existing_to(client, user_session, task_order): def test_task_orders_submit_form_step_three_add_clins_existing_to(
client, user_session, task_order
):
clin_list = [ clin_list = [
{ {
"jedi_clin_type": "JEDI_CLIN_1", "jedi_clin_type": "JEDI_CLIN_1",
@ -194,7 +224,10 @@ def test_task_orders_update_clins_existing_to(client, user_session, task_order):
"clins-0-loas-0": "123123123123", "clins-0-loas-0": "123123123123",
} }
response = client.post( response = client.post(
url_for("task_orders.update_clins", task_order_id=task_order.id), data=form_data url_for(
"task_orders.submit_form_step_three_add_clins", task_order_id=task_order.id
),
data=form_data,
) )
assert response.status_code == 302 assert response.status_code == 302

View File

@ -448,18 +448,18 @@ def test_task_orders_download_task_order_pdf_access(get_url_assert_status, monke
get_url_assert_status(rando, url, 404) get_url_assert_status(rando, url, 404)
# task_orders.add_pdf # task_orders.form_step_one_add_pdf
# task_orders.add_number # task_orders.form_step_two_add_number
# task_orders.add_clins # task_orders.form_step_three_add_clins
# task_orders.review # task_orders.form_step_four_review
# task_orders.confirm_signature # task_orders.form_step_five_confirm_signature
def test_task_orders_new_get_routes(get_url_assert_status): def test_task_orders_new_get_routes(get_url_assert_status):
get_routes = [ get_routes = [
"task_orders.add_pdf", "task_orders.form_step_one_add_pdf",
"task_orders.add_number", "task_orders.form_step_two_add_number",
"task_orders.add_clins", "task_orders.form_step_three_add_clins",
"task_orders.review", "task_orders.form_step_four_review",
"task_orders.confirm_signature", "task_orders.form_step_five_confirm_signature",
] ]
ccpo = user_with(PermissionSets.EDIT_PORTFOLIO_FUNDING) ccpo = user_with(PermissionSets.EDIT_PORTFOLIO_FUNDING)
@ -477,15 +477,15 @@ def test_task_orders_new_get_routes(get_url_assert_status):
get_url_assert_status(rando, url, 404) get_url_assert_status(rando, url, 404)
# task_orders.upload_pdf # task_orders.submit_form_step_one_add_pdf
# task_orders.update_number # task_orders.submit_form_step_two_add_number
# task_orders.update_clins # task_orders.submit_form_step_three_add_clins
def test_task_orders_new_post_routes(post_url_assert_status): def test_task_orders_new_post_routes(post_url_assert_status):
post_routes = [ post_routes = [
("task_orders.upload_pdf", {"pdf": ""}), ("task_orders.submit_form_step_one_add_pdf", {"pdf": ""}),
("task_orders.update_number", {"number": "1234567890"}), ("task_orders.submit_form_step_two_add_number", {"number": "1234567890"}),
( (
"task_orders.update_clins", "task_orders.submit_form_step_three_add_clins",
{ {
"clins-0-jedi_clin_type": "JEDI_CLIN_1", "clins-0-jedi_clin_type": "JEDI_CLIN_1",
"clins-0-clin_number": "12312", "clins-0-clin_number": "12312",