diff --git a/Gemfile b/Gemfile index 2c2144d9fe391979397fdfd665cb68669d37af87..6931bf0ce849457549bf4dd5f0d534399672126e 100644 --- a/Gemfile +++ b/Gemfile @@ -54,7 +54,6 @@ gem 'activeadmin', github: 'gregbell/active_admin' gem 'polyamorous', github: 'activerecord-hackery/polyamorous' gem "formtastic", github: "justinfrench/formtastic" gem "ransack", github: "activerecord-hackery/ransack", branch: "rails-4.1" -gem "devise", github: "plataformatec/devise" gem 'rails-i18n' gem 'devise-i18n' diff --git a/Gemfile.lock b/Gemfile.lock index f63c849984c15162d863f4edadfffb577179fba2..26fbf1fda2a65cad48706048872fcf16dd385ea5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,17 +48,6 @@ GIT formtastic (2.3.0.rc2) actionpack (>= 3.0) -GIT - remote: git://github.com/plataformatec/devise.git - revision: b786c384d54a6365bdc6c0cf6068dc5325a301a9 - specs: - devise (3.2.4) - bcrypt (~> 3.0) - orm_adapter (~> 0.1) - railties (>= 3.2.6, < 5) - thread_safe (~> 0.1) - warden (~> 1.2.3) - GIT remote: git://github.com/svenfuchs/i18n-active_record.git revision: 55507cf59f8f2173d38e07e18df0e90d25b1f0f6 @@ -125,6 +114,12 @@ GEM compass-rails (1.1.7) compass (>= 0.12.2) sprockets (<= 2.11.0) + devise (3.2.4) + bcrypt (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 3.2.6, < 5) + thread_safe (~> 0.1) + warden (~> 1.2.3) devise-i18n (0.10.3) em-websocket (0.5.0) eventmachine (>= 0.12.9) @@ -285,7 +280,6 @@ DEPENDENCIES activeadmin! coffee-rails compass-rails - devise! devise-i18n font-awesome-rails formtastic! diff --git a/app/assets/stylesheets/events.css.sass b/app/assets/stylesheets/events.css.sass index 2c354b7f11014542992bff9740c2ea7853244e60..efe6f0e1cc672c1b87bb943802f5b15ee77c72a1 100644 --- a/app/assets/stylesheets/events.css.sass +++ b/app/assets/stylesheets/events.css.sass @@ -152,7 +152,7 @@ table.calendar margin-bottom: 2px !important * vertical-align: middle - p.helper + .helper p margin: 1px 5px 1px 6.6em line-height: 0.9em label diff --git a/app/assets/stylesheets/sessions.css.sass b/app/assets/stylesheets/sessions.css.sass index 2ae6411a97e17d331e93614417ec41ce4ce39107..dbbcc792637fc7ad1db4a361ea295e03b51da8b6 100644 --- a/app/assets/stylesheets/sessions.css.sass +++ b/app/assets/stylesheets/sessions.css.sass @@ -9,7 +9,7 @@ margin: 0.5em * vertical-align: middle - p.helper + .helper p margin: 1px 5px 1px 6.6em line-height: 0.9em label diff --git a/app/views/events/_form.html.haml b/app/views/events/_form.html.haml index 2ccfac43f4a9e0e981aa6d782822084c45cea5fe..0507dea8be638913faf67f0accf36e3aa1f8ad3c 100644 --- a/app/views/events/_form.html.haml +++ b/app/views/events/_form.html.haml @@ -1,3 +1,5 @@ +- markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, tables: true) + = form_for @event do |f| - if @event.errors.any? #error_explanation @@ -7,33 +9,12 @@ %li= msg - unless @event.id - :markdown - Cette page permet de soumettre un évènement dans l'Agenda du Libre. Celui-ci n'apparaîtra pas automatiquement dans l'Agenda, il sera tout d'abord validé par un modérateur. Un courrier électronique vous sera envoyé à l'adresse e-mail de contact donnée ci-dessous lorsque l'évènement aura été modéré. - - #advises - %h1 Recommandations importantes - - :markdown - Ces quelques recommandations vous permettront de proposer un évènement qui sera validé plus rapidement, et dont la lisibilité sera meilleure pour les utilisateurs de l'Agenda du Libre. - - * L'évènement doit concerner le **Logiciel Libre**. L'agenda n'a pas vocation à publier d'autres types d'évènements. - * Le texte des évènements doit être rédigé en français, en **évitant les fautes de grammaire et d'orthographe**. - * Donnez une description **rédigée** de l'évènement, avec des phrases, plutôt qu'un style télégraphique. - * Commencez la description de votre évènement par une phrase reprenant les informations principales, telle que : _« L'association [Zorglub](http://www.asso-zorglub.org) organise une conférence sur le thème des **modèles économiques du Logiciel Libre** le samedi 21 mars de 18h à 20h à la médiathèque Champillion de Montpellier. »_ - * Pensez que le lecteur peut ne pas connaître votre association, le logiciel dont il sera question, etc., donc donnez à chaque fois toutes les informations nécessaires. Rappelez **le principe de l'évènement, le public visé, le lieu exact, la date, l'heure**, même si il est régulier (repas, rencontre régulière, etc.) et que vous avez déjà soumis un évènement du même type dans l'Agenda. - * **Égayez au maximum la description** de votre évènement: lien vers le site de votre association, vers le logiciel ou le langage dont il sera question, vers les organismes partenaires, etc. Pour cela, utilisez les balises HTML pour mettre en gras, en italique, faire des paragraphes et des liens. - * Ne mettez pas l'intégralité des mots en majuscule, que ce soit dans le titre, le nom de la ville ou la description. - * Donnez l'**adresse directe** d'un site Web donnant plus d'informations sur l'évènement. Si l'adresse est la page d'accueil du site de votre organisation, veillez à ce que l'évènement soit clairement visible, et que le lecteur n'ait pas à chercher trop longtemps avant de trouver l'information qu'il cherche. - * La description de l'évènement ne doit pas ressembler à une publicité éhontée pour votre entreprise, projet ou logiciel. Le ton d'un communiqué de presse, par exemple, ne convient pas pour l'Agenda du Libre. - * Les évènements de type professionnel sont acceptés dès lors qu'ils sont accessibles et ouverts à tous. Les évènements payants sont acceptés si le prix de l'entrée ne réserve pas l'évènement à un public uniquement professionnel. - - L'équipe de modération se réserve le droit de modifier la description de l'évènement pour la rendre plus complète, plus lisible ou plus attrayante. + = raw markdown.render t '.subtitle' - Si vous soumettez souvent un évènement régulier dans l'Agenda du Libre, vous pouvez automatiser cette procédure à l'aide d'un [script que nous vous proposons](http://agendadulibre.org/submit-script-doc.php). + #advises= raw markdown.render t '.advises' .field - %p.helper - %strong Décrivez en moins de 5 mots votre évènement, sans y indiquer le lieu, la ville ou la date. + .helper= raw markdown.render t '.title_helper' = f.label :title = f.text_field :title, size: 70 .field @@ -43,16 +24,7 @@ = f.label Event.human_attribute_name :end_time = f.datetime_select :end_time .field - %p.helper - %strong Décrivez de la manière la plus complète possible votre évènement. - %p.helper - %em - :escaped - Les balises HTML autorisées sont <p>, <b>, <i>, <ul>, <ol>, <li>, <br/>, <a>. Merci d'utiliser ces balises pour formater la description de votre évènement. - %p.helper - %em - :escaped - Veillez à utiliser les balises <p> pour formater les paragraphes, et non la balise <br/>. + .helper= raw markdown.render t '.description_helper' = f.label Event.human_attribute_name :description = f.text_area :description, rows: 29, cols: 80 @@ -68,27 +40,19 @@ = f.select :locality, options_for_select([[t('attributes.locality_0'), 0], [t('attributes.locality_1'), 1]], @event.locality) .field - %p.helper - %em - Lien - %strong direct - vers une page donnant plus d'informations sur l'évènement (lieu précis, horaire précis, programme précis...) + .helper= raw markdown.render t '.url_helper' = f.label Event.human_attribute_name :url = f.text_field :url, size: 70 .field - %p.helper - %em Adresse e-mail de contact. Elle sera affichée de manière peu compréhensible par les spammeurs. + .helper= raw markdown.render t '.contact_helper' = f.label Event.human_attribute_name :contact = f.text_field :contact, size: 70 .field - %p.helper - %em Adresse e-mail du soumetteur de l'évènement. Elle ne sera utilisée que par les modérateurs pour contacter la personne ayant proposé l'évènement, pour lui informer de sa validation ou de son rejet. Si cette adresse n'est pas présente, l'adresse de contact sera utilisée + .helper= raw markdown.render t '.submitter_helper' = f.label :submitter = f.text_field :submitter, size: 70 .field - %p.helper - %em Tags pour l'évènement. Les tags sont séparés par des espaces. Un tag ne peut contenir que des lettres minuscules, des chiffres et des tirets. - %p.helper Dans les tags, indiquez le nom de la ou des associations organisatrices. N'indiquez pas le nom de la ville ou de la région. + .helper= raw markdown.render t '.tags_helper' = f.label :tags = f.text_field :tags, size: 70 diff --git a/db/seeds.rb b/db/seeds.rb index 70664e31ac0aee6dbbcf52a0d014b9c2e7047bc4..e118a916a049f78643bb4ce1b9d8335d13c62525 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -7,5 +7,55 @@ # Mayor.create(name: 'Emanuel', city: cities.first) I18n::Backend::ActiveRecord::Translation.create([ - { locale: 'fr', key: 'layouts.application.subtitle', value: 'L\'agenda des évènements du Logiciel Libre en France' } + { locale: 'fr', key: 'layouts.application.subtitle', + value: 'L\'agenda des évènements du Logiciel Libre en France' }, + + { locale: 'fr', key: 'events.form.subtitle', + value: "Cette page permet de soumettre un évènement dans l'Agenda du Libre. Celui-ci n'apparaîtra pas automatiquement dans l'Agenda, il sera tout d'abord validé par un modérateur. Un courrier électronique vous sera envoyé à l'adresse e-mail de contact donnée ci-dessous lorsque l'évènement aura été modéré." }, + + { locale: 'fr', key: 'events.form.advises', + value: "# Recommandations importantes + +Ces quelques recommandations vous permettront de proposer un évènement qui sera validé plus rapidement, et dont la lisibilité sera meilleure pour les utilisateurs de l'Agenda du Libre. + +* L'évènement doit concerner le **Logiciel Libre**. L'agenda n'a pas vocation à publier d'autres types d'évènements. +* Le texte des évènements doit être rédigé en français, en **évitant les fautes de grammaire et d'orthographe**. +* Donnez une description **rédigée** de l'évènement, avec des phrases, plutôt qu'un style télégraphique. +* Commencez la description de votre évènement par une phrase reprenant les informations principales, telle que: _«L'association [Zorglub](http://www.asso-zorglub.org) organise une conférence sur le thème des **modèles économiques du Logiciel Libre** le samedi 21 mars de 18h à 20h à la médiathèque Champillion de Montpellier.»_ +* Pensez que le lecteur peut ne pas connaître votre association, le logiciel dont il sera question, etc., donc donnez à chaque fois toutes les informations nécessaires. Rappelez **le principe de l'évènement, le public visé, le lieu exact, la date, l'heure**, même si il est régulier (repas, rencontre régulière, etc.) et que vous avez déjà soumis un évènement du même type dans l'Agenda. +* **Égayez au maximum la description** de votre évènement: lien vers le site de votre association, vers le logiciel ou le langage dont il sera question, vers les organismes partenaires, etc. Pour cela, utilisez les balises HTML pour mettre en gras, en italique, faire des paragraphes et des liens. +* Ne mettez pas l'intégralité des mots en majuscule, que ce soit dans le titre, le nom de la ville ou la description. +* Donnez l'**adresse directe** d'un site Web donnant plus d'informations sur l'évènement. Si l'adresse est la page d'accueil du site de votre organisation, veillez à ce que l'évènement soit clairement visible, et que le lecteur n'ait pas à chercher trop longtemps avant de trouver l'information qu'il cherche. +* La description de l'évènement ne doit pas ressembler à une publicité éhontée pour votre entreprise, projet ou logiciel. Le ton d'un communiqué de presse, par exemple, ne convient pas pour l'Agenda du Libre. +* Les évènements de type professionnel sont acceptés dès lors qu'ils sont accessibles et ouverts à tous. Les évènements payants sont acceptés si le prix de l'entrée ne réserve pas l'évènement à un public uniquement professionnel. + +L'équipe de modération se réserve le droit de modifier la description de l'évènement pour la rendre plus complète, plus lisible ou plus attrayante. + +Si vous soumettez souvent un évènement régulier dans l'Agenda du Libre, vous pouvez automatiser cette procédure à l'aide d'un [script que nous vous proposons](http://agendadulibre.org/submit-script-doc.php). +" }, + + { locale: 'fr', key: 'events.form.title_helper', + value: "**Décrivez en moins de 5 mots votre évènement, sans y indiquer le lieu, la ville ou la date.**" }, + + { locale: 'fr', key: 'events.form.description_helper', + value: "**Décrivez de la manière la plus complète possible votre évènement.** + +*Les balises HTML autorisées sont `<p>`, `<b>`, `<i>`, `<ul>`, `<ol>`, `<li>`, `<br/>`, `<a>`. Merci d'utiliser ces balises pour formater la description de votre évènement.* + +*Veillez à utiliser les balises `<p>` pour formater les paragraphes, et non la balise `<br/>`.* +" }, + + { locale: 'fr', key: 'events.form.url_helper', + value: "_Lien **direct** vers une page donnant plus d'informations sur l'événement (lieu précis, horaire précis, programme précis...)_" }, + + { locale: 'fr', key: 'events.form.contact_helper', + value: "*Adresse e-mail de contact. Elle sera affichée de manière peu compréhensible par les spammeurs.*" }, + + { locale: 'fr', key: 'events.form.submitter_helper', + value: "*Adresse e-mail du soumetteur de l'évènement. Elle ne sera utilisée que par les modérateurs pour contacter la personne ayant proposé l'évènement, pour lui informer de sa validation ou de son rejet. Si cette adresse n'est pas présente, l'adresse de contact sera utilisée*" }, + + { locale: 'fr', key: 'events.form.tags_helper', + value: "*Tags pour l'évènement. Les tags sont séparés par des espaces. Un tag ne peut contenir que des lettres minuscules, des chiffres et des tirets.* + +*Dans les tags, indiquez le nom de la ou des associations organisatrices. N'indiquez pas le nom de la ville ou de la région.*" } ])