Added lodging backend

This commit is contained in:
Gopesh Tulsyan 2014-06-04 16:14:54 +05:30
parent b1c171cd97
commit 4cc039b358
13 changed files with 164 additions and 1 deletions

View file

@ -0,0 +1,23 @@
module Admin
class LodgingsController < ApplicationController
before_filter :verify_organizer
def index
@venue = @conference.venue
end
def show
end
def update
@venue = @conference.venue
if @venue.update_attributes(params[:venue])
redirect_to(admin_conference_lodgings_path(conference_id: @conference.short_title),
notice: 'Lodgings were successfully updated.')
else
redirect_to(admin_conference_lodgings_path(conference_id: @conference.short_title),
notice: 'Lodgings Updation Failed!')
end
end
end
end

10
app/models/lodging.rb Normal file
View file

@ -0,0 +1,10 @@
class Lodging < ActiveRecord::Base
attr_accessible :name, :description, :photo
belongs_to :venue
has_attached_file :photo,
styles: { thumb: '100x100>', large: '300x300>' }
validates_attachment_content_type :photo,
content_type: [/jpg/, /jpeg/, /png/, /gif/],
size: { in: 0..500.kilobytes }
end

View file

@ -1,6 +1,7 @@
class Venue < ActiveRecord::Base
attr_accessible :name, :description, :website, :address, :photo
attr_accessible :name, :description, :website, :address, :photo, :lodgings_attributes
has_many :conferences
has_many :lodgings
before_create :generate_guid
has_attached_file :photo,
styles: { thumb: '100x100>', large: '300x300>' }
@ -8,6 +9,8 @@ class Venue < ActiveRecord::Base
validates_attachment_content_type :photo,
content_type: [/jpg/, /jpeg/, /png/, /gif/],
size: { in: 0..500.kilobytes }
accepts_nested_attributes_for :lodgings, reject_if: proc { |r| r['name'].blank? },
allow_destroy: true
private
def generate_guid

View file

@ -0,0 +1,10 @@
<div class="nested-fields">
<%= f.inputs do %>
<%= f.input :name %>
<%= f.input :description, :input_html => {:rows => 2 }, hint: 'Write about the hotel/place,
of what they are offering, about types of rooms, prices and address' %>
<%= image_tag f.object.photo(:thumb) if !f.object.photo.blank? %>
<%= f.input :photo %>
<%= remove_association_link :lodging, f %>
<% end %>
</div>

View file

@ -0,0 +1,5 @@
.row
.col-md-8
= semantic_form_for(@venue, :url => admin_conference_lodging_path(@conference.short_title, @conference.venue.lodgings), :html => {:multipart => true}) do |f|
= dynamic_association :lodgings, "Lodgings", f
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}

View file

@ -45,6 +45,8 @@
%ul.nav.nav-stacked.nav-pills.small.collapse.subNav
%li{:class=> active_nav_li(admin_conference_rooms_path(@conference.short_title))}
= link_to 'Rooms', admin_conference_rooms_path(@conference.short_title)
%li{ class: active_nav_li(admin_conference_lodgings_path(@conference.short_title)) }
= link_to 'Lodgings', admin_conference_lodgings_path(@conference.short_title)
%li{ class: active_nav_li(admin_conference_supporter_levels_path(@conference.short_title)) }
= link_to(admin_conference_supporter_levels_path(@conference.short_title)) do
Supporter Levels