Redmine Entr’ouvert: Demandeshttps://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342024-03-12T08:21:34ZRedmine Entr’ouvert
Redmine Passerelle - Development #88040 (Nouveau): API Entreprise : Le paramètre recipient est identique ...https://dev.entrouvert.org/issues/880402024-03-12T08:21:34ZAnaïs Ecuvillon
<p>Dans mon formulaire de démo de l'API Entreprise, j'ai une erreur que je découvre pour la première fois et que je ne comprends pas.</p>
<p><a class="external" href="https://demarches-vaucluse.hds.test.entrouvert.org/backoffice/studio/logged-errors/3/">https://demarches-vaucluse.hds.test.entrouvert.org/backoffice/studio/logged-errors/3/</a></p>
<p>[WSCALL] err: 1, err_desc: API-entreprise returned a non 200 status 422: {'errors': [{'code': '00211', 'title': 'Le paramètre recipient est identique au SIRET/SIREN appelé.', 'detail': "Le paramètre recipient est identique au SIRET/SIREN appelé, or ce paramètre de traçabilité doit correspondre au SIRET de l'organisation publique habilitée à utiliser la donnée. Si vous êtes une collectivité ou une</p>
<p>Pour moi recipient correspond au SIRET de la collectivité, il est envoyé dans l'appel de WS, exemple ici : <a class="external" href="https://demarches-vaucluse.hds.test.entrouvert.org/backoffice/settings/wscalls/api_entreprise_entreprises/">https://demarches-vaucluse.hds.test.entrouvert.org/backoffice/settings/wscalls/api_entreprise_entreprises/</a>
{{ api_entreprise_siret_organisation }} ayant pour valeur le SIRET de mon client configuré via l'app qui est identique au bénéficiaire de l'appel côté passerelle : <a class="external" href="https://passerelle-vaucluse.hds.test.entrouvert.org/api-entreprise/api-entreprise/">https://passerelle-vaucluse.hds.test.entrouvert.org/api-entreprise/api-entreprise/</a></p>
<p>J'ai toujours paramétré comme cela, est-ce qu'il y a un truc qui cloche ou est-ce du côté d'API Entreprise qu'il y a un problème ?</p> ldaptools - Development #86510 (Résolu (à déployer)): Abandonner le support python2https://dev.entrouvert.org/issues/865102024-02-03T14:07:11ZBenjamin Dauvergne
<p>.</p> Lasso - Development #86080 (Résolu (à déployer)): Adjust to structured error callback argument ch...https://dev.entrouvert.org/issues/860802024-01-24T14:15:24ZBenjamin Dauvergne
<p>Patch provided on the mailing list by Florian Weimer of RedHat.</p>
<pre>
diff --git a/lasso/lasso.c b/lasso/lasso.c
index 42b7d6bb2392525e..bc75f5e674b5e657 100644
--- a/lasso/lasso.c
+++ b/lasso/lasso.c
@@ -138,7 +138,13 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
#include "types.c"
static void
-lasso_xml_structured_error_func(G_GNUC_UNUSED void *user_data, xmlErrorPtr error)
+lasso_xml_structured_error_func(G_GNUC_UNUSED void *user_data,
+#if LIBXML_VERSION >= 21200
+ const xmlError *error
+#else
+ xmlErrorPtr error
+#endif
+ )
{
g_log("libxml2", G_LOG_LEVEL_DEBUG, "libxml2: %s", error->message);
}
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index bbc87d9f1e7eb20d..4d5fa78a28222f1a 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -1450,7 +1450,14 @@ lasso_concat_url_query(const char *url, const char *query)
}
}
-static void structuredErrorFunc (void *userData, xmlErrorPtr error) {
+static void structuredErrorFunc (void *userData,
+#if LIBXML_VERSION >= 21200
+ const xmlError *error
+#else
+ xmlErrorPtr error
+#endif
+ )
+{
*(int*)userData = error->code;
</pre> Publik - Documentation #81527 (Nouveau): documenter token_decimal / token_alphanum / token_checkhttps://dev.entrouvert.org/issues/815272023-09-22T15:37:12ZFrédéric Pétersfpeters@entrouvert.com
<p>#81505#note-5</p>
<blockquote>
<p>Il existe une fonction (non documentée) pour faire ça : {% token_alphanum n %} (où n est le nombre de caractères).<br />Par exemple,</p>
<p>{% token_alphanum 6 %}</p>
<p>génère un code alphanumérique de 6 caractères.</p>
</blockquote>
<p>(info également mentionnée dans #80992 et il me semble ailleurs récemment mais je n'ai pas retrouvé).</p>
<p>Développé dans <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Templatetag pour générer un jeton aléatoire (Fermé)" href="https://dev.entrouvert.org/issues/31268">#31268</a>, pour le détail :</p>
<pre>
templatetags: add tags for token generation/validation (#31268)
- add {% token_decimal n %} -> n digits random token
- add {% token_alphanum n %} -> n digits/uppercase-letters (without 0,1,I and O) random token
- token1|token_check:token2 -> verify token1 is equal to token2 insensitive to case and prefix/suffix spaces.
</pre> Publik - Development #78951 (Nouveau): Proposition graphique sur les boutons d'actions de formulairehttps://dev.entrouvert.org/issues/789512023-06-23T09:33:42ZBastien Harkins
<p>Ci-joint une première ébauche d'une iconographie pour les boutons d'actions de formulaire qui sont un peu tristounes avec que du texte.</p>
<p>Certains icones existent déjà par ailleurs (Dupliquer, Voir en ligne, Tableau de traitement) donc je les ai juste repris, et les autres doivent être mieux intégré à la charte actuelle (ou future) du Backoffice (Historique, Inspecteur, Enregistrement), mais pourraient être utilisé aussi ailleurs (boutons de workflow).</p> Combo - Development #73683 (Nouveau): Remplacer les Statistiques globales de wcs par les stats vi...https://dev.entrouvert.org/issues/736832023-01-23T08:53:26ZAnaïs Ecuvillon
<p>Dans l'objectif de remplacer la page Statistiques globales qui est native côté wcs :<br /><a class="external" href="https://demarches-aecuvillon.test.entrouvert.org/backoffice/management/statistics">https://demarches-aecuvillon.test.entrouvert.org/backoffice/management/statistics</a></p>
<p>par une page construite dans combo, j'ai construit ça :<br /><a class="external" href="https://agents-aecuvillon.test.entrouvert.org/manage/pages/27/">https://agents-aecuvillon.test.entrouvert.org/manage/pages/27/</a><br /><a class="external" href="https://agents-aecuvillon.test.entrouvert.org/statistiques/">https://agents-aecuvillon.test.entrouvert.org/statistiques/</a></p>
<p>Attention je parle bien uniquement de la page Stat globales et pas encore des pages pour chaque formulaire.</p>
Il ne manque pas grand chose, je liste ici ce qu'il reste à faire pour couvrir à iso-périmètre :
<ul>
<li>afficher le nombre de demandes avec un regroupement par formulaire : <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Stats : Pouvoir faire un regroupement par formulaire lorsque "Toutes les démarches" est sélection... (Fermé)" href="https://dev.entrouvert.org/issues/73546">#73546</a> ;</li>
<li>améliorer un peu le rendu de quelques cellules : <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Cellule Graphe de type tableau - afficher une seule ligne quand le total est identique (Fermé)" href="https://dev.entrouvert.org/issues/73685">#73685</a> et <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Cellule Graphe de type points - masquer le libellé Nombre de demandes (Fermé)" href="https://dev.entrouvert.org/issues/73686">#73686</a> (mais pas bloquant pour le remplacement).</li>
<li>le comportement du regroupement par mois n'est pas idéal pour une page de stats globales, on voudrait le même comportement que le regroupement pas heure ou par jour ( <del>pas encore créé de ticket pour ça</del> <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Cellule Graphe - après avoir choisi un intervalle, préciser le nombre d'éléments à afficher (Fermé)" href="https://dev.entrouvert.org/issues/78132">#78132</a>).</li>
</ul> w.c.s. - Development #72767 (Information nécessaire): pouvoir déterminer si le form_user provient...https://dev.entrouvert.org/issues/727672022-12-23T11:04:16ZPaul Marillonnet
<p>À la demande de CPFs, qui, de la même façon qu’un formulaire peut varier selon l’origine de la saisie (frontoffice ou backoffice), souhaitent conditionner l’affichage des formulaires au mode de création du compte.<br />Par exemple, si le compte a été créé à l’aide d’un numéro de téléphone, on pourrait afficher le champ correspondant obligatoire et le courriel optionnel (et inversement pour un compte créé avec une adresse courriel).</p> Intégrations graphiques Publik - Project management #72469 (Nouveau): Intégration graphique pour ...https://dev.entrouvert.org/issues/724692022-12-15T09:43:38ZBrice Mallet
<p>Intégration graphique à réaliser en s'inspirant de l'actuel intranet de la Ville (cf. #66965)</p> w.c.s. - Development #71939 (Information nécessaire): « ajouter une UI sur l'outil "grep" » https://dev.entrouvert.org/issues/719392022-12-01T16:31:01ZAlexis Mathias
<p>Contexte :<br />collectivité avec de nombreux formulaires.<br />cas d'usages<br />Être capable de lister tous les formulaires d'une instance.<br />Repérer les champs pouvant être sensibles au sein du formulaire (ex champs fichier ---> archivage, données personnelles)</p> Authentic 2 - Development #68607 (Nouveau): Préparation django 4 : DeprecationWarningshttps://dev.entrouvert.org/issues/686072022-09-01T07:57:44ZA. Berriot
<p>Cf tâche parente</p> Authentic 2 - Development #50861 (En cours): api memberships roles, ne pas écrire si pas de chang...https://dev.entrouvert.org/issues/508612021-02-04T12:26:38ZFrédéric Pétersfpeters@entrouvert.com
<p>Parce que ces API sont appelées en masse, et que le .add/.remove entraine visiblement .save() qui entraine provisionning, peut-être pourrait-on imaginer quelque chose de ce type :</p>
<pre>
@@ -916,12 +916,14 @@ class RoleMembershipAPI(ExceptionHandlerMixin, APIView):
raise PermissionDenied(u'User not allowed to change role')
def post(self, request, *args, **kwargs):
- self.role.members.add(self.member)
+ if self.member not in self.role.members:
+ self.role.members.add(self.member)
return Response({'result': 1, 'detail': _('User successfully added to role')},
status=status.HTTP_201_CREATED)
def delete(self, request, *args, **kwargs):
- self.role.members.remove(self.member)
+ if self.member in self.role.members:
+ self.role.members.remove(self.member)
return Response({'result': 1, 'detail': _('User successfully removed from role')},
status=status.HTTP_200_OK)
</pre>
<p>(pas testé, et peut-être qu'il serait souhaité quelque chose de plus compliqué dans hobo)</p> Authentic 2 - Development #26251 (En cours): avatar: cadrage côté client de l'image chargée https://dev.entrouvert.org/issues/262512018-09-08T11:10:58ZPaul Marillonnet
<p>Pour laisser l'usager préciser où sur l'image chargée l'avatar se situe</p> Authentic 2 - Development #20690 (En cours): Ajouter automatiquement des rôles correspondant aux OUhttps://dev.entrouvert.org/issues/206902017-12-14T11:01:03ZMikaël Atesmates@entrouvert.com
<p>Un rôle est créé pour chaque OU dès sa création, dont les membres sont mis à jour automatiquement selon les utilisateurs présents dans l'OU.</p>
<p>Ceci est nécessaire notamment pour le provisionning dans Publik.</p>
<p>Peut-être un lien avec <a class="issue tracker-2 status-1 priority-4 priority-default" title="Development: Créer automatiquement des rôles/groupes en se basant sur des attributs de l'utilisateur (Nouveau)" href="https://dev.entrouvert.org/issues/20689">#20689</a>.</p> Publik - Development #19630 (Nouveau): Avoir un domaine unique pour une instance de Publikhttps://dev.entrouvert.org/issues/196302017-10-24T16:50:37ZBenjamin Dauvergne
<p>Il faut donc pouvoir déployer une brique sur à un adresse <a class="external" href="https://moncompte.maville.fr/brique/">https://moncompte.maville.fr/brique/</a> plutôt que <a class="external" href="https://brique.moncompte.maville.fr/">https://brique.moncompte.maville.fr/</a>.</p>
<p>Le vieux ticket : <a class="external" href="https://dev.entrouvert.org/issues/15129">https://dev.entrouvert.org/issues/15129</a></p>
Actions techniques:
<ul>
<li>Dans hobo, pour modèle <code>ServiceBase</code> mettre dans @base_url, y mettre URL de base + SCRIPT_NAME</li>
<li>Dans hobo.multitenant/django-tenant-schemas:
<ul>
<li>permettre de trouver le tenant via <code>https:moncompte.maville.fr+mon+chemin</code></li>
<li>définir le schéma à moncompte_maville_fr__mon_chemin</li>
<li>au niveau de <code>TenantMiddleware</code> ajouter un champ <code>path=/mon/chemin/</code> à tous les cookies posés dans les <code>HttpResponse</code> sauf si le nom du cookie est dans <code>settings.TENANT_COOKIE_EXCLUDE</code> (ex. <code>A2_OPENED_SESSION</code> sera déclaré explicitement comme exclu dans le <code>debian_config.py</code> de <code>authentic2-multitenant</code>)</li>
</ul></li>
</ul>
Action globale:
<ul>
<li>mettre en place la création simple d'une plate-forme publique dans un conteneur pour lancer des tests d'intégration (cook avec chemin puis test de la plate-forme)</li>
<li>repérer tous les endroits qui construisent des URLs des autres briques voir si </li>
<li>définir un vhost et des regexp par défaut sur "location" pour diriger vers les briques /demarches([^/]*)/ -> wcs, etc.. ET/OU générer une configuration haproxy qui route vers les bonnes briques</li>
</ul> Hobo - Development #15579 (Solution proposée): Ajouter un session_id aux requêtes et aux logshttps://dev.entrouvert.org/issues/155792017-03-23T15:51:05ZBenjamin Dauvergne
<p>Le but est de pouvoir lier les messages de logs entre eux pour une même session utilisateur, mais sans éventé le véritable identifiant de session, on utilisera donc un hash de celui-ci. Une fonctionnalité équivalente arrive dans authentic.</p>