diff --git a/jalhyd_branch b/jalhyd_branch index 1d743538bd32b05247bd6b311debc7922c55211f..1f7391f92b6a3792204e07e99f71f643cc35e7e1 100644 --- a/jalhyd_branch +++ b/jalhyd_branch @@ -1,2 +1 @@ -75-section-parametree-calculer-systematiquement-toutes-les-variables-meme-avec-un-parametre-qui-varie - +master diff --git a/src/app/app.component.html b/src/app/app.component.html index 0b4c83e46368616b11f9653e70c79afa9c29b224..debbcf61f8f4f31e81e3473c98697807ff155c58 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -89,6 +89,10 @@ <mat-icon>settings</mat-icon> {{ uitextSidenavParams }} </a> + <a id="side-nav-bug-report" (click)="reportBug(); sidenav.close()"> + <mat-icon>report_problem</mat-icon> + {{ uitextSidenavReportBug }} + </a> <a id="side-nav-help" target="_blank" href="assets/docs-fr/" (click)="sidenav.close()"> <mat-icon>help</mat-icon> {{ uitextSidenavHelp }} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 9f7ad4caf20241acc0c3e4e8fc250b15327bdbfb..d0bd51471984ee6be29cb9dc43b22a11018132ce 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -152,6 +152,10 @@ export class AppComponent implements OnInit, OnDestroy, Observer { return this.intlService.localizeText("INFO_MENU_EMPTY_SESSION_TITLE"); } + public get uitextSidenavReportBug() { + return this.intlService.localizeText("INFO_MENU_REPORT_BUG"); + } + public get uitextSidenavHelp() { return this.intlService.localizeText("INFO_MENU_HELP_TITLE"); } @@ -411,6 +415,22 @@ export class AppComponent implements OnInit, OnDestroy, Observer { }); } + /** + * Demande au client d'envoyer un email (génère un lien mailto:), pré-rempli + * avec un texte standard, et le contenu de la session au format JSON + */ + public reportBug() { + const recipient = "cassiopee@g-eau.fr"; + const subject = "[ISSUE] " + this.intlService.localizeText("INFO_REPORT_BUG_SUBJECT"); + let body = this.intlService.localizeText("INFO_REPORT_BUG_BODY"); + // add session description + body += Session.getInstance().serialise(); + body = encodeURIComponent(body); + + const mailtoURL = `mailto:${recipient}?subject=${subject}&body=${body}`; + window.location.href = mailtoURL; + } + public get revisionInfo(): any { return { jalhyd: { diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index b6ae5181f44d5e9b930103adb2a79792fddb4eab..ec00572b4903fb80fda05b27d4d5df72bf1769cc 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -139,6 +139,7 @@ "INFO_MENU_HELP_TITLE": "Help", "INFO_MENU_LOAD_SESSION_TITLE": "Load session", "INFO_MENU_NOUVELLE_CALC": "New calculation module", + "INFO_MENU_REPORT_BUG": "Report an issue", "INFO_MENU_SAVE_SESSION_TITLE": "Save session", "INFO_MENU_SELECT_CALC": "Select calculator module", "INFO_MENU_EMPTY_SESSION_TITLE": "New session", @@ -212,6 +213,8 @@ "INFO_REMOUS_LARGEUR_BERGE": "Width at embankment level = %B% m", "INFO_REMOUS_RESSAUT_DEHORS": "Hydraulic jump detected %sens% abscissa %x% m", "INFO_REMOUS_RESSAUT_HYDRO": "Hydraulic jump detected between abscissa %xmin% and %xmax% m", + "INFO_REPORT_BUG_SUBJECT": "Issue report", + "INFO_REPORT_BUG_BODY": "This is an issue report.\n\nPlease describe quickly the issue you encoutered, and the steps you followed.\n\n1. ...\n2. ...\n\n\nDO NOT MODIFY TEXT BELOW THIS LINE\n--------------------------------------------\n\n", "INFO_REQUIRES": "requires", "INFO_SECTIONPARAMETREE_TITRE": "Parametric section", "INFO_SECTIONPARAMETREE_TITRE_COURT": "Param. section", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index ec972c18db8ee1186072298cc1dd8d4975d53130..b035a3bb475a6d79d99995f94e0ac93ab060d8c8 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -136,6 +136,7 @@ "INFO_LINKED_VALUE_EXTRA_RESULT_OF": "%s (%s, résultat complémentaire de %s)", "INFO_MENU_HELP_TITLE": "Aide", "INFO_MENU_LOAD_SESSION_TITLE": "Charger une session", + "INFO_MENU_REPORT_BUG": "Signaler un problème", "INFO_MENU_SAVE_SESSION_TITLE": "Enregistrer la session", "INFO_MENU_SELECT_CALC": "Choisir un module de calcul", "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session", @@ -212,6 +213,8 @@ "INFO_REMOUS_LARGEUR_BERGE": "Largeur au niveau des berges = %B% m", "INFO_REMOUS_RESSAUT_DEHORS": "Ressaut hydraulique détecté à l'%sens% de l'abscisse %x% m", "INFO_REMOUS_RESSAUT_HYDRO": "Ressaut hydraulique détecté entre les abscisses %xmin% et %xmax% m", + "INFO_REPORT_BUG_SUBJECT": "Rapport d'erreur", + "INFO_REPORT_BUG_BODY": "Ceci est un rapport d'erreur.\n\nMerci de décrire rapidement ci-dessous le problème rencontré, et les étapes qui vous y ont mené.\n\n1. ...\n2. ...\n\n\nNE PAS MODIFIER LE TEXTE SOUS CETTE LIGNE\n--------------------------------------------\n\n", "INFO_REQUIRES": "dépend de", "INFO_SECTIONPARAMETREE_TITRE": "Section paramétrée", "INFO_SECTIONPARAMETREE_TITRE_COURT": "Sec. param.",