Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ETQ admin je peux créer une règle de routage de plusieurs lignes #9604

Merged

Conversation

E-L-T
Copy link
Contributor

@E-L-T E-L-T commented Oct 13, 2023

Dans cette PR :

  • Pour configurer le routage côté admin, on utilise maintenant le même type de de composant que pour configurer les conditions côté éditeur de type de champs. Les deux composants héritent de ConditionsComponent
  • On peut créer des règles de routage a plusieurs lignes (derrière feature flag)
  • Tous les types de champ ouverts au conditionnel sont aussi ouverts au routage

Avant

Screenshot from 2023-10-25 10-41-29

Après (exemple à ne pas reproduire dans sa démarche ;-) c'est pour donner une idée des possibilités)

Screenshot from 2023-10-25 10-37-34

@E-L-T E-L-T force-pushed the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch 20 times, most recently from 6245eb3 to 450e18b Compare October 17, 2023 08:44
@E-L-T E-L-T force-pushed the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch 5 times, most recently from 63f54e8 to 450cbfd Compare October 20, 2023 15:10
@E-L-T E-L-T force-pushed the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch 4 times, most recently from 3a5d3d0 to dc2d2fb Compare October 25, 2023 08:44
@E-L-T E-L-T changed the title WIP ETQ admin je peux créer une règle de routage de plusieurs lignes ETQ admin je peux créer une règle de routage de plusieurs lignes Oct 25, 2023
@E-L-T E-L-T marked this pull request as ready for review October 25, 2023 09:02
Copy link
Member

@LeSim LeSim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

première passe

@@ -1,11 +1,6 @@
class TypesDeChampEditor::ConditionsComponent < ApplicationComponent
class Conditions::ConditionsComponent < ApplicationComponent
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super classe ce découpage

Comment on lines 17 to 30
- if rows.blank?
%tr
%td.far-left= far_left_tag(0)
%td.target= left_operand_tag(empty, 0)
%td.operator= operator_tag(EmptyOperator.name, empty, 0)
%td.value= right_operand_tag(empty, empty, 0)
%td.delete-column= delete_condition_tag(0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je pense qu'on peut dégager ce cas en initiant avec une condtion EmptyOperator(empty, empty) dans le cas ou le le groupe instructeur n'a pas de routing rule

Comment on lines 42 to 57
def targeted_champ_changed?
targeted_champ != groupe_instructeur.routing_rule&.left
end

def targeted_champ
Logic.from_json(params[:targeted_champ])
end

def operator_name
params[:operator_name]
end

def value
Logic.from_json(params[:value])
end

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

est ce qu'on a besoin de ces methodes ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bien vu, on en a plus besoin, je les enlève 👍

Copy link
Member

@LeSim LeSim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Du pinaillage et une interrogation sur une possible mutualisation de logique de regle valide, mais sinon, super taff ! 👏

app/models/groupe_instructeur.rb Outdated Show resolved Hide resolved
@@ -106,18 +114,24 @@ def other_groupe_instructeurs

private

def routing_rule_matches_tdc?
routing_tdc = procedure.active_revision.types_de_champ.find_by(stable_id: routing_rule.left.stable_id)
def routing_rule_matches_tdc?(rule)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je ne suis pas sur que cette méthode doit être ici : j'ai l'impression qu'elle sert à savoir si la règle est valide. Or on a besoin de ce même genre de vérification ds les conditions de type de champs. Il doit y avoir de la mutualisation à faire.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En effet ! Je crois bien que la même logique de validation est déjà implementée dans les méthodes #errors(types_de_champ)des classes du namespace Logic
ça fait un bon bout de code en moins :-) -> 6c959d9

@E-L-T E-L-T force-pushed the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch 4 times, most recently from 3bc9267 to 9d74711 Compare November 6, 2023 13:57
@E-L-T E-L-T force-pushed the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch from 9d74711 to 3e2e5a0 Compare November 6, 2023 14:25
@E-L-T E-L-T force-pushed the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch from 74a0051 to 6c959d9 Compare November 6, 2023 16:45
@E-L-T E-L-T added this pull request to the merge queue Nov 8, 2023
Merged via the queue into main with commit f7eeb21 Nov 8, 2023
15 checks passed
@E-L-T E-L-T deleted the etq-admin-je-peux-creer-une-regle-de-routage-de-plusieurs-lignes branch November 8, 2023 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants