Feat/6633 test que le html qu'on génère est toujours valide#6775
Feat/6633 test que le html qu'on génère est toujours valide#6775artragis wants to merge 32 commits into
Conversation
| {% captureas alert_link %}{{ edit_link }}{% endcaptureas %} | ||
| {% captureas hide_link %}{{ edit_link|trim }}{% endcaptureas %} | ||
| {% captureas show_link %}{{ edit_link|trim }}{% endcaptureas %} | ||
| {% captureas alert_link %}{{ edit_link|trim }}{% endcaptureas %} |
There was a problem hiding this comment.
Je pense que trim n'est pas la meilleure solution pour le problème avec des retours à la ligne ou autres espaces dans les URL.
Dans le cas présent (et d'autres endroits du code), le problème, c'est qu'on utilise captureas pour avoir des variables dans le template qu'on devrait juste avoir avec une méthode dans le code. Ici, ça devrait être quelque chose du type message.url_of_edit_link. Cette méthode retournerait quelque chose de propre et nous éviterait de programmer dans le template pour rien.
| {% include "misc/member_item.part.html" with member=authors.first author=True avatar=True deletable=False %} | ||
| </li> | ||
| {% else %} | ||
| {% elif authors %} |
There was a problem hiding this comment.
J'ai l'impression que ça ne change rien par rapport à avant, parce que quand authors est vide, il ne s'affiche rien. Ou alors c'est une question de style ?
| "member_login_url": reverse("member-login") | ||
| + "?next=" | ||
| + quote(full_path) | ||
| + quote_plus(full_path) |
There was a problem hiding this comment.
Quitte à toucher ce genre de choses, peut-être utiliser l'argument query de reverse ? Ça permet de faire des URL avec des paramètres. Détails dans la doc.
| "member_login_url": reverse("member-login") | ||
| + "?next=" | ||
| + quote(full_path) | ||
| + quote_plus(full_path) |
There was a problem hiding this comment.
Quitte à toucher ce genre de cas, peut-être utiliser l'argument query de reverse ? Ça permet de faire des URL avec des paramètres. Détails dans la doc.
There was a problem hiding this comment.
je connaissais pas bien vu
| msg = _('<p>Pas assez de place ? <a href="{}?title={}&{}">Envoyez un MP {}</a> !').format( | ||
| reverse("mp:create"), quote_plus(pm_title), usernames, plural |
There was a problem hiding this comment.
Un autre cas pour le paramètre query de reverse, je pense.
| def add_extract_url(self): | ||
| root_content = self.top_container() | ||
| if self.parent.is_top_container: | ||
| return reverse("content:create-extract", args=[root_content.pk, root_content.slug, self.slug]) | ||
| return reverse("content:create-extract", args=[root_content.pk, root_content.slug, self.parent.slug, self.slug]) | ||
|
|
||
| @property | ||
| def add_container_url(self): |
There was a problem hiding this comment.
Pas super fan du nommage ici, parce que ça peut être lu comme "add_(extract_url)" alor que c'est "(add_extract)_url". L'anglais ne nous aide pas ici, mais peut-être qu'il faudrait être un peu plus verbeux avec un truc du type "url_to_add_extract" ou quelque chose du genre. Les mots de liaison ne sont pas interdits en anglais. :D
| return response | ||
|
|
||
|
|
||
| class ZdsTestCase(TestCase): |
There was a problem hiding this comment.
Est-ce que cette validation rallonge la suite de tests significativement ? Est-ce que tu as observé un changement à ce niveau-là ou non ?
| <div class="picto"> | ||
| <div class="picto-hexagon"> | ||
| <img src="/static/images/logo-library.png" /> | ||
| <img src="/static/images/logo-library.png" alt="Logo de la bibliothèque ZDS"/> |
There was a problem hiding this comment.
Pour des images purement décoratives, je crois que la recommandation pour l'accessibilité est alt="" (et éventuellement un rôle en plus). J'ai trouvé un doc W3C qui en parle.
Tu peux confirmer que c'est toujours une bonne recommandation @AmauryCarrade ?
| <div class="content-header-container"> | ||
| <h2 id="{{ child.position_in_parent }}-{{ child.slug }}" | ||
| {% if not child.is_validable %} | ||
| class="not-ready title-with-buttons" | ||
| {% else %} | ||
| class="title-with-buttons" | ||
| {% endif %}> | ||
| <a href="{{ base_url }}{{ child.get_url_path }}">{{ child.title }}</a> | ||
| </h2> | ||
| {% if display_config.draft_actions.enable_edit %} | ||
| <div class="actions-title"> | ||
| <a href="{{ child.get_edit_url }}" class="ico-after edit btn btn-grey"> | ||
| {% trans "Éditer" %} | ||
| </a> | ||
| <a href="#move-{{ child.slug }}" class="open-modal ico-after move btn btn-grey">{% trans "Déplacer" %}</a> | ||
| <ul> | ||
| <li> | ||
| <a href="{{ child.get_edit_url }}" class="ico-after edit btn btn-grey">{% trans "Éditer" %}</a> | ||
| </li> | ||
| <li> | ||
| <a href="#move-{{ child.slug }}" class="open-modal ico-after move btn btn-grey">{% trans "Déplacer" %}</a> | ||
| </li> | ||
| <li> | ||
| {% include "tutorialv2/includes/sidebar/delete.part.html" with object=child additional_classes="ico-after cross btn btn-grey" %} | ||
| </li> | ||
| </ul> |
| <h2 class="title-with-buttons"> | ||
| {% url "content:create-extract" content.pk content.slug as create_extract_url %} | ||
| <a class="force-blue" href="{{ create_extract_url }}"> | ||
| {% trans "Ajouter une section" %} | ||
| </a> | ||
| <div class="actions-title"> | ||
| <span class="actions-title"> | ||
| <a href="{{ create_extract_url }}" class="ico-after more btn btn-grey"> | ||
| {% trans "Ajouter" %} | ||
| </a> | ||
| </div> | ||
| </span> |
# Conflicts: # .github/workflows/ci.yml # zds/tutorialv2/tests/tests_views/tests_addcontributor.py
bf08987 to
8a360e5
Compare


Fix #6633
J'ai configuré un tool qui est assez commun en python pour faire de la validation.
Ensuite j'ai commencé à faire les petits fix qui fallait.
QA:
Attendre que la CI passe, je pense.