artfully_ose 1.2.0.pre.4 → 1.2.0.pre.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +8 -8
  2. data/app/assets/images/household-default-avatar.png +0 -0
  3. data/app/assets/images/person-default-avatar.psd +0 -0
  4. data/app/assets/javascripts/angular-resource.min.js +11 -0
  5. data/app/assets/javascripts/angular.min.js +178 -0
  6. data/app/assets/javascripts/application.js +43 -4
  7. data/app/assets/javascripts/store/store.js +5 -4
  8. data/app/assets/stylesheets/application.sass +6 -0
  9. data/app/assets/stylesheets/bootstrap-overrides.css +12 -2
  10. data/app/assets/stylesheets/sass/store.sass +42 -7
  11. data/app/controllers/artfully_ose_controller.rb +2 -7
  12. data/app/controllers/events_controller.rb +3 -21
  13. data/app/controllers/memberships_controller.rb +1 -0
  14. data/app/controllers/organizations_controller.rb +3 -3
  15. data/app/controllers/store/events_controller.rb +2 -0
  16. data/app/helpers/artfully_ose_helper.rb +6 -0
  17. data/app/models/action.rb +1 -1
  18. data/app/models/event.rb +5 -7
  19. data/app/models/kit.rb +1 -3
  20. data/app/models/membership.rb +3 -3
  21. data/app/models/membership_award.rb +1 -0
  22. data/app/models/note.rb +1 -1
  23. data/app/models/order_handler.rb +1 -2
  24. data/app/models/organization.rb +7 -8
  25. data/app/models/user.rb +16 -4
  26. data/app/models/user_membership.rb +4 -3
  27. data/app/views/imports/people/_new.html.haml +5 -5
  28. data/app/views/layouts/_flash.html.haml +1 -1
  29. data/app/views/layouts/application.html.haml +2 -2
  30. data/app/views/layouts/devise_layout.html.haml +2 -2
  31. data/app/views/membership_awards/confirm.html.haml +48 -2
  32. data/app/views/membership_awards/new.html.haml +12 -7
  33. data/app/views/memberships/index.html.haml +98 -38
  34. data/app/views/organizations/_connection_form.html.haml +1 -1
  35. data/app/views/organizations/_form.html.haml +52 -20
  36. data/app/views/organizations/edit.html.haml +2 -2
  37. data/app/views/producer_mailer/donation_kit_notification.html.haml +8 -0
  38. data/app/views/producer_mailer/donation_kit_notification.text.erb +8 -0
  39. data/app/views/producer_mailer/mailchimp_kit_initial_sync_notification.html.haml +21 -0
  40. data/app/views/producer_mailer/ticket_offer_accepted.html.haml +7 -0
  41. data/app/views/producer_mailer/ticket_offer_accepted.text.erb +7 -0
  42. data/app/views/producer_mailer/ticket_offer_rejected.html.haml +11 -0
  43. data/app/views/producer_mailer/ticket_offer_rejected.text.erb +13 -0
  44. data/app/views/shared/_error_messages.html.haml +1 -1
  45. data/app/views/store/events/_venue.html.haml +7 -0
  46. data/app/views/store/events/show.html.haml +6 -11
  47. data/app/views/store/events/single_show.html.haml +41 -0
  48. data/app/views/store/shared/_donate_form.html.haml +1 -1
  49. data/app/views/store/shows/_show.html.haml +37 -29
  50. data/app/views/user_memberships/_list.html.haml +1 -3
  51. data/app/views/users/invitations/edit.html.haml +57 -8
  52. data/app/views/users/mailer/invitation_instructions.html.haml +14 -0
  53. data/app/views/users/passwords/edit.html.haml +2 -2
  54. data/app/views/users/registrations/edit.html.erb +3 -3
  55. data/app/views/users/sessions/new.html.haml +2 -2
  56. data/config/initializers/devise.rb +0 -3
  57. data/config/locales/devise.en.yml +1 -1
  58. data/config/routes.rb +4 -2
  59. data/db/migrate/20130411162346_add_country_zip_state_phone_number_discipline_to_organizations.rb +9 -0
  60. data/db/migrate/20130412184415_add_first_name_and_last_name_to_users.rb +6 -0
  61. data/lib/artfully_ose/version.rb +1 -1
  62. metadata +17 -17
  63. data/app/views/users/mailer/invitation_instructions.html.erb +0 -8
