base_edit_form.html.twig 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. {% block form %}
  2. {{ sonata_block_render_event('sonata.admin.edit.form.top', { 'admin': admin, 'object': object }) }}
  3. {% set url = admin.id(object) 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 class="form-horizontal"
  10. action="{{ admin.generateUrl(url, {'id': admin.id(object), 'uniqid': admin.uniqid, 'subclass': app.request.get('subclass')}) }}" {{ form_enctype(form) }}
  11. method="POST"
  12. {% if not admin_pool.getOption('html5_validate') %}novalidate="novalidate"{% endif %}
  13. >
  14. {% if form.vars.errors|length > 0 %}
  15. <div class="sonata-ba-form-error">
  16. {{ form_errors(form) }}
  17. </div>
  18. {% endif %}
  19. {% block sonata_pre_fieldsets %}
  20. <div class="tabbable">
  21. <ul class="nav nav-tabs">
  22. {% for name, form_group in admin.formgroups %}
  23. <li class="{% if loop.first %}active{% endif %}">
  24. <a href="#{{ admin.uniqid }}_{{ loop.index }}" data-toggle="tab">
  25. <i class="icon-exclamation-sign has-errors hide"></i>
  26. {{ admin.trans(name, {}, form_group.translation_domain) }}
  27. </a>
  28. </li>
  29. {% endfor %}
  30. </ul>
  31. {% endblock %}
  32. {% block sonata_tab_content %}
  33. <div class="tab-content">
  34. {% for name, form_group in admin.formgroups %}
  35. <div class="tab-pane {% if loop.first %} active{% endif %}" id="{{ admin.uniqid }}_{{ loop.index }}">
  36. <fieldset>
  37. <div class="sonata-ba-collapsed-fields">
  38. {% if form_group.description != false %}
  39. <p>{{ form_group.description|raw }}</p>
  40. {% endif %}
  41. {% for field_name in form_group.fields %}
  42. {% if admin.formfielddescriptions[field_name] is defined %}
  43. {{ form_row(form[field_name])}}
  44. {% endif %}
  45. {% endfor %}
  46. </div>
  47. </fieldset>
  48. </div>
  49. {% endfor %}
  50. </div>
  51. {% endblock %}
  52. {% block sonata_post_fieldsets %}
  53. </div>
  54. {% endblock %}
  55. {{ form_rest(form) }}
  56. {% block formactions %}
  57. <div class="well well-small form-actions">
  58. {% if app.request.isxmlhttprequest %}
  59. {% if admin.id(object) is not null %}
  60. <input type="submit" class="btn btn-primary" name="btn_update" value="{{ 'btn_update'|trans({}, 'SonataAdminBundle') }}"/>
  61. {% else %}
  62. <input type="submit" class="btn" name="btn_create" value="{{ 'btn_create'|trans({}, 'SonataAdminBundle') }}"/>
  63. {% endif %}
  64. {% else %}
  65. {% if admin.supportsPreviewMode %}
  66. <button class="btn btn-info persist-preview" name="btn_preview" type="submit">
  67. <i class="icon-eye-open"></i>
  68. {{ 'btn_preview'|trans({}, 'SonataAdminBundle') }}
  69. </button>
  70. {% endif %}
  71. {% if admin.id(object) is not null %}
  72. <input type="submit" class="btn btn-primary" name="btn_update_and_edit" value="{{ 'btn_update_and_edit_again'|trans({}, 'SonataAdminBundle') }}"/>
  73. {% if admin.hasroute('list') %}
  74. <input type="submit" class="btn" name="btn_update_and_list" value="{{ 'btn_update_and_return_to_list'|trans({}, 'SonataAdminBundle') }}"/>
  75. {% endif %}
  76. {% if admin.hasroute('delete') and admin.isGranted('DELETE', object) %}
  77. {{ 'delete_or'|trans({}, 'SonataAdminBundle') }}
  78. <a class="btn btn-danger" href="{{ admin.generateObjectUrl('delete', object) }}">{{ 'link_delete'|trans({}, 'SonataAdminBundle') }}</a>
  79. {% endif %}
  80. {% if admin.isAclEnabled() and admin.hasroute('acl') and admin.isGranted('MASTER', object) %}
  81. <a class="btn" href="{{ admin.generateObjectUrl('acl', object) }}">{{ 'link_edit_acl'|trans({}, 'SonataAdminBundle') }}</a>
  82. {% endif %}
  83. {% else %}
  84. {% if admin.hasroute('edit') %}
  85. <input class="btn btn-primary" type="submit" name="btn_create_and_edit" value="{{ 'btn_create_and_edit_again'|trans({}, 'SonataAdminBundle') }}"/>
  86. {% endif %}
  87. {% if admin.hasroute('list') %}
  88. <input type="submit" class="btn" name="btn_create_and_list" value="{{ 'btn_create_and_return_to_list'|trans({}, 'SonataAdminBundle') }}"/>
  89. {% endif %}
  90. <input class="btn" type="submit" name="btn_create_and_create" value="{{ 'btn_create_and_create_a_new_one'|trans({}, 'SonataAdminBundle') }}"/>
  91. {% endif %}
  92. {% endif %}
  93. </div>
  94. {% endblock formactions %}
  95. </form>
  96. {% endif%}
  97. {{ sonata_block_render_event('sonata.admin.edit.form.bottom', { 'admin': admin, 'object': object }) }}
  98. {% endblock %}