Colin Darie
520a7c4402
fix(exports): don't try to link to an export when file is not yet attached
2024-01-24 13:36:25 +01:00
Kara Diaby
ac29cfbfdb
Envoie un email à l'expert en cas de nouveau commentaire de l'usager dans la messagerie
2024-01-24 10:48:17 +00:00
Martin
2952987ad8
refactor(spec): stop using procedure type de champs traits as :with_datetime
, :with_xxx
in favor of :types_de_champ_public
which keeps position in check
2024-01-23 17:30:22 +01:00
Colin Darie
716e4bbe5d
Merge pull request #9645 from adullact/feature-ouidou/admin_creation_delegation_gestionnaire_answer_administrateur
...
Feature ouidou/admin creation delegation gestionnaire answer administrateur
2024-01-22 15:45:58 +00:00
Martin
0f194a5e8e
refactor(procedure_revision): without renumber, use types_de_champ_public factory for ordered champs
2024-01-22 14:57:04 +01:00
mfo
89d2c57cb2
review(sim): some review suggestions
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2024-01-22 14:57:04 +01:00
Martin
434cd77030
poc(spec): renumber only at one point
2024-01-22 14:57:04 +01:00
Martin
a9c0d3e7e9
tech(clean): avoid useless indirection, cleanup some code complexity, rubocopify
2024-01-22 14:57:04 +01:00
Martin
a78a6b6f34
feat(remove_type_de_champ): stop renumbering all procedure_revision_type_de_champ on remove_type_de_champ
2024-01-22 14:57:04 +01:00
Martin
4d97c5bc8a
feat(move_type_de_champ): stop renumbering all procedure_revision_type_de_champ on move_type_de_champ
2024-01-22 14:57:04 +01:00
Martin
4b57ed871a
feat(add_type_de_champ): stop renumbering all procedure_revision_type_de_champ
2024-01-22 14:57:04 +01:00
seb-by-ouidou
a6ca4b668e
feat: answer message to administrateur as gestionnaire
2024-01-22 14:36:38 +01:00
seb-by-ouidou
e6474f0d14
feat: US4.3.9 children management
2024-01-22 14:36:38 +01:00
seb-by-ouidou
96dd6bec52
feat: US4.3 update and delete groupe gestionnaire
2024-01-22 14:36:38 +01:00
Colin Darie
2f53a017b4
Merge pull request #9886 from colinux/export-ff-active-revision-first
...
Tech exports: feature flat pour trier les colonnes par révision récente puis position plutôt que mélanger les révisions entre elles
2024-01-22 12:21:32 +00:00
Colin Darie
58c00b2d4e
feat(export): can sort by revision first, instead of mixing revisions
2024-01-22 12:03:30 +01:00
Colin Darie
7892b54aa6
fix(discarded-dossiers): don't crash whole job when a single dossier causes an error
2024-01-17 13:15:42 +01:00
Colin Darie
1a8f839a7e
Merge pull request #9915 from colinux/fix-admin-memory-leak
...
Perf: remplace les `OpenStruct` par des objets plus performants
2024-01-17 08:59:01 +00:00
Colin Darie
a4db911585
perf(admin): remove 2 useless zones queries on each admin page due to navigation
2024-01-16 19:43:58 +01:00
Colin Darie
e1102ed993
perf(admin): fix N+1 on procedures zones on every admin page
2024-01-16 19:43:56 +01:00
Colin Darie
4408f0f4fb
perf(zone): replace OpenStruct by a Struct label model
2024-01-16 19:43:25 +01:00
Colin Darie
e807752a78
perf(type-de-champ): replace stable_self OpenStruct by Struct model
2024-01-16 19:43:23 +01:00
Colin Darie
fa74cdb4c7
perf(null-zone): replace open struct by struct
2024-01-16 19:43:22 +01:00
Colin Darie
461e311d3d
perf(admin): replace ProcedureDetail open struct with proper struct
2024-01-16 19:43:19 +01:00
Lisa Durand
6773843d52
add clickable summary in champ editor view for admin
2024-01-16 11:23:14 +01:00
Lisa Durand
d9b75ce0a2
Merge pull request #9882 from demarches-simplifiees/add-dossier-reference-in-transfer-email
...
Je veux que le numéro du dossier apparaisse dans l'email de demande de transfert
2024-01-15 15:39:09 +00:00
Colin Darie
8a83fd2ce0
fix(recherche): show notification indicator for instructeurs
2024-01-12 10:09:34 +01:00
simon lehericey
90f145e17a
add email_merge_token to france connect information
2024-01-11 11:33:38 +01:00
simon lehericey
6bad272825
style
2024-01-11 11:33:38 +01:00
seb-by-ouidou
c45e2eaccc
feat: write message to gestionnaires as administrateur
2024-01-09 13:25:04 +01:00
mfo
a0248bf08b
Merge pull request #9888 from mfo/US/validate-epci-by-code
...
Correctif: Le noms des EPCIs changent, ce qui bloque la validation et ou demande a resaisir le champs
2024-01-08 09:56:09 +00:00
Martin
fa07c21ec3
fix(champs.epci): epci names change over time. remap when it occurs
2024-01-04 07:17:15 +01:00
mfo
9df978f6fa
Merge pull request #9887 from mfo/US/fix-fci-missing-device-callback
...
Correctif: ETQ usager invité, lorsque je crée mon compte via FC, je ne retrouve pas mes invitations
2024-01-04 06:15:14 +00:00
Martin
92730e266b
fix(FranceConnect): missing after_confirmation callback, leading to invalites invitations when user france connect
2023-12-26 15:00:15 +01:00
Eric Leroy-Terquem
547a4d95b7
chore(logic): commune and epci champs are always compute with compute_value_json
2023-12-22 10:57:53 +01:00
seb-by-ouidou
c253e7dd65
feat: US5.1 US5.2 administrateur in admin
2023-12-21 18:40:36 +01:00
Colin Darie
6f7d786783
Merge pull request #9880 from demarches-simplifiees/api_token_store_last_used_ips
...
API: stocke les ips utilisées pour accéder à l'API
2023-12-21 16:18:00 +00:00
Lisa Durand
ff284a1c96
add more info in notify transfer email
2023-12-21 16:58:33 +01:00
Eric Leroy-Terquem
4c82f2c9d7
fix(champ value): fix compute_value_json on departement champ
2023-12-21 16:21:08 +01:00
simon lehericey
afb6eacf57
feature(api): store any ip used
2023-12-21 16:02:11 +01:00
Colin Darie
9bdf525ff1
Merge pull request #9863 from colinux/fix-message-html-injection
...
Tech: échappe les tags de données utilisateur dans les modèles pour email
2023-12-21 08:50:21 +00:00
Colin Darie
29df9ad09d
Merge pull request #9751 from tchak/departement-tags
...
feat(champs): expose more tags and api fields on rnf, address and commune
2023-12-21 08:45:01 +00:00
Colin Darie
535a54ce97
Merge pull request #9874 from demarches-simplifiees/add-email-for-tiers-when-repasser-en-instruction-ldu
...
[Co-construction] Envoyer un mail au bénéficiaire si le dossier repasse en instruction
2023-12-21 08:32:10 +00:00
Lisa Durand
3e872c5246
add email for tiers when repasser en instruction
2023-12-20 11:51:02 +01:00
Eric Leroy-Terquem
954facdaff
Merge pull request #9798 from demarches-simplifiees/add-new-operators-to-conditional
...
Etq admin je peux conditionner/router avec les opérateurs "est dans mon département", "n'est pas dans mon département", "est dans ma région" et "n'est pas dans ma région".
2023-12-19 16:10:59 +00:00
mfo
e75c4456e8
Merge pull request #9871 from mfo/US/add-pj-to-explication
...
ETQ administrateur, je peux ajouter une notice explicative a un champs explication
2023-12-19 10:44:03 +00:00
Martin
e43c2f1407
feat(procedure_revision.compate): track and show diff for TypeDeChamp.explication between draft and published revisions
2023-12-19 10:51:06 +01:00
Martin
37e8772eab
feat(type_de_champ_editor.explication): add a Attached::One to TypeDeChamp.explication, named notice_explicative [cf, cerfa wording]
2023-12-19 09:52:27 +01:00
Colin Darie
1a56fe620e
feat(correction): make pending corrections blocking by feature flag only
2023-12-18 14:12:45 +01:00
Colin Darie
fa37c6c62b
fix(tags): escape user data tags for emails
2023-12-15 14:05:11 +01:00
Lisa Durand
569d4af6f7
Merge pull request #9706 from demarches-simplifiees/feat/9678
...
ETQ usager passant par un mandataire, je suis notifié des changements d'état de mon dossier par email
2023-12-14 16:57:07 +00:00
Eric Leroy-Terquem
e40d1107ac
chore(conditional): add not_in_departement and not_in_region operators
2023-12-14 17:48:14 +01:00
Eric Leroy-Terquem
3db21b633c
chore(conditional): update champs to use in_region operators
2023-12-14 17:48:13 +01:00
Eric Leroy-Terquem
c9676020b4
chore(conditional): add in_departement and in_region operators
2023-12-14 17:48:13 +01:00
Colin Darie
715c800788
Merge pull request #9821 from colinux/en-attente-block-instruction
...
ETQ instructeur je ne peux pas passer en instruction un dossier en attente de correction
2023-12-13 10:02:32 +00:00
Lisa Durand
f6f18e9c86
send email to tiers if notification by email is set
2023-12-12 22:35:11 +00:00
Kara Diaby
2ac9c13c4a
Models
2023-12-12 22:35:11 +00:00
Kara Diaby
6ced107403
Migration
2023-12-12 22:35:11 +00:00
krichtof
246d53fa99
Merge pull request #9754 from demarches-simplifiees/9435-transfer-dossier
...
En tant que superadmin, je peux transférer un dossier d'un utilistateur à un autre
2023-12-12 14:44:39 +00:00
Christophe Robillard
7cfe0ad2a8
log when support team initiated dossier transfer
2023-12-12 15:25:39 +01:00
Colin Darie
c0771ad903
fix(dossier): passe en instruction with auto-archive even with pending correction
2023-12-12 15:05:46 +01:00
Colin Darie
c26b59722d
feat(instructeur): pending correction blocks passer en instruction
...
Closes #9731
2023-12-12 15:05:44 +01:00
Colin Darie
f9c4846fde
Merge pull request #9571 from adullact/feature-ouidou/admin_creation_delegation_gestionnaire_page_group_administrateur_management
...
Feature ouidou/admin creation delegation gestionnaire page group administrateur management
2023-12-12 10:41:28 +00:00
Colin Darie
968b2cfb0a
Merge pull request #9818 from colinux/correction-remove-from-message
...
ETQ instructeur, ma demande de correction est supprimée (résolue) lorsque je supprime son message associé
2023-12-11 13:07:43 +00:00
mfo
cf7e499cde
Merge pull request #9816 from mfo/US/api-chorus-configuration
...
amelioration(api): ajoute la configuration chorus aux API GraphQL
2023-12-11 09:46:46 +01:00
seb-by-ouidou
96adffb5f5
fix: remove brouillon from repousser_expiration
2023-12-09 06:27:00 +01:00
seb-by-ouidou
8c1bc9e62f
feat: batch action for repousser_expiration depuis expirant
2023-12-09 06:27:00 +01:00
seb-by-ouidou
5c80f6c3f0
feat: batch action for desarchiver
2023-12-09 06:27:00 +01:00
seb-by-ouidou
c0c2e35881
feat: batch action for restaurer
2023-12-09 06:27:00 +01:00
seb-by-ouidou
5ec95d781c
feat: batch action for supprimer
2023-12-09 06:27:00 +01:00
mfo
b28cbd9736
Merge pull request #9708 from mfo/US/better-estimation-on-treatment-time
...
ETQ usager, l information de durée de traitement des 90 percentile peut être trompeur
2023-12-07 16:09:39 +00:00
Martin
643110c342
amelioration(api): ajoute la configuration chorus aux API GraphQL
2023-12-07 15:46:28 +01:00
Colin Darie
accd7864ff
feat(correction): deleting a comment resolves the related correction
...
Cf #9731
2023-12-07 15:41:50 +01:00
Martin
474fde3380
amelioration(procedure.usual_traitement_time_for_recent_dossiers): divise en 3 groupe l'estimation de la duree de traitement
2023-12-07 09:19:52 +01:00
Martin
b0e818f8f1
correctif(ResetExpiringDossiersJob): timeout sur la prod, utilise une requete plus générique mais plus rapide [on ne scope pas aux dossiers ayant ete notifies, on les reset tous car ca timeouté
2023-12-06 16:45:14 +01:00
seb-by-ouidou
e34307b50c
fix: fixes after review
2023-12-06 14:47:39 +01:00
seb-by-ouidou
564c3c04fa
feat: US4.3.8 administrateur management
2023-12-06 14:47:39 +01:00
Christophe Robillard
961c7c5be4
fix format for motivation in notification mail
2023-12-05 18:50:50 +01:00
mfo
d90c55c29e
Merge pull request #9762 from tchak/fix-email-template
...
fix(email_template): less magic - less bugs !
2023-12-05 09:56:53 +00:00
mfo
dbfbaf4cea
Merge pull request #9757 from mfo/US/fix-extends-duree-conservation-dossier
...
correctif(expiration): etends la durée de conservation des dossiers quand la duree de conservation d'une procedure change
2023-12-04 09:18:45 +00:00
Colin Darie
42ea9ed2f3
perf(preloader): fix N+1 on non mandatory repetition blocks
...
We have to tell repetition.champs association has been loaded
even when it's empty.
2023-11-30 14:10:33 +01:00
Paul Chavard
3de0367ed9
fix(email_template): less magic - less bugs !
2023-11-29 20:36:44 +00:00
Paul Chavard
3c36300de6
feat(attestation): use tiptap editor controller
2023-11-29 12:07:42 +00:00
Martin
57d7b385ec
correctif(expiration): etends la durée de conservation des dossiers quand la duree de conservation d'une procedure change
2023-11-28 16:59:41 +01:00
Colin Darie
64400b512c
Merge pull request #9677 from govpf/feature-ouidou/clone_procedure_with_feature_flags
...
ETQ admin, les procédures clonées conservent les features flags
2023-11-28 08:21:02 +00:00
Paul Chavard
bfc809f96f
feat(champs): expose more tags and api fields on rnf, address and commune
2023-11-27 15:33:05 +00:00
Colin Darie
15ff65429b
Merge pull request #9738 from colinux/validate-pending-correction
...
ETQ usager modifiant un dossier en construction je n'ai plus besoin de cocher la case de correction effectuée
2023-11-27 13:52:06 +00:00
Colin Darie
f1459c1414
Merge pull request #9749 from mfo/US/fix-enseigne
...
correctif(API.entreprise.enseigne): ajouter un attribut a une entreprise demande un peu plus que juste le definir sur l'object
2023-11-27 13:02:02 +00:00
seb-by-ouidou
c4ca381bed
feat: enable features on cloned procedure
2023-11-27 12:00:27 +01:00
Colin Darie
5d747ba0c2
fix(procedure): list piece justificative in repetitions
2023-11-27 11:08:39 +01:00
Martin
b74f7f24e7
correctif(API.entreprise.enseigne): ajouter un attribut a une entreprise demande un peu plus que juste le definir sur l'object
2023-11-24 10:33:18 +01:00
Colin Darie
be994c8933
Merge pull request #9744 from colinux/correction-reason-update
...
API: une demande de correction de dossier peut être de type "outdated"
2023-11-23 17:05:04 +00:00
Colin Darie
249539fc27
feat(dossier): correction can be of kind "outdated" by API, which will later improve UI wording
...
Cf #9485
2023-11-23 15:01:48 +01:00
krichtof
61654d65a2
Merge pull request #9740 from demarches-simplifiees/9670-expose-rnf-api
...
En tant que consommateur de l'API DS, je peux récupérer les infos RNF
2023-11-23 12:55:58 +00:00
mfo
78f9a2aa1e
Merge pull request #9737 from demarches-simplifiees/9670-export-rnf
...
En tant qu'instructeur, je peux exporter les données RNF des dossiers
2023-11-23 08:19:00 +00:00
mfo
c717691a6f
Merge pull request #9745 from mfo/US/chorus-fix
...
correctif(chorus.export): suite a un refacto, c'etait kc
2023-11-23 09:30:20 +01:00
Martin
72b8ccec36
correctif(chorus.export): suite a un refacto, c'etait kc
2023-11-23 09:30:00 +01:00
Eric Leroy-Terquem
d92155a96a
Merge pull request #9714 from demarches-simplifiees/add-not-include-operator
...
ETQ admin je peux conditionner / router à partir d'un champ de type choix multiple avec l'opérateur "Ne contient pas"
2023-11-22 16:29:24 +00:00
Eric Leroy-Terquem
4f1fb91abf
Merge pull request #9724 from demarches-simplifiees/update-manager-with-routing-infos
...
ETQ superadmin je veux avoir des informations sur le routage d'une procédure
2023-11-22 15:17:48 +00:00
Eric Leroy-Terquem
a54d55486c
chore(routing): update routing_rule validation
2023-11-22 13:01:44 +01:00
Christophe Robillard
6984dac41e
update value reader for rnf champ
2023-11-22 12:35:44 +01:00
Colin Darie
ba076357c5
feat(dossier): submit en construction resolve automatically correction except for sva
2023-11-22 12:35:42 +01:00
Christophe Robillard
daa4c28af7
add data from rnf field to export
2023-11-22 12:20:05 +01:00
Paul Chavard
4842fc4d94
feat(tags): all tags should have ids
2023-11-21 13:55:25 +01:00
Colin Darie
49cd10458c
feat(announces): show Nouveautés link in main navigation
2023-11-20 15:07:20 +01:00
Eric Leroy-Terquem
61ba089203
feat(manager): add routing rule in groupe instructeur show
2023-11-17 15:11:05 +01:00
Eric Leroy-Terquem
42027e9db9
feat(manager): add champs de routage in procedure show
2023-11-17 15:11:05 +01:00
Martin
520863d814
amelioration(user.expiration): ajoute une raison specifique a la suppression d'un dossier : user_expired
2023-11-17 11:33:14 +01:00
Martin
66cf41b6d2
amelioration(procedure.duree_conservation_dossiers_dans_ds_changes): reset les flag d'expirations lorsqu'on change la date de conservation des dosseirs d'une procedure
2023-11-17 11:33:14 +01:00
Martin
3186b0aa68
tech(refactor): centralise/documente les constantes de duree de retentions dans le ns dedié à l'expiration
2023-11-17 11:33:14 +01:00
Martin
c9d470d9ec
tech(refactor): mutualise la duree de rentention apres notification entre dossier/user
2023-11-17 11:33:14 +01:00
krichtof
39bdb5f145
Merge pull request #9701 from demarches-simplifiees/carte
...
Afficher une carte de déploiement de DS par département
2023-11-16 13:18:16 +00:00
Christophe Robillard
ba876f5085
show france map with stats for each departement
2023-11-16 13:27:12 +01:00
Eric Leroy-Terquem
f945c02c3c
feat(conditional): add exclude operator
2023-11-16 10:27:03 +01:00
Paul Chavard
2b6cd5068b
Merge pull request #9697 from tchak/fix-repasser_en_instruction-email
...
fix(dossier): use traitements to send repasser_en_instruction template
2023-11-15 09:22:40 +00:00
Eric Leroy-Terquem
22eadafe07
fix(condition): make condition work with decimal
2023-11-15 09:53:02 +01:00
Paul Chavard
508602fd4a
fix(dossier): use traitements to send repasser_en_instruction template
2023-11-14 23:59:45 +01:00
Martin
80f2771c05
correctif(filtres): utilise la derniere version du type de champs de sorte a avoir les bons types
2023-11-14 09:46:29 +01:00
mfo
7fca13d02c
Merge pull request #9696 from colinux/procedure-visible-by-user-faster
...
Perf: accélération du chargement des dossiers visibles
2023-11-14 08:22:31 +00:00
Colin Darie
fb318620aa
Merge pull request #9692 from colinux/fix-deprecation-warnings
...
Tech: fix multiple deprecation warnings
2023-11-13 10:16:06 +00:00
Colin Darie
d0b8176081
chore(procedure): faster procedure closing
2023-11-10 15:53:29 +01:00
Colin Darie
154a993794
chore(perf): improve perf of Dossier#visible_by_user up to 32%
2023-11-10 15:51:24 +01:00
Colin Darie
8326cf080e
fix: typo in method name extention => extension
2023-11-10 14:20:00 +01:00
Colin Darie
148611d595
fix(dossier): rails 7 deprecation warning about sum of non numeric values
2023-11-10 14:19:59 +01:00
Kara Diaby
fa874a0ea3
Permet de configurer le mail de réexamen du dossier par l'administrateur
2023-11-10 08:54:27 +00:00
mfo
b61fa88fe0
Merge pull request #9621 from mfo/US/type-de-champs-ej
...
amelioration(chorus): ETQ admin, je peux ajouter un type de champ EngagementJuridique
2023-11-09 14:40:49 +00:00
mfo
87c3615774
review(tech): utilise un code unique pr les elements de l'autocomplete, corrections de typos, amelioration du code
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-11-09 11:10:17 +01:00
Martin
c7d5bf8dc7
amelioration(export.chorus): integre le cadre budgetaire en pus des champs ej
2023-11-09 10:09:51 +01:00
Martin
362b072c6c
amelioration(chorus): flip sur le type de champ engagement_juridique afin d'activer la tuile et le type de champs avec un seul flag
2023-11-09 10:09:50 +01:00
Martin
0428853f4d
amelioration(Champs::EngagementJuridiqueChamp): valide le format
2023-11-09 10:09:14 +01:00
Martin
39abf283d9
tech(amelioration.chorus_configuration): deplace les methodes liées au rendu du model ChorusConfiguration dans le ChorusFormComponent
2023-11-09 10:09:14 +01:00
Martin
a6cf22edb8
amelioration(types_de_champ_editor/champ_component): isole le type de champs Ej aux annotation privée
2023-11-09 10:09:14 +01:00
Martin
13624f0f7e
add type de champs ej bin/rails generate add_champ EngagementJuridique
2023-11-09 10:09:13 +01:00
Colin Darie
7a4456efeb
Merge pull request #9638 from colinux/poc-release-notes
...
ETQ super-admin je peux informer les administrateurs, instructeurs et experts des évolutions du site
2023-11-09 09:00:01 +00:00
Colin Darie
e4c37758d4
feat(announces): anyone can read announces
2023-11-08 18:22:14 +01:00
Colin Darie
ff8ed6016e
feat(announce): super admin can create announce
2023-11-08 18:22:11 +01:00
Colin Darie
0d626f1811
chore(schema): create release_notes
2023-11-08 18:20:00 +01:00
simon lehericey
52752c95ec
tech: add api_token_id to graphql logs
2023-11-08 16:50:10 +01:00
krichtof
a6ea607e7a
Merge pull request #9566 from adullact/feature-ouidou/admin_creation_delegation_gestionnaire_page_children_management
...
Feature ouidou/admin creation delegation gestionnaire page children management
2023-11-08 15:13:10 +00:00
seb-by-ouidou
a14d77cbd3
fix: remove useless comments
2023-11-08 13:50:18 +00:00
Paul Chavard
a611852ebc
Merge pull request #9663 from tchak/legacy-browsers
...
feat(traitement): add browser information
2023-11-08 10:23:31 +00:00
Eric Leroy-Terquem
0968f02a26
Merge pull request #9648 from demarches-simplifiees/add-rnf-service
...
Ajout d'un nouveau référentiel : le Répertoire National des Fondations (RNF)
2023-11-08 09:06:47 +00:00
Eric Leroy-Terquem
f7eeb21425
Merge pull request #9604 from demarches-simplifiees/etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes
...
ETQ admin je peux créer une règle de routage de plusieurs lignes
2023-11-08 08:28:34 +00:00
Paul Chavard
d93c624164
feat(traitement): add browser information
2023-11-08 00:09:38 +01:00
Paul Chavard
34a76d8afd
feat(dossier): commune champ is an autocomplete now
2023-11-07 20:58:39 +01:00
Paul Chavard
b92ccc0a09
chore(adresse): improuve adresse data source
2023-11-07 20:58:39 +01:00
Eric Leroy-Terquem
694cbcd0a2
feat(rnf): add rnf type_de_champ
2023-11-07 14:21:28 +01:00
Eric Leroy-Terquem
0268b0af9e
chore(champ): update error catching when fetching external data
2023-11-07 14:21:28 +01:00
Paul Chavard
198860d9f3
fix(dropdown_multiple): options -> enabled_non_empty_options
2023-11-07 13:55:16 +01:00
Eric Leroy-Terquem
2465e13504
chore(logic): add a translation for empty rule
2023-11-06 18:10:08 +01:00