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
@@ -0,0 +1,108 @@
1
+
2
+ .row-fluid
3
+ .span9
4
+ .center
5
+ %h3{:style => "line-height: 24px"}
6
+ ="4. Pick #{@items.length} Seats From the Chart"
7
+ #big-seat-chart-container
8
+ .no-image#stage
9
+ #text
10
+ STAGE
11
+
12
+ #chart-parent{:style => "position: relative; overflow: auto;"}
13
+ #chart.seat-chart-layout
14
+ -@chart.by_rows.each do |row_index, row|
15
+ .seat-row
16
+ .row-label=row.first.row_label
17
+ -row.each do |seat|
18
+ .seat{"data-col-index" => seat.col_index, "data-chart-id" => @chart.id, "data-seat-id" => seat.id, "data-seat-label" => seat.label, "data-seat-note" => seat.seat_note, "data-seat-qualifier" => seat.qualifier, :class => exchange_html_class_for(seat, @ticket_type)}
19
+ ="A" if seat.aisle?
20
+ -if seat.seat_note.present?
21
+ .seat-note
22
+ %i.icon-file{:class => "artfully-tooltip", :rel => "tooltip", :title=>"#{seat.seat_note}", "data-placement" => "bottom"}
23
+ .clear
24
+
25
+ #chart-note-display{:style => "#{'display:none' if @chart.public_note.blank?}"}
26
+ #public-chart-note.bottom-room
27
+ =@chart.public_note
28
+
29
+
30
+ .span3
31
+ %h3
32
+ 5. Click This Button
33
+ .center
34
+ =link_to "Review Exchange", "#reviewExchangeModal", :class => "btn block btn-success btn-large", :id => "review-exchange-button", :disabled => "disabled", "data-toggle"=>"modal"
35
+
36
+ #reviewExchangeModal.modal
37
+ .modal-header
38
+ .close{'data-dismiss'=>'modal'} x
39
+ %h3 Confirm Exchange
40
+ .modal-body
41
+ = form_tag '/exchanges', :id => "exchange-form" do
42
+ = hidden_field_tag :order_id, params[:order_id]
43
+ = hidden_field_tag :show_id, params[:show_id]
44
+ = hidden_field_tag :ticket_type_id, params[:ticket_type_id]
45
+ - params[:items].each do |item_id|
46
+ = hidden_field_tag "items[]", item_id
47
+ #exchange-details
48
+ %p
49
+ When you click the "Confirm Exchange" button, these tickets:
50
+
51
+ .center
52
+ %ul
53
+ - @items.each do |item|
54
+ %li.ticket-detail
55
+ %b= item.show.event.name
56
+ = "#{l(item.show.datetime_local_to_event, :format => :short)},"
57
+ = "#{item.product.ticket_type.name},"
58
+ =number_as_cents item.total_price
59
+
60
+ %p
61
+ will be immediately exchanged for the tickets you selected. We'll update the show data and door list right away.
62
+
63
+ %p
64
+ Artful.ly will not refund or credit any accounts. If there is money to be collected from or refunded to a patron, please reconcile with the patron directly.
65
+
66
+
67
+ - if @order.skip_confirmation_email?
68
+ %p="We cannot send an email confirmation because we have no email address for #{@order.person}."
69
+ - else
70
+ .center
71
+ .control-group
72
+ .controls
73
+ %label.checkbox
74
+ = check_box_tag :send_email_confirmation, "1", "", :style => "float:none"
75
+ ="Also send an email confirmation to #{@order.person.email}."
76
+
77
+ - unless @ticket_type.nil?
78
+ .center
79
+ = submit_tag "Confirm Exchange", :class => "btn btn-large btn-primary", :id => "comfirm-exchange-button", :disable_with => "Exchanging..."
80
+
81
+ -content_for :custom_js do
82
+ = javascript_include_tag 'seat-chart'
83
+ = javascript_include_tag 'exchange-seat-chart'
84
+
85
+ :javascript
86
+ $(document).ready(function() {
87
+ $(".seat-selectable").click(function () {
88
+ var numSelectedSeats = $(".seat-selected").length
89
+ if (numSelectedSeats == #{@items.length}) {
90
+ $("#review-exchange-button").attr("disabled", false)
91
+ $("#comfirm-exchange-button").attr("disabled", false)
92
+ } else {
93
+ $("#review-exchange-button").attr("disabled", true)
94
+ $("#comfirm-exchange-button").attr("disabled", true)
95
+ }
96
+ })
97
+
98
+ $("#exchange-form").submit( function(eventObj) {
99
+ $.each($(".seat-selected"), function(index, el) {
100
+ var seatId = $(el).attr("data-seat-id")
101
+ $('<input />').attr('type', 'hidden')
102
+ .attr('name', "seat_id[]")
103
+ .attr('value', seatId)
104
+ .appendTo('#exchange-form');
105
+ })
106
+ return true;
107
+ });
108
+ })
@@ -0,0 +1,55 @@
1
+ = form_tag '/exchanges' do
2
+ = hidden_field_tag :order_id, params[:order_id]
3
+ = hidden_field_tag :show_id, params[:show_id]
4
+ = hidden_field_tag :ticket_type_id, params[:ticket_type_id]
5
+ - params[:items].each do |item_id|
6
+ = hidden_field_tag "items[]", item_id
7
+ #exchange-details
8
+ - unless @num_available_tickets < @items.length
9
+ .row
10
+ .span3.offset2#outgoing-tickets
11
+ .well
12
+ %ol.unstyled
13
+ - @items.each do |item|
14
+ %li.ticket-detail
15
+ %h6= item.show.event.name
16
+ = l(item.show.datetime_local_to_event, :format => :short)
17
+ %br
18
+ = item.product.ticket_type.name
19
+ .lead=number_as_cents item.total_price
20
+ #exchange-arrow.span2
21
+ %i.fa.fa-arrow-right.fa-3x
22
+
23
+ .span3#incoming-tickets
24
+ .well{class: ("negative" if @free_upgrade)}
25
+ %ol.unstyled
26
+ - @items.count.times do
27
+ %li.ticket-detail
28
+ %h6= @event.name
29
+ = l(@ticket_type.show.datetime_local_to_event, :format => :short)
30
+ %br
31
+ = @ticket_type.name
32
+ .lead=number_as_cents @ticket_type.price
33
+
34
+ .row
35
+ .span6.offset3
36
+ %p
37
+ When you click the "Confirm Exchange" button, The tickets on the left will be immediately exchanged for the tickets on the right. We'll update the show data and door list right away.
38
+
39
+ %p
40
+ Artful.ly will not refund or credit any accounts. If there is money to be collected from or refunded to a patron, please reconcile with the patron directly.
41
+
42
+
43
+ - if @order.skip_confirmation_email?
44
+ %p="We cannot send an email confirmation because we have no email address for #{@order.person}."
45
+ - else
46
+ .center
47
+ .control-group
48
+ .controls
49
+ %label.checkbox
50
+ = check_box_tag :send_email_confirmation, "1", "", :style => "float:none"
51
+ ="Also send an email confirmation to #{@order.person.email}."
52
+
53
+ - unless @ticket_type.nil?
54
+ .center
55
+ = submit_tag "Confirm Exchange", :class => "btn btn-large btn-primary", :disable_with => "Exchanging..."
@@ -21,61 +21,7 @@
21
21
  = select_tag "ticket_type_selector", options_for_select(@show.chart.ticket_types.collect{ |ticket_type| [(truncate(ticket_type.name, :length => 20, :separator => ' ', :omission => '...') + ' ' + number_as_cents(ticket_type.price)), url_for(params.merge({:ticket_type_id => ticket_type.id}))] }, url_for(params.merge({:ticket_type_id => @ticket_type.try(:id)}))), include_blank: true, class: "visit-on-select ticket-type-select span4"
