Showing 1 changed files with 25 additions and 11 deletions
+25 -11
analyse-votes-AN
... ...
@@ -653,9 +653,24 @@ done
653 653
 
654 654
 if test "$liste_deputes" = $true_flag; then
655 655
     if test -n "$liste_deputes_value"; then
656
-        sqlite_request "select printf('%s - %s', députés.nom, groupes.nom_court) from députés inner join groupes on groupes.id = députés.groupe where groupes.nom_court is '$liste_deputes_value'"
656
+        sqlite_request "select printf('%s - %s%s',
657
+                                      députés.nom,
658
+                                      groupes.nom,
659
+                                      iif(groupes.nom_court is not null, ' [' || groupes.nom_court || ']', ''))
660
+                        from députés
661
+                        inner join groupes on groupes.id = députés.groupe
662
+                        where
663
+                            groupes.nom like '%$liste_deputes_value%'
664
+                        or
665
+                            groupes.nom_court = '$liste_deputes_value'"
657 666
     else
658
-        sqlite_request "select printf('%s - %s', députés.nom, groupes.nom_court) from députés inner join groupes on groupes.id = députés.groupe order by groupes.nom_court asc"
667
+        sqlite_request "select printf('%s - %s%s',
668
+                                      députés.nom,
669
+                                      groupes.nom,
670
+                                      iif(groupes.nom_court is not null, ' [' || groupes.nom_court || ']', ''))
671
+                        from députés
672
+                        inner join groupes on groupes.id = députés.groupe
673
+                        order by groupes.nom asc"
659 674
     fi
660 675
     exit
661 676
 fi
... ...
@@ -663,17 +678,16 @@ fi
663 678
 if test "$depute" = $true_flag; then
664 679
     if test -n "$nom"; then
665 680
         match=$(sqlite_request "select count(députés.id) from députés inner join groupes on groupes.id = députés.groupe where députés.nom like '%$nom%' and groupes.nom_court is '$groupe' collate nocase")
666
-        if test $match -ne 1; then
667
-            if test $match -eq 0; then
668
-                echo "pas de député correspondant dans le groupe $groupe"
669
-            else 
670
-                echo "plusieurs députés correspondent:"
671
-                sqlite_request "select députés.nom from députés inner join groupes on groupes.id = députés.groupe where députés.nom like '%$nom%' and groupes.nom_court is '$groupe' collate nocase"
672
-            fi
681
+        if test $match -eq 0; then
682
+            echo "pas de député correspondant à $nom dans le groupe $groupe"
683
+            exit 1
684
+        elif test $match -gt 1; then
685
+            echo "plusieurs députés correspondent à $nom:"
686
+            sqlite_request "select députés.nom from députés inner join groupes on groupes.id = députés.groupe where députés.nom like '%$nom%' and groupes.nom_court is '$groupe' collate nocase"
673 687
             exit 1
674 688
         else
675
-            nom=$(sqlite_request "select députés.id,députés.nom from députés inner join groupes on groupes.id = députés.groupe where députés.nom like '%$nom%' and groupes.nom_court is '$groupe' collate nocase")
676
-            groupe[0]="${nom#*|} (${groupe[0]})"
689
+            groupe[0]=$(sqlite_request "select printf('%s (%s)', députés.nom, groupes.nom) from députés inner join groupes on groupes.id = députés.groupe where députés.nom like '%$nom%' and groupes.nom_court is '$groupe' collate nocase")
690
+            nom=${groupe[0]%% (*}
677 691
         fi
678 692
     fi
679 693
 fi