@@ -10,7 +10,7 @@
10
10
  = person.email
11
11
  .span8
12
12
  %h3 Membership
13
- =form_for @membership_award do |form|
13
+ =form_for @membership_award, :html => { :class => 'form-horizontal' } do |form|
14
14
  .control-group
15
15
  = form.label "Membership Type", :class => 'control-label'
16
16
  .controls
@@ -20,18 +20,23 @@
20
20
  = form.label "Number of Memberships", :class => 'control-label'
21
21
  .controls
22
22
  = form.text_field :number_of_memberships
23
-
23
+
24
24
  .control-group
25
- = form.label "Paid Per Membership", :class => 'control-label'
25
+ = form.label "Notes", :class => 'control-label'
26
26
  .controls
27
- .input-prepend
28
- %span.add-on $
29
- = form.text_field :sold_price, :class => 'span1'
27
+ = form.text_area :notes, :rows => 2, :class => "span3"
30
28
 
31
29
  .control-group
32
30
  = form.label "Expires On", :class => 'control-label'
33
31
  .controls
34
32
  = form.text_field :ends_at, :class => :datepicker
33
+
34
+ .control-group
35
+ = form.label "Price per membership", :class => 'control-label'
36
+ .controls
37
+ .input-prepend
38
+ %span.add-on $
39
+ = form.text_field :sold_price, :class => 'span1'
35
40
 
36
41
  .control-group
37
42
  .controls
@@ -44,7 +49,7 @@
44
49
 
45
50
  .control-group
46
51
  .controls
47
- = form.text_area :message, :rows => 10, :class => "span6"
52
+ = form.text_area :message, :rows => 5, :class => "span5"
48
53
 
49
54
 
50
55
  .form-actions
@@ -19,7 +19,9 @@
19
19
  %li
20
20
  = link_to "Change Expiration", "#extend", 'data-toggle' => 'modal'
21
21
  %li
22
- = link_to "Cancel", "#cancel", 'data-toggle' => 'modal'
22
+ = link_to "Change Membership", "#change", 'data-toggle' => 'modal'
23
+ %li
24
+ = link_to "Cancel Membership", "#cancel", 'data-toggle' => 'modal'
23
25
  .span6.right
24
26
  = icon_link_to("View Record", person_path(@person), 'icon-share-alt', 'btn', '')
25
27
  = link_to "Log In", "#", 'data-toggle' => 'modal', :class => 'btn'
@@ -46,49 +48,107 @@
46
48
  %td.price.right=number_as_cents membership.sold_price
47
49
  %td.fee.right TODO
48
50
 
49
- #full-refund.modal
50
- .modal-header
51
- .close{'data-dismiss'=>'modal'} x
52
- %h3 Refund Membership
53
- .modal-body
54
- %p="#{@person} will receive a full refund for these memberships"
55
- .modal-footer
56
- =link_to "Process Refund", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
57
- =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
51
+ #full-refund.modal
52
+ .modal-header
53
+ .close{'data-dismiss'=>'modal'} x
54
+ %h3 Refund Membership
55
+ .modal-body
56
+ %p="#{@person} will receive a full refund for these memberships"
57
+ .modal-footer
58
+ =link_to "Process Refund", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
59
+ =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
58
60
 
59
- #partial-refund.modal
61
+ #change.modal
62
+ =form_tag "#", :class => "form-horizontal", :method => :post do
60
63
  .modal-header
61
64
  .close{'data-dismiss'=>'modal'} x
62
- %h3 Refund Membership
65
+ %h3 Change Membership
63
66
  .modal-body
64
67
  .control-group
65
- %label Enter refund amount:
68
+ %label.control-label="Membership Type"
66
69
  .controls
67
- =text_field_tag "whatever", "", :class => "currency"
68
- %p="#{@person} will receive a partial refund for the above amount and these memberships will be cancelled."
69
- .modal-footer
70
- =link_to "Process Refund", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
71
- =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
70
+ = select_tag :membership_type, options_from_collection_for_select(@membership_types, 'id', 'name')
72
71
 
