123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- {#
- This file is part of the Sonata package.
- (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
- For the full copyright and license information, please view the LICENSE
- file that was distributed with this source code.
- #}
- {% extends base_template %}
- {% block actions %}
- <div class="sonata-actions">
- <ul>
- {% if admin.isGranted('CREATE')%}
- <li class="sonata-action-element"><a href="{{ admin.generateUrl('create') }}">{% trans from 'SonataAdminBundle' %}link_action_create{% endtrans %}</a></li>
- {% endif %}
- </ul>
- </div>
- {% endblock %}
- {% block side_menu %}{{ admin.sidemenu(action).render|raw }}{% endblock %}
- {% block list_table %}
- {% set batchactions = admin.batchactions %}
- {% if admin.datagrid.results|length > 0 %}
- <form action="{{ admin.generateUrl('batch') }}" method="POST" >
- <table>
- {% block table_header %}
- <tr class="sonata-ba-list-field-header">
- {% for field_description in admin.list.elements %}
- {% if field_description.getOption('code') == '_batch' and batchactions|length > 0%}
- <th class="sonata-ba-list-field-header sonata-ba-list-field-header-batch">
- <input type="checkbox" id="list_batch_checkbox" />
- </th>
- {% else %}
- {% set sortable = false %}
- {% if field_description.options.sortable is defined and field_description.options.sortable%}
- {% set sortable = true %}
- {% set current = admin.datagrid.values._sort_by == field_description.options.sortable %}
- {% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}
- {% set sort_active_class = current ? 'sonata-ba-list-field-order-active' : '' %}
- {% set sort_by = current ? admin.datagrid.values._sort_order : field_description.options._sort_order %}
- {% endif %}
- {% spaceless %}
- <th class="sonata-ba-list-field-header-{{ field_description.type}} {% if sortable %} sonata-ba-list-field-header-order-{{ sort_by|lower }} {{ sort_active_class }}{% endif %}">
- {% if sortable %}<a href="{{ admin.generateUrl('list', sort_parameters) }}">{% endif %}
- {% if field_description.options.name is defined %}
- {{ field_description.options.name|trans({}, admin.translationdomain) }}
- {% else %}
- {{ field_description.name|trans({}, admin.translationdomain) }}
- {% endif %}
- {% if sortable %}</a>{% endif %}
- </th>
- {% endspaceless %}
- {% endif %}
- {% endfor %}
- </tr>
- {% endblock %}
- {% block table_body %}
- {% for object in admin.datagrid.results %}
- <tr>
- {% for field_description in admin.list.elements %}
- {{ object|render_list_element(field_description) }}
- {% endfor %}
- </tr>
- {% endfor %}
- {% endblock %}
- {% block table_footer %}
- {% if admin.datagrid.pager.haveToPaginate() %}
- <tr>
- <td colspan="{{ admin.list.elements|length }}" class="pager">
- <ul>
- {% if admin.datagrid.pager.page != admin.datagrid.pager.previouspage %}
- <li><a href="{{ admin.generateUrl('list', admin.datagrid.values|merge({'_page': admin.datagrid.pager.previouspage})) }}">{% trans from 'SonataAdminBundle' %}link_previous_pager{% endtrans %}</a></li>
- {% endif %}
- {# Set the number of pages to display in the pager #}
- {% for page in admin.datagrid.pager.getLinks(5) %}
- {% if page == admin.datagrid.pager.page %}
- <li>{{ page }}</li>
- {% else %}
- <li><a href="{{ admin.generateUrl('list', admin.datagrid.values|merge({'_page': page})) }}">{{ page }}</a></li>
- {% endif %}
- {% endfor %}
- {% if admin.datagrid.pager.page != admin.datagrid.pager.nextpage %}
- <li><a href="{{ admin.generateUrl('list', admin.datagrid.values|merge({'_page': admin.datagrid.pager.nextpage})) }}">{% trans from 'SonataAdminBundle' %}link_next_pager{% endtrans %}</a></li>
- {% endif %}
- </ul>
- </td>
- </tr>
- {% endif %}
- {% endblock %}
- </table>
- {% if batchactions|length > 0%}
- <script type="text/javascript">
- jQuery(document).ready(function($){
- $('#list_batch_checkbox').click(function(){
- $(this).closest('table').find("td input[type='checkbox']").attr('checked', $(this).is(':checked'));
- });
- $('.delete_link').click(function(e){
- if (!confirm('{% trans from 'SonataAdminBundle' %}confirm_msg{% endtrans %}')) e.preventDefault();
- });
- });
- </script>
- <div class="sonata-ba-list-actions">
- <select name="action">
- {% for action, label in batchactions %}
- <option value="{{ action }}">{{ label }}</option>
- {% endfor %}
- </select>
- <input type="submit" value="{% trans from 'SonataAdminBundle' %}btn_batch{% endtrans %}" />
- </div>
- {% endif %}
- </form>
- {% else %}
- <p class="notice">
- {% trans from 'SonataAdminBundle' %}no_result{% endtrans %}
- </p>
- {% endif %}
- {% endblock %}
- {% block list_filters %}
- {% if admin.datagrid.filters %}
- <form class="sonata-filter-form" action="{{ admin.generateUrl('list') }}" method="GET">
- {% for filter in admin.datagrid.filters %}
- <div>
- {{ filter|render_filter_element }}</td>
- </div>
- {% endfor %}
- <input type="submit" value="{% trans from 'SonataAdminBundle' %}btn_filter{% endtrans %}" />
- <a href="{{ admin.generateUrl('list') }}">{% trans from 'SonataAdminBundle' %}link_reset_filter{% endtrans %}</a>
- </form>
-
- {% if admin.filterActions %}
- <form class="sonata-filter-action-form" action="{{ admin.generateUrl('filter') }}?{% for k,v in admin.filterParameters %}&{{k}}={{v}}{% endfor %}" method="POST">
- <select name="action">
- {% for action, label in admin.filterActions %}
- <option value="{{ action }}">{{ label }}</option>
- {% endfor %}
- </select>
- <input type="submit" value="{% trans from 'SonataAdminBundle' %}btn_batch{% endtrans %}" />
- </form>
- {% endif %}
- {% endif %}
- {% endblock %}
|