22
22
 
23
23
  - unless @ticket_type.nil?
24
- = form_tag '/exchanges' do
25
- = hidden_field_tag :order_id, params[:order_id]
26
- = hidden_field_tag :show_id, params[:show_id]
27
- = hidden_field_tag :ticket_type_id, params[:ticket_type_id]
28
- - params[:items].each do |item_id|
29
- = hidden_field_tag "items[]", item_id
30
- #exchange-details
31
- - unless @num_available_tickets < @items.length
32
- .row
33
- .span3.offset2#outgoing-tickets
34
- .well
35
- %ol.unstyled
36
- - @items.each do |item|
37
- %li.ticket-detail
38
- %h6= item.show.event.name
39
- = l(item.show.datetime_local_to_event, :format => :short)
40
- %br
41
- = item.product.ticket_type.name
42
- .lead=number_as_cents item.total_price
43
- #exchange-arrow.span2
44
- %i.fa.fa-arrow-right.fa-3x
45
-
46
- .span3#incoming-tickets
47
- .well{class: ("negative" if @free_upgrade)}
48
- %ol.unstyled
49
- - @items.count.times do
50
- %li.ticket-detail
51
- %h6= @event.name
52
- = l(@ticket_type.show.datetime_local_to_event, :format => :short)
53
- %br
54
- = @ticket_type.name
55
- .lead=number_as_cents @ticket_type.price
56
-
57
- .row
58
- .span6.offset3
59
- %p
60
- When you click the "Confirm Exchange" button, The tickets on the left will be immediately exchanged for the tickets on the right. We'll update the show data and door list right away.
61
-
62
- %p
63
- Artful.ly will not refund or credit any accounts. If there is money to be collected from or refunded to a patron, please reconcile with the patron directly.
64
-
65
-
66
- - if @order.skip_confirmation_email?
67
- %p="We cannot send an email confirmation because we have no email address for #{@order.person}."
68
- - else
69
- .center
70
- .control-group
71
- .controls
72
- %label.checkbox
73
- = check_box_tag :send_email_confirmation, "1", "", :style => "float:none"
74
- ="Also send an email confirmation to #{@order.person.email}."
75
-
76
- - unless @ticket_type.nil?
77
- .center
78
- = submit_tag "Confirm Exchange", :class => "btn btn-large btn-primary", :disable_with => "Exchanging..."
24
+ =render :partial => "#{@show.chart.class.name.underscore}"
79
25
 
