Merge pull request #112 from ChrisBr/fix_new_conference

Fix create conference form
This commit is contained in:
Christian Bruckmayer 2014-05-12 14:54:49 +02:00
commit 1528fb53de
4 changed files with 21 additions and 15 deletions

View file

@ -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

View file

@ -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'}

View file

@ -1,4 +1,4 @@
!!!
%html{:xmlns => "http://www.w3.org/1999/html"}
%html
%head
%meta{:charset => "utf-8"}

View file

@ -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 `<form>` tag.
# See http://diveintohtml5.org/forms.html#validation for more info.
# Formtastic::FormBuilder.perform_browser_validations = true
Formtastic::FormBuilder.perform_browser_validations = true
#
Formtastic::Helpers::FormHelper.builder = FormtasticBootstrap::FormBuilder
FormtasticBootstrap::FormBuilder.default_inline_hint_class = FormtasticBootstrap::FormBuilder.default_block_hint_class