artfully_ose 1.3.0.pre3 → 1.3.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/loading-white.gif +0 -0
  3. data/app/assets/images/seating_temp/1.jpg +0 -0
  4. data/app/assets/images/seating_temp/10.jpg +0 -0
  5. data/app/assets/images/seating_temp/11.jpg +0 -0
  6. data/app/assets/images/seating_temp/2.jpg +0 -0
  7. data/app/assets/images/seating_temp/3.jpg +0 -0
  8. data/app/assets/images/seating_temp/4.jpg +0 -0
  9. data/app/assets/images/seating_temp/5.jpg +0 -0
  10. data/app/assets/images/seating_temp/6.jpg +0 -0
  11. data/app/assets/images/seating_temp/7.jpg +0 -0
  12. data/app/assets/images/seating_temp/8.jpg +0 -0
  13. data/app/assets/images/seating_temp/9.jpg +0 -0
  14. data/app/assets/images/seating_temp/icon_43405.png +0 -0
  15. data/app/assets/images/seating_temp/icon_43405.svg +3 -0
  16. data/app/assets/images/seating_temp/icon_43405_plus.png +0 -0
  17. data/app/assets/images/seating_temp/license.txt +8 -0
  18. data/app/assets/javascripts/application.js +1 -0
  19. data/app/assets/javascripts/custom/cookies.js +27 -0
  20. data/app/assets/javascripts/custom/inline-people-search.js +4 -0
  21. data/app/assets/javascripts/custom/job-monitor.js +0 -1
  22. data/app/assets/javascripts/exchange-seat-chart.js +5 -0
  23. data/app/assets/javascripts/seat-chart.js +606 -0
  24. data/app/assets/javascripts/show-seat-chart.js +17 -0
  25. data/app/assets/javascripts/store/store-seat-chart.js +76 -0
  26. data/app/assets/javascripts/store/store.js +14 -39
  27. data/app/assets/stylesheets/application.sass +49 -1
  28. data/app/assets/stylesheets/bootstrap-overrides.css +11 -3
  29. data/app/assets/stylesheets/sass/seat-chart.sass +311 -0
  30. data/app/assets/stylesheets/sass/store.sass +73 -19
  31. data/app/assets/stylesheets/storefront.css +2 -0
  32. data/app/concerns/pdf_generation.rb +1 -15
  33. data/app/controllers/advanced_searches_controller.rb +1 -3
  34. data/app/controllers/charts_controller.rb +14 -12
  35. data/app/controllers/console_sales_controller.rb +55 -0
  36. data/app/controllers/event_calendars_controller.rb +15 -0
  37. data/app/controllers/events_controller.rb +16 -5
  38. data/app/controllers/exchanges_controller.rb +32 -9
  39. data/app/controllers/export_controller.rb +8 -0
  40. data/app/controllers/members/sessions_controller.rb +0 -2
  41. data/app/controllers/membership_comps_controller.rb +2 -1
  42. data/app/controllers/prices_controller.rb +20 -0
  43. data/app/controllers/shows_controller.rb +3 -1
  44. data/app/controllers/store/events_controller.rb +6 -5
  45. data/app/controllers/store/orders_controller.rb +11 -13
  46. data/app/controllers/store/shows_controller.rb +1 -0
  47. data/app/controllers/store/store_controller.rb +11 -0
  48. data/app/controllers/tickets_controller.rb +0 -28
  49. data/app/controllers/user_memberships_controller.rb +7 -2
  50. data/app/controllers/venues_controller.rb +9 -0
  51. data/app/helpers/artfully_ose_helper.rb +18 -4
  52. data/app/helpers/seating_helper.rb +157 -0
  53. data/app/models/assigned_chart.rb +220 -0
  54. data/app/models/cart.rb +6 -1
  55. data/app/models/chart.rb +28 -17
  56. data/app/models/database_views/item_view.rb +76 -5
  57. data/app/models/discount.rb +4 -0
  58. data/app/models/discounts/buy_one_get_one_free_discount_type.rb +1 -1
  59. data/app/models/discounts/dollars_off_tickets_discount_type.rb +5 -1
  60. data/app/models/discounts/percentage_off_tickets_discount_type.rb +8 -4
  61. data/app/models/event.rb +86 -12
  62. data/app/models/general_admission_chart.rb +51 -0
  63. data/app/models/imports/events_import.rb +1 -1
  64. data/app/models/job/show_creator.rb +3 -10
  65. data/app/models/kit.rb +11 -1
  66. data/app/models/kits/assigned_seating_kit.rb +23 -0
  67. data/app/models/member_walkup.rb +1 -1
  68. data/app/models/order_handler.rb +22 -6
  69. data/app/models/organization.rb +4 -5
  70. data/app/models/person.rb +3 -1
  71. data/app/models/sale.rb +1 -1
  72. data/app/models/seat.rb +96 -0
  73. data/app/models/section.rb +1 -3
  74. data/app/models/show.rb +10 -17
  75. data/app/models/ticket.rb +30 -6
  76. data/app/models/ticket/locker.rb +3 -2
  77. data/app/models/ticket_type.rb +12 -6
  78. data/app/models/ticket_types_seat.rb +4 -0
  79. data/app/models/venue.rb +23 -0
  80. data/app/views/advanced_searches/filters/_birthday.html.haml +1 -0
  81. data/app/views/assigned_charts/_show.html.haml +12 -0
  82. data/app/views/console_sales/_aloha.html.haml +5 -4
  83. data/app/views/console_sales/new.html.haml +9 -0
  84. data/app/views/event_calendars/index.html.haml +34 -0
  85. data/app/views/events/_menu.html.haml +2 -1
  86. data/app/views/events/_section_fields.html.haml +13 -8
  87. data/app/views/events/new.html.haml +34 -4
  88. data/app/views/events/prices.html.haml +3 -4
  89. data/app/views/events/seating.html.haml +131 -0
  90. data/app/views/exchanges/_assigned_chart.html.haml +108 -0
  91. data/app/views/exchanges/_general_admission_chart.html.haml +55 -0
  92. data/app/views/exchanges/new.html.haml +1 -55
  93. data/app/views/general_admission_charts/_show.html.haml +2 -0
  94. data/app/views/layouts/_menu.html.haml +44 -31
  95. data/app/views/layouts/storefront.html.haml +72 -30
  96. data/app/views/membership_comps/new.html.haml +1 -0
  97. data/app/views/order_mailer/confirmation_for.html.haml +5 -3
  98. data/app/views/order_mailer/confirmation_for.text.haml +1 -2
  99. data/app/views/pdfs/order.html.haml +20 -6
  100. data/app/views/seating/_actions_menu.html.haml +10 -0
  101. data/app/views/seating/_chart.html.haml +15 -0
  102. data/app/views/seating/_chart_container.html.haml +2 -0
  103. data/app/views/seating/_chart_note_display.html.haml +7 -0
  104. data/app/views/seating/_hold_seats_modal.html.haml +39 -0
  105. data/app/views/seating/_layer_menu.html.haml +23 -0
  106. data/app/views/seating/_legend.html.haml +52 -0
  107. data/app/views/seating/_modify_seats_modal.html.haml +29 -0
  108. data/app/views/seating/_ticket_type_modals.html.haml +41 -0
  109. data/app/views/shows/_seat_chart.html.haml +122 -0
  110. data/app/views/shows/_sections_table.html.haml +3 -24
  111. data/app/views/shows/_ticket_table.html.haml +4 -2
  112. data/app/views/shows/_work_with.html.haml +4 -0
  113. data/app/views/shows/new.html.haml +2 -2
  114. data/app/views/shows/show.html.haml +93 -14
  115. data/app/views/store/assigned_charts/_show.html.haml +54 -0
  116. data/app/views/store/checkouts/shopping_cart_display/_tickets.haml +13 -0
  117. data/app/views/store/donations/index.html.haml +1 -1
  118. data/app/views/store/events/calendar.html.haml +94 -11
  119. data/app/views/store/events/index.html.haml +1 -1
  120. data/app/views/store/events/show.html.haml +36 -2
  121. data/app/views/store/events/single_show.html.haml +5 -4
  122. data/app/views/store/general_admission_charts/_show.html.haml +41 -0
  123. data/app/views/store/orders/show.html.haml +17 -4
  124. data/app/views/store/shared/_donate_form.html.haml +2 -1
  125. data/app/views/store/shared/_small_donate_form.html.haml +1 -1
  126. data/app/views/store/shows/_show.html.haml +1 -39
  127. data/app/views/ticket_types/edit.html.haml +1 -1
  128. data/app/views/user_memberships/_list.html.haml +1 -1
  129. data/app/views/venues/edit.html.haml +1 -1
  130. data/app/views/venues/show.html.haml +11 -0
  131. data/config/routes.rb +27 -10
  132. data/db/migrate/20140828174357_add_type_to_chart.rb +7 -0
  133. data/db/migrate/20140828195617_create_seats.rb +16 -0
  134. data/db/migrate/20140829135426_add_venue_to_chart.rb +5 -0
  135. data/db/migrate/20140829143520_add_assigned_to_event.rb +5 -0
  136. data/db/migrate/20140904164927_add_fields_to_seat.rb +14 -0
  137. data/db/migrate/20140912170010_add_note_to_seat.rb +6 -0
  138. data/db/migrate/20140919152307_add_seats_to_ticket.rb +5 -0
  139. data/db/migrate/20140930224543_add_public_note_to_chart.rb +5 -0
  140. data/db/migrate/20141001140737_add_seat_id_index_to_tickets.rb +5 -0
  141. data/db/migrate/20141001193242_associate_hold_with_person.rb +6 -0
  142. data/db/migrate/20141021175311_create_ticket_types_seats.rb +11 -0
  143. data/db/migrate/20150106161744_migrate_charts_back_to_venues.rb +18 -0
  144. data/db/migrate/20151105085424_add_creator_to_items_view.rb +40 -0
  145. data/lib/artfully_ose/version.rb +1 -1
  146. data/spec/factories/assigned_chart_factories.rb +18 -0
  147. data/spec/factories/chart_factories.rb +4 -8
  148. data/spec/factories/kit_factories.rb +4 -0
  149. data/spec/factories/seat_factories.rb +4 -0
  150. data/spec/factories/show_factories.rb +1 -1
  151. metadata +66 -5
  152. data/app/models/ticket/foundry.rb +0 -48
  153. data/app/models/ticket/template.rb +0 -40
  154. data/app/views/store/events/_calendar.html.haml +0 -13