80
26
  - content_for :custom_js do
81
27
  :javascript
@@ -0,0 +1,2 @@
1
+ #sections
2
+ = render :partial => 'sections_table', :locals => { :show => @show, :tickets => @show.tickets }
@@ -1,35 +1,47 @@
1
- .navbar.navbar-fixed-top
1
+ .navbar
2
2
  .navbar-inner
3
3
  .container
4
- .brand Artful.ly
4
+ .brand=current_user.current_organization.name
5
5
  %ul.nav
6
6
  %li{ :class => "dropdown #{active?(:events)}" }
7
7
  = nav_dropdown "Sell"
8
8
  %ul.dropdown-menu
9
- %li= link_to "New Event", new_event_path
10
- %li= link_to "All Events", events_path
11
- %li= link_to "Memberships", membership_types_path
12
- %li= link_to "Passes", pass_types_path
13
- %li= link_to "Sales Console", new_console_sale_path
14
- -if current_user.is_in_organization?
15
- %li= link_to "Central Storefront", store_organization_events_url(current_user.current_organization.cached_slug), :target => '_blank'
9
+ %li= permission_link_to [:create, Event], "New Event", new_event_path
10
+ %li= permission_link_to [:view, Event], "All Events", events_path
11
+ %li=permission_link_to [:view, Membership], "Memberships", membership_types_path
12
+ %li=permission_link_to [:view, Pass], "Passes", pass_types_path
13
+ %li=permission_link_to [:create, Sale], "Sales Console", new_console_sale_path
14
+ -if current_user.is_in_organization?
15
+ %li=permission_link_to [:view, Event], "Central Storefront", store_organization_events_url(current_user.current_organization.cached_slug), :target => '_blank'
16
16
 
17
17
  %li{ :class => "dropdown #{active?(:people)}" }
18
18
  = nav_dropdown "People"
19
19
  %ul.dropdown-menu
20
- %li= link_to "New Contact", new_person_path
21
- %li= link_to "Search", people_path
22
- %li= link_to "Advanced Search", new_advanced_search_path
23
- %li= link_to "List Segments", advanced_search_segments_path
24
- %li= link_to "Import", new_import_path(:type => :people)
25
- %li= link_to "Export", imports_path
20
+ %li= permission_link_to [:view_basic, Person], "New Contact", new_person_path
21
+ %li= permission_link_to [:view_basic, Person], "Search", people_path
22
+ %li= permission_link_to [:create, Search], "Advanced Search", new_advanced_search_path
23
+ %li= permission_link_to [:manage, Segment], "List Segments", advanced_search_segments_path
24
+ %li= permission_link_to [:manage, Person], "Suggested Households", suggested_households_path
25
+ %li= permission_link_to [:manage, Person], "Tags List", tags_path
26
+ %li= permission_link_to [:manage, Import], "Import", new_import_path(:type => :people)
27
+ %li= permission_link_to [:manage, :export], "Export", imports_path
26
28
 
