diff --git a/src/main/java/model/Configuration.java b/src/main/java/model/Configuration.java index 1a712c8..0b09924 100644 --- a/src/main/java/model/Configuration.java +++ b/src/main/java/model/Configuration.java @@ -139,6 +139,14 @@ public static boolean ticketingTrainingIsOpen() { return config != null && config.value.equals("true"); } + /** + * Retourne l'Url de la page de Openfeedback du talk. + */ + public static String getFeedbackUrl(Long id) { + Configuration config = Configuration.find("key", ConfigurationKey.FEEDBACK_URL).firstResult(); + return config != null ? config.value + "/" + id : null; + } + /** * Return true if Call For Paper is opened, false otherwise */ diff --git a/src/main/java/model/ConfigurationKey.java b/src/main/java/model/ConfigurationKey.java index 77b241e..5f6d2eb 100644 --- a/src/main/java/model/ConfigurationKey.java +++ b/src/main/java/model/ConfigurationKey.java @@ -44,6 +44,8 @@ public enum ConfigurationKey { TICKETING_TRAINING_URL, /* [true, false] Si true, permet d'accéder à la page de l'organisme de formation */ TICKETING_TRAINING_OPEN, + /* Feedback Url */ + FEEDBACK_URL, /* URL de la plaquette de sponsoring */ SPONSORING_LEAFLET_URL, /* [true, false] true if the Call For Paper is opened, false otherwise */ diff --git a/src/main/java/rest/Application.java b/src/main/java/rest/Application.java index 83d4590..720d14c 100644 --- a/src/main/java/rest/Application.java +++ b/src/main/java/rest/Application.java @@ -92,7 +92,7 @@ public static native TemplateInstance speakers(List speakers, List orgas); @@ -346,10 +346,11 @@ public TemplateInstance sponsor(@RestPath Long id) { @Path("/session") public TemplateInstance talk(@RestPath Long id) { + String feedbackUrl = Configuration.getFeedbackUrl(id); Talk talk = Talk.findById(id); notFoundIfNull(talk); boolean displayFullSchedule = Configuration.displayFullSchedule(); - return Templates.talk(talk, displayFullSchedule); + return Templates.talk(talk, displayFullSchedule, feedbackUrl); } @Path("/sponsors") diff --git a/src/main/resources/db/migration/V3.0.0__add-config.sql b/src/main/resources/db/migration/V3.0.0__add-config.sql new file mode 100644 index 0000000..3f8ba64 --- /dev/null +++ b/src/main/resources/db/migration/V3.0.0__add-config.sql @@ -0,0 +1,2 @@ +alter table Configuration drop constraint if exists Configuration_key_check; +alter table Configuration add constraint Configuration_key_check check (key in ('GOOGLE_MAP_API_KEY','EVENT_START_DATE','EVENT_END_DATE','DISPLAY_FULL_SCHEDULE','DISPLAY_NEW_SPEAKERS','DISPLAY_TALKS','PROMOTED_PAGE','PROMOTED_PAGE_2','TICKETING_URL','TICKETING_OPEN','TICKETING_TRAINING_URL','TICKETING_TRAINING_OPEN','SPONSORING_LEAFLET_URL','CFP_OPEN','CFP_URL','CANCELLED_URL', 'FEEDBACK_URL')); diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties index ceb311f..d0a28db 100644 --- a/src/main/resources/messages.properties +++ b/src/main/resources/messages.properties @@ -118,6 +118,7 @@ views.application.speakers.title=Speakers views.application.speakers.subtitle=Discover all our amazing speakers ! views.application.speakers.unavailable=The speaker list is not available yet. views.application.speakers.subscribe=Subscribe to the newsletter to be notified when the speaker list is published. +views.application.speakers.feedback-button=Give your feedback! views.application.speaker.title=Speaker views.application.speaker.linkTitle= Tweet about it ! diff --git a/src/main/resources/messages_fr.properties b/src/main/resources/messages_fr.properties index 1b3f38f..7529966 100644 --- a/src/main/resources/messages_fr.properties +++ b/src/main/resources/messages_fr.properties @@ -118,7 +118,10 @@ views.application.coc.chapter.3.content.4=Pour toute question, merci de contacte views.application.speakers.title=Orateurs views.application.speakers.subtitle=Découvrez tous nos super orateurs ! views.application.index.speakers.link=Découvrez tous les orateurs + views.application.speakers.unavailable=La liste des orateurs n'est pas encore disponible. +views.application.speakers.feedback-button=Donner votre avis ! + views.application.speakers.subscribe=Abonnez-vous à la newsletter pour être prévenu dès que les orateurs sont connus. views.application.speaker.title=Orateur diff --git a/src/main/resources/templates/Application/talk.html b/src/main/resources/templates/Application/talk.html index 7bb875c..ff4b6c2 100644 --- a/src/main/resources/templates/Application/talk.html +++ b/src/main/resources/templates/Application/talk.html @@ -6,6 +6,6 @@

{m:views.application.talk.title}

- {#talk talk=talk/} + {#talk talk=talk feedbackUrl=feedbackUrl /}
{/include} diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index fde698b..13261fa 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -556,7 +556,7 @@