improve phpspreadsheet participations list export

This commit is contained in:
2019-07-18 12:12:59 +02:00
parent 59668f45a2
commit be37d9d73a
4 changed files with 132 additions and 150 deletions

View File

@@ -41,9 +41,3 @@ chill_event__list_by_person:
defaults: { _controller: "ChillEventBundle:Event:listByPerson" }
methods: [ GET ]
chill_event__event_export_participations:
path: /{event_id}/export/participations
defaults: { _controller: "ChillEventBundle:Event:exportParticipations" }
requirements:
event_id: \d+
methods: [ GET, POST ]

View File

@@ -1,88 +0,0 @@
{% extends 'ChillEventBundle::layout.html.twig' %}
{% block title 'Event : %label%'|trans({ '%label%' : event.name } ) %}
{% block event_content -%}
<table>
{% for participation in event.participations %}
<tr><td>
{{ participation.person.id }}
</td><td>
{{ participation.person.firstname }}
</td><td>
{{ participation.person.lastname }}
</td><td>
{{ participation.person.email }}
</td></tr>
{% endfor %}
</table><br>
<style>
.input-group {
position: relative;
width: 100%;
display: -ms-flexbox; display: flex;
-ms-flex-wrap: wrap; flex-wrap: wrap;
-ms-flex-align: stretch; align-items: stretch;
}
.custom-select {
padding: .375rem 1.75rem .375rem .75rem;
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e")
no-repeat right .75rem center/8px 10px;
border-radius: .25rem;
-webkit-appearance: none; -moz-appearance: none; appearance: none;
/*
display: inline-block;
width: 100%; height: calc(1.5em + .75rem + 2px);
font-size: 1rem; font-weight: 400; line-height: 1.5;
vertical-align: middle;
color: #495057; background-color: #fff;
border: 1px solid #ced4da;
*/
}
.input-group > .custom-select {
position: relative;
width: 1%;
margin-bottom: 0;
-ms-flex: 1 1 auto; flex: 1 1 auto;
}
.input-group > .custom-select:not(:last-child) {
border-top-right-radius: 0; border-bottom-right-radius: 0;
}
.input-group > .input-group-append > .btn {
border-top-left-radius: 0; border-bottom-left-radius: 0;
}
.input-group-append {
display: -ms-flexbox; display: flex; margin-left: -1px;
}
.input-group-append .btn {
position: relative; z-index: 2;
}
.btn {
display: inline-block;
text-align: center; vertical-align: middle;
padding: .375rem .75rem;
font-weight: 400; font-size: 1rem; line-height: 1.5;
color: #212529; background-color: transparent;
border: 1px solid transparent; border-radius: .25rem;
-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.btn-outline-secondary {
color: #6c757d; border-color: #6c757d;
}
</style>
{{ form_start(form) }}
{{ form_errors(form) }}
<div class="input-group">
{{ form_widget(form.format) }}
<div class="input-group-append">
{{ form_widget(form.submit) }}
</div>
</div>
{{ form_end(form) }}
{% endblock %}

View File

@@ -104,21 +104,92 @@
<ul class="record_actions">
{% if count > 0 %}
<li><a href="{{ path('chill_event__event_export_participations', { 'event_id' : event.id } ) }}" class="sc-button btn-download">{{ 'Export participation list'|trans }}</a></li>
<li><a href="{{ path('chill_event_participation_edit_multiple', { 'event_id' : event.id } ) }}" class="sc-button bt-edit">{{ 'Edit all the participations'|trans }}</a></li>
{% endif %}
</ul>
<div style="margin-bottom: 1.5em;">
{{ form_start(form_add_participation_by_person) }}
{{ form_widget(form_add_participation_by_person.person_id, { 'attr' : { 'style' : 'width: 25em; display:inline-block; ' } } ) }}
{{ form_widget(form_add_participation_by_person.submit, { 'attr' : { 'class' : 'sc-button bt-create' } } ) }}
{{ form_rest(form_add_participation_by_person) }}
{{ form_end(form_add_participation_by_person) }}
</ul>
<style>
/*
* REMARQUE ces styles règlent pour cette page le design des formulaires dropdown + submit
* ils surchargent notamment des styles plus généraux de Chill
* -> devrait être ramené vers la feuille de style générale après vérifications
*/
.input-group {
position: relative;
width: 100%;
display: -ms-flexbox; display: flex;
-ms-flex-wrap: wrap; flex-wrap: wrap;
-ms-flex-align: stretch; align-items: stretch;
}
.custom-select {
padding: .375rem 1.75rem .375rem .75rem;
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e")
no-repeat right .75rem center/8px 10px;
border-radius: .25rem;
-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.input-group > .custom-select {
position: relative;
width: 1%;
margin-bottom: 0;
-ms-flex: 1 1 auto; flex: 1 1 auto;
color: #999;
}
.input-group > span.select2-container--default > span > span.select2-selection--single,
.input-group > .custom-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0;
height: 38px; padding: 8px;
}
/* override correction style */
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: unset; }
.input-group > .input-group-append > .sc-button { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group-append { display: -ms-flexbox; display: flex; margin-left: -1px; }
.input-group-append .sc-button { position: relative; z-index: 2; }
.sc-button {
display: inline-block;
text-align: center; vertical-align: middle;
padding: .375rem .75rem;
font-weight: 400; font-size: 1rem; line-height: 1.5;
-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
</style>
<div style="margin-bottom: 10em;">
<div class="grid-8">
{{ form_start(form_add_participation_by_person) }}
<div class="input-group">
{{ form_widget(form_add_participation_by_person.person_id, { 'attr' : {
'class' : 'custom-select',
'style': 'min-width: 15em; max-width: 20em; display: inline-block;'
}} ) }}
<div class="input-group-append">
{{ form_widget(form_add_participation_by_person.submit, { 'attr' : { 'class' : 'sc-button bt-create' } } ) }}
</div>
</div>
{{ form_rest(form_add_participation_by_person) }}
{{ form_end(form_add_participation_by_person) }}
</div>
<div class="grid-4">
{{ form_start(form_export) }}
<div class="input-group">
{{ form_widget(form_export.format, { 'attr' : { 'class': 'custom-select' } }) }}
<div class="input-group-append">
{{ form_widget(form_export.submit, { 'attr' : { 'class': 'sc-button bt-save' } }) }}
</div>
<a class="bt-"></a>
</div>
{{ form_rest(form_export) }}
{{ form_end(form_export) }}
</div>
</div>
<div class="post_show">
{{ chill_delegated_block('block_footer_show', { 'event': event }) }}
</div>
{% endblock %}