base_edit_form.html.twig 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. {% block form %}
  2. {% set url = admin.id(object) ? 'edit' : 'create' %}
  3. {% if not admin.hasRoute(url)%}
  4. <div>
  5. {{ "form_not_available"|trans({}, "SonataAdminBundle") }}
  6. </div>
  7. {% else %}
  8. <form class="form-horizontal" action="{{ admin.generateUrl(url, {'id': admin.id(object), 'uniqid': admin.uniqid, 'subclass': app.request.get('subclass')}) }}" {{ form_enctype(form) }} method="POST">
  9. {% if form.vars.errors|length > 0 %}
  10. <div class="sonata-ba-form-error">
  11. {{ form_errors(form) }}
  12. </div>
  13. {% endif %}
  14. {% block sonata_pre_fieldsets %}
  15. <div class="tabbable">
  16. <ul class="nav nav-tabs">
  17. {% for name, form_group in admin.formgroups %}
  18. <li class="{% if loop.first %}active{% endif %}"><a href="#{{ name|sonata_slugify }}" data-toggle="tab">{{ admin.trans(name) }}</a></li>
  19. {% endfor %}
  20. </ul>
  21. {% endblock %}
  22. <div class="tab-content">
  23. {% for name, form_group in admin.formgroups %}
  24. <div class="tab-pane {% if loop.first %} active{% endif %}" id="{{ name|sonata_slugify }}">
  25. <fieldset>
  26. <div class="sonata-ba-collapsed-fields">
  27. {% if form_group.description != false %}
  28. <p>{{ form_group.description|raw }}</p>
  29. {% endif %}
  30. {% for field_name in form_group.fields %}
  31. {% if admin.formfielddescriptions[field_name] is defined %}
  32. {{ form_row(form[field_name])}}
  33. {% endif %}
  34. {% endfor %}
  35. </div>
  36. </fieldset>
  37. </div>
  38. {% endfor %}
  39. </div>
  40. {% block sonata_post_fieldsets %}
  41. </div>
  42. {% endblock %}
  43. {{ form_rest(form) }}
  44. {% block formactions %}
  45. <div class="well form-actions">
  46. {% if app.request.isxmlhttprequest %}
  47. {% if admin.id(object) %}
  48. <input type="submit" class="btn btn-primary" name="btn_update" value="{{ 'btn_update'|trans({}, 'SonataAdminBundle') }}"/>
  49. {% else %}
  50. <input type="submit" class="btn" name="btn_create" value="{{ 'btn_create'|trans({}, 'SonataAdminBundle') }}"/>
  51. {% endif %}
  52. {% else %}
  53. {% if admin.supportsPreviewMode %}
  54. <input class="btn btn-info persist-preview" name="btn_preview" type="submit" value="{{ 'btn_preview'|trans({}, 'SonataAdminBundle') }}"/>
  55. {% endif %}
  56. {% if admin.id(object) %}
  57. <input type="submit" class="btn btn-primary" name="btn_update_and_edit" value="{{ 'btn_update_and_edit_again'|trans({}, 'SonataAdminBundle') }}"/>
  58. {% if admin.hasroute('list') %}
  59. <input type="submit" class="btn" name="btn_update_and_list" value="{{ 'btn_update_and_return_to_list'|trans({}, 'SonataAdminBundle') }}"/>
  60. {% endif %}
  61. {% if admin.hasroute('delete') and admin.isGranted('DELETE', object) %}
  62. {{ 'delete_or'|trans({}, 'SonataAdminBundle') }}
  63. <a class="btn btn-danger" href="{{ admin.generateObjectUrl('delete', object) }}">{{ 'link_delete'|trans({}, 'SonataAdminBundle') }}</a>
  64. {% endif %}
  65. {% else %}
  66. <input class="btn btn-primary" type="submit" name="btn_create_and_edit" value="{{ 'btn_create_and_edit_again'|trans({}, 'SonataAdminBundle') }}"/>
  67. <input type="submit" class="btn" name="btn_create_and_list" value="{{ 'btn_create_and_return_to_list'|trans({}, 'SonataAdminBundle') }}"/>
  68. <input class="btn" type="submit" name="btn_create_and_create" value="{{ 'btn_create_and_create_a_new_one'|trans({}, 'SonataAdminBundle') }}"/>
  69. {% endif %}
  70. {% endif %}
  71. </div>
  72. {% endblock formactions %}
  73. </form>
  74. {% endif%}
  75. {% endblock %}