27
- %li{ :class => "dropdown #{active?(:reports)}" }
28
- = nav_dropdown "Reports"
29
- %ul.dropdown-menu
30
- %li= link_to "Statements", statements_path
31
- %li= link_to "Discounts", discounts_reports_path
32
- %li= link_to "Imports / Exports", imports_path
29
+ - if current_user.can? :manage, :report
30
+ %li{ :class => "dropdown #{active?(:reports)}" }
31
+ = nav_dropdown "Reports"
32
+ %ul.dropdown-menu
33
+ %li= link_to "Statements", statements_path
34
+ %li= link_to "Discounts", discounts_reports_path
35
+ %li= link_to "Pass Usage", passes_reports_path
36
+ %li= link_to "Imports / Exports", imports_path
37
+
38
+ %li{ :class => "dropdown #{active?(:campaigns)}" }
39
+ = nav_dropdown "Fundraising"
40
+ %ul.dropdown-menu#campaigns-menu
41
+ %li= link_to "Campaigns", campaigns_path
42
+ %li= link_to "Log Donation/Pledge", new_contribution_path
43
+ %li= link_to "Outstanding Pledges", pledges_path
44
+ %li= link_to "Unacknowledged Gifts", unacknowledged_gifts_path
33
45
 
34
46
  %li{ :class => "dropdown #{active?(:transactions)}"}
35
47
  = nav_dropdown "Orders"
@@ -38,13 +50,14 @@
38
50
  %li= link_to "Donations", contributions_path
39
51
  %li= link_to "Memberships", membership_orders_path
40
52
  %li= link_to "Search All", orders_path
41
-
42
- %li.divider-vertical
43
- %li.dropdown
44
- = gravatar_image_tag(current_user.email, :alt => 'User icon', :class => 'nav-grav', :gravatar => { :size => 32 })
45
- %li.dropdown
46
- = nav_dropdown current_user.email
47
- %ul.dropdown-menu
48
- -if current_user.is_in_organization?
49
- %li= link_to "Account Administration", organization_path(current_user.current_organization)
50
- %li= link_to "Sign Out", destroy_user_session_path
53
+
54
+ %ul.nav.pull-right
55
+ %li.divider-vertical
56
+ %li.dropdown
57
+ = gravatar_image_tag(current_user.email, :alt => 'User icon', :class => 'nav-grav', :gravatar => { :size => 32 })
58
+ %li.dropdown
59
+ = nav_dropdown current_user.email
60
+ %ul.dropdown-menu
61
+ -if current_user.is_in_organization?
62
+ %li= link_to "Account Administration", organization_path(current_user.current_organization)
63
+ %li= link_to "Sign Out", destroy_user_session_path
@@ -2,40 +2,49 @@
2
2
  %html{:xmlns => "http://www.w3.org/1999/xhtml", "xml:lang" => "en", :lang => "en"}
3
3
  %head
4
4
  %title= "#{yield :title}"
5
+ :plain
6
+ <link href='http://fonts.googleapis.com/css?family=Gravitas+One' rel='stylesheet' type='text/css'>
7
+ <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
8
+ <link href='http://fonts.googleapis.com/css?family=Old+Standard+TT' rel='stylesheet' type='text/css'>
9
+ <link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow' rel='stylesheet' type='text/css'>
5
10
  = stylesheet_link_tag :storefront
6
11
  = render :partial => 'layouts/google_analytics', :locals => { :segment => "storefront" }
7
12
  %body
8
13
  .navbar.navbar-fixed-top
