wip/72542-drafts-stats (#72542) #1100

Merged
ecazenave merged 1 commits from wip/72542-drafts-stats into main 2024-03-29 09:10:52 +01:00
Owner
No description provided.
ecazenave added 3 commits 2024-02-06 18:19:01 +01:00
ecazenave force-pushed wip/72542-drafts-stats from 1cd4659dff to a6dcce8167 2024-02-08 16:29:21 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from a6dcce8167 to 0343106640 2024-02-08 18:21:59 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 0343106640 to c799344bf8 2024-02-09 12:29:24 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from c799344bf8 to 2b26cc3c67 2024-02-09 12:33:57 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 2b26cc3c67 to 851a1d751d 2024-02-09 15:56:48 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 851a1d751d to 5f3688d603 2024-02-22 16:33:54 +01:00 Compare
ecazenave changed title from WIP: wip/72542-drafts-stats to wip/72542-drafts-stats 2024-02-22 17:10:01 +01:00
Author
Owner
No description provided.
fpeters requested changes 2024-02-27 16:38:52 +01:00
Dismissed
@ -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%'
Owner

En anglais l'usage est généralement de ne pas avoir d'espace insécable entre le nombre et le signe pourcent.

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')]):
Owner

Pour la récupération en masse il faut plutôt passer par select_iterator(..., itersize=200), pour ne pas explosre la mémoire.

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'):
Owner

unkown → unknown

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'])
Owner

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.

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>
Owner

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.

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>
Owner

À 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.

À 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.
Author
Owner

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.

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}}&nbsp;%</td>
Owner

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.

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>
Owner

Pour la largeur par contre pas de problème à laisser toutes les décimales.

Pour la largeur par contre pas de problème à laisser toutes les décimales.
Author
Owner

Non ça ne fonctionne pas avec les décimales.

Non ça ne fonctionne pas avec les décimales.
Owner

Non ça ne fonctionne pas avec les décimales.

Vraisemblablement parce que ça sort avec la virgule comme séparateur de décimal.

> 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>
Owner

Terminer la phrase par un point, et peut-être reformuler façon "There are currently no drafts for this form.".

Terminer la phrase par un point, et peut-être reformuler façon "There are currently no drafts for this form.".
fpeters changed title from wip/72542-drafts-stats to wip/72542-drafts-stats (#72542) 2024-02-27 16:52:21 +01:00
fpeters dismissed fpeters’s review 2024-02-29 14:40:51 +01:00
Reason:

commentaires posés

fpeters requested changes 2024-02-29 14:41:19 +01:00
Dismissed
fpeters left a comment
Owner

(commentaires posés mais le statut ne l'indiquait plus)

(commentaires posés mais le statut ne l'indiquait plus)
ecazenave force-pushed wip/72542-drafts-stats from 5f3688d603 to d238bc07db 2024-03-04 15:33:54 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from d238bc07db to fda1bf7cad 2024-03-04 18:24:17 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from fda1bf7cad to e5dace24d4 2024-03-05 15:22:49 +01:00 Compare
Author
Owner

Toutes les remarques prises en compte.

Toutes les remarques prises en compte.
ecazenave requested review from fpeters 2024-03-05 15:45:31 +01:00
fpeters requested changes 2024-03-05 16:45:34 +01:00
Dismissed
@ -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'])
Owner

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).

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>
Owner

On peut éviter le jeu de piste et fournir la valeur plutôt qu'écrire "valeur par défaut" ?

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 }}">
Owner

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).

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).
ecazenave force-pushed wip/72542-drafts-stats from e5dace24d4 to 54a6f9346f 2024-03-13 14:22:50 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 54a6f9346f to 33685ecd28 2024-03-13 14:57:14 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 33685ecd28 to 551fe00b00 2024-03-14 11:25:49 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 551fe00b00 to 9f3aad7488 2024-03-14 11:55:29 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 9f3aad7488 to 11fa2a312d 2024-03-14 12:06:08 +01:00 Compare
Author
Owner

On peut éviter le jeu de piste et fournir la valeur plutôt qu'écrire "valeur par défaut" ?

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.

> On peut éviter le jeu de piste et fournir la valeur plutôt qu'écrire "valeur par défaut" ? 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.
Owner

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.

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.
Author
Owner

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.

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.
ecazenave force-pushed wip/72542-drafts-stats from 11fa2a312d to 9f0b6a202a 2024-03-15 17:33:23 +01:00 Compare
ecazenave force-pushed wip/72542-drafts-stats from 9f0b6a202a to 78144fe00b 2024-03-18 15:23:46 +01:00 Compare
Author
Owner

J'ai une nouvelle réflexion,

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).

> J'ai une nouvelle réflexion, 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).
ecazenave requested review from fpeters 2024-03-18 15:32:01 +01:00
fpeters approved these changes 2024-03-26 11:02:30 +01:00
ecazenave merged commit 418787f078 into main 2024-03-29 09:10:52 +01:00
ecazenave deleted branch wip/72542-drafts-stats 2024-03-29 09:10:52 +01:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#1100
No description provided.