diff --git a/db.go b/db.go index 99bd339..a822dbc 100644 --- a/db.go +++ b/db.go @@ -59,6 +59,18 @@ VALUES ( ); `, transaction.MembreID, transaction.IsPerpetual) if err != nil { + if err.Error() == `ERROR: duplicate key value violates unique constraint "transactions_pkey" (SQLSTATE 23505)` { + return fmt.Errorf("Membre '%s' a déjà reçu son agenda %s.", + transaction.MembreID, + func() string { + if transaction.IsPerpetual { + return "perpétuel" + } else { + return "non-perpétuel" + } + }(), + ) + } return err } diff --git a/handler.go b/handler.go index 97763a5..d014d98 100644 --- a/handler.go +++ b/handler.go @@ -97,7 +97,7 @@ func UICreateTransaction(ctx context.Context, cfg Config, bottinClient *bottin.A membreID := c.FormValue("membre_id") if membreID == "" { - return fmt.Errorf("👎 Aucun numéro étudiant sélectionné. Assurez-vous de cliquer sur la case 'Numéro étudiant:' avant de scanner.") + return fmt.Errorf("Aucun numéro étudiant sélectionné. Assurez-vous de cliquer sur la case 'Numéro étudiant:' avant de scanner.") } //TODO check if membre already received before checking bottin @@ -106,13 +106,13 @@ func UICreateTransaction(ctx context.Context, cfg Config, bottinClient *bottin.A membreResponse, err := bottinClient.ReadMembre(ctx, membreID) if err != nil { if err.Error() == "400 no rows in result set" { - return fmt.Errorf("👎 Numéro étudiant introuvable %s", membreID) + return fmt.Errorf("Numéro étudiant introuvable %s", membreID) } return err } if membreResponse.Data.Membre.ID != membreID { - return fmt.Errorf("👎 Bottin a retourné '%s' en demandant '%s'", membreID, membreResponse.Data.Membre.ID) + return fmt.Errorf("Bottin a retourné '%s' en demandant '%s'", membreID, membreResponse.Data.Membre.ID) } // dbclient.CreateTransaction @@ -124,7 +124,7 @@ func UICreateTransaction(ctx context.Context, cfg Config, bottinClient *bottin.A } // Prepare result message - d.Result = fmt.Sprintf("👍 Membre %s peut recevoir son agenda %s", + d.Result = fmt.Sprintf("Membre %s peut recevoir son agenda %s", membreID, func() string { if isPerpetual { diff --git a/ui/app.html b/ui/app.html index 730837f..610a07d 100644 --- a/ui/app.html +++ b/ui/app.html @@ -112,8 +112,8 @@ button { - {{ if .Error }}
Erreur: {{ .Error }}
{{ end }} - {{ if .Result }}{{ .Result }}
{{ end }} + {{ if .Error }}👎 {{ .Error }}
{{ end }} + {{ if .Result }}👍 {{ .Result }}
{{ end }}