73
- #cancel.modal
74
- .modal-header
75
- .close{'data-dismiss'=>'modal'} x
76
- %h3 Cancel Membership
77
- .modal-body
78
- %p="These memberships will be cancelled."
79
- .modal-footer
80
- =link_to "Cancel Memberhships", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
81
- =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
82
-
83
- #extend.modal
84
- .modal-header
85
- .close{'data-dismiss'=>'modal'} x
86
- %h3 Change Expiration
87
- .modal-body
88
72
  .control-group
89
- %label Change the expiration of these memberships to:
73
+ %label.control-label Price per membership
90
74
  .controls
91
- =text_field_tag "ends_at", "", :class => "datepicker"
92
- .modal-footer
93
- =submit_tag "Change Expiration", :class => "btn btn-success"
94
- =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
75
+ .input-prepend
76
+ %span.add-on $
77
+ = text_field_tag :sold_price, "", :class => 'span1'
78
+
79
+ #payment-controls.controls
80
+ %label.radio
81
+ = radio_button_tag(:payment_method, :cash, true, :class => 'payment-method', :humanized_value => 'Cash')
82
+ Cash
83
+ %label.radio
84
+ = radio_button_tag(:payment_method, :comp, false, :class => 'payment-method', :humanized_value => 'Comp')
85
+ Comp
86
+ %label.radio
87
+ = radio_button_tag(:payment_method, :credit_card_manual, false, :class => 'payment-method', :humanized_value => 'Credit card')
88
+ Credit
89
+
90
+ #payment-info.hidden.well
91
+ .control-group
92
+ %label.control-label="Name on Card"
93
+ .controls= text_field_tag("credit_card[name]", params[:cardholder_name])
94
+ .control-group
95
+ %label.control-label="Card Number"
96
+ .controls= text_field_tag("credit_card[number]", params[:card_number])
97
+ .control-group
98
+ %label.control-label="Expiration Date"
99
+ .date_field.controls
100
+ = select_tag("credit_card[month]", options_for_select(1..12, params["month"]), :class => 'input-small inline')
101
+ = select_tag("credit_card[year]", options_for_select(Time.now.year..Time.now.year + 10, params["year"]), :class => 'input-small inline')
102
+
103
+ .modal-footer
104
+ =link_to "Process Membership Change", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
105
+ =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
106
+
107
+ #partial-refund.modal
108
+ .modal-header
109
+ .close{'data-dismiss'=>'modal'} x
110
+ %h3 Refund Membership
111
+ .modal-body
112
+ .control-group
113
+ %label Enter refund amount:
114
+ .controls
115
+ =text_field_tag "whatever", "", :class => "currency"
116
+ %p="#{@person} will receive a partial refund for the above amount and these memberships will be cancelled."
117
+ .modal-footer
118
+ =link_to "Process Refund", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
119
+ =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
120
+
121
+ #cancel.modal
122
+ .modal-header
123
+ .close{'data-dismiss'=>'modal'} x
124
+ %h3 Cancel Membership
125
+ .modal-body
126
+ %p="These memberships will be cancelled."
127
+ .modal-footer
128
+ =link_to "Cancel Memberhships", "#", :class => "btn btn-success", 'data-dismiss'=>'modal'
129
+ =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
130
+
131
+ #extend.modal
132
+ .modal-header
133
+ .close{'data-dismiss'=>'modal'} x
134
+ %h3 Change Expiration
135
+ .modal-body
136
+ .control-group
137
+ %label Change the expiration of these memberships to:
138
+ .controls
139
+ =text_field_tag "ends_at", "", :class => "datepicker"
140
+ .modal-footer
141
+ =submit_tag "Change Expiration", :class => "btn btn-success"
142
+ =link_to "Cancel", "#", :class => "btn btn-danger", 'data-dismiss'=>'modal'
143
+
144
+ -content_for :custom_js do
145
+ :javascript
146
+ $(".payment-method").change(function(){
147
+ if($(this).attr('value') != 'credit_card_manual'){
148
+ $("#payment-info").addClass("hidden");
149
+ $("#credit_card_number").val("")
150
+ $("#credit_card_name").val("")
151
+ } else {
152
+ $("#payment-info").removeClass("hidden");
153
+ }
154
+ });
@@ -16,6 +16,6 @@
16
16
  = form.text_field :username
