Bonjour,

Je suis en train de faire un planning de diffusion de médias d'une semaine à l'autre. Tout fonctionne très bien jusqu'à présent, juste un petit bug : lorsqu'un média "grignote" sur la semaine suivante, il ne m'affiche pas les jours restants de diffusion.

Par exemple, j'ai un média b2.jpg qui commence le mardi 21 avril et qui termine le jeudi 30 avril (donc semaine suivante), ça va bien m'afficher la diffusion du mardi 21 avril au dimanche 26 avril, mais dès qu'on va passer à la semaine suivante je n'ai pas de "colorisé" les jours suivants (donc lundi 27, mardi 28, mercredi 29 - jeudi 30 est colorisé pour marquer la délimitation).

Voici des screens :

Nom : screen1.jpg
Affichages : 73
Taille : 24,2 Ko

Nom : screen2.jpg
Affichages : 76
Taille : 13,7 Ko

Voici mon code :

homepage.html.twig :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<tbody>
    <tr></tr>
    {% for media in medias %}
    <tr>
        <th scope="row" title="{{ media.sequences.first ? media.sequences.first.name : "" }} / {{ media.file }}">{{ media.file | length > 20 ? media.file | slice(0, 20)~'...' : media.file }}
        {% set difference = date(media.getValidityDateEnd()).diff(date(media.getValidityDateStart())) %}
        </th>
        {% for day in daysOfTheWeek %}
            {% set difference = date(media.getValidityDateEnd()).diff(date(media.getValidityDateStart())) %}
            {% if media.getValidityDateStart()|date('Y-m-d') == day|date('Y-m-d') %}
                <td class="bg-selected">{{ dump(day|date('Y-m-d')) }}</td>
                {% if media.getValidityDateStart()|date('W') != media.getValidityDateEnd()|date('W') %}
                    {% set lastDayOfTheWeek = media.getValidityDateStart()|date_modify('sunday this week') %}
                    {% set difference = date(lastDayOfTheWeek).diff(date(media.getValidityDateStart())) %}
                    {% for i in range(0, difference.d) %}
                        <td class="bg-selected"></td>
                    {% endfor %}
                {% endif %}
            {% elseif media.getValidityDateEnd()|date('Y-m-d') == day|date('Y-m-d') %}
                <td class="bg-selected">{{ dump(day|date('Y-m-d')) }}</td>
            {% else %}
                <td></td>  
            {% endif %}
        {% endfor %}
    </tr>
    {% endfor %}              
</tbody>
J'ai essayé différentes solutions mais rien de bien concluant.

Si quelqu'un aurait une idée, merci.