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

Sign up to get free protection for your applications and to get access to all the features.
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