17
17
  %li
18
18
  =form.label :password, "Password", :class=>'control-label'
19
- =form.password_field :password
19
+ =form.password_field :password, autocomplete: 'off'
20
20
  .modal-footer
21
21
  = form.submit "Connect", :class => 'btn'
@@ -1,20 +1,52 @@
1
- .row-fluid
2
- .span6
3
- %h3 Details
4
- %ul
5
- %li
6
- =form.label :name, "Organization Name"
7
- =form.text_field :name, :class => 'input-xlarge no-fa'
8
- %li
9
- =form.label :email, "Contact Email"
10
- =form.email_field :email, :class => 'input-xlarge email-popup', "data-content" => "Your patrons will be able to respond to this email address when receiving ticket/donation receipts. You can change this at any time."
11
- %li
12
- =form.label :time_zone, "Time Zone"
13
- =form.time_zone_select( :time_zone, ActiveSupport::TimeZone.us_zones, {:default => "Eastern Time (US & Canada)"}, {:class => 'input-xlarge'})
14
- .span6
15
- %h3 Preferences
16
- %ul
17
- %li
18
- %label.checkbox
19
- = form.check_box :receive_daily_sales_report
20
- Send the organization admin a daily sales report.
1
+ %fieldset.ng-cloak
2
+ %legend Required Info
3
+ .control-group{"ng-class" => "{error: ! data.organization.valid_name}"}
4
+ = form.label :name, "Organization Name", :class => 'control-label'
5
+ .controls
6
+ = form.text_field :name, :placeholder => 'Example Organization', :required => true, :class => 'input-xlarge no-fa', "ng-model" => "data.organization.name", "ng-init" => "data.organization.name = '#{form.object.name}'"
7
+ %p.text-error{"ng-hide" => "data.organization.valid_name"} Artful.ly already has an organization with this name and zip code. If you forgot your password or would like to be added to the pre-existing organization please email #{mail_to "support@artful.ly"}.
8
+
9
+ .control-group
10
+ = form.label :email, 'Organization Email', :class=>'control-label'
11
+ .controls
12
+ = form.email_field :email, :placeholder => 'contact@organization.org', :required => true, :class => 'input-xlarge email-popup', "data-content" => "Your patrons will be able to respond to this email address when receiving ticket/donation receipts. You can change this at any time."
13
+ %span.help-inline (default contact for your patrons)
14
+
15
+ %fieldset
16
+ %legend Details
17
+ .control-group
18
+ = form.label :country, :class => 'control-label'
19
+ .controls= form.select :country, [(h form.object.country || "United States")], selected: (form.object.country || "United States"), :required => true
20
+
21
+ .control-group
22
+ .control-label.form-inline
23
+ = form.label :state, 'State'
24
+ &
25
+ = form.label :zip, 'Zip'
26
+ .controls
27
+ = form.select :state, [nil, (h form.object.state || "New York")], selected: (form.object.state), :required => true
28
+ = form.text_field :zip, :placeholder => '10001', :class => 'span1', :required => true, "ng-model" => "data.organization.zip", "ng-init" => "data.organization.zip = '#{form.object.zip}'"
29
+
30
+ .control-group
31
+ = form.label :phone_number, 'Phone Number', :class => 'control-label'
32
+ .controls= form.text_field :phone_number, :placeholder => '(888) 692-7878', :required => true
33
+
34
+ .control-group
35
+ = form.label :website, :class => 'control-label'
36
+ .controls
37
+ .input-prepend
38
+ %span.add-on http://
39
+ = form.text_field :website, :placeholder => 'example.com'
40
+
41
+ .control-group
42
+ = form.label :discipline, :class => 'control-label hidden'
43
+ .controls= form.select :discipline, ['Dance', 'Film & Electronic Media', 'Literary Arts', 'Music', 'Theater', 'Visual Arts', 'Other'], {:include_blank => 'What kind of work does your organization primarily do?'}, {:class => 'span5', :required => true}
44
+
45
+ .control-group
46
+ = form.label :time_zone, "Time Zone", :class => 'control-label'
47
+ .controls= form.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones, {:default => "Eastern Time (US & Canada)"}, {:class => 'span5', :required => true}
48
+
49
+ .control-group
50
+ %label.controls.checkbox
51
+ = form.check_box :receive_daily_sales_report
52
+ Send me emails summarizing my sales for each day.
@@ -3,6 +3,6 @@
3
3
  %h1 Edit Organization
