Bug search

This commit is contained in:
2026-05-16 09:15:21 +02:00
parent 598fee6025
commit 2ed47d698f
5 changed files with 26 additions and 28517 deletions

View File

@@ -792,6 +792,15 @@ Point de deploiement:
- comme `index.html` est dans le repo parent cote serveur, verifier que le fichier `images/tradon-icon.png` est bien servi au bon chemin relatif
- le cache favicon navigateur peut etre tenace: refresh dur ou vidage cache si besoin
### Correctif recherche Many2One / modales de selection
- probleme observe: depuis la nouvelle AG Grid, les fenetres `Search ...` ouvertes par la loupe des champs `Many2One` affichaient une grille vide
- exemple: `Search Broker` depuis un contrat, alors que des `party.party` de categorie Broker existent bien
- cause: `Sao.Window.Search` creait une vue `tree` readonly sans marqueur de contexte, donc le diagnostic AG Grid la prenait pour une liste principale plate
- correctif: les ecrans crees par `Sao.Window.Search` portent maintenant `search_window: true`
- `Sao.View.AGGridTree.get_support_diagnostics` exclut ce contexte avec `fallbackReason: search_window`
- resultat attendu: les recherches `Many2One` repassent sur le tree historique, avec selection simple/multiple et `search_filter` SAO standard
### Commits importants
- `fc9ab5d Save SAO AG Grid work`

View File

@@ -233,3 +233,10 @@ Traces a lire si le sujet revient:
- retirer les traces temporaires une fois la stabilisation confirmee
- garder le reflexe des traces JSON plates pour les bugs AG Grid difficiles
### Dernier correctif en cours
- les modales `Sao.Window.Search` ouvertes par les loupes `Many2One` ne doivent pas utiliser AG Grid pour l'instant
- marqueur ajoute: `search_window: true`
- fallback AG Grid ajoute: `search_window`
- symptome corrige: fenetre `Search Broker` vide alors que les records existent

5
dist/tryton-sao.js vendored
View File

@@ -24295,6 +24295,8 @@ function eval_pyson(value){
preValidate: Boolean(
screen && (screen.pre_validate ||
(screen.attributes && screen.attributes.pre_validate))),
searchWindow: Boolean(
screen && screen.attributes && screen.attributes.search_window),
hasParentGroup: Boolean(
screen && screen.group && screen.group.parent),
childName: screen && screen.group && screen.group.child_name || null,
@@ -24324,6 +24326,8 @@ function eval_pyson(value){
diagnostics.fallbackReason = 'children_field';
} else if (!diagnostics.agGridLoaded) {
diagnostics.fallbackReason = 'ag_grid_not_loaded';
} else if (diagnostics.searchWindow) {
diagnostics.fallbackReason = 'search_window';
} else if (diagnostics.embeddedContext) {
diagnostics.fallbackReason = 'embedded_relation_tree';
} else if (diagnostics.editable) {
@@ -29785,6 +29789,7 @@ function eval_pyson(value){
views_preload: views_preload,
row_activate: this.activate.bind(this),
readonly: true,
search_window: true,
breadcrumb: [this.title],
});
this.screen.load_next_view().done(() => {

View File

@@ -24295,6 +24295,8 @@ function eval_pyson(value){
preValidate: Boolean(
screen && (screen.pre_validate ||
(screen.attributes && screen.attributes.pre_validate))),
searchWindow: Boolean(
screen && screen.attributes && screen.attributes.search_window),
hasParentGroup: Boolean(
screen && screen.group && screen.group.parent),
childName: screen && screen.group && screen.group.child_name || null,
@@ -24324,6 +24326,8 @@ function eval_pyson(value){
diagnostics.fallbackReason = 'children_field';
} else if (!diagnostics.agGridLoaded) {
diagnostics.fallbackReason = 'ag_grid_not_loaded';
} else if (diagnostics.searchWindow) {
diagnostics.fallbackReason = 'search_window';
} else if (diagnostics.embeddedContext) {
diagnostics.fallbackReason = 'embedded_relation_tree';
} else if (diagnostics.editable) {
@@ -29785,6 +29789,7 @@ function eval_pyson(value){
views_preload: views_preload,
row_activate: this.activate.bind(this),
readonly: true,
search_window: true,
breadcrumb: [this.title],
});
this.screen.load_next_view().done(() => {

File diff suppressed because it is too large Load Diff