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> Authentic 2 - Development #84914 (Nouveau): Supprimer les anciennes migrationshttps://dev.entrouvert.org/issues/849142023-12-19T11:46:33ZBenjamin Dauvergne
<p>La liste suivante :<br /><pre>
./src/authentic2_idp_cas/migrations/0011_remove_old_id_restore_proxy.py
./src/authentic2_idp_cas/migrations/0014_auto_20151204_1606.py
./src/authentic2_idp_cas/migrations/0004_create_services.py
./src/authentic2_idp_cas/migrations/0013_delete_model_service_proxy2.py
./src/authentic2_idp_cas/migrations/0008_alter_foreign_keys.py
./src/authentic2_idp_cas/migrations/0005_alter_field_service_ptr.py
./src/authentic2_idp_cas/migrations/0006_copy_proxy_m2m.py
./src/authentic2_idp_cas/migrations/0003_auto_20150415_2223.py
./src/authentic2_idp_cas/migrations/0001_initial.py
./src/authentic2_idp_cas/migrations/0007_alter_service.py
./src/authentic2_idp_cas/migrations/0015_auto_20170406_1825.py
./src/authentic2_idp_cas/migrations/0009_alter_related_models.py
./src/authentic2_idp_cas/migrations/0010_copy_service_ptr_id_to_old_id.py
./src/authentic2_idp_cas/migrations/0012_copy_service_proxy_to_m2m.py
./src/authentic2_idp_cas/migrations/0002_auto_20150410_1438.py
./src/authentic2_auth_oidc/migrations/0016_auto_20221019_1148.py
./src/authentic2_auth_oidc/migrations/0007_auto_20200317_1732.py
./src/authentic2_auth_oidc/migrations/0013_auto_20220726_1714.py
./src/authentic2_auth_oidc/migrations/0003_oidcprovider_show.py
./src/authentic2_auth_oidc/migrations/0013_synchronization_fields.py
./src/authentic2_auth_oidc/migrations/0008_auto_20201102_1142.py
./src/authentic2_auth_oidc/migrations/0001_initial.py
./src/authentic2_auth_oidc/migrations/0006_oidcprovider_claims_parameter_supported.py
./src/authentic2_auth_oidc/migrations/0002_oidcprovider_token_revocation_endpoint.py
./src/authentic2_auth_oidc/migrations/0009_oidcprovider_baseauthenticator_ptr.py
./src/authentic2_auth_oidc/migrations/0011_auto_20220413_1632.py
./src/authentic2_auth_oidc/migrations/0014_oidcprovider_passive_authn_supported.py
./src/authentic2_auth_oidc/migrations/0012_auto_20220524_1147.py
./src/authentic2_auth_oidc/migrations/0004_auto_20171017_1522.py
./src/authentic2_auth_oidc/migrations/0010_auto_20220413_1622.py
./src/authentic2_auth_oidc/migrations/0015_auto_20220922_1152.py
./src/authentic2_auth_oidc/migrations/0005_oidcprovider_slug.py
./src/authentic2_auth_oidc/migrations/0014_auto_20220920_1614.py
./src/authentic2_idp_oidc/migrations/0004_auto_20170324_1426.py
./src/authentic2_idp_oidc/migrations/0009_auto_20180313_1156.py
./src/authentic2_idp_oidc/migrations/0010_oidcclaim.py
./src/authentic2_idp_oidc/migrations/0020_add_pkce_fields.py
./src/authentic2_idp_oidc/migrations/0017_oidcaccesstoken_profile.py
./src/authentic2_idp_oidc/migrations/0011_auto_20180808_1546.py
./src/authentic2_idp_oidc/migrations/0006_auto_20170720_1054.py
./src/authentic2_idp_oidc/migrations/0012_auto_20200122_2258.py
./src/authentic2_idp_oidc/migrations/0019_always_save_authorization.py
./src/authentic2_idp_oidc/migrations/0015_auto_20220304_0738.py
./src/authentic2_idp_oidc/migrations/0001_initial.py
./src/authentic2_idp_oidc/migrations/0014_auto_20201126_1812.py
./src/authentic2_idp_oidc/migrations/0021_oidcclient_pkce_code_challenge.py
./src/authentic2_idp_oidc/migrations/0016_remove_oidcclient_perform_sub_profile_substitution.py
./src/authentic2_idp_oidc/migrations/0003_auto_20170329_1259.py
./src/authentic2_idp_oidc/migrations/0008_oidcclient_idtoken_duration.py
./src/authentic2_idp_oidc/migrations/0007_oidcclient_has_api_access.py
./src/authentic2_idp_oidc/migrations/0013_auto_20200630_1007.py
./src/authentic2_idp_oidc/migrations/0002_auto_20170121_2346.py
./src/authentic2_idp_oidc/migrations/0005_authorization_mode.py
./src/authentic2_idp_oidc/migrations/0018_alter_oidcaccesstoken_uuid.py
./src/authentic2_auth_saml/migrations/0012_move_add_role_action.py
./src/authentic2_auth_saml/migrations/0006_migrate_jsonfields.py
./src/authentic2_auth_saml/migrations/0007_remove_jsonfields.py
./src/authentic2_auth_saml/migrations/0009_statically_rename_attributes.py
./src/authentic2_auth_saml/migrations/0004_remove_samlauthenticator_login_hints.py
./src/authentic2_auth_saml/migrations/0003_auto_20220726_1713.py
./src/authentic2_auth_saml/migrations/0010_delete_renameattributeaction.py
./src/authentic2_auth_saml/migrations/0008_auto_20220913_1105.py
./src/authentic2_auth_saml/migrations/0013_metadata_file_to_db.py
./src/authentic2_auth_saml/migrations/0001_initial.py
./src/authentic2_auth_saml/migrations/0014_remove_samlauthenticator_metadata_path.py
./src/authentic2_auth_saml/migrations/0011_alter_authenticator_foreign_key.py
./src/authentic2_auth_saml/migrations/0002_auto_20220608_1559.py
./src/authentic2_auth_saml/migrations/0005_addroleaction_renameattributeaction_samlattributelookup_setattributeaction.py
./src/authentic2/a2_rbac/migrations/0029_use_unique_constraints.py
./src/authentic2/a2_rbac/migrations/0004_auto_20150523_0028.py
./src/authentic2/a2_rbac/migrations/0022_auto_20200402_1101.py
./src/authentic2/a2_rbac/migrations/0021_auto_20200317_1514.py
./src/authentic2/a2_rbac/migrations/0007_auto_20150708_1337.py
./src/authentic2/a2_rbac/migrations/0035_populate_role_fields.py
./src/authentic2/a2_rbac/migrations/0028_ou_home_url.py
./src/authentic2/a2_rbac/migrations/0011_auto_20160209_1511.py
./src/authentic2/a2_rbac/migrations/0018_organizationalunit_user_add_password_policy.py
./src/authentic2/a2_rbac/migrations/0008_auto_20150810_1953.py
./src/authentic2/a2_rbac/migrations/0024_fix_self_admin_perm.py
./src/authentic2/a2_rbac/migrations/0032_copy_operations_data.py
./src/authentic2/a2_rbac/migrations/0020_partial_unique_index_on_name.py
./src/authentic2/a2_rbac/migrations/0033_remove_old_operation_fk.py
./src/authentic2/a2_rbac/migrations/0009_partial_unique_index_on_permission.py
./src/authentic2/a2_rbac/migrations/0026_add_roleparenting_soft_delete.py
./src/authentic2/a2_rbac/migrations/0034_new_role_fields.py
./src/authentic2/a2_rbac/migrations/0005_auto_20150526_1406.py
./src/authentic2/a2_rbac/migrations/0030_organizationalunit_min_password_strength.py
./src/authentic2/a2_rbac/migrations/0019_organizationalunit_show_username.py
./src/authentic2/a2_rbac/migrations/0017_organizationalunit_user_can_reset_password.py
./src/authentic2/a2_rbac/migrations/0001_initial.py
./src/authentic2/a2_rbac/migrations/0036_delete_roleattribute.py
./src/authentic2/a2_rbac/migrations/0013_auto_20170629_0007.py
./src/authentic2/a2_rbac/migrations/0002_role_external_id.py
./src/authentic2/a2_rbac/migrations/0031_new_operation_model.py
./src/authentic2/a2_rbac/migrations/0016_auto_20171208_1429.py
./src/authentic2/a2_rbac/migrations/0027_auto_20220331_1521.py
./src/authentic2/a2_rbac/migrations/0027_auto_20211213_0949.py
./src/authentic2/a2_rbac/migrations/0014_auto_20170711_1024.py
./src/authentic2/a2_rbac/migrations/0010_auto_20160209_1417.py
./src/authentic2/a2_rbac/migrations/0025_auto_20210622_1132.py
./src/authentic2/a2_rbac/migrations/0015_organizationalunit_validate_emails.py
./src/authentic2/a2_rbac/migrations/0003_partial_unique_index_on_name_and_slug.py
./src/authentic2/a2_rbac/migrations/0037_remove_organizationalunit_min_password_strength.py
./src/authentic2/a2_rbac/migrations/0026_organizationalunit_check_required_on_login_attributes.py
./src/authentic2/a2_rbac/migrations/0006_auto_20150619_1056.py
./src/authentic2/a2_rbac/migrations/0023_role_can_manage_members.py
./src/authentic2/migrations/0026_token.py
./src/authentic2/migrations/0039_add_unique_attribute_constraint.py
./src/authentic2/migrations/0010_attributevalue_multiple.py
./src/authentic2/migrations/0037_auto_20220331_1513.py
./src/authentic2/migrations/0012_auto_20160211_2255.py
./src/authentic2/migrations/0025_auto_20191009_1047.py
./src/authentic2/migrations/0049_apiclient_allowed_user_attributes.py
./src/authentic2/migrations/0015_auto_20160621_1711.py
./src/authentic2/migrations/0033_recreate_immutable_unaccent.py
./src/authentic2/migrations/0004_service.py
./src/authentic2/migrations/0023_auto_20181031_0900.py
./src/authentic2/migrations/0017_modify_attribute_serialization.py
./src/authentic2/migrations/0048_rename_services_runtime_settings.py
./src/authentic2/migrations/0038_make_service_ou_non_null.py
./src/authentic2/migrations/0002_auto_20150320_1418.py
./src/authentic2/migrations/0028_trigram_unaccent_index.py
./src/authentic2/migrations/0030_clean_admin_tools_tables.py
./src/authentic2/migrations/0006_conditional_slug_index.py
./src/authentic2/migrations/0011_auto_20160211_2253.py
./src/authentic2/migrations/0050_initialize_users_advanced_configuration.py
./src/authentic2/migrations/0001_initial.py
./src/authentic2/migrations/0016_attribute_disabled.py
./src/authentic2/migrations/0035_service_home_url.py
./src/authentic2/migrations/0007_auto_20150523_0028.py
./src/authentic2/migrations/0042_api_client.py
./src/authentic2/migrations/0047_initialize_services_runtime_settings.py
./src/authentic2/migrations/0021_attribute_order.py
./src/authentic2/migrations/0041_lock.py
./src/authentic2/migrations/0019_auto_20170309_1529.py
./src/authentic2/migrations/0036_service_profile_types.py
./src/authentic2/migrations/0044_apiclient_ou.py
./src/authentic2/migrations/0031_add_search_vector_to_attributes.py
./src/authentic2/migrations/0034_attribute_required_on_login.py
./src/authentic2/migrations/0029_auto_20201013_1614.py
./src/authentic2/migrations/0020_delete_federatedid.py
./src/authentic2/migrations/0014_attributevalue_verified.py
./src/authentic2/migrations/0044_auto_20220530_1426.py
./src/authentic2/migrations/0024_auto_20190617_1113.py
./src/authentic2/migrations/0018_auto_20170524_0842.py
./src/authentic2/migrations/0003_auto_20150409_1840.py
./src/authentic2/migrations/0043_api_client_description.py
./src/authentic2/migrations/0032_initialize_search_vectors.py
./src/authentic2/migrations/0046_runtimesetting.py
./src/authentic2/migrations/0045_auto_20230117_1513.py
./src/authentic2/migrations/0027_remove_deleteduser.py
./src/authentic2/migrations/0040_add_external_guid.py
./src/authentic2/migrations/0045_auto_20221222_1013.py
./src/authentic2/migrations/0045_smscode.py
./src/authentic2/migrations/0009_auto_20160211_2247.py
./src/authentic2/migrations/0022_attribute_scopes.py
./src/authentic2/migrations/0013_auto_20160211_2258.py
./src/authentic2/migrations/0008_auto_20160204_1415.py
./src/authentic2/migrations/0005_service_ou.py
./src/authentic2/apps/authenticators/migrations/0017_auto_20230927_1517.py
./src/authentic2/apps/authenticators/migrations/0003_auto_20220413_1504.py
./src/authentic2/apps/authenticators/migrations/0014_auto_20230801_1517.py
./src/authentic2/apps/authenticators/migrations/0012_loginpasswordauthenticator_min_password_strength.py
./src/authentic2/apps/authenticators/migrations/0002_loginpasswordauthenticator.py
./src/authentic2/apps/authenticators/migrations/0019_fix_addroleaction_condition.py
./src/authentic2/apps/authenticators/migrations/0013_migrate_min_password_strength.py
./src/authentic2/apps/authenticators/migrations/0009_migrate_new_password_settings.py
./src/authentic2/apps/authenticators/migrations/0011_migrate_a2_accept_authentication_settings.py
./src/authentic2/apps/authenticators/migrations/0001_initial.py
./src/authentic2/apps/authenticators/migrations/0007_migrate_registration_open.py
./src/authentic2/apps/authenticators/migrations/0004_auto_20220726_1708.py
./src/authentic2/apps/authenticators/migrations/0008_new_password_settings_fields.py
./src/authentic2/apps/authenticators/migrations/0005_addroleaction.py
./src/authentic2/apps/authenticators/migrations/0010_auto_20230614_1017.py
./src/authentic2/apps/authenticators/migrations/0018_auto_20230927_1519.py
./src/authentic2/apps/authenticators/migrations/0006_loginpasswordauthenticator_registration_open.py
./src/authentic2/apps/authenticators/migrations/0016_alter_addroleaction_condition.py
./src/authentic2/apps/authenticators/migrations/0015_alter_baseauthenticator_button_label.py
./src/authentic2/apps/journal/migrations/0001_initial.py
./src/authentic2/apps/journal/migrations/0002_event_api.py
./src/authentic2/custom_user/migrations/0024_index_email_by_trigrams.py
./src/authentic2/custom_user/migrations/0030_auto_20220304_1136.py
./src/authentic2/custom_user/migrations/0018_user_last_account_deletion_alert.py
./src/authentic2/custom_user/migrations/0008_auto_20150617_1606.py
./src/authentic2/custom_user/migrations/0033_user_keepalive.py
./src/authentic2/custom_user/migrations/0009_auto_20150810_1953.py
./src/authentic2/custom_user/migrations/0003_auto_20150504_1410.py
./src/authentic2/custom_user/migrations/0015_auto_20170707_1653.py
./src/authentic2/custom_user/migrations/0017_auto_20200305_1645.py
./src/authentic2/custom_user/migrations/0027_user_deactivation_reason.py
./src/authentic2/custom_user/migrations/0002_auto_20150410_1823.py
./src/authentic2/custom_user/migrations/0013_user_email_verified.py
./src/authentic2/custom_user/migrations/0026_remove_user_deleted.py
./src/authentic2/custom_user/migrations/0014_set_email_verified.py
./src/authentic2/custom_user/migrations/0032_auto_20220919_1230.py
./src/authentic2/custom_user/migrations/0031_profile_email.py
./src/authentic2/custom_user/migrations/0016_auto_20180925_1107.py
./src/authentic2/custom_user/migrations/0025_user_deactivation.py
./src/authentic2/custom_user/migrations/0036_remove_user_constraint_at_least_one_identifier.py
./src/authentic2/custom_user/migrations/0032_index_deleteduser_old_uuid.py
./src/authentic2/custom_user/migrations/0001_initial.py
./src/authentic2/custom_user/migrations/0023_index_username.py
./src/authentic2/custom_user/migrations/0029_profile_profiletype.py
./src/authentic2/custom_user/migrations/0021_set_unusable_password.py
./src/authentic2/custom_user/migrations/0020_deleteduser.py
./src/authentic2/custom_user/migrations/0035_alter_user_username.py
./src/authentic2/custom_user/migrations/0034_user_email_verified_sources.py
./src/authentic2/custom_user/migrations/0005_auto_20150522_1527.py
./src/authentic2/custom_user/migrations/0022_index_email.py
./src/authentic2/custom_user/migrations/0011_manual_attribute_values_for_name_fields.py
./src/authentic2/custom_user/migrations/0010_auto_20160307_1418.py
./src/authentic2/custom_user/migrations/0019_add_user_deleted.py
./src/authentic2/custom_user/migrations/0007_auto_20150610_1527.py
./src/authentic2/custom_user/migrations/0004_user_ou.py
./src/authentic2/custom_user/migrations/0006_auto_20150527_1212.py
./src/authentic2/custom_user/migrations/0032_index_deleteduser_old_email.py
./src/authentic2/custom_user/migrations/0028_user_email_verified_date.py
./src/authentic2/custom_user/migrations/0012_user_modified.py
./src/authentic2/nonce/migrations/0001_initial.py
./src/authentic2/nonce/migrations/0002_delete_nonce.py
./src/authentic2/nonce/migrations/0001_squashed_0002_delete_nonce.py
./src/authentic2/saml/migrations/0012_auto_20150526_2239.py
./src/authentic2/saml/migrations/0013_auto_20150617_1004.py
./src/authentic2/saml/migrations/0004_auto_20150410_1438.py
./src/authentic2/saml/migrations/0005_make_liberty_provider_inherit_from_service.py
./src/authentic2/saml/migrations/0008_alter_foreign_keys.py
./src/authentic2/saml/migrations/0018_truncate_saml_keyvalue.py
./src/authentic2/saml/migrations/0002_auto_20150320_1245.py
./src/authentic2/saml/migrations/0020_libertysession_saml_libert_provide_39bb6c_idx.py
./src/authentic2/saml/migrations/0017_auto_20170710_1738.py
./src/authentic2/saml/migrations/0010_auto.py
./src/authentic2/saml/migrations/0019_auto_20200621_1558.py
./src/authentic2/saml/migrations/0006_restore_foreign_keys.py
./src/authentic2/saml/migrations/0003_merge.py
./src/authentic2/saml/migrations/0007_copy_service_ptr_id_to_old_id.py
./src/authentic2/saml/migrations/0001_initial.py
./src/authentic2/saml/migrations/0002_ease_federation_migration.py
./src/authentic2/saml/migrations/0009_auto.py
./src/authentic2/saml/migrations/0011_auto.py
./src/authentic2/saml/migrations/0015_auto_20150915_2032.py
./src/authentic2/saml/migrations/0014_auto_20150617_1216.py
./src/authentic2/saml/migrations/0016_auto_20150915_2041.py
./src/authentic2_auth_fc/migrations/0006_auto_20220525_1409.py
./src/authentic2_auth_fc/migrations/0004_fcaccount_order2.py
./src/authentic2_auth_fc/migrations/0005_fcauthenticator.py
./src/authentic2_auth_fc/migrations/0003_fcaccount_order1.py
./src/authentic2_auth_fc/migrations/0008_fcauthenticator_link_by_email.py
./src/authentic2_auth_fc/migrations/0001_initial.py
./src/authentic2_auth_fc/migrations/0007_auto_20220615_1002.py
./src/authentic2_auth_fc/migrations/0002_auto_20200416_1439.py
</pre></p> 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> Authentic 2 - Bug #77287 (Nouveau): Setup.py tire Django-Select2>5,<7.8 qui n'est pas toujours co...https://dev.entrouvert.org/issues/772872023-05-04T13:51:37ZA. Berriot
<p>Chez moi, un <code>> ~/envs/publik-env-py3/bin/authentic2-multitenant-server</code> renvoie:<br /><pre>
from . import app_settings, forms, utils, widgets
File "/home/agate/projects/entrouvert/authentic/src/authentic2/manager/forms.py", line 33, in <module>
from django_select2.forms import HeavySelect2Widget
File "/home/agate/envs/publik-env-py3/lib/python3.11/site-packages/django_select2/forms.py", line 60, in <module>
from django.utils.six.moves.cPickle import PicklingError as cPicklingError
ModuleNotFoundError: No module named 'django.utils.six'
</pre></p>
<p>Un <code>pip freeze</code> me révèle que je suis sur <code>Django-Select2==5.11.1</code>, antédiluvien.</p>
<p>A priori certaines personnes tournent sans problème sur des versions plus récentes dans leur devinst, la première version supportant officiellement django 3 est <a class="external" href="https://github.com/applegrew/django-select2/releases/tag/7.2.0">https://github.com/applegrew/django-select2/releases/tag/7.2.0</a>.</p>
<p>Il faut envisager de bumber la version minimale de django-select2 pour éviter ce genre de problèmes (en attendant, j'upgrade manuellement vers une version plus récente)</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 #63549 (Nouveau): mail, gérer les erreurs venant de smtplibhttps://dev.entrouvert.org/issues/635492022-04-05T09:44:36ZBenjamin Dauvergne
Il y a des situations différentes :<br />1. les envois de mail en temps réel dans une vue à la demande de l'utilisateur (reset de mot de passe, enregistrement), il faut logger un warning, afficher un message que le système est momentanément indisponible et de ré-essayer plus tard<br />2. les envois de mail en temps réel dans une vue, mais sans que l'usager n'ait rien demandé (email succès d'enregistrement), il faudrait lancer ça en tâche de fond (job) pour que ça finisse toujours par avoir lieu (i.e. transformer le cas 1. en cas 3.)<br />3. les envois en tâche de fond (suppression des comptes inactifs, diverses notifications de sécurité qu'on pourrait avoir dans le futur) on ne peut rien afficher ici, alors :
<ul>
<li>si c'est une erreur non récupérable (SMTPRecipientRefused sur compte inactif), logger l'erreur, ignorer et continuer vers la suppression et la boucle de suppression/envoi des notifs</li>
<li>si c'est une erreur temporaire (erreur de connexion, déconnexion), on log un warning et on arrête tout, ça reprendra plus tard</li>
</ul> Authentic 2 - Development #57632 (Nouveau): rôles d'un utilisateur, supprimer le comportement par...https://dev.entrouvert.org/issues/576322021-10-06T08:49:15ZValentin Deniaud
<p><a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Avoir une interface de suppression rapide de rôle (Fermé)" href="https://dev.entrouvert.org/issues/55542">#55542</a> a récemment ajouté un champ explicite pour demander l'affichage des seuls rôles de l'usager.</p>
<p>En fait c'était déjà possible, il faut pour cela sélectionner le choix vide dans le select du champ « Collectivité ».</p>
<p>Sauf preuve du contraire on peut supposer que personne n'utilise ça, et qu'on pourrait l'enlever.</p>
<p>(à noter quand même que le comportement n'est pas tout à fait le même, la première option affiche les rôles direct de l'usager et la deuxième également les rôles indirects)</p> Authentic 2 - Development #52183 (Nouveau): ldap: override password_change route with a URL in ap...https://dev.entrouvert.org/issues/521832021-03-18T11:02:59ZLoïc Dachary
<p>Lorsque la création et la mise à jour des utilisateurs est gérée par une application autre que authentic, il n'est pas possible de changer le mot de passe d'un utilisateur via authentic. Or, lorsqu'une redirection vers la page de changement de mot de passe a lieu parce que LDAP le demande, cela aboutit toujours à la page de changement de mot de passe authentic. Il faudrait, dans le cas ou les comptes sont gérés par une application authre que authentic, pouvoir spécifier l'URL de redirection.</p>
<p>Voir aussi le fil de <a href="https://listes.entrouvert.com/arc/authentic/2021-02/msg00006.html" class="external">discussion de la liste de diffusion</a> sur le sujet.</p> Authentic 2 - Development #47761 (Nouveau): Avoir un journal des actions et des modifications en ...https://dev.entrouvert.org/issues/477612020-10-15T16:07:44ZMikaël Atesmates@entrouvert.com
<p>Dans la foulée de <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Development: Avoir sur les objets un journal des modifications et sur les utilisateurs, en plus, un journal d... (Fermé)" href="https://dev.entrouvert.org/issues/47155">#47155</a> qui apporte le journal en backoffice, il s'agit d'apporter un journal en frontoffice.</p>
<p>Lister les accès et modifications par l'usager et les agents, via une page accessible en FO depuis la page Mon compte.</p> Authentic 2 - Bug #22687 (Nouveau): pouvoir utiliser le niveau d'isolatoin serializable sur postg...https://dev.entrouvert.org/issues/226872018-03-21T15:13:40ZBenjamin Dauvergne
<p>Cela permettrait plus simplement d'appliquer certaines règles d'unicité sur le username ou l'email sans avoir d'index.</p>