{% extends '@OroUI/actions/update.html.twig' %}
{% form_theme form with ['@OroForm/Form/fields.html.twig'] %}
{% import '@OroQueryDesigner/macros.html.twig' as QD %}
{% import '@OroSegment/macros.html.twig' as segmentQD %}
{% oro_title_set({params : {"%segment.name%": entity.name} }) %}
{% set formAction = form.vars.value.id ? path('oro_segment_update', { 'id': form.vars.value.id }) : path('oro_segment_create') %}
{% block head_script %}
{{ parent() }}
{% block stylesheets %}
{{ form_stylesheet(form) }}
{% endblock %}
{% endblock %}
{% block navButtons %}
{% import '@OroUI/macros.html.twig' as UI %}
{% if form.vars.value.id and is_granted('CREATE', form.vars.value) %}
{{ UI.button({
'path' : path('oro_segment_clone', {'id': form.vars.value.id}),
'iCss': 'fa-files-o',
'title': 'oro.segment.action.clone.button.title'|trans,
'label': 'oro.segment.action.clone.button.label'|trans,
}) }}
{% endif %}
{% if form.vars.value.id and is_granted('DELETE', form.vars.value) %}
{{ UI.deleteButton({
'dataUrl': path('oro_api_delete_segment', {'id': form.vars.value.id}),
'dataRedirect': path('oro_segment_index'),
'aCss': 'no-hash remove-button',
'id': 'btn-remove-segment',
'dataId': form.vars.value.id,
'entity_label': 'oro.segment.entity_label'|trans
}) }}
{{ UI.buttonSeparator() }}
{% endif %}
{{ UI.cancelButton(path('oro_segment_index')) }}
{% set html = UI.saveAndCloseButton({
'route': 'oro_segment_view',
'params': {id: '$id'}
}) %}
{% if is_granted('oro_segment_create') %}
{% set html = html ~ UI.saveAndNewButton({
'route': 'oro_segment_create'
}) %}
{% endif %}
{% if entity.id and is_granted('EDIT', entity) and entity.type.name == constant('Oro\\Bundle\\SegmentBundle\\Entity\\SegmentType::TYPE_STATIC') %}
{% set html = html ~ UI.saveActionButton({
'label': 'Save and refresh'|trans,
'route': 'oro_segment_refresh',
'params': {id: entity.id}
}) %}
{% endif %}
{% if form.vars.value.id or is_granted('oro_segment_update') %}
{% set html = html ~ UI.saveAndStayButton({
'route': 'oro_segment_update',
'params': {id: '$id'}
}) %}
{% endif %}
{{ UI.dropdownSaveButton({'html': html}) }}
{% endblock %}
{% block pageHeader %}
{% if form.vars.value.id %}
{% set breadcrumbs = {
'entity': form.vars.value,
'indexPath': path('oro_segment_index'),
'indexLabel': 'oro.segment.entity_plural_label'|trans,
'entityTitle': entity.name
} %}
{{ parent() }}
{% else %}
{% set title = 'oro.ui.create_entity'|trans({'%entityName%': 'oro.segment.entity_label'|trans}) %}
{% include '@OroUI/page_title_block.html.twig' with { title: title } %}
{% endif %}
{% endblock pageHeader %}
{% block content_data %}
{% import '@OroUI/macros.html.twig' as UI %}
{% set id = 'segment-profile' %}
{% set ownerDataBlock = {
'dataBlocks': [{
'subblocks': [{
'data': []
}]
}]
} %}
{% set ownerDataBlock = oro_form_process(ownerDataBlock, form) %}
{% set dataBlocks = [{
'title': 'General'|trans,
'class': 'active',
'subblocks': [
{
'title': '',
'data': [
form_row(form.name, {'label': 'oro.segment.name.label'}),
form_row(form.description, {
'label': 'oro.segment.description.label',
'attr': {
'class': 'segment-descr'
}
})
]
},
{
'title': '',
'data': [
form_row(form.entity, {'label': 'oro.segment.entity.label'}),
form_row(form.type, {'label': 'oro.segment.type.label'}),
form_row(form.recordsLimit, {'label': 'oro.segment.records_limit.label'})
] | merge(ownerDataBlock.dataBlocks[0].subblocks[0].data)
}
]
}]
%}
{% set type = 'oro_segment' %}
{% set dataBlocks = dataBlocks|merge( [{
'title' : 'oro.segment.form.designer'|trans,
'content_attr': {'id': type ~ '-designer'},
'subblocks': [
{
'title': 'oro.segment.form.columns'|trans,
'spanClass': type ~ '-columns responsive-cell',
'data': [
QD.query_designer_column_form(
form.column,
{'id': type ~ '-column-form'},
{},
['column', 'label', 'sorting', 'action']
),
QD.query_designer_column_list(
{'id': type ~ '-column-list', 'rowId': type ~ '-column-row'},
['column', 'label', 'sorting', 'action']
),
]
},
{
'title': 'oro.segment.form.filters'|trans,
'spanClass': type ~ '-filters responsive-cell',
'data': [
segmentQD.query_designer_condition_builder({
'id': type ~ '-condition-builder',
'currentSegmentId': entity.id|default(null),
'page_limit': constant('\\Oro\\Bundle\\SegmentBundle\\Entity\\Manager\\SegmentManager::PER_PAGE'),
'metadata': metadata,
'fieldConditionOptions': form.vars.field_condition_options
})
]
},
]
}] ) %}
{% set dataBlocks = dataBlocks|merge(oro_form_additional_data(form, 'Additional'|trans)) %}
{% set data = {
'formErrors': form_errors(form)? form_errors(form) : null,
'dataBlocks': dataBlocks,
'hiddenData': form_widget(form.definition)
} %}
{{ UI.scrollData(id, data, entity, form) }}
{{ QD.query_designer_column_chain_template('column-chain-template') }}
{{ segmentQD.initJsWidgets(type, form, entities, metadata) }}
{% endblock content_data %}