4
4
 
5
5
  = render "shared/error_messages", :target => @organization
6
- = form_for @organization do |form|
6
+ = form_for @organization, :html => {"ng-controller" => "EditOrganizationCtrl"} do |form|
7
7
  = render :partial => 'organizations/form', :locals => { :form => form }
8
- = form.submit "Save", :class => 'btn btn-primary disablable'
8
+ = form.submit "Save", :class => 'btn btn-primary disablable'
@@ -0,0 +1,8 @@
1
+ %h2= "Your organization #{@organization.name} has applied for a DonationKit in Artful.ly with the following details:"
2
+
3
+ %ul
4
+ %li= "Organization Name: #{@organization.name}"
5
+ %li= "Legal Organization Name: #{@organization.legal_organization_name}"
6
+ %li= "EIN: #{@organization.ein}"
7
+
8
+ To complete this activation, you must fax or email your IRS Determination Letter to FracturedAtlas.
@@ -0,0 +1,8 @@
1
+
2
+ Your organization <%= @organization.name %> has applied for a DonationKit in Artful.ly with the following details:
3
+
4
+ Organization Name: <%= @organization.name %>
5
+ Legal Organization Name: <%= @organization.legal_organization_name %>
6
+ EIN: <%= @organization.ein %>
7
+
8
+ To complete this activation, you must fax or email your IRS Determination Letter to FracturedAtlas.
@@ -0,0 +1,21 @@
1
+ %h2 #{@organization.name} has successfully synced your Artful.ly account with the following MailChimp lists:
2
+
3
+ - if @added_list_names.any?
4
+ %h3 Added:
5
+ %ul
6
+ - @added_list_names.each do |name|
7
+ %li= name
8
+
9
+ - if @removed_list_names.any?
10
+ %h3 Removed:
11
+ %ul
12
+ - @removed_list_names.each do |name|
13
+ %li= name
14
+
15
+ %p #{pluralize @kit.count_from_mailchimp, 'person'} synced from MailChimp
16
+ %p #{pluralize @kit.count_merged_mailchimp, 'person'} merged from MailChimp
17
+
18
+ %p From now on your Artful.ly People records and MailChimp members should stay in sync.
19
+
20
+ %p Cheers,
21
+ %p The Artful.ly Team
@@ -0,0 +1,7 @@
1
+ %h2 The ticket reseller #{@reseller.name} has accepted the following offer.
2
+
3
+ %ul
4
+ %li Event: #{@event.name}
5
+ %li Show: #{@show.show_time}
6
+ %li Ticket Type: #{@ticket_type.name}
7
+ %li Tickets: #{pluralize @ticket_offer.count, "ticket"}
@@ -0,0 +1,7 @@
1
+
2
+ The ticket reseller <%= @reseller.name %> has accepted the following offer.
3
+
4
+ Event: <%= @event.name %>
5
+ Show: <%= @show.show_time %>
6
+ Section: <%= @ticket_type.name %>
7
+ Tickets: <%= pluralize @ticket_offer.count, "ticket" %>
@@ -0,0 +1,11 @@
1
+ %h2 The ticket reseller #{@reseller.name} has rejected the following offer.
2
+
3
+ %ul
4
+ %li Event: #{@event.name}
5
+ %li Show: #{@show.show_time}
6
+ %li Ticket Type: #{@ticket_type.name}
7
+ %li Tickets: #{pluralize @ticket_offer.count, "ticket"}
8
+
9
+ - if @ticket_offer.rejection_reason.present?
10
+ %h2 The reseller included the following comment:
11
+ = simple_format @ticket_offer.rejection_reason
@@ -0,0 +1,13 @@
1
+
2
+ The ticket reseller <%= @reseller.name %> has accepted the following offer.
3
+
4
+ Event: <%= @event.name %>
5
+ Show: <%= @show.show_time %>
6
+ Section: <%= @section.name %>
7
+ Tickets: <%= pluralize @ticket_offer.count, "ticket" %>
8
+
9
+ <% if @ticket_offer.rejection_reason.present? %>
10
+ The reseller included the following comment:
11
+
12
+ <%= @ticket_offer.rejection_reason %>
13
+ <% end %>
@@ -1,4 +1,4 @@
1
1
  - if !target.nil? && target.errors.any?
