diff --git a/app/controllers/admin/conference_controller.rb b/app/controllers/admin/conference_controller.rb index 0027ff77..571d14ab 100644 --- a/app/controllers/admin/conference_controller.rb +++ b/app/controllers/admin/conference_controller.rb @@ -15,10 +15,13 @@ class Admin::ConferenceController < ApplicationController def create @conference = Conference.new(params[:conference]) - if @conference.save - redirect_to(admin_conference_path(:id => @conference.short_title), :notice => 'Conference was successfully created.') + if @conference.valid? + @conference.save + redirect_to(admin_conference_path(id: @conference.short_title), + notice: 'Conference was successfully created.') else - render :action => "new" + redirect_to(new_admin_conference_path, + flash: { error: @conference.errors.full_messages.join('! ') }) end end diff --git a/app/views/admin/conference/new.html.haml b/app/views/admin/conference/new.html.haml index 1b78f27d..f77d9d0b 100644 --- a/app/views/admin/conference/new.html.haml +++ b/app/views/admin/conference/new.html.haml @@ -1,14 +1,17 @@ .row .col-md-6.col-md-offset-3 = semantic_form_for(@conference, :url => admin_conference_index_path) do |f| - = f.inputs "Basic Information" do - = f.input :title, :hint => "The name of your conference as it shall appear throughout the site. Example: 'OpenSUSE Conference 2013'" - = f.input :short_title, :hint => "A short and unique handle for your conference, using only lower-case letters, numbers and underscores. This will be used to identify your conference in URLs etc. Example: 'froscon2011'" - = f.input :social_tag, :hint => "The hashtag you'll use on Twitter and Google+. Don't include the '#' sign!'" - = f.input :contact_email, :hint => "Contact email address for your conference. Will be used as reply-to address in emails sent out by the system." - = f.inputs "Scheduling" do - = f.input :timezone, :as => :time_zone, :hint => "Please select in what time zone your conference will take place." - = f.input :start_date, :as => :string, :input_html => { :id => "conference-start-datepicker", :readonly => "readonly" } - = f.input :end_date, :as => :string, :input_html => { :id => "conference-end-datepicker", :readonly => "readonly" } + = f.inputs 'Basic Information' do + = f.input :title, hint: "The name of your conference as it shall appear throughout the site. Example: 'OpenSUSE Conference 2013'", + input_html: { required: 'required' } + = f.input :short_title, hint: "A short and unique handle for your conference, using only lower-case letters, numbers and underscores. This will be used to identify your conference in URLs etc. Example: 'froscon2011'", + input_html: { required: 'required' } + = f.input :social_tag, hint: "The hashtag you'll use on Twitter and Google+. Don't include the '#' sign!'", + input_html: { required: 'required' } + = f.input :contact_email, hint: 'Contact email address for your conference. Will be used as reply-to address in emails sent out by the system.' + = f.inputs 'Scheduling' do + = f.input :timezone, as: :time_zone, hint: 'Please select in what time zone your conference will take place.' + = f.input :start_date, as: :string, input_html: { id: 'conference-start-datepicker', readonly: 'readonly', required: 'required' } + = f.input :end_date, as: :string, input_html: { id: 'conference-end-datepicker', readonly: 'readonly', required: 'required' } = f.actions do - = f.action :submit, :button_html => {:class => "btn btn-success pull-right"} + = f.action :submit, button_html: {class: 'btn btn-success pull-right'} diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index c844c4a3..e9e9e0af 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -1,4 +1,4 @@ -!!! +%html{:xmlns => "http://www.w3.org/1999/html"} %html %head %meta{:charset => "utf-8"} diff --git a/config/initializers/formtastic.rb b/config/initializers/formtastic.rb index 69eaae95..b676d4a0 100644 --- a/config/initializers/formtastic.rb +++ b/config/initializers/formtastic.rb @@ -73,7 +73,7 @@ Formtastic::FormBuilder.required_string = "(required)" # You can opt-in to new HTML5 browser validations (for things like email and url inputs) by setting # this to false. Doing so will add a `novalidate` attribute to the `