wco_models 3.1.0.155 → 3.1.0.158

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7087d1bed892c6923940fc6d1c8ba234ad9e9773e490e4bce6d92808625ad211
4
- data.tar.gz: f88b3cb63acf8f2253156ec1fd45b53d1ff6e9d14886a19233142e7e026efc0d
3
+ metadata.gz: ee76b07543560bf87e0fcb7bedeb3ea1d7e6757fcd19f2ec32a4ac483fd04ba4
4
+ data.tar.gz: 842db59465941e06a296e602130f541a15045412cb80b172ce917ee654a225d7
5
5
  SHA512:
6
- metadata.gz: da0b670caac9e737d49dbbf02633554617cd18c9abdc8def6dc8b65ad20e62038aa984e01f010bed84a2efa1b06b9e31db609acb418d9587b7681d071026813b
7
- data.tar.gz: a828cddbe1e4662d249167c24ec8e5c0abf29beb1811deb3c780c10e013b148004884ea9a5fa30ac4756d823ab8bb26b712ea5ec64cc97587b95cb165fb94339
6
+ metadata.gz: 10ac16fc0d8a4a34ee9511dff6d8c9afa34154a53bcb73eaedd3f140cf047625fe9d8a4e4db75d8ebb2818b60f58949a26ac08328aeced1bcc3e08a8acdebe24
7
+ data.tar.gz: b7a3b725b47b2ff7936be1059ec2caae5440e20a8f75dde373cd55553a457974beed2dd74dad51b7af9d89eda0dc515191bf1a0017a681230c9a1d7135baecc1
@@ -188,6 +188,16 @@ textarea.monospace {
188
188
  width: calc( 100% - 1em );
189
189
  }
190
190
 
191
+ /* R */
192
+
193
+ label.required {
194
+ &:after {
195
+ content: ' *';
196
+ color: red;
197
+ }
198
+ }
199
+
200
+
191
201
  /* S */
