Redmine Entr’ouvert: Demandeshttps://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342024-03-29T08:35:42ZRedmine Entr’ouvert
Redmine w.c.s. - Development #88842 (Nouveau): Page Saisiehttps://dev.entrouvert.org/issues/888422024-03-29T08:35:42ZBastien Harkins
<p>La nouvelle page de Saisie est beaucoup plus rapide, c'est bien : <br /><a class="external" href="https://demarches-montoulouse.eservices.toulouse-metropole.fr/backoffice/submission">https://demarches-montoulouse.eservices.toulouse-metropole.fr/backoffice/submission</a></p>
<p>Le titre h2 "Saisie" est un peu redondant avec le titre du fil d'ariane, juste au-dessus.</p>
<p>Suggestion : "Nouvelle saisie" ou plus explicite "Nouvelle saisie de formulaire"</p>
<p>Et dessous il y a la liste des formulaires, c'est bien clair.</p>
<p>Sur la page suivante : "Saisies entamées" : <a class="external" href="https://demarches-montoulouse.eservices.toulouse-metropole.fr/backoffice/submission/pending">https://demarches-montoulouse.eservices.toulouse-metropole.fr/backoffice/submission/pending</a></p>
<p>Le titre est plus clair, <br />Je remarque que "l'avancement" vers une sous-page n'apparaît pas dans le fil d'ariane (pas nécessaire, juste une remarque)<br />Bug par contre sur cette page : quand on clique sur ordonner les colonnes rien ne se passe, idem en cliquant sur des numéros de pages.</p>
<p>Parce qu'on a trop de données en tant qu'admin?</p>
<p>Aussi on ne peut pas filtrer/chercher sur un type de formulaire ou un agent à la saisie...</p> Chrono - Bug #88806 (Nouveau): ics, TZ inconnue '(UTC+01:00) Bruxelles, Copenhague, Madrid, Paris'https://dev.entrouvert.org/issues/888062024-03-28T10:19:07ZSentry Io
<p><a class="external" href="https://sentry.entrouvert.org/entrouvert/publik/issues/123642/">https://sentry.entrouvert.org/entrouvert/publik/issues/123642/</a></p>
<pre>
'(UTC+01:00) Bruxelles, Copenhague, Madrid, Paris'
</pre> Authentic 2 - Development #88789 (Nouveau): auth_fc : faire que le paramétrage par défaut soit le...https://dev.entrouvert.org/issues/887892024-03-27T14:54:46ZPaul Marillonnet
<p>Actuellement, le mapping par défaut<br /><pre>
'USER_INFO_MAPPINGS',
{
'last_name': {
'ref': 'family_name',
'verified': True,
},
'first_name': {
'ref': 'given_name',
'verified': True,
},
'email': {
'ref': 'email',
'if-empty': True,
'tag': 'email',
},
'email_verified': {
'ref': 'email',
'translation': 'notempty',
'if-tag': 'email',
},
'title': {
'ref': 'gender',
'translation': 'simple',
'translation_simple': {
'female': pgettext_lazy('title', 'Mrs'),
'male': pgettext_lazy('title', 'Mr'),
},
'verified': True,
},
},
</pre><br />où chaque occurrence de <code>verified</code> implique que le champ n’est pas modifiable par l’usager.<br />Il y a bien des clients qui en effet insistent pour que une identité issue de FC ne soit pas éditable dans Publik, mais je pense qu’il faudrait que ça reste au cas par cas, et que le cas général soit le non-verrouillage de ces attributs.</p> Passerelle - Development #88761 (Nouveau): Partitionner la table ResourceLoghttps://dev.entrouvert.org/issues/887612024-03-27T10:58:23ZPierre Ducroquet
<p>Cette table contient des données historisées, et qui sont régulièrement purgées.<br />L'autovacuum est supposé aider ce genre de situation, mais avec le modèle en multi-tenant, il est nécessaire de ne pas compter que sur lui et de l'assister un peu (la table se retrouve avec un bloat significatif).<br />De plus, même avec l'autovacuum, de nombreuses entrées invalides finissent par augmenter la taille de l'index.<br />Je voudrais donc que l'on change la table base_resourcelog afin qu'elle soit partitionnée.<br />J'envisage d'avoir une partition par semaine, avec un cron côté passerelle qui crée 2 partitions par avance, et supprime les anciennes partitions quand elles sont vides.<br />Le partitionnement PostgreSQL est transparent pour Django, mais il existe dans django-postgres-extra tout un ensemble d'éléments pour automatiser le fonctionnement. Cf. <a class="external" href="https://django-postgres-extra.readthedocs.io/en/master/table_partitioning.html">https://django-postgres-extra.readthedocs.io/en/master/table_partitioning.html</a><br />Est-ce-que l'on peut utiliser ces outils dans passerelle, ou est-ce-que je vois pour mettre en place manuellement le partitionnement ?</p> w.c.s. - Development #88675 (Nouveau): Permettre que le filtre "Statuts à afficher" soit en haut ...https://dev.entrouvert.org/issues/886752024-03-26T10:46:11ZEmmanuel Cazenaveecazenave@entrouvert.com
<p>Sur une vue de traitement ce filtre est tout en bas, c'est le dernier filtrer présenté.</p>
<p>On peut avoir envie qu'il apparaisse en premier, en haut de la pile.</p> Intégrations graphiques Publik - Support #88644 (Nouveau): theme dsfr : contraste input et couleu...https://dev.entrouvert.org/issues/886442024-03-25T14:57:58ZThomas Jundtjund@entrouvert.com
<p>extrait du rapport d'audit a11Y du mineduc :</p>
<blockquote>
<p>Le texte (placeholder) dans le champ de formulaire n'est pas suffisamment contrasté avec l'arrière-plan. Son ratio de contraste est actuellement de 3,5:1 au lieu de 4:1 au moins</p>
</blockquote>
<p>Après vérification sur le design système de référence, l'arrière plan d'un input doit être `#eee` et la couleur du placeholder `#666`<br /><a class="external" href="https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/barre-de-recherche">https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/barre-de-recherche</a></p>
<p>Il manque également une bordure au champ de saisi de la cellule code de suivi :</p>
<blockquote>
<p>Les bordures du champ de formulaire ne sont pas suffisamment contrastées avec l'arrière-plan. Leur ratio de contraste est actuellement de 1,1:1 au lieu de 3:5 au moins</p>
</blockquote> Intégrations graphiques Publik - Support #88642 (Nouveau): theme dsfr: header, chevauchement ti...https://dev.entrouvert.org/issues/886422024-03-25T14:29:47ZThomas Jundtjund@entrouvert.com
<p>Extrait du rapport a11y pour mineduc</p>
<blockquote>
<p>Lorsque la taille des caractères est augmentée à 200%, les liens "Connexion" / "Inscription" chevauchent l'adresse URL</p>
</blockquote>
<p>À noter que le chevauchement ne se produit que si l'option "zoom texte seulement" est activé dans les paramètres du navigateur et que cette option n'est possible qu'avec firefox.</p> Passerelle - Bug #88594 (Nouveau): CalDAV l'ajout de UNTIL à RRULE provoque un bug dans EGWhttps://dev.entrouvert.org/issues/885942024-03-25T09:04:55ZYann Weber
<p>Même problème que <a class="issue tracker-1 status-4 priority-4 priority-default closed" title="Bug: CalDAV problèmes lors de la modification du champ RRULE (Solution déployée)" href="https://dev.entrouvert.org/issues/88417">#88417</a>.</p>
<p>Cependant, dans <a class="issue tracker-1 status-4 priority-4 priority-default closed" title="Bug: CalDAV problèmes lors de la modification du champ RRULE (Solution déployée)" href="https://dev.entrouvert.org/issues/88417">#88417</a> le problème avait été testé/détecté/résolu sur une "grosse" modification du <code>RRULE</code> (typiquement la modification du jour de récurrence <code>RRULE/BYDAY</code> couplé à l'ajout d'un champ <code>RRULE/UNTIL</code>).</p>
<p>Malheureusement, si <a class="issue tracker-1 status-4 priority-4 priority-default closed" title="Bug: CalDAV problèmes lors de la modification du champ RRULE (Solution déployée)" href="https://dev.entrouvert.org/issues/88417">#88417</a> résout bien le problème, il reste entier quand la seule modification d'un événement consiste en l'ajout du <code>RRULE/UNTIL</code> : c'est dommage c'est typiquement le cas d'usage qu'on a avec les jours off...</p> Publik Installation Développeur - Documentation #88420 (Nouveau): Mettre à jour la documentation ...https://dev.entrouvert.org/issues/884202024-03-20T16:51:33ZFrédéric Pétersfpeters@entrouvert.com
<blockquote>
<p>Pré-requis système</p>
<p>Debian bullseye (stable) ou bookworm (testing) : (...)</p>
</blockquote>
<p>Il y aurait à mettre à jour pour la situation actuelle (bookworm stable, trixie testing), notamment la commande initiale</p>
<pre>
sudo apt install git ansible make
</pre>
<p>serait à revoir, le paquet ansible n'existe plus dans trixie.</p>
<p>Une fois remplacé par ansible-core, ça échoue sur</p>
<pre>
16:55:15 ERROR! couldn't resolve module/action 'postgresql_user'. This often indicates a misspelling, missing collection, or incorrect module path.
</pre>
<p>(cf le build <a class="external" href="https://jenkins.entrouvert.org/job/gitea/job/publik-devinst/job/wip%252F78771-trixie/10/consoleFull">https://jenkins.entrouvert.org/job/gitea/job/publik-devinst/job/wip%252F78771-trixie/10/consoleFull</a> de la branche de <a class="issue tracker-2 status-2 priority-4 priority-default" title="Development: jenkins, retirer bullseye, ajouter trixie (En cours)" href="https://dev.entrouvert.org/issues/78771">#78771</a> qui ajoute le test sur trixie).</p> Passerelle - Development #88372 (Nouveau): connecteur proxy, ajouter la possibilité d'oauth2https://dev.entrouvert.org/issues/883722024-03-19T16:57:55ZFrédéric Pétersfpeters@entrouvert.com
<p>Avec a priori des paramètres oauth_token_url, oauth_username, oauth_password et oauth_scopes.</p>
<p>Ça pourrait venir après une factorisation du code qui existe dans une série de connecteurs (cf git grep grant_type.*client_credentials).</p> Combo - Development #88327 (Nouveau): filtre |has_role, fonctionner sur base du slughttps://dev.entrouvert.org/issues/883272024-03-19T09:52:00ZFrédéric Pétersfpeters@entrouvert.com
<p>Actuellement,</p>
<pre>
return user.groups.filter(name=groupname).exists()
</pre>
<p>il serait utile que le filtre fonctionne aussi sur base du slug.</p> w.c.s. - Development #88276 (Nouveau): Barre latérale de traitement, pouvoir choisir l'ordre des ...https://dev.entrouvert.org/issues/882762024-03-18T09:24:02ZAnaïs Ecuvillon
<p>Avec l'arrivée de l'écran de paramétrage du traitement des formulaires = pouvoir paramétrer ce qui est affiché en barre latérale.</p>
<p>Je me dis que la suite logique serait de pouvoir choisir l'ordre dans lequel on va souhaiter voir s'afficher ou non les informations.<br />Par exemple, pour remonter le gabarit personnalisé.<br />Avec un simple glisser déposer comme pour les items d'un champ de liste simple.</p> Authentic 2 - Bug #88103 (Nouveau): Tests en erreur en localhttps://dev.entrouvert.org/issues/881032024-03-13T11:09:31ZYann Weber
<p>J'ai 4 tests qui échouent en local. Si je comprend bien, il s'agit de problèmes de tri et de comptage de requêtes SQL.</p>
<p>La machine ou les tests échouent est une debian unstable avec <code>psql (PostgreSQL) 16.2 (Debian 16.2-1)</code></p>
<pre>
FAILED tests/test_custom_user.py::test_fts_last_name - AssertionError: assert [('ROSSET', '...l', 0.0), ...] == [('ROSSET', '...l', 0.0), ...]
E AssertionError: assert [('ROSSET', '...l', 0.0), ...] == [('ROSSET', '...l', 0.0), ...]
E
E At index 1 diff: ('ROSSET', 'JEAN PIERRE', 0.0) != ('ROSSET', 'Jean-Claude', 0.0)
E Use -v to get more diff
tests/test_custom_user.py:188: AssertionError
</pre><br /><pre>
FAILED tests/test_role_manager.py::test_role_members_user_role_mixed_field_choices - AssertionError: assert ['Default org...al unit', ...] == ['Default org...al unit', ...]
E AssertionError: assert ['Default org...al unit', ...] == ['Default org...al unit', ...]
E
E At index 8 diff: 'OU1 - Roles - OU1' != 'OU1 - role_ou1'
E Use -v to get more diff
tests/test_role_manager.py:611: AssertionError
</pre><br /><pre>
FAILED tests/test_user_manager.py::test_user_table_num_queries - assert 21 == 23
E assert 21 == 23
E + where 21 = len([{'sql': 'SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM ...OM "a2_rbac_organizationalunit" WHERE
NOT "a2_rbac_organizationalunit"."show_username" LIMIT 1', 'time': '0.000'}, ...])
E + where [{'sql': 'SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM ...OM "a2_rbac_organizationalunit" WHERE NOT "a2
_rbac_organizationalunit"."show_username" LIMIT 1', 'time': '0.000'}, ...] = <django.test.utils.CaptureQueriesContext object at 0x7f7febe7df10>.captured_queries
tests/test_user_manager.py:581: AssertionError
</pre><br /><pre>
FAILED tests/test_role_manager.py::test_role_table_ordering - AssertionError: assert ['A role', 'B...le', 'É role'] == ['a role', 'A...le', 'Z role']
E AssertionError: assert ['A role', 'B...le', 'É role'] == ['a role', 'A...le', 'Z role']
E
E At index 0 diff: 'A role' != 'a role'
E Use -v to get more diff
tests/test_role_manager.py:738: AssertionError
</pre> Combo - Bug #88086 (Nouveau): delete d'une page: error (IntegrityError: update or delete on table...https://dev.entrouvert.org/issues/880862024-03-12T16:53:59ZSentry Io
<p><a class="external" href="https://sentry.entrouvert.org/entrouvert/publik/issues/122935/">https://sentry.entrouvert.org/entrouvert/publik/issues/122935/</a></p>
<pre>
ForeignKeyViolation: update or delete on table "data_page" violates foreign key constraint "search_indexedcell_page_id_2107e76e_fk_data_page_id" on table "search_indexedcell"
DETAIL: Key (id)=(168) is still referenced from table "search_indexedcell".
File "django/db/backends/base/base.py", line 242, in _commit
return self.connection.commit()
IntegrityError: update or delete on table "data_page" violates foreign key constraint "search_indexedcell_page_id_2107e76e_fk_data_page_id" on table "search_indexedcell"
DETAIL: Key (id)=(168) is still referenced from table "search_indexedcell".
(12 additional frame(s) were not displayed)
...
File "django/utils/asyncio.py", line 33, in inner
return func(*args, **kwargs)
File "django/db/backends/base/base.py", line 266, in commit
self._commit()
File "django/db/backends/base/base.py", line 241, in _commit
with self.wrap_database_errors:
File "django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "django/db/backends/base/base.py", line 242, in _commit
return self.connection.commit()
</pre> Publik - Development #88075 (Nouveau): avoir un déploiement sur un fuseau horaire différent du se...https://dev.entrouvert.org/issues/880752024-03-12T15:39:40ZThomas Noël
<p>Actuellement, au moins au niveau des application Django, le fuseau est défini dans le settings.TIME_ZONE</p>
<p>C'est celui qu'adoptent tous les tenants.</p>
<p>Poser un <code>{"TIME_ZONE": "America/Los_Angeles"}</code> dans le settings.json ne change rien, le tenant reste sur le TIME_ZONE général.</p>
<p>A voir comment on pourrait gérer cela (et voir aussi dans w.c.s.).</p>