mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Better form validation
This commit is contained in:
parent
fb24dfb129
commit
627e3b7b5f
3 changed files with 28 additions and 9 deletions
|
|
@ -1,9 +1,15 @@
|
||||||
class ProposalController < ApplicationController
|
class ProposalController < ApplicationController
|
||||||
before_filter :verify_user
|
before_filter :verify_user
|
||||||
|
before_filter :setup
|
||||||
before_filter :verify_access, :only => [:edit, :update, :destroy, :confirm]
|
before_filter :verify_access, :only => [:edit, :update, :destroy, :confirm]
|
||||||
|
|
||||||
def verify_access
|
def setup
|
||||||
@person = current_user.person
|
@person = current_user.person
|
||||||
|
@url = conference_proposal_index_path(@conference.short_title)
|
||||||
|
@event_types = @conference.event_types
|
||||||
|
end
|
||||||
|
|
||||||
|
def verify_access
|
||||||
if params.has_key? :proposal_id
|
if params.has_key? :proposal_id
|
||||||
params[:id] = params[:proposal_id]
|
params[:id] = params[:proposal_id]
|
||||||
end
|
end
|
||||||
|
|
@ -21,7 +27,6 @@ class ProposalController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@person = current_user.person
|
|
||||||
@events = @person.proposals @conference
|
@events = @person.proposals @conference
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -31,10 +36,7 @@ class ProposalController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@url = conference_proposal_index_path(@conference.short_title)
|
|
||||||
@event = Event.new
|
@event = Event.new
|
||||||
@event_types = @conference.event_types
|
|
||||||
@person = current_user.person
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
|
|
@ -75,13 +77,26 @@ class ProposalController < ApplicationController
|
||||||
submitter = params[:person]
|
submitter = params[:person]
|
||||||
params[:event].delete :person
|
params[:event].delete :person
|
||||||
|
|
||||||
|
@event = Event.new(event_params)
|
||||||
|
@event.conference = @conference
|
||||||
|
|
||||||
|
if submitter[:public_name].blank?
|
||||||
|
flash[:error] = "Your public name cannot be blank."
|
||||||
|
render :action => "new"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if submitter[:biography].blank?
|
||||||
|
flash[:error] = "Your biography cannot be blank."
|
||||||
|
render :action => "new"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
# First, update the submitter's info, if they've changed anything
|
# First, update the submitter's info, if they've changed anything
|
||||||
if submitter[:public_name] != person.public_name || submitter[:biography] != person.biography
|
if submitter[:public_name] != person.public_name || submitter[:biography] != person.biography
|
||||||
person.update_attributes(submitter)
|
person.update_attributes(submitter)
|
||||||
end
|
end
|
||||||
|
|
||||||
@event = Event.new(event_params)
|
|
||||||
@event.conference = @conference
|
|
||||||
@event.event_people.new(:person => person,
|
@event.event_people.new(:person => person,
|
||||||
:event_role => "submitter")
|
:event_role => "submitter")
|
||||||
@event.event_people.new(:person => person,
|
@event.event_people.new(:person => person,
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,14 @@ class Event < ActiveRecord::Base
|
||||||
belongs_to :room
|
belongs_to :room
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
accepts_nested_attributes_for :event_people
|
accepts_nested_attributes_for :event_people, :allow_destroy => true
|
||||||
accepts_nested_attributes_for :event_attachments, :allow_destroy => true, :reject_if => :all_blank
|
accepts_nested_attributes_for :event_attachments, :allow_destroy => true, :reject_if => :all_blank
|
||||||
accepts_nested_attributes_for :people
|
accepts_nested_attributes_for :people
|
||||||
before_create :generate_guid
|
before_create :generate_guid
|
||||||
|
|
||||||
validate :abstract_limit
|
validate :abstract_limit
|
||||||
|
validates :title, :presence => true
|
||||||
|
validates :abstract, :presence => true
|
||||||
|
|
||||||
state_machine :initial => :new do
|
state_machine :initial => :new do
|
||||||
state :new
|
state :new
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ class Person < ActiveRecord::Base
|
||||||
has_many :event_people, :dependent => :destroy
|
has_many :event_people, :dependent => :destroy
|
||||||
has_many :events, :through => :event_people, :uniq => true
|
has_many :events, :through => :event_people, :uniq => true
|
||||||
has_many :registrations, :dependent => :destroy
|
has_many :registrations, :dependent => :destroy
|
||||||
|
|
||||||
validates :first_name, :presence => true
|
validates :first_name, :presence => true
|
||||||
validates :last_name, :presence => true
|
validates :last_name, :presence => true
|
||||||
validate :biography_limit
|
validate :biography_limit
|
||||||
|
|
@ -65,7 +66,7 @@ class Person < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_public_name
|
def set_public_name
|
||||||
if public_name.empty?
|
if public_name.blank?
|
||||||
self.public_name = "#{first_name} #{last_name}"
|
self.public_name = "#{first_name} #{last_name}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue