wip/72542-drafts-stats (#72542) #1100
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/72542-drafts-stats"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
1cd4659dff
toa6dcce8167
a6dcce8167
to0343106640
0343106640
toc799344bf8
c799344bf8
to2b26cc3c67
2b26cc3c67
to851a1d751d
851a1d751d
to5f3688d603
WIP: wip/72542-drafts-statsto wip/72542-drafts-stats@ -4673,0 +4716,4 @@
resp = app.get('/backoffice/forms/%s/inspect' % formdef.id)
assert resp.pyquery('div#inspect-drafts tr#0').length == 1
assert resp.pyquery('div#inspect-drafts tr#0 td.label').text() == '1st page'
assert resp.pyquery('div#inspect-drafts tr#0 td.percent').text() == '20.0\xa0%'
En anglais l'usage est généralement de ne pas avoir d'espace insécable entre le nombre et le signe pourcent.
@ -1773,0 +1775,4 @@
temp_drafts = defaultdict(int)
total_drafts = 0
drafts = {}
for formdata in self.formdef.data_class().select(clause=[Equal('status', 'draft')]):
Pour la récupération en masse il faut plutôt passer par select_iterator(..., itersize=200), pour ne pas explosre la mémoire.
@ -1773,0 +1780,4 @@
temp_drafts[page_id] += 1
total_drafts += 1
if total_drafts:
for key in ('_unkown', '_confirmation_page', '_first_page'):
unkown → unknown
@ -1773,0 +1797,4 @@
draft_percent = 100 * draft_data['total'] / total_drafts
draft_data['percent'] = draft_percent
draft_data['percent_rounded'] = '%d' % draft_percent
context['drafts'] = sorted(drafts.items(), reverse=True, key=lambda x: x[1]['total'])
Il me semble qu'il serait plus lisible d'avoir les pages dans leur ordre d'apparition, le rendu graphique avec la barre permettra facilement de visualiser la taille.
@ -12,2 +12,4 @@
<button role="tab" aria-selected="false" aria-controls="inspect-options" id="tab-options" tabindex="-1">{% trans "Options" %}</button>
<button role="tab" aria-selected="false" aria-controls="inspect-fields" id="tab-fields" tabindex="-1">{% trans "Fields" %}</button>
{% if not snapshots_diff %}
<button role="tab" aria-selected="false" aria-controls="inspect-drafts" id="tab-drafts" tabindex="-1">{% trans "Drafts" %}</button>
Attention cette page d'inspect est également utilisée pour les modèles de fiches, il faudrait sans doute ne pas reprendre cet onglet dans ce cas.
@ -91,0 +94,4 @@
<div id="inspect-drafts" role="tabpanel" tabindex="0" aria-labelledby="tab-drafts" hidden>
{% if drafts %}
<table class="stats">
<thead><tr><th colspan="4">{% trans "Page" %}</th></tr></thead>
À la place de juste "Page" il pourrait y avoir une introduction (paragraphe dans un div infonotice) pour expliciter un peu ce qui est sur cette page, éventuellement sous forme de warning (warningnotice) dans le cas de durée de vie des brouillons courte, type moins de 5 jours, pour dire que ça ne représente sans doute pas grand chose.
J'ai mis "Statistics on drafts by page." pour la description et je me contente ensuite de rappeler la durée de vie des brouillons.
@ -91,0 +111,4 @@
{{ draft_data.field.ellipsized_label }}
{% endif %}
</td>
<td class="percent"> {{draft_data.percent}} %</td>
cf commentaire sur les tests, ça devrait passer par gettext pour avoir l'espace insécable en français, pas en anglais.
Ça permettrait aussi de formatter le nombre pour limiter les décimales.
@ -91,0 +116,4 @@
</tr>
<tr>
<td class="bar" colspan="3">
<span style="width: {{draft_data.percent_rounded}}%"></span>
Pour la largeur par contre pas de problème à laisser toutes les décimales.
Non ça ne fonctionne pas avec les décimales.
Vraisemblablement parce que ça sort avec la virgule comme séparateur de décimal.
@ -91,0 +125,4 @@
</tbody>
</table>
{% else %}
<p>{% trans "No drafts found for this form" %}</p>
Terminer la phrase par un point, et peut-être reformuler façon "There are currently no drafts for this form.".
wip/72542-drafts-statsto wip/72542-drafts-stats (#72542)commentaires posés
(commentaires posés mais le statut ne l'indiquait plus)
5f3688d603
tod238bc07db
d238bc07db
tofda1bf7cad
fda1bf7cad
toe5dace24d4
Toutes les remarques prises en compte.
@ -1778,0 +1816,4 @@
draft_data['percent'] = '%.1f' % draft_percent
draft_data['percent_rounded'] = '%d' % draft_percent
context['drafts'] = sorted(drafts.items(), key=lambda x: x[1]['page_no'])
Je ne me baserais pas du tout sur page_no, mais sur l'ordre actuel des pages. (avec page_no avec les pages conditionnelles on peut avoir les pages qui in fine ne sont pas dans l'ordre).
@ -91,0 +95,4 @@
{% if drafts %}
<div class="infonotice">
<p>{% trans "Statistics on drafts by page." %}</p>
<p>{% trans "Lifespan of drafts (in days)" %}{% trans ":" %} {{ formdef.drafts_lifespan|default_if_none:_('default value') }}.</p>
On peut éviter le jeu de piste et fournir la valeur plutôt qu'écrire "valeur par défaut" ?
@ -91,0 +102,4 @@
{% for page_drafts in drafts %}
{% with page_id=page_drafts.0 draft_data=page_drafts.1 %}
{% if draft_data.total %}
<tr id="{{ page_id }}">
Formellement c'est désormais autorisé mais en pratique ça peut poser des problèmes donc je verrais bien un préfixe à l'attribut id (ou l'utilisation d'un autre attribut, type data-page-id, qui n'aura pas de signification particulière).
e5dace24d4
to54a6f9346f
54a6f9346f
to33685ecd28
33685ecd28
to551fe00b00
551fe00b00
to9f3aad7488
9f3aad7488
to11fa2a312d
Un peu sec, surtout considérant que je ne fais que marcher dans tes pas : https://git.entrouvert.org/entrouvert/wcs/src/branch/main/wcs/templates/wcs/backoffice/formdef-inspect.html#L65
Néanmoins pris en compte ainsi que toutes les autres remarques.
Désolé pour le ton, ça ne se voulait pas sec.
J'ai une nouvelle réflexion, ça peut aller dans un autre ticket ou ici (je te laisse voir) mais il me semble que ça serait nécessaire pour que ces informations soient utiles : il faudrait avoir (en complément ?) les % ramenés au nombre total de demandes déposées sur le temps de vie des brouillons, pour relativiser les nombres fournis.
J'ai crée https://dev.entrouvert.org/issues/88198 pour discuter (parce c'est déjà asses long ici) mais j'intégrerais dans cette PR je pense.
11fa2a312d
to9f0b6a202a
9f0b6a202a
to78144fe00b
Voilà j'ai ajouté ça dan un nouveau tableau (ajouter des nouvelles colonnes dans le tableau existant donnait un truc tout écrasé sur la droit, très moche).