9
- .navbar-inner
10
- .container
11
- = link_to @store_organization.name, store_organization_events_url(@store_organization.cached_slug), :class => 'brand'
12
- %ul.nav#main-menu-options
13
- %li= link_to "Buy Tickets", store_events_path(@store_organization.cached_slug)
14
- - if @store_organization.has_active_passes_storefront?
15
- %li= link_to "Buy Passes", store_passes_path(@store_organization.cached_slug)
16
- - if @store_organization.has_active_membership_storefront?
17
- -if member_signed_in?
18
- %li= link_to "Buy Memberships", store_memberships_path(@store_organization.cached_slug)
19
- -else
20
- %li= link_to "Become a Member", store_memberships_path(@store_organization.cached_slug)
21
- - if @store_organization.has_active_donation_only_storefront?
22
- -if @store_organization.kit(:regular_donation).donate_now_text.present?
23
- %li= link_to @store_organization.kit(:regular_donation).donate_now_text, store_donate_path(@store_organization.cached_slug), :class => "btn btn-small btn-warning primary"
24
- -else
25
- %li= link_to "Donate Now", store_donate_path(@store_organization.cached_slug), :class => "btn btn-small btn-warning primary"
26
- - if @store_organization.has_kit?(:membership)
27
- %ul.nav.pull-right#menu-member-login
28
- -if member_signed_in?
29
- %li.dropdown
30
- = nav_dropdown member_menu_caption
31
- %ul.dropdown-menu
32
- %li= link_to "My Membership", members_root_path
33
- %li= link_to "Sign Out", destroy_member_session_path
34
- -else
35
- %li= link_to "Member Login", new_member_session_path({ :org_name => @store_organization.name })
36
- %ul.nav.pull-right
37
- %li
38
- =icon_link_to("#{current_cart.items.size}", store_order_path(@store_organization.cached_slug), 'fa-shopping-cart', '', 'cart-item-count')
14
+ .clean
15
+ .navbar-inner
16
+ .container
17
+ = link_to @store_organization.name, store_organization_events_url(@store_organization.cached_slug), :class => 'brand brand-lite'
18
+ %ul.nav#main-menu-options
19
+ %li= link_to "Buy Tickets", store_events_path(@store_organization.cached_slug)
20
+ - if @store_organization.has_kit?(:passes)
21
+ %li= link_to "Buy Passes", store_passes_path(@store_organization.cached_slug)
22
+
23
+ - if @store_organization.has_kit?(:membership)
24
+ -if member_signed_in?
25
+ %li= link_to "Buy Memberships", store_memberships_path(@store_organization.cached_slug)
26
+ -else
27
+ %li= link_to "Become a Member", store_memberships_path(@store_organization.cached_slug)
28
+
29
+ - if @store_organization.has_active_donation_only_storefront?
30
+ -if @store_organization.kit(:regular_donation).donate_now_text.present?
31
+ %li= link_to @store_organization.kit(:regular_donation).donate_now_text, store_donate_path(@store_organization.cached_slug), :class => "btn btn-small btn-warning primary"
32
+ -else
33
+ %li= link_to "Donate Now", store_donate_path(@store_organization.cached_slug), :class => "btn btn-small btn-warning primary"
34
+
35
+ - if @store_organization.has_kit?(:membership)
36
+ %ul.nav.pull-right#menu-member-login
37
+ -if member_signed_in?
38
+ %li.dropdown
39
+ = nav_dropdown member_menu_caption
40
+ %ul.dropdown-menu
41
+ %li= link_to "My Membership", members_root_path
42
+ %li= link_to "Sign Out", destroy_member_session_path
43
+ -else
44
+ %li= link_to "Member Login", new_member_session_path({ :org_name => @store_organization.name })
45
+ %ul.nav.pull-right
46
+ %li
47
+ =icon_link_to("#{current_cart.items.size}", store_order_path(@store_organization.cached_slug), 'fa-shopping-cart', '', 'cart-item-count')
39
48
 
40
49
  .content.container
41
50
  = render :partial => 'layouts/flash', :locals => { :flash => flash }
@@ -43,5 +52,38 @@
43
52
  = javascript_include_tag 'ical'
44
53
  = yield
45
54
 
55
+ -if write_membership_modal
56
+ .modal.fade.hide{:id => "loginNagModal"}
57
+ .modal-header
58
+ .close{'data-dismiss'=>'modal'} x
59
+ .center
60
+ %h4 LET'S FIND YOUR TICKETS
61
+ .modal-body
62
+ .row-fluid
63
+ .span6
64
+ .well
65
+ .center
66
+ %h6 LOG INTO YOUR ACCOUNT
67
+
68
+ = form_for(Member.new, :as => "member", :url => session_path("member")) do |f|
69
+ %fieldset
70
+ = f.text_field :email, :placeholder => "Email"
71
+ = f.password_field :password, :placeholder => "Password", :autocomplete => 'off'
72
+ = f.submit "Sign In", :class => "btn btn-primary btn-block"
73
+ .span6
74
+ .well
75
+ .center
76
+ %h6 NEW HERE?
77
+ .button-container
78
+ =link_to "Become a member", store_memberships_path(@store_organization), :class => "btn btn-block btn-success"
79
+ %button.btn.btn-block#close-login-nag
80
+ Continue without signing in
81
+
82
+ .row-fluid
83
+ %p
84
+ Forgot your password?
85
+ =link_to "Click here so we can help", new_password_path("member")
86
+
46
87
  = javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
47
88
  = javascript_include_tag :storefront
89
+ = yield :custom_js
@@ -5,6 +5,7 @@
5
5
  =form.hidden_field :person_id
6
6
  =form.hidden_field :search_id
7
7
  =form.hidden_field :segment_id
8
+ =form.hidden_field :advanced_search_id
8
9
 
9
10
  .control-group
10
11
  = form.label "Membership Type", :class => 'control-label'