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.
- checksums.yaml +4 -4
- data/app/assets/images/loading-white.gif +0 -0
- data/app/assets/images/seating_temp/1.jpg +0 -0
- data/app/assets/images/seating_temp/10.jpg +0 -0
- data/app/assets/images/seating_temp/11.jpg +0 -0
- data/app/assets/images/seating_temp/2.jpg +0 -0
- data/app/assets/images/seating_temp/3.jpg +0 -0
- data/app/assets/images/seating_temp/4.jpg +0 -0
- data/app/assets/images/seating_temp/5.jpg +0 -0
- data/app/assets/images/seating_temp/6.jpg +0 -0
- data/app/assets/images/seating_temp/7.jpg +0 -0
- data/app/assets/images/seating_temp/8.jpg +0 -0
- data/app/assets/images/seating_temp/9.jpg +0 -0
- data/app/assets/images/seating_temp/icon_43405.png +0 -0
- data/app/assets/images/seating_temp/icon_43405.svg +3 -0
- data/app/assets/images/seating_temp/icon_43405_plus.png +0 -0
- data/app/assets/images/seating_temp/license.txt +8 -0
- data/app/assets/javascripts/application.js +1 -0
- data/app/assets/javascripts/custom/cookies.js +27 -0
- data/app/assets/javascripts/custom/inline-people-search.js +4 -0
- data/app/assets/javascripts/custom/job-monitor.js +0 -1
- data/app/assets/javascripts/exchange-seat-chart.js +5 -0
- data/app/assets/javascripts/seat-chart.js +606 -0
- data/app/assets/javascripts/show-seat-chart.js +17 -0
- data/app/assets/javascripts/store/store-seat-chart.js +76 -0
- data/app/assets/javascripts/store/store.js +14 -39
- data/app/assets/stylesheets/application.sass +49 -1
- data/app/assets/stylesheets/bootstrap-overrides.css +11 -3
- data/app/assets/stylesheets/sass/seat-chart.sass +311 -0
- data/app/assets/stylesheets/sass/store.sass +73 -19
- data/app/assets/stylesheets/storefront.css +2 -0
- data/app/concerns/pdf_generation.rb +1 -15
- data/app/controllers/advanced_searches_controller.rb +1 -3
- data/app/controllers/charts_controller.rb +14 -12
- data/app/controllers/console_sales_controller.rb +55 -0
- data/app/controllers/event_calendars_controller.rb +15 -0
- data/app/controllers/events_controller.rb +16 -5
- data/app/controllers/exchanges_controller.rb +32 -9
- data/app/controllers/export_controller.rb +8 -0
- data/app/controllers/members/sessions_controller.rb +0 -2
- data/app/controllers/membership_comps_controller.rb +2 -1
- data/app/controllers/prices_controller.rb +20 -0
- data/app/controllers/shows_controller.rb +3 -1
- data/app/controllers/store/events_controller.rb +6 -5
- data/app/controllers/store/orders_controller.rb +11 -13
- data/app/controllers/store/shows_controller.rb +1 -0
- data/app/controllers/store/store_controller.rb +11 -0
- data/app/controllers/tickets_controller.rb +0 -28
- data/app/controllers/user_memberships_controller.rb +7 -2
- data/app/controllers/venues_controller.rb +9 -0
- data/app/helpers/artfully_ose_helper.rb +18 -4
- data/app/helpers/seating_helper.rb +157 -0
- data/app/models/assigned_chart.rb +220 -0
- data/app/models/cart.rb +6 -1
- data/app/models/chart.rb +28 -17
- data/app/models/database_views/item_view.rb +76 -5
- data/app/models/discount.rb +4 -0
- data/app/models/discounts/buy_one_get_one_free_discount_type.rb +1 -1
- data/app/models/discounts/dollars_off_tickets_discount_type.rb +5 -1
- data/app/models/discounts/percentage_off_tickets_discount_type.rb +8 -4
- data/app/models/event.rb +86 -12
- data/app/models/general_admission_chart.rb +51 -0
- data/app/models/imports/events_import.rb +1 -1
- data/app/models/job/show_creator.rb +3 -10
- data/app/models/kit.rb +11 -1
- data/app/models/kits/assigned_seating_kit.rb +23 -0
- data/app/models/member_walkup.rb +1 -1
- data/app/models/order_handler.rb +22 -6
- data/app/models/organization.rb +4 -5
- data/app/models/person.rb +3 -1
- data/app/models/sale.rb +1 -1
- data/app/models/seat.rb +96 -0
- data/app/models/section.rb +1 -3
- data/app/models/show.rb +10 -17
- data/app/models/ticket.rb +30 -6
- data/app/models/ticket/locker.rb +3 -2
- data/app/models/ticket_type.rb +12 -6
- data/app/models/ticket_types_seat.rb +4 -0
- data/app/models/venue.rb +23 -0
- data/app/views/advanced_searches/filters/_birthday.html.haml +1 -0
- data/app/views/assigned_charts/_show.html.haml +12 -0
- data/app/views/console_sales/_aloha.html.haml +5 -4
- data/app/views/console_sales/new.html.haml +9 -0
- data/app/views/event_calendars/index.html.haml +34 -0
- data/app/views/events/_menu.html.haml +2 -1
- data/app/views/events/_section_fields.html.haml +13 -8
- data/app/views/events/new.html.haml +34 -4
- data/app/views/events/prices.html.haml +3 -4
- data/app/views/events/seating.html.haml +131 -0
- data/app/views/exchanges/_assigned_chart.html.haml +108 -0
- data/app/views/exchanges/_general_admission_chart.html.haml +55 -0
- data/app/views/exchanges/new.html.haml +1 -55
- data/app/views/general_admission_charts/_show.html.haml +2 -0
- data/app/views/layouts/_menu.html.haml +44 -31
- data/app/views/layouts/storefront.html.haml +72 -30
- data/app/views/membership_comps/new.html.haml +1 -0
- data/app/views/order_mailer/confirmation_for.html.haml +5 -3
- data/app/views/order_mailer/confirmation_for.text.haml +1 -2
- data/app/views/pdfs/order.html.haml +20 -6
- data/app/views/seating/_actions_menu.html.haml +10 -0
- data/app/views/seating/_chart.html.haml +15 -0
- data/app/views/seating/_chart_container.html.haml +2 -0
- data/app/views/seating/_chart_note_display.html.haml +7 -0
- data/app/views/seating/_hold_seats_modal.html.haml +39 -0
- data/app/views/seating/_layer_menu.html.haml +23 -0
- data/app/views/seating/_legend.html.haml +52 -0
- data/app/views/seating/_modify_seats_modal.html.haml +29 -0
- data/app/views/seating/_ticket_type_modals.html.haml +41 -0
- data/app/views/shows/_seat_chart.html.haml +122 -0
- data/app/views/shows/_sections_table.html.haml +3 -24
- data/app/views/shows/_ticket_table.html.haml +4 -2
- data/app/views/shows/_work_with.html.haml +4 -0
- data/app/views/shows/new.html.haml +2 -2
- data/app/views/shows/show.html.haml +93 -14
- data/app/views/store/assigned_charts/_show.html.haml +54 -0
- data/app/views/store/checkouts/shopping_cart_display/_tickets.haml +13 -0
- data/app/views/store/donations/index.html.haml +1 -1
- data/app/views/store/events/calendar.html.haml +94 -11
- data/app/views/store/events/index.html.haml +1 -1
- data/app/views/store/events/show.html.haml +36 -2
- data/app/views/store/events/single_show.html.haml +5 -4
- data/app/views/store/general_admission_charts/_show.html.haml +41 -0
- data/app/views/store/orders/show.html.haml +17 -4
- data/app/views/store/shared/_donate_form.html.haml +2 -1
- data/app/views/store/shared/_small_donate_form.html.haml +1 -1
- data/app/views/store/shows/_show.html.haml +1 -39
- data/app/views/ticket_types/edit.html.haml +1 -1
- data/app/views/user_memberships/_list.html.haml +1 -1
- data/app/views/venues/edit.html.haml +1 -1
- data/app/views/venues/show.html.haml +11 -0
- data/config/routes.rb +27 -10
- data/db/migrate/20140828174357_add_type_to_chart.rb +7 -0
- data/db/migrate/20140828195617_create_seats.rb +16 -0
- data/db/migrate/20140829135426_add_venue_to_chart.rb +5 -0
- data/db/migrate/20140829143520_add_assigned_to_event.rb +5 -0
- data/db/migrate/20140904164927_add_fields_to_seat.rb +14 -0
- data/db/migrate/20140912170010_add_note_to_seat.rb +6 -0
- data/db/migrate/20140919152307_add_seats_to_ticket.rb +5 -0
- data/db/migrate/20140930224543_add_public_note_to_chart.rb +5 -0
- data/db/migrate/20141001140737_add_seat_id_index_to_tickets.rb +5 -0
- data/db/migrate/20141001193242_associate_hold_with_person.rb +6 -0
- data/db/migrate/20141021175311_create_ticket_types_seats.rb +11 -0
- data/db/migrate/20150106161744_migrate_charts_back_to_venues.rb +18 -0
- data/db/migrate/20151105085424_add_creator_to_items_view.rb +40 -0
- data/lib/artfully_ose/version.rb +1 -1
- data/spec/factories/assigned_chart_factories.rb +18 -0
- data/spec/factories/chart_factories.rb +4 -8
- data/spec/factories/kit_factories.rb +4 -0
- data/spec/factories/seat_factories.rb +4 -0
- data/spec/factories/show_factories.rb +1 -1
- metadata +66 -5
- data/app/models/ticket/foundry.rb +0 -48
- data/app/models/ticket/template.rb +0 -40
- 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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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"}
|
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,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
|
+
 
|
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
|
+
 
|
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
|
-
 
|
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
|
-
-
|
30
|
-
|
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 }
|