@@ -2,8 +2,7 @@
2
2
 
3
3
  %p="Thank you for your order, #{@person}!"
4
4
 
5
- - unless @order.tickets.empty?
6
- %p="This is not a ticket. Please use your order number to check in at the event."
5
+ %p="Your tickets are attached to this email."
7
6
 
8
7
  %p
9
8
  = "Order number: #{@order.id}"
@@ -31,7 +30,10 @@
31
30
  %ul.ticket-list
32
31
  -tickets.each do |ticket|
33
32
  %li
34
- %span.price= "#{ticket.ticket_type.name}: $#{format("%.2f", (ticket.sold_price/100.0))}"
33
+ .price= "#{ticket.ticket_type.name}: $#{format("%.2f", (ticket.sold_price/100.0))}"
34
+ -if ticket.seat
35
+ .row="Row: #{ticket.seat.row_label}"
36
+ .seat="Seat: #{ticket.seat.col_label}"
35
37
  %li{:style => 'list-style-type:none'}=ticket_type.description
36
38
  %li{:style => 'list-style-type:none'}=ticket_type.receipt_details
37
39
 
@@ -2,8 +2,7 @@ Order confirmation
2
2
 
3
3
  ="Thank you for your order, #{@person}!"
4
4
 
5
- - unless @order.tickets.empty?
6
- ="This is not a ticket. Please use your order number to check in at the event"
5
+ ="Your tickets are attached to this email."
7
6
 