2
2
  .flash{:class => [bootstrapped_type(:error), :error, 'alert']}
3
3
  .close{ "data-dismiss" => "alert"} &times;
4
- = target.errors.full_messages.to_sentence
4
+ = clean_full_error_messages(target.errors)
@@ -0,0 +1,7 @@
1
+ #venue
2
+ %h6 Venue
3
+ =link_to image_tag("https://maps.google.com/maps/api/staticmap?size=140x140&maptype=roadmap&markers=color:red|#{event.venue.address_as_url_query}&sensor=false&zoom=15"), "https://maps.google.com/maps?q=#{event.venue.address_as_url_query.html_safe}&z=15"
4
+ %div
5
+ %strong=event.venue.name
6
+ %div=event.venue.street_as_string
7
+ %div=event.venue.city_state_zip_as_string
@@ -1,12 +1,12 @@
1
1
  - content_for :title do
2
2
  Buy tickets to #{@event.name}
3
- .container
4
- %h1#logo= @event.name
5
- %p= @event.producer
3
+ .container#multi-show-container
4
+ #event-header
5
+ %h1#logo= @event.name
6
+ %h4= @event.producer
6
7
 
7
8
  .row
8
9
  .span8
9
- %h6 Buy Tickets
10
10
 
11
11
  - @use_calendar = (@event.upcoming_public_shows.length > 5 || params[:calendar] == 'true')
12
12
 
@@ -38,13 +38,8 @@
38
38
  =simple_format "#{@event.description} (#{link_to 'less','#', :class => 'toggle'})"
39
39
  - else
40
40
  =simple_format @event.description
41
- #venue.side-section
42
- %h6 Venue
43
- =link_to image_tag("https://maps.google.com/maps/api/staticmap?size=140x140&maptype=roadmap&markers=color:red|#{@event.venue.address_as_url_query}&sensor=false&zoom=15"), "https://maps.google.com/maps?q=#{@event.venue.address_as_url_query.html_safe}&z=15"
44
- %div
45
- %strong=@event.venue.name
46
- %div=@event.venue.street_as_string
47
- %div=@event.venue.city_state_zip_as_string
41
+ .side-section
42
+ =render :partial => "venue", :locals => { :event => @event }
48
43
  - unless @event.contact_email.blank? && @event.contact_phone.blank?
49
44
  #contact.side-section
50
45
  %h6 Contact
@@ -0,0 +1,41 @@
1
+ - content_for :title do
2
+ Buy tickets to #{@event.name}
3
+
4
+ .container#single-show-container
5
+ .row
6
+ .span8
7
+
8
+ #event-header.side-section
9
+ %h1#logo= @event.name
10
+ %h4= @event.shows.first.show_time
11
+ %h4= @event.producer
12
+ %h4= @event.venue.city_state_zip_as_string
13
+
14
+ #about-event.side-section
15
+ #description
16
+ -if @event.description && @event.description.length > 600
17
+ .toggle-truncated
18
+ .truncated
19
+ = simple_format "#{truncate(@event.description, :length => 300)} (#{link_to 'more','#', :class => 'toggle'})"
20
+ .not-truncated{:style => 'display:none;'}
21
+ =simple_format "#{@event.description} (#{link_to 'less','#', :class => 'toggle'})"
22
+ - else
23
+ =simple_format @event.description
24
+
25
+ #show
26
+ =render :partial => 'store/shows/show', :locals => {:show => @event.shows.first, :collapsed => false}
27
+
28
+
29
+ .span4
30
+ .side-section.event-image
31
+ %center
32
+ - if @event.image?
33
+ = image_tag @event.image.url, :class => "event-poster", "data-toggle" => "modal", "data-target" => "#poster-modal"
34
+
35
+ .side-section.store-event-display
36
+ - unless @event.venue.address_as_string.blank?
37
+ =render :partial => "venue", :locals => { :event => @event }
38
+
39
+ #poster-modal.modal.hide.fade
40
+ .modal-body
41
+ = image_tag @event.image.url