vendor/sonata-project/admin-bundle/src/Resources/views/CRUD/base_edit_form.html.twig line 27

Open in your IDE?
  1. {% block form %}
  2.     {{ sonata_block_render_event('sonata.admin.edit.form.top', { 'admin': admin, 'object': object }) }}
  3.     {% set url = objectId is not null ? 'edit' : 'create' %}
  4.     {% if not admin.hasRoute(url) %}
  5.         <div>
  6.             {{ "form_not_available"|trans({}, "SonataAdminBundle") }}
  7.         </div>
  8.     {% else %}
  9.         <form
  10.               {% if sonata_config.getOption('form_type') == 'horizontal' %}class="form-horizontal"{% endif %}
  11.               role="form"
  12.               action="{% block sonata_form_action_url %}{{ admin.generateUrl(url, {(admin.idParameter): objectId, 'uniqid': admin.uniqid, 'subclass': app.request.get('subclass')}) }}{% endblock %}"
  13.               {% if form.vars.multipart %} enctype="multipart/form-data"{% endif %}
  14.               method="POST"
  15.               {% if not sonata_config.getOption('html5_validate') %}novalidate="novalidate"{% endif %}
  16.               {% block sonata_form_attributes %}{% endblock %}
  17.               >
  18.             {{ include('@SonataAdmin/Helper/render_form_dismissable_errors.html.twig') }}
  19.             {% block sonata_pre_fieldsets %}
  20.                 <div class="row">
  21.             {% endblock %}
  22.             {% block sonata_tab_content %}
  23.                 {% import "@SonataAdmin/CRUD/base_edit_form_macro.html.twig" as form_helper %}
  24.                 {% set formtabs = admin.getformtabs() %}
  25.                 {% set has_tab = ((formtabs|length == 1 and formtabs|keys[0] != 'default') or formtabs|length > 1 ) %}
  26.                 <div class="col-md-12">
  27.                     {% if has_tab %}
  28.                         {% set tab_prefix = 'tab_' ~ admin.uniqid ~ '_' ~ random() %}
  29.                         {% set tab_query_index = app.request.query.get('_tab', 0)|split("_")|last %}
  30.                         <div class="nav-tabs-custom">
  31.                             <ul class="nav nav-tabs" role="tablist">
  32.                                 {% for name, form_tab in formtabs %}
  33.                                     {% set _tab_name = tab_prefix ~ '_' ~ loop.index %}
  34.                                     <li{% if (not app.request.query.has('_tab') and loop.index == 1) or (tab_query_index == loop.index) %} class="active"{% endif %}>
  35.                                         <a href="#{{ _tab_name }}" class="changer-tab" aria-controls="{{ _tab_name }}" data-toggle="tab">
  36.                                             <i class="fas fa-exclamation-circle has-errors hide" aria-hidden="true"></i>
  37.                                             {% if form_tab.translation_domain is defined and form_tab.translation_domain is same as(false) %}
  38.                                                 {{ form_tab.label }}
  39.                                             {% else %}
  40.                                                 {{ form_tab.label|trans({}, form_tab.translation_domain ?? admin.translationDomain) }}
  41.                                             {% endif %}
  42.                                         </a>
  43.                                     </li>
  44.                                 {% endfor %}
  45.                             </ul>
  46.                             <div class="tab-content">
  47.                                 {% for code, form_tab in formtabs %}
  48.                                     {% set _tab_name = tab_prefix ~ '_' ~ loop.index %}
  49.                                     <div
  50.                                         class="tab-pane fade{% if (not app.request.query.has('_tab') and loop.first) or (tab_query_index == loop.index) %} in active{% endif %}"
  51.                                         id="{{ _tab_name }}"
  52.                                     >
  53.                                         <div class="box-body  container-fluid">
  54.                                             <div class="sonata-ba-collapsed-fields">
  55.                                                 {% if form_tab.description != false %}
  56.                                                     {% if form_tab.translation_domain is defined and form_tab.translation_domain is same as(false) %}
  57.                                                         <p>{{ form_tab.description|raw }}</p>
  58.                                                     {% else %}
  59.                                                         <p>{{ form_tab.description|trans({}, form_tab.translation_domain ?? admin.translationDomain)|raw }}</p>
  60.                                                     {% endif %}
  61.                                                 {% endif %}
  62.                                                 {{ form_helper.render_groups(admin, form, form_tab['groups'], has_tab) }}
  63.                                             </div>
  64.                                         </div>
  65.                                     </div>
  66.                                 {% endfor %}
  67.                             </div>
  68.                             <input type="hidden" name="_tab" value="{{ app.request.query.get('_tab') }}">
  69.                         </div>
  70.                     {% elseif formtabs['default'] is defined %}
  71.                         {{ form_helper.render_groups(admin, form, formtabs['default'].groups, has_tab) }}
  72.                     {% endif %}
  73.                 </div>
  74.             {% endblock %}
  75.             {% block sonata_post_fieldsets %}
  76.                 </div>
  77.             {% endblock %}
  78.             {{ form_rest(form) }}
  79.             {% block formactions %}
  80.                 <div class="sonata-ba-form-actions well well-small form-actions">
  81.                 {% block sonata_form_actions %}
  82.                     {% if app.request.isxmlhttprequest %}
  83.                         {% if objectId is not null %}
  84.                             <button type="submit" class="btn btn-success" name="btn_update"><i class="fas fa-save" aria-hidden="true"></i> {{ 'btn_update'|trans({}, 'SonataAdminBundle') }}</button>
  85.                             {% if admin.hasRoute('delete') and admin.hasAccess('delete', object) %}
  86.                                 {% block btn_delete %}
  87.                                     {{ 'delete_or'|trans({}, 'SonataAdminBundle') }}
  88.                                     <a class="btn btn-danger" href="{{ admin.generateObjectUrl('delete', object) }}">
  89.                                         <i class="fas fa-minus-circle" aria-hidden="true"></i> {{ 'link_delete'|trans({}, 'SonataAdminBundle') }}
  90.                                     </a>
  91.                                 {% endblock %}
  92.                             {% endif %}
  93.                         {% else %}
  94.                             {% block btn_create %}
  95.                                 <button type="submit" class="btn btn-success" name="btn_create"><i class="fas fa-plus-circle" aria-hidden="true"></i> {{ 'btn_create'|trans({}, 'SonataAdminBundle') }}</button>
  96.                             {% endblock %}
  97.                         {% endif %}
  98.                     {% else %}
  99.                         {% if admin.supportsPreviewMode %}
  100.                             {% block btn_preview %}
  101.                                 <button class="btn btn-info persist-preview" name="btn_preview" type="submit">
  102.                                     <i class="fas fa-eye" aria-hidden="true"></i>
  103.                                     {{ 'btn_preview'|trans({}, 'SonataAdminBundle') }}
  104.                                 </button>
  105.                             {% endblock %}
  106.                         {% endif %}
  107.                         {% if objectId is not null %}
  108.                             {% block btn_update_and_edit %}
  109.                                 <button type="submit" class="btn btn-success" name="btn_update_and_edit"><i class="fas fa-save" aria-hidden="true"></i> {{ 'btn_update_and_edit_again'|trans({}, 'SonataAdminBundle') }}</button>
  110.                             {% endblock %}
  111.                             {% if admin.hasRoute('list') and admin.hasAccess('list') %}
  112.                                 {% block btn_update_and_list %}
  113.                                     <button type="submit" class="btn btn-success" name="btn_update_and_list"><i class="fas fa-save"></i> <i class="fas fa-list" aria-hidden="true"></i> {{ 'btn_update_and_return_to_list'|trans({}, 'SonataAdminBundle') }}</button>
  114.                                 {% endblock %}
  115.                             {% endif %}
  116.                             {% if admin.hasRoute('delete') and admin.hasAccess('delete', object) %}
  117.                                 {{ block('btn_delete') }}
  118.                             {% endif %}
  119.                             {% if admin.isAclEnabled() and admin.hasRoute('acl') and admin.hasAccess('acl', object) %}
  120.                                 {% block btn_acl %}
  121.                                     <a class="btn btn-info" href="{{ admin.generateObjectUrl('acl', object) }}"><i class="fas fa-users" aria-hidden="true"></i> {{ 'link_edit_acl'|trans({}, 'SonataAdminBundle') }}</a>
  122.                                 {% endblock %}
  123.                             {% endif %}
  124.                         {% else %}
  125.                             {% if admin.hasroute('edit') and admin.hasAccess('edit') %}
  126.                                 {% block btn_create_and_edit %}
  127.                                     <button class="btn btn-success" type="submit" name="btn_create_and_edit"><i class="fas fa-save" aria-hidden="true"></i> {{ 'btn_create_and_edit_again'|trans({}, 'SonataAdminBundle') }}</button>
  128.                                 {% endblock %}
  129.                             {% endif %}
  130.                             {% if admin.hasroute('list') and admin.hasAccess('list') %}
  131.                                 {% block btn_create_and_list %}
  132.                                     <button type="submit" class="btn btn-success" name="btn_create_and_list"><i class="fas fa-save"></i> <i class="fas fa-list" aria-hidden="true"></i> {{ 'btn_create_and_return_to_list'|trans({}, 'SonataAdminBundle') }}</button>
  133.                                 {% endblock %}
  134.                             {% endif %}
  135.                             {% block btn_create_and_create %}
  136.                                 <button class="btn btn-success" type="submit" name="btn_create_and_create"><i class="fas fa-plus-circle" aria-hidden="true"></i> {{ 'btn_create_and_create_a_new_one'|trans({}, 'SonataAdminBundle') }}</button>
  137.                             {% endblock %}
  138.                         {% endif %}
  139.                     {% endif %}
  140.                 {% endblock %}
  141.                 </div>
  142.             {% endblock formactions %}
  143.         </form>
  144.     {% endif %}
  145.     {{ sonata_block_render_event('sonata.admin.edit.form.bottom', { 'admin': admin, 'object': object }) }}
  146. {% endblock %}