192
202
  .spacer-small {
193
203
  height: 20px;
@@ -56,32 +56,13 @@ class Wco::InvoicesController < Wco::ApplicationController
56
56
  @invoice = Wco::Invoice.new params[:invoice].permit!
57
57
  authorize! :create, @invoice
58
58
 
59
- stripe_invoice = Stripe::Invoice.create({
60
- customer: @invoice.leadset.customer_id,
61
- collection_method: 'send_invoice',
62
- days_until_due: 0,
63
- # collection_method: 'charge_automatically',
64
- pending_invoice_items_behavior: 'exclude',
65
- })
66
- params[:invoice][:items].each do |item|
67
- stripe_price = Wco::Price.find( item[:price_id] ).price_id
68
- puts! stripe_price, 'stripe_price'
69
- invoice_item = Stripe::InvoiceItem.create({
70
- customer: @invoice.leadset.customer_id,
71
- price: stripe_price,
72
- invoice: stripe_invoice.id,
73
- quantity: item[:quantity],
74
- })
75
- end
76
- Stripe::Invoice.finalize_invoice( stripe_invoice[:id] )
77
- if params[:do_send]
78
- Stripe::Invoice.send_invoice(stripe_invoice[:id])
79
- flash_notice "Scheduled to send the invoice via stripe."
80
- end
81
- @invoice.update_attributes({ invoice_id: stripe_invoice[:id] })
82
-
83
59
  if @invoice.save
84
60
  flash_notice "Created the invoice."
61
+
62
+ if params[:do_send]
63
+ Stripe::Invoice.send_invoice(@invoice[:invoice_id])
64
+ end
65
+
85
66
  redirect_to action: :show, id: @invoice.id
86
67
  else
87
68
  flash_alert "Cannot create invoice: #{@invoice.errors.messages}"
@@ -1,14 +1,23 @@
1
1
 
2
2
  class Wco::LeadsController < Wco::ApplicationController
3
-
4
3
  before_action :set_lists
5
4
 
6
5
  def create
7
- params[:lead][:tags].delete ''
8
- params[:lead][:leadset] = nil if params[:lead][:leadset].blank?
6
+ params[:lead][:tag_ids]&.delete ''
7
+ params[:lead].delete :leadset_id if params[:lead][:leadset_id].blank?
9
8
 
10
9
  @lead = Wco::Lead.new params[:lead].permit!
11
10
  authorize! :create, @lead
11
+
12
+ if params[:lead][:photo]
13
+ photo = Wco::Photo.new photo: params[:lead][:photo]
14
+ photo.is_public = true
15
+ if photo.save
16
+ @lead.photo = photo
17
+ end
18
+ params[:lead].delete :photo
19
+ end
20
+
12
21
  if @lead.save
13
22
  flash_notice 'ok'
14
23
  else
@@ -26,8 +35,6 @@ class Wco::LeadsController < Wco::ApplicationController
26
35
  authorize! :index, Wco::Lead
27
36
  @leads = Wco::Lead.all
28
37
 
29
-
30
-
31
38
  if params[:q].present?
32
39
  q = params[:q].downcase
33
40
  @leads = @leads.any_of(
@@ -41,19 +48,6 @@ class Wco::LeadsController < Wco::ApplicationController
41
48
  end
42
49
  end
43
50
 
44
- # if params[:q_tag_ids].present?
45
- # carry = nil
46
- # params[:q_tag_ids].each do |term_id|
47
- # lts = LeadTag.where({ term_id: term_id }).map(&:lead_id)
48
- # if carry
49
- # carry = carry & lts
50
- # else
51
- # carry = lts
52
- # end
53
- # end
54
- # @leads = Lead.where({ :id.in => carry })
55
- # end
56
-
57
51
  @leads = @leads.page( params[:leads_page ] ).per( current_profile.per_page )
58
52
  end
59
53
 
@@ -77,11 +71,21 @@ class Wco::LeadsController < Wco::ApplicationController
77
71
  end
78
72
 
79
73
  def update
80
- params[:lead][:tags].delete ''
81
- params[:lead].delete :leadset if params[:lead][:leadset].blank?
74
+ params[:lead][:tag_ids]&.delete ''
75
+ params[:lead].delete :leadset_id if params[:lead][:leadset_id].blank?
82
76
 
83
77
  @lead = Wco::Lead.find params[:id]
84
78
  authorize! :update, @lead
79
+
80
+ if params[:lead][:photo]
81
+ photo = Wco::Photo.new photo: params[:lead][:photo]
82
+ photo.is_public = true
83
+ if photo.save
84
+ @lead.photo = photo
85
+ end
86
+ params[:lead].delete :photo
87
+ end
88
+
85
89
  if @lead.update params[:lead].permit!
86
90
  flash_notice 'ok'
87
91
  else
@@ -14,6 +14,8 @@ class Wco::Invoice
14
14
  include Mongoid::Paranoia
15
15
  store_in collection: 'ish_invoice'
16
16
 
17
+ attr_accessor :is_stripe
18
+
17
19
  field :email, type: String
18
20
 
19
21
  field :invoice_id, type: String # stripe
@@ -35,7 +37,29 @@ class Wco::Invoice
35
37
  field :description, type: String
36
38
  field :items, type: Array # used by stripe
37
39
 
38
-
40
+ before_validation :create_stripe, on: :create
41
+ def create_stripe
42
+ if is_stripe
43
+ stripe_invoice = Stripe::Invoice.create({
44
+ customer: leadset.customer_id,
45
+ collection_method: 'send_invoice',
46
+ days_until_due: 0,
47
+ # collection_method: 'charge_automatically',
48
+ pending_invoice_items_behavior: 'exclude',
49
+ })
50
+ items.each do |item|
51
+ stripe_price = Wco::Price.find( item[:price_id] ).price_id
52
+ invoice_item = Stripe::InvoiceItem.create({
53
+ customer: leadset.customer_id,
54
+ price: stripe_price,
55
+ invoice: stripe_invoice.id,
56
+ quantity: item[:quantity],
57
+ })
58
+ end
59
+ Stripe::Invoice.finalize_invoice( stripe_invoice[:id] )
60
+ self.invoice_id = stripe_invoice[:id]
61
+ end
62
+ end
39
63
 
40
64
  ## Prawn/pdf unit of measure is 1/72"
41
65
  ## Canvas width: 612, height: 792
@@ -0,0 +1,257 @@
1
+
2
+ # require 'ish/premium_item'
3
+ # require 'ish/utils'
4
+
5
+ class WcoGame::Location
6
+ include Mongoid::Document
7
+ include Mongoid::Timestamps
8
+ # include Ish::PremiumItem
9
+ include Mongoid::Paranoia
10
+ include Wco::Utils
11
+ store_in collection: 'gameui_maps'
12
+
13
+ field :name
14
+
15
+ field :newsitems_page_size, default: 25
16
+
17
+ field :slug
18
+ validates :slug, uniqueness: true, presence: true
19
+
20
+ field :description
21
+
22
+ has_many :markers, :class_name => '::Gameui::Marker', inverse_of: :map
23
+ has_many :from_markers, :class_name => '::Gameui::Marker', inverse_of: :destination
24
+
25
+ has_many :newsitems, inverse_of: :map, order: :created_at.desc
26
+
27
+ # @TODO: remove field, replace with relation. _vp_ 2022-09-13
28
+ field :parent_slug
29
+ belongs_to :parent, class_name: '::Gameui::Map', inverse_of: :childs, optional: true
30
+ has_many :childs, class_name: '::Gameui::Map', inverse_of: :parent
31
+
32
+ has_one :image, class_name: '::Ish::ImageAsset', inverse_of: :location
33
+ belongs_to :creator_profile, class_name: '::Ish::UserProfile', inverse_of: :my_maps
34
+
35
+ has_and_belongs_to_many :bookmarked_profiles, class_name: '::Ish::UserProfile', inverse_of: :bookmarked_location
36
+
37
+ # shareable, nonpublic
38
+ field :is_public, type: Boolean, default: true
39
+ scope :public, ->{ where( is_public: true ) }
40
+ has_and_belongs_to_many :shared_profiles, :class_name => 'Ish::UserProfile', :inverse_of => :shared_locations
41
+
42
+ field :version, type: String, default: '0.0.0'
43
+
44
+ ## @TODO: or self, right? and refactor this, seems N+1. _vp_ 2022-09-13
45
+ field :map_slug
46
+ def map
47
+ ::Gameui::Map.where( slug: map_slug ).first
48
+ end
49
+
50
+ RATED_OPTIONS = [ 'pg-13', 'r', 'nc-17' ]
51
+ field :rated, default: 'pg-13' # 'r', 'nc-17'
52
+
53
+ ## Possible keys: description, map, markers, newsitems,
54
+ field :labels, type: Object, default: <<~AOL
55
+ { "description":"Description", "map":"Map", "markers":"Markers", "newsitems":"Newsitems"
56
+ }
57
+ AOL
58
+
59
+ ## Possible keys:
60
+ ## config.description.collapsible
61
+ field :config, type: Object, default: <<~AOL
62
+ { "map_panel_type": "ThreePanelV1",
63
+ "studio": { "hasFloor": true, "studioLength": 2500, "studioWidth": 2500 }
64
+ }
65
+ AOL
66
+
67
+ # @deprecated, dont use!
68
+ field :img_path
69
+
70
+ ## Not used! See config.map_panel_type instead.
71
+ # MAP_TYPES = [ :map_2d, :map_3d, :map_geospatial, :map_gallery, :map_toc ] ## Mostly not implemented. _vp_ 2022-09-06
72
+ # field :map_type, default: :map_2d
73
+
74
+ ## Make sure to use x,y,z and w,h as appropriate.
75
+ ## @TODO: abstract this into a module
76
+ field :x, type: Float
77
+ field :y, type: Float
78
+ field :z, type: Float
79
+
80
+ ## Make sure to use x,y,z and w,h as appropriate.
81
+ field :w, type: Integer
82
+ validates :w, presence: true
83
+ field :h, type: Integer
84
+ validates :h, presence: true
85
+ # @TODO: this is shared between map and marker, move to a concern.
86
+ before_validation :compute_w_h
87
+ def compute_w_h
88
+ return if !image ## @TODO: test this
89
+
90
+ begin
91
+ geo = Paperclip::Geometry.from_file(Paperclip.io_adapters.for(image.image))
92
+ self.w = geo.width
93
+ self.h = geo.height
94
+ rescue Paperclip::Errors::NotIdentifiedByImageMagickError => e
95
+ puts! e, 'Could not #compute_w_h'
96
+ # @TODO: do something with this
97
+ end
98
+ end
99
+
100
+ ORDERING_TYPE_ALPHABETIC = 'alphabetic'
101
+ ORDERING_TYPE_CUSTOM = 'custom'
102
+ ORDERING_TYPE_TIMESTAMP = 'timestamp'
103
+ ORDERING_TYPES = [ ORDERING_TYPE_ALPHABETIC, ORDERING_TYPE_CUSTOM, ORDERING_TYPE_TIMESTAMP ]
104
+ field :ordering_type, type: String, default: 'custom' # timestamp, alphabetic, custom
105
+ validates :ordering_type, presence: true
106
+
107
+ def self.list conditions = { is_trash: false }
108
+ out = self.order_by( created_at: :desc )
109
+ [[nil, nil]] + out.map { |item| [ item.name, item.id.to_s ] }
110
+ end
111
+
112
+ def breadcrumbs
113
+ out = [{ name: self.name, slug: self.slug, link: false }]
114
+ p = self.parent
115
+ while p
116
+ out.push({ name: p.name, slug: p.slug })
117
+ p = p.parent
118
+ end
119
+ out.reverse
120
+ end
121
+
122
+ ##
123
+ ## @TODO: move the export func, below, to a module. _vp_ 2022-09-20
124
+ ##
125
+
126
+ def empty_export
127
+ return {
128
+ galleries: {},
129
+ image_assets: {},
130
+ maps: {}, markers: {},
131
+ newsitems: {},
132
+ photos: {}, profiles: {},
133
+ reports: {},
134
+ videos: {},
135
+ }
136
+ end
137
+ def self.empty_export; Gameui::Map.new.empty_export; end
138
+
139
+ def empty_export_arr
140
+ return {
141
+ galleries: [],
142
+ image_assets: [],
143
+ maps: [], markers: [],
144
+ newsitems: [],
145
+ photos: [], profiles: [],
146
+ reports: [],
147
+ videos: [],
148
+ }
149
+ end
150
+
151
+ def export_key_to_class
152
+ return {
153
+ galleries: 'Gallery',
154
+ image_assets: 'Ish::ImageAsset',
155
+ maps: 'Gameui::Map',
156
+ markers: 'Gameui::Marker',
157
+ newsitems: 'Newsitem',
158
+ photos: 'Photo',
159
+ profiles: 'Ish::UserProfile',
160
+ reports: 'Report',
161
+ videos: 'Video',
162
+ # 'galleries' => 'Gallery',
163
+ # 'image_assets' => 'Ish::ImageAsset',
164
+ # 'maps' => 'Gameui::Map',
165
+ # 'markers' => 'Gameui::Marker',
166
+ # 'newsitems' => 'Newsitem',
167
+ # 'photos' => 'Photo',
168
+ # 'profiles' => 'Ish::UserProfile',
169
+ # 'reports' => 'Report',
170
+ # 'videos' => 'Video',
171
+ }.with_indifferent_access
172
+ end
173
+ def self.export_key_to_class
174
+ Map.new.export_key_to_class
175
+ end
176
+
177
+ def export_fields
178
+ %w|
179
+ creator_profile_id config
180
+ deleted_at description
181
+ h
182
+ is_public
183
+ labels
184
+ map_slug
185
+ name
186
+ ordering_type
187
+ parent_slug
188
+ rated
189
+ slug
190
+ version
191
+ w
192
+ |
193
+ end
194
+
195
+ ## This is the starting point _vp_ 2022-03-12
196
+ ##
197
+ def export_subtree
198
+ collected = collect(empty_export)
199
+ exportable = empty_export_arr
200
+ collected.map do |k, v|
201
+ if v.present?
202
+ v.map do |id|
203
+ id = id[0]
204
+ item = export_key_to_class[k].constantize.unscoped.find id
205
+ export = item.export
206
+ exportable[k].push( export )
207
+ end
208
+ end
209
+ end
210
+ JSON.pretty_generate exportable
211
+ end
212
+
213
+ def collect export_object
214
+ map = self
215
+ export_object[:maps][map.id.to_s] = map.id.to_s
216
+
217
+ if map.markers.present?
218
+ map.markers.map do |marker|
219
+ id = marker.id.to_s
220
+ if !export_object[:markers][id]
221
+ marker.collect( export_object )
222
+ end
223
+ export_object[:markers][id] = id
224
+ end
225
+ end
226
+
227
+ if map.newsitems.present?
228
+ map.newsitems.map do |newsitem|
229
+ id = newsitem.id.to_s
230
+ export_object[:newsitems][id] = id
231
+ newsitem.collect export_object
232
+ end
233
+ end
234
+
235
+ ## @TODO: maybe implement this later, maybe not. _vp_ 2022-03-12
236
+ # if map.childs.present?
237
+ # export_object[:maps].push( map.childs.map &:id )
238
+ # map.childs.map do |child|
239
+ # child.collect export_object
240
+ # end
241
+ # end
242
+
243
+ if map.creator_profile.present?
244
+ export_object[:profiles][map.creator_profile.id.to_s] = map.creator_profile.id.to_s
245
+ end
246
+
247
+ if map.image.present?
248
+ export_object[:image_assets][map.image.id.to_s] = map.image.id.to_s
249
+ end
250
+
251
+ export_object
252
+ end
253
+
254
+ ## endExport
255
+
256
+
257
+ end
@@ -0,0 +1,9 @@
1
+
2
+ class WcoGame::Marker
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ include Mongoid::Paranoia
6
+ include Wco::Utils
7
+ store_in collection: 'gameui_markers'
8
+
9
+ end
@@ -6,8 +6,9 @@
6
6
  = f.text_field :name
7
7
 
8
8
  .field
9
- = f.label :email
10
- = f.text_field :email
9
+ %label.required Email
10
+ = f.text_field :email, required: true
11
+ .small.gray Required to create a leadset
11
12
 
12
13
  .field
13
14
  = f.label :phone
@@ -19,7 +20,7 @@
19
20
 
20
21
  .field
21
22
  = f.label "Leadset (company)"
22
- = f.select :leadset, options_for_select(@leadsets_list, selected: lead.leadset_id), {}, { class: :select2 }
23
+ = f.select :leadset_id, options_for_select(@leadsets_list, selected: lead.leadset_id), {}, { class: :select2 }
23
24
 
24
25
  -# .field
25
26
  -# %label Rating
@@ -31,10 +32,10 @@
31
32
 
32
33
  .field
33
34
  = f.label "Tags"
34
- = f.select :tags, options_for_select(@tags_list, selected: lead.tag_ids ), {}, { class: :select2, multiple: true }
35
+ = f.select :tag_ids, options_for_select(@tags_list, selected: lead.tag_ids ), {}, { class: :select2, multiple: true }
35
36
 
36
37
  .field
37
- = f.label :photo
38
+ %label Photo
38
39
  = f.file_field :photo
39
40
 
40
41
  .actions
@@ -0,0 +1,16 @@
1
+
2
+ %ul.leads--list
3
+ - leads.each do |lead|
4
+ %li.item
5
+ = image_tag lead.photo.photo.url(:thumb)
6
+ = link_to lead, lead_path(lead)
7
+ = link_to '[~]', edit_lead_path(lead)
8
+
9
+ -# \(#{lead.scheduled_email_actions.length} sch
10
+ -# %span.expand-next [+]
11
+ -# .expand-hide= render 'ish_manager/scheduled_actions/form_mini'
12
+ -# \)
13
+
14
+ - if defined?( wco_email )
15
+ %span.expand-next [reply]
16
+ .expand-hide= render '/wco_email/contexts/form_reply_mini', lead: lead
@@ -39,7 +39,7 @@
39
39
  = link_to '[~]', edit_lead_path( lead )
40
40
  = link_to "#{lead.name} <#{lead.email}>", lead_path( lead )
41
41
  %td
42
- = image_tag lead.photo.url(:thumb) if lead.photo
42
+ = image_tag lead.photo.photo.url(:thumb) if lead.photo
43
43
  %td.company
44
44
  = lead.leadset.company_url
45
45
  %td
@@ -14,4 +14,4 @@
14
14
  (#{@leads.length})
15
15
  = link_to raw("<i class='fa fa-plus-square'></i>"), new_lead_path
16
16
 
17
- = render 'index', leads: @leads, search_path: leads_path
17
+ = render '/wco/leads/table', leads: @leads, search_path: leads_path
@@ -22,16 +22,16 @@
22
22
  %li Address: #{@lead.address}
23
23
  -# - if @lead.comment
24
24
  -# %li Comment: #{raw @lead.comment}
25
- - if @lead.photo
26
- %li
27
- = image_tag Photo.find( @lead.photo_id ).photo.url(:small)
28
25
 
29
26
  .col-md-6
27
+ - if @lead.photo
28
+ = image_tag @lead.photo.photo.url(:thumb2)
29
+
30
30
  %h5 Tags
31
31
  %ul
32
32
  - @lead.tags.each do |tag|
33
33
  %li
34
- = link_to tag.name, tag_path(tag)
34
+ = link_to tag, tag_path(tag)
35
35
 
36
36
  .row
37
37
  .col-md-6.ctxs
@@ -10,4 +10,5 @@
10
10
  <b>N reports:</b> #{tag.reports.length}
11
11
  <b>N videos:</b> #{tag.videos.length}
12
12
  <b>N stubs:</b> #{tag.message_stubs.length}
13
+ <b>N leads:</b> #{tag.leads.length}
13
14
  <b>N logs:</b> #{tag.logs.length}
@@ -1,7 +1,7 @@
1
1
 
2
2
  .tags-index.maxwidth
3
3
  .header
4
- %h5.title Tags
4
+ %h5.title Tags (#{@tags.length})
5
5
 
6
6
  = render 'index', tags: @tags
7
7
 
@@ -14,12 +14,17 @@
14
14
  <b>Message Stubs (#{@tag.message_stubs.length}):&nbsp;</b>
15
15
  = render '/wco_email/message_stubs/index', stubs: @tag.message_stubs
16
16
 
17
+ %li.d-flex
18
+ <b>Galleries (#{@galleries.length}):&nbsp;</b>
19
+ = render 'wco/galleries/index', galleries: @galleries, config: { skip_tags: true }
17
20
  %li.d-flex
18
21
  <b>Headlines (#{@tag.headlines.length}):&nbsp;</b>
19
22
  = render '/wco/headlines/index', headlines: @tag.headlines
23
+
20
24
  %li.d-flex
21
- <b>Galleries (#{@galleries.length}):&nbsp;</b>
22
- = render 'wco/galleries/index', galleries: @galleries, config: { skip_tags: true }
25
+ <b>Leads (#{@tag.leads.length}):&nbsp;</b>
26
+ = render 'wco/leads/list', leads: @tag.leads
27
+
23
28
  %li.d-flex
24
29
  <b>Reports (#{@reports.length}):&nbsp;</b>
25
30
  = render 'wco/reports/index', reports: @reports, config: { skip_tags: true }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wco_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0.155
4
+ version: 3.1.0.158
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Pudeyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-25 00:00:00.000000000 Z
11
+ date: 2024-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -473,6 +473,8 @@ files:
473
473
  - app/models/wco_email/message_stub.rb
474
474
  - app/models/wco_email/obfuscated_redirect.rb
475
475
  - app/models/wco_email/unsubscribe.rb
476
+ - app/models/wco_game/location.rb
477
+ - app/models/wco_game/marker.rb
476
478
  - app/models/wco_hosting/appliance.rb
477
479
  - app/models/wco_hosting/appliance_tmpl.rb
478
480
  - app/models/wco_hosting/domain.rb
@@ -529,8 +531,8 @@ files:
529
531
  - app/views/wco/leads/_form.haml
530
532
  - app/views/wco/leads/_form_import.haml
531
533
  - app/views/wco/leads/_header.haml
532
- - app/views/wco/leads/_index.haml
533
- - app/views/wco/leads/_index_rows.haml
534
+ - app/views/wco/leads/_list.haml
535
+ - app/views/wco/leads/_table.haml
534
536
  - app/views/wco/leads/edit.haml
535
537
  - app/views/wco/leads/index.haml
536
538
  - app/views/wco/leads/new.haml
@@ -561,7 +563,7 @@ files:
561
563
  - app/views/wco/office_actions/index.haml
562
564
  - app/views/wco/office_actions/new.haml
563
565
  - app/views/wco/office_actions/show.haml
564
- - app/views/wco/photos/_form.haml
566
+ - app/views/wco/photos/_form.haml-trash
565
567
  - app/views/wco/photos/_index_thumbs.haml
566
568
  - app/views/wco/photos/_meta.haml
567
569
  - app/views/wco/photos/_meta_manager.haml
@@ -1,11 +0,0 @@
1
-
2
- .leads--index-rows
3
- - leads.each do |lead|
4
- .item
5
- = link_to lead.email, lead_path(lead)
6
- \(#{lead.scheduled_email_actions.length} sch
7
- %span.expand-next [+]
8
- .expand-hide= render 'ish_manager/scheduled_actions/form_mini'
9
- \)
10
- %span.expand-next [reply]
11
- .expand-hide= render 'ish_manager/email_contexts/form_reply', lead: lead