{% extends '@OroUI/actions/update.html.twig' %} {% import '@OroUI/macros.html.twig' as UI %} {% import '@OroOrder/Order/macros.html.twig' as SM %} {% oro_title_set({params : { '%identifier%': entity.identifier|default('N/A'|trans), '%entityName%': 'oro.order.entity_label'|trans } }) %} {% if saveFormAction is defined %} {% set formAction = path(saveFormAction.route, saveFormAction.parameters) %} {% else %} {% set formAction = entity.id ? path('oro_order_update', { 'id': entity.id }) : path('oro_order_create') %} {% endif %} {% form_theme form with ['@OroOrder/Form/fields.html.twig'] %} {% block navButtons %} {% import '@OroUI/macros.html.twig' as UI %} {{ parent() }} {{ UI.cancelButton(path('oro_order_index')) }} {% set html = '' %} {% if is_granted('oro_order_view') %} {% set html = html ~ UI.saveAndCloseButton({ 'route' : 'oro_order_view', 'params' : {'id': '$id'} }) %} {% endif %} {% if is_granted('oro_order_update') %} {% set html = html ~ UI.saveAndStayButton({ 'route' : 'oro_order_update', 'params': {'id': '$id'} }) %} {% endif %} {% if returnAction is defined and is_granted(returnAction.aclRole) %} {% set html = html ~ UI.saveAndReturnButton({ 'route': returnAction.route, 'params': returnAction.parameters }) %} {% endif %} {% set html = html ~ placeholder('order_update_additional_nav_buttons', {entity: entity}) %} {{ UI.dropdownSaveButton({'html': html}) }} {% endblock navButtons %} {% block pageHeader %} {% if entity.id %} {% set breadcrumbs = { 'entity': entity, 'indexPath': path('oro_order_index'), 'indexLabel': 'oro.order.entity_plural_label'|trans, 'entityTitle': entity.identifier|default('N/A'|trans) } %} {{ parent() }} {% else %} {% set title = 'oro.ui.create_entity'|trans({'%entityName%': 'oro.order.entity_label'|trans}) %} {% include '@OroUI/page_title_block.html.twig' with { title: title } %} {% endif %} {% endblock pageHeader %} {% set pageComponent = { module: 'oroorder/js/app/components/entry-point-component', options: { route: 'oro_order_entry_point', routeParams: {id: entity.id|default(0)} }, } %} {% block content_data %} {% import '@OroUI/macros.html.twig' as UI %} {% set id = 'order-edit' %} {% set subtotals %}
{% include '@OroPricing/Totals/totals.html.twig' with { pageComponent: 'oroorder/js/app/components/totals-component', options: {totals: orderData.totals} } only %} {% endset %} {% set ownerSelectors %}
{{ form_row(form.customer) }} {{ form_row(form.customerUser) }}
{% endset %} {% set lineItems %} {% set subtotalType = constant('Oro\\Bundle\\PricingBundle\\SubtotalProcessor\\Provider\\LineItemSubtotalProvider::TYPE') %}
{{ form_widget(form.lineItems) }} {{ form_errors(form.lineItems) }}
{% set entityDataOptions = {entityData: orderData} %}
{% endset %} {% set currencyBlock %} {% if entity.id %} {{ UI.renderPropertyControlGroup('oro.order.currency.label'|trans, entity.currency) }} {% else %}
{{ form_row(form.currency) }}
{% endif %} {% endset %} {% set dataBlocks = [ { 'title': 'oro.order.sections.general'|trans, 'subblocks': [{ 'data': [ ownerSelectors, currencyBlock ] }] }, { 'title': 'oro.order.sections.order_line_items'|trans, 'content_attr': {'class': 'order-line-items-content'}, 'subblocks': [{ 'title': '', 'data': [lineItems] }] } ] %} {% if isBillingAddressGranted %} {% set billingAddress %}
{{ form_widget(form.billingAddress) }}
{% endset %} {% set dataBlocks = dataBlocks|merge([{ 'title': 'oro.order.billing_address.label'|trans, 'subblocks': [{ 'data': [billingAddress] }] }]) %} {% endif %} {% if isShippingAddressGranted %} {% set shippingAddress %} {% if form.shippingAddress.customerAddress is defined %} {% set idAddressBlock = '#' ~ form.shippingAddress.customerAddress.vars.id %} {% else %} {% set idAddressBlock = null %} {% endif %}
{{ form_widget(form.shippingAddress) }}
{% endset %} {% set dataBlocks = dataBlocks|merge([{ 'title': 'oro.order.shipping_address.label'|trans, 'subblocks': [{ 'data': [shippingAddress] }] }]) %} {% endif %} {% set shippingInformation %}
{{ UI.renderControlGroup('oro.order.form.shipping_options.label'|trans, '
' ~ SM.renderPossibleShippingMethods(form, entity) ~ '
', { rootClass: null } ) }} {% set options = { view: 'oroorder/js/app/views/shipping-cost-view' } %}
{{ form_row(form.overriddenShippingCostAmount) }}
{% endset %} {% set dataBlocks = dataBlocks|merge([{ 'title': 'oro.order.sections.shipping_information'|trans, 'subblocks': [{ 'data': [shippingInformation] }] }]) %} {% set additionalData = [ form_row(form.poNumber), form_row(form.shipUntil), form_row(form.customerNotes) ] %} {% set dataBlocks = dataBlocks|merge(oro_form_additional_data(form, 'oro.order.sections.additional'|trans, additionalData)) %} {% if entity.id %} {% set discounts %}
{{ form_widget(form.discounts) }}
{{ form_errors(form.discounts) }}
{{ form_row(form.discountsSum) }}
{% endset %} {% set dataBlocks = dataBlocks|merge({ 'discounts': { 'title': 'oro.order.sections.discounts'|trans, 'subblocks': [{ 'data': [discounts], }] } }) %} {% endif %} {% set dataBlocks = dataBlocks|merge([{ 'title': 'oro.order.sections.subtotals'|trans, 'priority': 900, 'subblocks': [{ 'data': [subtotals] }] }]) %} {% set data = { 'formErrors': form_errors(form), 'dataBlocks': dataBlocks }%} {{ parent() }} {% endblock content_data %}