osem-fcy/app/views/admin/venues/_form.html.haml
James Mason 8ddcd695f0 Add vendor picture interface; include in splash
Vendor has a picture atrribute, and was displayed in one form of the
splashpage, but it wasn't exposed in the vendor editing form, nor was it
included in the "map view" on the splash page.

Additionally, the map popup was rendered inline.

This commit:
* Adds a from input for editing Venue#picture, consistent with other
  form elements
* Displays the picture on the splash page in either style (map or
  static)
* Moves the splash page map popup from inline HTML to it's own partial
2017-10-17 15:33:04 +03:00

59 lines
3.2 KiB
Text

.row
.col-md-12
.page-header
%h1 Venue
.tabbable
%ul.nav.nav-tabs
%li.active
= link_to 'Details', '#details-content', 'data-toggle' => 'tab'
%li
= link_to 'Commercials', '#commercials-content', 'data-toggle' => 'tab'
.tab-content
#details-content.tab-pane.active
.col-md-8
= semantic_form_for(@venue, url: admin_conference_venue_path(@conference.short_title)) do |f|
= f.inputs :name, :website
= f.input :description, input_html: { rows: 5, cols: 20, data: { provide: 'markdown-editable' } }, hint: markdown_hint
= f.label 'Venue Logo'
%br
- if @venue.picture?
= image_tag @venue.picture.thumb.url
= f.input :picture, label: false, hint: 'This will be displayed on the venue are of the splash page.'
= f.hidden_field :picture_cache
= f.inputs :street, :postalcode, :city, :country, :latitude, :longitude
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary' }
#commercials-content.tab-pane
- if can? :create, @venue.commercial and @venue.id
- if @venue.commercial.nil?
.row
.col-md-6
#resource-content
#resource-placeholder{ style: 'background-color:#d3d3d3; float: left; width: 400px; height: 250px; margin: 5px; border-width: 1px; border-style: solid; border-color: rgba(0,0,0,.2);' }
.row
.col-md-6
= semantic_form_for(Commercial.new,as: :commercial, url: admin_conference_venue_venue_commercial_path(conference_id: @conference.short_title)) do |f|
= f.input :url, label: 'URL', as: :string, input_html: { required: 'required', type: 'url' },
hint: 'Just paste the url of your video/photo provider. Currently supported: YouTube, Vimeo, SpeakerDeck, SlideShare, Instagram, Flickr.'
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary pull-right', disabled: true }
%hr
- else
- if @venue.commercial.persisted?
.col-md-4
.thumbnail
.flexvideo{ id: "resource-content-#{@venue.commercial.id}"}
= render partial: 'shared/media_item', locals: { commercial: @venue.commercial }
.caption
- if can? :update, @venue.commercial
= semantic_form_for @venue.commercial, as: :commercial, url: admin_conference_venue_venue_commercial_path(conference_id: @conference.short_title, id: @venue.commercial.id) do |f|
= f.input :url, label: 'URL', as: :string, input_html: { id: "commercial_url_#{@venue.commercial.id}", required: 'required' }, hint: 'Just paste the url of your video/photo provider'
= f.action :submit, as: :button, button_html: { class: 'btn btn-success' }, label: 'Update'
- if can? :destroy, @venue.commercial
= link_to 'Delete', admin_conference_venue_venue_commercial_path(conference_id: @conference.short_title, id: @venue.commercial.id),
method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger'
%hr
- else
First Create Venue, then update commercial