8
7
  = "Order number: #{@order.id}"
9
8
  = "Purchase Date: #{l(@order.created_at_local_to_organization)}"
@@ -17,6 +17,7 @@
17
17
  clear: both;
18
18
  margin-bottom: 20px;
19
19
  box-sizing: border-box;
20
+ text-align: center;
20
21
  }
21
22
  .ticket:nth-child(4n+4) {
22
23
  margin-bottom: 2.2in;
@@ -42,6 +43,8 @@
42
43
  }
43
44
  .order-number {
44
45
  margin-left: 10px;
46
+ font-size: 12px;
47
+ line-height: 12px;
45
48
  }
46
49
  .venue {
47
50
  margin-bottom: 10px;
@@ -49,6 +52,13 @@
49
52
  .person-name {
50
53
  font-weight: bold;
51
54
  }
55
+ .row-and-seat {
56
+ font-size: 28px;
57
+ line-height: 28px;
58
+ }
59
+ .row-and-seat .value {
60
+ font-weight: bold;
61
+ }
52
62
  </style>
53
63
 
54
64
  - pdfable = @order if @order.present?
@@ -76,11 +86,15 @@
76
86
 
77
87
  .venue
78
88
  #{venue.name} <br />
79
- - if venue.address1.present?
80
- #{venue.address1} <br />
81
- - if venue.address2.present?
82
- #{venue.address2} <br />
83
- #{[venue.city,venue.state].select {|s| s.present?}.join(',')} #{venue.zip}
89
+ #{[venue.address1, venue.address2, venue.city,venue.state].select {|s| s.present?}.join(', ')} #{venue.zip}
84
90
 
85
91
  .person-name #{person.first_name} #{person.last_name}
86
- .product #{product.ticket_type.name} #{number_as_cents product.price}
92
+ .product
93
+ ="#{product.ticket_type.name} #{number_as_cents product.price}"
94
+ - if product.seat.present?
95
+ .row-and-seat
96
+ ="Row:"
97
+ %span.value="#{product.seat.row_label}"
98
+ ="Seat:"
99
+ %span.value="#{product.seat.col_label}"
100
+
@@ -0,0 +1,10 @@
1
+ .btn-container
2
+ %a.btn.control-btn.add-row-button Add Row
3
+ .btn-container
4
+ %a.btn.control-btn.add-col-button Add Column
5
+ .btn-container
6
+ %a.btn.control-btn.add-chart-note-button Add Chart Note
7
+ .btn-container
8
+ %a.btn.control-btn.select-all-button Select All Seats
9
+ .btn-container
10
+ %a.btn.control-btn.select-none-button Clear Seat Selection
@@ -0,0 +1,15 @@
1
+ .column-labels
2
+ %div{:style => "width: 24px; float:left"} &nbsp;
3
+ - (1..chart.num_columns).each do |col_index|
4
+ .col{"data-col-index" => (col_index-1)}=col_index
5
+ .clear
6
+
7
+ -chart.by_rows.each do |row_index, row|
8
+ .seat-row
9
+ .row-label=row.first.row_label
10
+ -row.each do |seat|
11
+ .seat{"data-col-index" => seat.col_index, "data-hold-note" => seat.hold_note, "data-hold-person-id" => seat.held_for_id, "id" => "seat_" + seat.id.to_s, "data-seat-id" => seat.id, "data-trigger" => "hover", "data-toggle"=>"popover", "data-placement"=>"right", "data-html" => "true", "data-content"=>hold_popover_text_for(seat), "data-original-title"=>hold_header_for(seat), :class => html_class_for(seat)}
12
+ -if seat.seat_note.present?
13
+ .seat-note
14
+ %i.icon-file{:class => "artfully-tooltip", :rel => "tooltip", :title=>"#{seat.seat_note}", "data-placement" => "bottom"}
15
+ .clear
@@ -0,0 +1,2 @@
1
+ #chart.seat-chart-layout.seat-chart-creator{"data-chart-id" => chart.id}
2
+ =render :partial => "seating/chart", :locals => {:chart => chart}
@@ -0,0 +1,7 @@
1
+ #chart-note-display{:style => "#{'display:none' if chart.public_note.blank?}"}
2
+ #public-chart-note.bottom-room
3
+ =chart.public_note
4
+
5
+ .tip.muted
6
+ This note is visible to your patrons when they select their seats.
7
+ %a{:href=>"#", :id => "edit-chart-note-link"} Edit
@@ -0,0 +1,39 @@
1
+ #holdSeatsModal.modal
2
+ %form#hold-form{:action => "#"}
3
+ %input{:type => "hidden", :id => "person_id"}
4
+ .modal-header
5
+ .close{'data-dismiss'=>'modal'} x
6
+ %h3 Hold Seats
7
+ .modal-body
8
+ .row-fluid
9
+ .span4
10
+ .center
11
+ #seats-selected{:style => "font-size: 40pt; margin:20px 0px"} 25
12
+ #seats-selected-text
13
+ seats selected
14
+
15
+ .span8
16
+ .control-group
17
+ %label.control-label Hold Type
18
+ .controls
19
+ %select#hold-type
20
+ %option.house-hold{:value => "house-hold"} House
21
+ %option{:value => "development-hold"} Development
22
+ %option{:value => "tech-hold"} Tech
23
+ %option{:value => "contractual-hold"} Contractual
24
+ %option{:value => "person-hold"} Person
25
+ %option{:value => "press-hold"} Press
26
+ .control-group
27
+ %label.control-label Note
28
+ .controls
29
+ %textarea#hold-note{:rows => 2, :cols => 40}
30
+ .tip.muted 140 character maximum
31
+ .control-group
32
+ %label.control-label Hold for (Optional)
33
+ .controls#the-details
34
+ %input#search.person-search
35
+
36
+
37
+ .modal-footer
38
+ = submit_tag "Save", :class => "btn btn-primary"
39
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
@@ -0,0 +1,23 @@
1
+ %form
2
+ .control-group
3
+ .controls
4
+ %label.checkbox
5
+ = check_box_tag :holds_layer
6
+ ="Holds"
7
+ .controls
8
+ %label.checkbox
9
+ = check_box_tag :notes_layer
10
+ ="Notes"
11
+ .controls
12
+ %label.checkbox
13
+ = check_box_tag :wheelchair_layer
14
+ ="Wheelchair"
15
+ .controls
16
+ %label.checkbox
17
+ = check_box_tag :aisle_layer
18
+ ="Aisle"
19
+ - ticket_types.each do |ticket_type|
20
+ .controls
21
+ %label.checkbox
22
+ = check_box_tag "ticket-type-#{ticket_type.id}", "1", false, :class => :ticket_type_layer
23
+ ="#{ticket_type.name} #{number_as_cents ticket_type.price}"
@@ -0,0 +1,52 @@
1
+ .seat-chart-legend
2
+ .seat-row.bottom-room
3
+ #legend
4
+ .row-fluid
5
+ .span6
6
+ .seat.seat-unselectable.seat-legend.seat-mini.available.empty
7
+ .seat-label Available for purchase
8
+ .span6
9
+ .seat-legend.seat-mini.hold
10
+ .seat-label Unavailable for purchase
11
+ .row-fluid
12
+ .span6
13
+ .seat.seat-unselectable.seat-legend.seat-mini.killed
14
+ .seat-label Killed
15
+ .span6
16
+ &nbsp
17
+ %hr
18
+ .row-fluid
19
+ .span6
20
+ .seat.seat-unselectable.seat-legend.seat-mini.aisle
21
+ .seat-label Aisle Seat
22
+ .span6
23
+ .seat.seat-unselectable.seat-legend.seat-mini.wheelchair
24
+ .seat-label Wheelchair
25
+ .row-fluid
26
+ .span6
27
+ .seat.seat-unselectable.seat-legend.seat-mini.wheelchair-companion
28
+ .seat-label Wheelchair Companion
29
+ .span6
30
+ &nbsp
31
+ %hr
32
+ .row-fluid
33
+ .span6
34
+ .seat.seat-unselectable.seat-legend.seat-mini.hold.house-hold
35
+ .seat-label House Hold
36
+ .span6
37
+ .seat.seat-unselectable.seat-legend.seat-mini.hold.development-hold
38
+ .seat-label Development Hold
39
+ .row-fluid
40
+ .span6
41
+ .seat.seat-unselectable.seat-legend.seat-mini.hold.tech-hold
42
+ .seat-label Tech Hold
43
+ .span6
44
+ .seat.seat-unselectable.seat-legend.seat-mini.hold.contractual-hold
45
+ .seat-label Contractual Hold
46
+ .row-fluid
47
+ .span6
48
+ .seat.seat-unselectable.seat-legend.seat-mini.hold.person-hold
49
+ .seat-label Person Hold
50
+ .span6
51
+ .seat.seat-unselectable.seat-legend.seat-mini.hold.press-hold
52
+ .seat-label Press Hold
@@ -0,0 +1,29 @@
1
+ #modifyMultipleSeats.modal
2
+ .modal-header
3
+ .close{'data-dismiss'=>'modal'} x
4
+ %h3 Modify Seats
5
+ .modal-body
6
+ .row-fluid
7
+ .span4
8
+ .center
9
+ #seats-selected{:style => "font-size: 40pt; margin:20px 0px"} 25
10
+ #seats-selected-text
11
+ seats selected
12
+
13
+ .span8
14
+ .center
15
+ =link_to "Delete Row(s)", "#", :class => "btn btn-block", :id => "chart-delete-rows-btn"
16
+ =link_to "Delete Column(s)", "#", :class => "btn btn-block", :id => "chart-delete-columns-btn"
17
+ %hr
18
+ =link_to "Apply Ticket Type...", "#", :class => "btn btn-block", :id => "add-ticket-type"
19
+ =link_to "Remove Ticket Type...", "#", :class => "btn btn-block", :id => "remove-ticket-type"
20
+ =link_to "Add Seat Note", "#", :class => "btn btn-block", :id => "add-seat-note-btn"
21
+ %hr
22
+ =link_to "Make Available", "#", :class => "btn btn-block", :id => "chart-make-available-btn"
23
+ =link_to "Hold...", "#", :class => "btn btn-block", :id => "chart-hold-btn"
24
+ =link_to "Wheelchair", "#", :class => "btn btn-block", :id => "chart-wheelchair-btn"
25
+ =link_to "Wheelchair Companion", "#", :class => "btn btn-block", :id => "chart-wheelchair-companion-btn"
26
+ =link_to "Aisle", "#", :class => "btn btn-block", :id => "chart-aisle-btn"
27
+ =link_to "Kill", "#", :class => "btn btn-block", :id => "chart-kill-btn"
28
+ .modal-footer
29
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
@@ -0,0 +1,41 @@
1
+ #addTicketTypeModal.modal
2
+ %form.form-horizontal#add-ticket-type-form{:action => "#"}
3
+ .modal-header
4
+ .close{'data-dismiss'=>'modal'} x
5
+ %h3 Apply/Remove Ticket Type
6
+ .modal-body
7
+ .row-fluid
8
+ .span4
9
+ .center
10
+ #seats-selected{:style => "font-size: 40pt; margin:20px 0px"} 25
11
+ #seats-selected-text
12
+ seats selected
13
+
14
+ .span8
15
+ .center
16
+ -chart.ticket_types.each do |ticket_type|
17
+ =link_to "#{ticket_type.name} #{number_as_cents ticket_type.price}", "#", :class => "btn btn-block add-ticket-type-btn", "data-ticket-type-id" => ticket_type.id
18
+
19
+ .modal-footer
20
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
21
+
22
+ #removeTicketTypeModal.modal
23
+ %form.form-horizontal#add-ticket-type-form{:action => "#"}
24
+ .modal-header
25
+ .close{'data-dismiss'=>'modal'} x
26
+ %h3 Apply/Remove Ticket Type
27
+ .modal-body
28
+ .row-fluid
29
+ .span4
30
+ .center
31
+ #seats-selected{:style => "font-size: 40pt; margin:20px 0px"} 25
32
+ #seats-selected-text
33
+ seats selected
34
+
35
+ .span8
36
+ .center
37
+ -chart.ticket_types.each do |ticket_type|
38
+ =link_to "#{ticket_type.name} #{number_as_cents ticket_type.price}", "#", :class => "btn btn-block remove-ticket-type-btn", "data-ticket-type-id" => ticket_type.id
39
+
40
+ .modal-footer
41
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
@@ -0,0 +1,122 @@
1
+ #big-seat-chart-container
2
+
3
+ #stage
4
+ #text
5
+ STAGE
6
+
7
+ #chart-parent
8
+ %a.btn.control-btn.action-button
9
+ %a.btn.control-btn.layers-button
10
+ %a.btn.control-btn.work-with-button
11
+ .toggable-container.actions-container
12
+ =render :partial => "seating/actions_menu"
13
+ .toggable-container.toggable-container.layers-container
14
+ =render :partial => "seating/layer_menu", :locals => {:ticket_types => @show.ticket_types}
15
+ =render :partial => "seating/chart_container", :locals => {:chart => @show.chart}
16
+ =render :partial => "seating/chart_note_display", :locals => {:chart => @show.chart}
17
+
18
+ .seat-chart-legend
19
+ %hr
20
+ .seat-row.bottom-room
21
+ #legend
22
+ .row-fluid
23
+ .span4
24
+ .seat.seat-unselectable.seat-legend.seat-mini.available.empty
25
+ .seat-label Available for purchase
26
+ .span4
27
+ .seat-legend.seat-mini.hold
28
+ .seat-label Unavailable for purchase
29
+ .span4
30
+ .seat-legend.seat-mini.killed
31
+ .seat-label Killed
32
+ .tip
33
+ =link_to "View complete legend", "#seatLegendModal", "data-toggle"=>"modal"
34
+
35
+ #seatLegendModal.modal
36
+ .modal-header
37
+ .close{'data-dismiss'=>'modal'} x
38
+ %h3 Legend
39
+ .modal-body
40
+ =render :partial => "seating/legend"
41
+ .modal-footer
42
+ = button_tag "Close", :class => "btn", 'data-dismiss' => 'modal'
43
+
44
+ =render :partial => "seating/modify_seats_modal"
45
+ =render :partial => "seating/ticket_type_modals", :locals => { :chart => @show.chart }
46
+ =render :partial => "seating/hold_seats_modal"
47
+
48
+ #sellSeat.modal
49
+ = form_tag new_console_sale_path, :method => :get, :id => "sell-seat-form" do
50
+ .modal-header
51
+ .close{'data-dismiss'=>'modal'} x
52
+ %h3 Sell Seat
53
+ .modal-body
54
+ .row-fluid
55
+ .span3
56
+ #seat-label{:style=>"font-size: 24px"} B3
57
+ .span9
58
+ =hidden_field_tag "seat_id"
59
+ -@show.ticket_types.each_with_index do |ticket_type, index|
60
+ %label.radio{:class => "ticket-type-label", :id => "ticket-type-label-#{ticket_type.id}"}
61
+ =radio_button_tag("ticket_type_id", ticket_type.id, index==0, {:id => "ticket-type-#{ticket_type.id}"})
62
+ ="#{ticket_type.name} #{number_as_cents ticket_type.price}"
63
+ .tip You can specify a payment type and enter payment details on the next screen
64
+ .modal-footer
65
+ = submit_tag "Sell...", :class => "btn btn-primary"
66
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
67
+
68
+ #chartNoteModal.modal
69
+ =form_for @show.chart, :remote => true, :html => {:class => "form-horizontal", :id => "edit-chart-note-form"} do |form|
70
+ .modal-header
71
+ .close{'data-dismiss'=>'modal'} x
72
+ %h3 Edit Chart Note
73
+ .modal-body
74
+ .control-group
75
+ %label.control-label Note
76
+ .controls
77
+ =form.text_area :public_note, :rows => 2, :cols => 20
78
+ .tip.muted 250 character maximum
79
+
80
+ .control-group
81
+ .controls
82
+ This note will be visible to patrons when they are selecting their seats.
83
+
84
+ .modal-footer
85
+ = submit_tag "Save", :class => "btn btn-primary"
86
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
87
+
88
+ #deleteColumsRowsModal.modal
89
+ .modal-header
90
+ .close{'data-dismiss'=>'modal'} x
91
+ %h3 Delete Columns and Rows
92
+ .modal-body
93
+ Sorry, we cannot delete seats from show seat charts. To make the tickets unavailable for purchase, select the seats and select "kill."
94
+ .modal-footer
95
+ = button_tag "OK", :class => "btn", 'data-dismiss' => 'modal'
96
+
97
+ #seatNoteModal.modal
98
+ %form#seat-note-form{:action => "#"}
99
+ .modal-header
100
+ .close{'data-dismiss'=>'modal'} x
101
+ %h3 Seat Note
102
+ .modal-body
103
+ .row-fluid
104
+ .span4
105
+ .center
106
+ #seats-selected{:style => "font-size: 40pt; margin:20px 0px"} 25
107
+ #seats-selected-text
108
+ seats selected
109
+
110
+ .span8
111
+ .control-group
112
+ %label.control-label Note
113
+ .controls
114
+ %textarea#seat-note{:rows => 2, :cols => 40}
115
+ .tip.muted 140 character maximum
116
+ .control-group
117
+ .controls
118
+ This note will be visible to patrons when they select this seat.
119
+
120
+ .modal-footer
121
+ = submit_tag "Save", :class => "btn btn-primary"
122
+ = button_tag "Cancel", :class => "btn", 'data-dismiss' => 'modal'
@@ -1,33 +1,12 @@
1
1
  -@show.chart.sections.each do |section|
2
- %table.table#ticket-type-table
3
- %td{:style => 'width: 30px'}
4
- -if current_user.can? :manage, @show
5
- %ul.nav.in-table
6
- %li.dropdown{:id => "menu-section-#{section.id}"}
7
- =icon_link_to(' ', "menu-section-#{section.id}", 'fa-asterisk', 'dropdown-toggle dropdown btn btn-mini', '')
8
- %ul.dropdown-menu
9
- %li
10
- =link_to "Put on sale", "#putOnSale#{section.id}", 'data-toggle' => 'modal'
11
- %li
12
- =link_to "Take off sale", "#takeOffSale#{section.id}", 'data-toggle' => 'modal'
13
- %li
14
- =link_to "Add tickets", "#addTickets#{section.id}", 'data-toggle' => 'modal'
15
- %td
16
- &nbsp
17
- %td="#{section.show.capacity} tickets"
18
- %td="#{section.show.open} open"
19
- %td="#{section.show.on_sale} on sale"
20
- %td="#{section.show.off_sale} off sale"
21
- %td="#{section.show.sold} sold"
22
- %td="#{section.show.comped} comp"
23
-
24
2
  #tickets
25
3
  .row-fluid
26
4
  .span4
27
5
  %h4 Ticket Types
28
6
  .span8
29
- -if current_user.can? :manage, @show
30
- =icon_link_to("Add New Ticket Type", new_section_ticket_type_path(section, :format => :html), 'fa-plus-circle', 'btn add-new-ticket-type-link', '', {"data-remote" => 'true'})
7
+ .pull-right
8
+ -if current_user.can? :manage, @show
9
+ =icon_link_to("Add New Ticket Type", new_section_ticket_type_path(section, :format => :html), 'fa-plus-circle', 'btn add-new-ticket-type-link', '', {"data-remote" => 'true'})
31
10
 
32
11
  - if section.ticket_types.empty?
33
12
  = render :partial => 'empty_ticket_table', :locals => { :section => section, :show => @show }