wco_models 3.1.0.157 → 3.1.0.159

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/wco/utils.scss +17 -3
  3. data/app/controllers/wco/api/obfuscated_redirects_controller.rb +24 -0
  4. data/app/controllers/wco/invoices_controller.rb +14 -10
  5. data/app/controllers/wco/obfuscated_redirects_controller.rb +53 -0
  6. data/app/models/ability.rb +1 -0
  7. data/app/models/ahoy/event.rb +15 -0
  8. data/app/models/ahoy/visit.rb +50 -0
  9. data/app/models/wco/invoice.rb +1 -3
  10. data/app/models/wco/obfuscated_redirect.rb +21 -0
  11. data/app/models/wco_email/context.rb +2 -1
  12. data/app/models/wco_email/email_action_template.rb +0 -2
  13. data/app/models/wco_game/location.rb +1 -1
  14. data/app/views/wco/invoices/_form.haml +5 -0
  15. data/app/views/wco/invoices/_index_table.haml +7 -3
  16. data/app/views/wco/invoices/edit.haml +5 -0
  17. data/app/views/wco/invoices/index.haml +3 -0
  18. data/app/views/wco/obfuscated_redirects/_form.haml +11 -0
  19. data/app/views/wco/obfuscated_redirects/_header.haml +6 -0
  20. data/app/views/wco/obfuscated_redirects/edit.haml +5 -0
  21. data/app/views/wco/obfuscated_redirects/index.haml +27 -0
  22. data/app/views/wco/obfuscated_redirects/new.haml +5 -0
  23. data/app/views/wco/products/index.haml +0 -1
  24. data/app/views/wco_email/email_layouts/_piousbox_roundborders.html.erb +0 -2
  25. data/app/views/wco_email/email_layouts/_wasyaco_roundborders.html.erb +11 -12
  26. data/config/initializers/ahoy.rb +12 -0
  27. data/config/routes.rb +4 -0
  28. data/lib/tasks/migrate_tasks.rake +20 -0
  29. metadata +32 -4
  30. /data/app/views/wco/leads/{_list.haml → _index.haml} +0 -0
  31. /data/app/views/wco/products/{_list.haml → _index.haml} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1d7c8e819f70c838d7784f3c628844e554e86f33b473c78db9552d7a1fbd7b0
4
- data.tar.gz: 513a0bcd49ce21e5bdf59c776d97656969b39783d2cb54e946642ca7f0ef6aba
3
+ metadata.gz: 631a19b5362a0b67eb43d6883e89f2aa554cea9c0de5a35ab641c466f71350ec
4
+ data.tar.gz: b4aed0740e389a30eaa7f2b84d4a0802f251ff6c057f7436246575cc3e479ca6
5
5
  SHA512:
6
- metadata.gz: a03e9edbd32ffc5a3844fab246ea8aca3c3b88a206b2aebb65d9b92ab6162cee11bd66d94e54e35503701e0b705578079fb0886e45ab1cc1140826de6725f6c9
7
- data.tar.gz: 0ebd890f1f25d37bf40395098185f532d50e0e566e65fffadc9f6e41861ada1e33e388c53b08eebb6f2334ac75209063c881d2de1ac1b0d71a22a79d55dad17f
6
+ metadata.gz: a525a6eabe3ac69ab09c789166ab875d9da4e075243216de90cd3aa2f2a8a6e1ca2132f218f61c5d571219bbf28886a431561b6e818e66496c3deaed583d3848
7
+ data.tar.gz: 3779643f6dc60f1212abe5c25d0b190a1f726ca3a58975b6510d06752287ac11eb28fac215989b4e577134877f859b5c17aeeebd64d2e0399fefb56d6d0fafb6
@@ -42,8 +42,10 @@ table.bordered {
42
42
  // border-bottom: 0;
43
43
  // border-right: 0;
44
44
 
45
- th {
45
+
46
+ th, thead {
46
47
  background: #ddd;
48
+ font-weight: bold;
47
49
  }
48
50
 
49
51
  td {
@@ -184,8 +186,10 @@ textarea.monospace {
184
186
  .padded {
185
187
  // border: 1px solid green;
186
188
 
187
- margin: 0.5em;
188
- width: calc( 100% - 1em );
189
+ // margin: 0.5em;
190
+ // width: calc( 100% - 1em );
191
+
192
+ margin: 15px; // bootstrap has 15px gutters
189
193
  }
190
194
 
191
195
  /* R */
@@ -211,6 +215,16 @@ label.required {
211
215
 
212
216
  /* W */
213
217
 
218
+ .w-2em {
219
+ width: 2em;
220
+ }
221
+ .w-3em {
222
+ width: 3em;
223
+ }
224
+
225
+ .w-10px {
226
+ width: 10px;
227
+ }
214
228
  .w-20px {
215
229
  width: 20px;
216
230
  }
@@ -0,0 +1,24 @@
1
+
2
+ class Wco::Api::ObfuscatedRedirectsController < Wco::ApiController
3
+
4
+ def show
5
+ @obf = Wco::ObfuscatedRedirect.find params[:id]
6
+ # puts! @obf, '@obf'
7
+ authorize! :show, @obf
8
+
9
+ visit_time = Time.now
10
+ @obf.update_attributes({
11
+ visited_at: visit_time,
12
+ visits: @obf.visits + [ visit_time ],
13
+ })
14
+
15
+ if DEBUG
16
+ render and return
17
+ end
18
+
19
+ redirect_to @obf.to
20
+ end
21
+
22
+ end
23
+
24
+
@@ -70,13 +70,26 @@ class Wco::InvoicesController < Wco::ApplicationController
70
70
  end
71
71
  end
72
72
 
73
+ def edit
74
+ @invoice = Wco::Invoice.find params[:id]
75
+ authorize! :edit, @invoice
76
+ end
77
+
78
+ def email_send
79
+ @invoice = Wco::Invoice.find params[:id]
80
+ authorize! :send_email, @invoice
81
+ out = ::IshManager::LeadsetMailer.monthly_invoice( @invoice.id.to_s )
82
+ Rails.env.production? ? out.deliver_later : out.deliver_now
83
+ flash_notice "Scheduled to send an email."
84
+ redirect_to controller: :leadsets, action: :show, id: @invoice.leadset_id
85
+ end
86
+
73
87
  def index
74
88
  authorize! :index, Wco::Invoice
75
89
  @invoices = Wco::Invoice.all
76
90
  if params[:leadset_id]
77
91
  @invoices = @invoices.where( leadset_id: params[:leadset_id] )
78
92
  end
79
- @invoices = @invoices.includes( :payments )
80
93
  end
81
94
 
82
95
  def new_pdf
@@ -91,15 +104,6 @@ class Wco::InvoicesController < Wco::ApplicationController
91
104
  @products_list = Wco::Product.list
92
105
  end
93
106
 
94
- def email_send
95
- @invoice = Wco::Invoice.find params[:id]
96
- authorize! :send_email, @invoice
97
- out = ::IshManager::LeadsetMailer.monthly_invoice( @invoice.id.to_s )
98
- Rails.env.production? ? out.deliver_later : out.deliver_now
99
- flash_notice "Scheduled to send an email."
100
- redirect_to controller: :leadsets, action: :show, id: @invoice.leadset_id
101
- end
102
-
103
107
  def send_stripe
104
108
  @invoice = Wco::Invoice.find params[:id]
105
109
  authorize! :send_stripe, @invoice
@@ -0,0 +1,53 @@
1
+
2
+ class Wco::ObfuscatedRedirectsController < Wco::ApplicationController
3
+
4
+ def create
5
+ @obf = Wco::Obf.new params[:obf].permit!
6
+ authorize! :create, @obf
7
+
8
+ if @obf.save
9
+ flash_notice 'ok'
10
+ else
11
+ flash_alert @obf
12
+ end
13
+ redirect_to action: :index
14
+ end
15
+
16
+ def edit
17
+ @obf = Wco::Obf.find params[:id]
18
+ authorize! :edit, @obf
19
+ end
20
+
21
+ def index
22
+ @obfs = Wco::ObfuscatedRedirect.all
23
+ authorize! :index, Wco::ObfuscatedRedirect
24
+ end
25
+
26
+ def new
27
+ authorize! :new, @new_obf
28
+ end
29
+
30
+ def update
31
+ @obf = Wco::Obf.find params[:id]
32
+ authorize! :create, @obf
33
+
34
+ if @obf.update params[:obf].permit!
35
+ flash_notice 'ok'
36
+ else
37
+ flash_alert @obf
38
+ end
39
+ redirect_to action: :index
40
+ end
41
+
42
+ ##
43
+ ## private
44
+ ##
45
+ private
46
+
47
+ def set_lists
48
+ super
49
+ @new_obf = Wco::ObfuscatedRedirect.new
50
+ end
51
+
52
+ end
53
+
@@ -17,6 +17,7 @@ class Ability
17
17
  end
18
18
 
19
19
  can [ :open_permission ], Wco
20
+ can [ :show ], Wco::ObfuscatedRedirect
20
21
  # can [ :open_permission ], WcoEmail
21
22
 
22
23
  end
@@ -0,0 +1,15 @@
1
+
2
+ class Ahoy::Event
3
+ include Mongoid::Document
4
+
5
+ # associations
6
+ belongs_to :visit, class_name: "Ahoy::Visit", index: true
7
+ belongs_to :user, index: true, optional: true
8
+
9
+ # fields
10
+ field :name, type: String
11
+ field :properties, type: Hash
12
+ field :time, type: Time
13
+
14
+ index({name: 1, time: 1})
15
+ end
@@ -0,0 +1,50 @@
1
+
2
+ class Ahoy::Visit
3
+ include Mongoid::Document
4
+
5
+ # associations
6
+ has_many :events, class_name: "Ahoy::Event"
7
+ belongs_to :user, index: true, optional: true
8
+
9
+ # required
10
+ field :visit_token, type: String
11
+ field :visitor_token, type: String
12
+
13
+ # the rest are recommended but optional
14
+ # simply remove the columns you don't want
15
+
16
+ # standard
17
+ field :ip, type: String
18
+ field :user_agent, type: String
19
+ field :referrer, type: String
20
+ field :referring_domain, type: String
21
+ field :landing_page, type: String
22
+
23
+ # technology
24
+ field :browser, type: String
25
+ field :os, type: String
26
+ field :device_type, type: String
27
+
28
+ # location
29
+ field :country, type: String
30
+ field :region, type: String
31
+ field :city, type: String
32
+ field :latitude, type: Float
33
+ field :longitude, type: Float
34
+
35
+ # utm parameters
36
+ field :utm_source, type: String
37
+ field :utm_medium, type: String
38
+ field :utm_term, type: String
39
+ field :utm_content, type: String
40
+ field :utm_campaign, type: String
41
+
42
+ # native apps
43
+ field :app_version, type: String
44
+ field :os_version, type: String
45
+ field :platform, type: String
46
+
47
+ field :started_at, type: Time
48
+
49
+ index({visit_token: 1}, {unique: true})
50
+ end
@@ -22,7 +22,7 @@ class Wco::Invoice
22
22
 
23
23
  belongs_to :leadset, class_name: 'Wco::Leadset'
24
24
 
25
- field :number, type: Integer
25
+ field :number, type: Integer, default: 100
26
26
 
27
27
  field :month_on, type: Date
28
28
 
@@ -32,8 +32,6 @@ class Wco::Invoice
32
32
  "invoice-#{number}.pdf"
33
33
  end
34
34
 
35
- # field :amount_cents, type: Integer
36
-
37
35
  field :description, type: String
38
36
  field :items, type: Array # used by stripe
39
37
 
@@ -0,0 +1,21 @@
1
+
2
+ class Wco::ObfuscatedRedirect
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+ include Mongoid::Paranoia
6
+ store_in collection: 'office_obfuscated_redirects'
7
+
8
+ field :slug, type: :string
9
+
10
+ field :to_link, type: :string
11
+ validates :to_link, presence: true
12
+
13
+ field :visited_at, type: DateTime
14
+ field :visits, type: :array, default: []
15
+
16
+ def obf_link
17
+ "https://email.wasya.co/api/obf/#{self.id}"
18
+ end
19
+
20
+ end
21
+ Wco::Obf ||= Wco::ObfuscatedRedirect
@@ -117,7 +117,8 @@ class WcoEmail::Context
117
117
  end
118
118
 
119
119
  def config
120
- OpenStruct.new JSON.parse( tmpl[:config_json] )
120
+ @config ||= OpenStruct.new JSON.parse( tmpl[:config_json] )
121
+ @config
121
122
  end
122
123
 
123
124
  def utm_tracking_str
@@ -13,8 +13,6 @@ class WcoEmail::EmailActionTemplate
13
13
  validates :slug, uniqueness: true, allow_nil: true
14
14
  index({ slug: 1 }, { unique: true, name: "slug_idx" })
15
15
 
16
- # field :from_email ## this is in email_template
17
-
18
16
  belongs_to :email_template, class_name: 'EmailTemplate'
19
17
 
20
18
  has_many :email_actions, class_name: 'EmailAction'
@@ -1,6 +1,6 @@
1
1
 
2
2
  # require 'ish/premium_item'
3
- require 'ish/utils'
3
+ # require 'ish/utils'
4
4
 
5
5
  class WcoGame::Location
6
6
  include Mongoid::Document
@@ -0,0 +1,5 @@
1
+
2
+ .invoices--form
3
+ = form_for invoice do |f|
4
+ .actions
5
+ = f.submit 'Go'
@@ -12,9 +12,13 @@
12
12
  %tbody
13
13
  - invoices.each do |i|
14
14
  %tr
15
- %td= link_to "View", invoice_path( i )
15
+ %td
16
+ = link_to "View", invoice_path(i)
17
+ = link_to '[~]', edit_invoice_path(i)
16
18
  %td= i.email
17
19
  %td= i.number
18
- %td= i.amount_cents
19
- %td= i.paid_amount_cents
20
+ %td
21
+ -# = i.prices.map &:amount_cents
22
+ %td
23
+ -# = i.paid_amount_cents
20
24
  %td= i.created_at.to_s[0..10]
@@ -0,0 +1,5 @@
1
+
2
+ .invoices-edit.maxwidth
3
+ .header
4
+ %h5.title Edit invoice `#{link_to @invoice, invoice_path(@invoice)}`
5
+ = render 'form', invoice: @invoice
@@ -1,3 +1,6 @@
1
1
 
2
2
  .invoices-index.maxwidth
3
+ .header
4
+ %h5.title Invoices
5
+
3
6
  = render 'index_table', invoices: @invoices
@@ -0,0 +1,11 @@
1
+
2
+ .obf--form
3
+ = form_for obf, as: :obf do |f|
4
+ .field
5
+ %label slug
6
+ = f.text_field :slug
7
+ .field
8
+ %label to_link
9
+ = f.text_field :to_link
10
+ .actions
11
+ = f.submit 'Go'
@@ -0,0 +1,6 @@
1
+
2
+ = link_to "Obfuscated Redirects (#{Wco::ObfuscatedRedirect.all.length})", wco.obfuscated_redirects_path
3
+ -# .inline-search
4
+ -# = form_tag wco.invoices_path, method: :get do
5
+ -# = text_field_tag :q
6
+ = link_to '[+]', wco.new_obfuscated_redirect_path
@@ -0,0 +1,5 @@
1
+
2
+ .obf-new.maxwidth
3
+ .header
4
+ .title Edit obf redir
5
+ = render '/wco/obfuscated_redirects/form', obf: @obf
@@ -0,0 +1,27 @@
1
+
2
+ .obf-redirects.maxwidth
3
+ .header
4
+ %h5.title
5
+ obf redirs
6
+ = link_to '[+]', wco.new_obfuscated_redirect_path
7
+
8
+ %ul
9
+ - @obfs.each do |obf|
10
+ %li
11
+ .a
12
+ .d-inline-block= button_to 'x', wco.obfuscated_redirect_path(obf), method: :delete, data: { confirm: 'Are you sure?' }
13
+ = link_to '[~]', wco.edit_obfuscated_redirect_path(obf)
14
+ <b>slug:</b>
15
+ = link_to obf.slug, wco.obfuscated_redirect_path(obf)
16
+ <b>id:</b>
17
+ .mini.gray= obf.id
18
+ .a
19
+ <b>To_link:</b>
20
+ = obf.to_link
21
+ .collapse-expand#collapseExpand
22
+ <b>Visits (#{obf.visits.length}): <></b>
23
+ .hide
24
+ .d-flex.flex-wrap
25
+ - obf.visits.each do |vis|
26
+ .descr= pp_date vis
27
+
@@ -0,0 +1,5 @@
1
+
2
+ .obf-new.maxwidth
3
+ .header
4
+ .title New obf redir
5
+ = render '/wco/obfuscated_redirects/form', obf: @new_obf
@@ -39,5 +39,4 @@
39
39
  %h5.collapse-expand#wcoProducts
40
40
  Wco::Product`s (#{@wco_products.length}):
41
41
  = render 'table', products: @wco_products
42
- -# = render 'list', products: @wco_products
43
42
 
@@ -908,9 +908,7 @@ h4 {
908
908
  <![endif]-->
909
909
 
910
910
  <div style="border: 2px solid #999; border-radius: 4px; padding: 1em; margin-bottom: 1em;">
911
- <!-- herehere -->
912
911
  <%== ERB.new(@tmpl.body).result((@ctx||@tmpl).get_binding) %>
913
-
914
912
  </div>
915
913
 
916
914
  <!--[if mso]>
@@ -16,9 +16,9 @@
16
16
  <title><%= @ctx&.preview_str.presence || @tmpl&.preview_str %></title>
17
17
 
18
18
  <style type="text/css">
19
- .mcnTextBlock {
20
- color: #999;
21
- }
19
+ .mcnTextBlock {
20
+ color: #999;
21
+ }
22
22
 
23
23
  p {
24
24
  margin: 10px 0;
@@ -520,7 +520,6 @@ h4 {
520
520
  }
521
521
  </style>
522
522
  </head>
523
-
524
523
  <body>
525
524
 
526
525
 
@@ -534,8 +533,6 @@ h4 {
534
533
  <tr>
535
534
  <td align="center" valign="top" id="bodyCell">
536
535
 
537
- <!-- BEGIN TEMPLATE // -->
538
-
539
536
  <!--[if (gte mso 9)|(IE)]>
540
537
  <table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
541
538
  <tr>
@@ -589,9 +586,11 @@ h4 {
589
586
  <td valign="top" width="299" style="width:299px;">
590
587
  <![endif]-->
591
588
 
592
- <div style="border: 2px solid #999; border-radius: 4px; padding: 1em; margin-bottom: 1em;">
593
- <%== ERB.new( @ctx&.body.presence || @tmpl&.body ).result %>
594
- </div>
589
+ <div style="border: 2px solid #999; border-radius: 4px; padding: 1em; margin-bottom: 1em;">
590
+ <%-# == ERB.new( @ctx&.body.presence || @tmpl&.body ).result((@ctx||@tmpl).get_binding) %>
591
+ <%-# = ERB.new( @ctx.body ).result %>
592
+ <%= @renderer.render( inline: @ctx&.body.presence || @tmpl&.body ) %>
593
+ </div>
595
594
 
596
595
  <!--[if mso]>
597
596
  </td>
@@ -671,16 +670,16 @@ h4 {
671
670
  </td>
672
671
  </tr>
673
672
  </table>
673
+
674
674
  <!--[if (gte mso 9)|(IE)]>
675
675
  </td>
676
676
  </tr>
677
677
  </table>
678
678
  <![endif]-->
679
- <!-- // END TEMPLATE -->
679
+
680
680
  </td>
681
681
  </tr>
682
682
  </table>
683
683
  </center>
684
- </body>
685
684
 
686
- </html>
685
+ </body></html>
@@ -0,0 +1,12 @@
1
+
2
+
3
+ class Ahoy::Store < Ahoy::DatabaseStore
4
+ end
5
+
6
+ # set to true for JavaScript tracking
7
+ Ahoy.api = true
8
+
9
+ # set to true for geocoding (and add the geocoder gem to your Gemfile)
10
+ # we recommend configuring local geocoding as well
11
+ # see https://github.com/ankane/ahoy#geocoding
12
+ Ahoy.geocode = false
data/config/routes.rb CHANGED
@@ -4,6 +4,8 @@ Wco::Engine.routes.draw do
4
4
 
5
5
  namespace :api do
6
6
  get 'leads/index_hash', to: 'leads#index_hash'
7
+
8
+ get '/obf/:id', to: 'obfuscared_redirects#show'
7
9
  end
8
10
 
9
11
  get 'application/tinymce', to: 'application#tinymce'
@@ -36,6 +38,8 @@ Wco::Engine.routes.draw do
36
38
  delete 'logs/bulkop', to: 'logs#bulkop', as: :logs_bulkop
37
39
  resources :logs
38
40
 
41
+ resources :obfuscated_redirects
42
+
39
43
  post 'office_action_templates', to: 'office_action_templates#update'
40
44
  resources :office_action_templates
41
45
  resources :office_actions
@@ -0,0 +1,20 @@
1
+
2
+
3
+ namespace :migrate do
4
+
5
+ desc 'obf to->to_link'
6
+ task :obf_to_to_link => :environment do
7
+ Wco::ObfuscatedRedirect.all.map do |obf|
8
+ if !obf[:to_link] && obf[:to]
9
+ obf[:to_link] = obf[:to]
10
+ if obf.save
11
+ print '^'
12
+ else
13
+ puts obf.errors.full_messages
14
+ end
15
+ end
16
+ end
17
+ puts 'ok'
18
+ end
19
+
20
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wco_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0.157
4
+ version: 3.1.0.159
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-05-08 00:00:00.000000000 Z
11
+ date: 2024-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ahoy_matey
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: aws-sdk-s3
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -411,6 +425,7 @@ files:
411
425
  - app/assets/stylesheets/wco/utils.scss
412
426
  - app/assets/stylesheets/wco/videos.scss
413
427
  - app/controllers/wco/api/leads_controller.rb
428
+ - app/controllers/wco/api/obfuscated_redirects_controller.rb
414
429
  - app/controllers/wco/api_controller.rb
415
430
  - app/controllers/wco/application_controller.rb
416
431
  - app/controllers/wco/galleries_controller.rb
@@ -419,6 +434,7 @@ files:
419
434
  - app/controllers/wco/leads_controller.rb
420
435
  - app/controllers/wco/leadsets_controller.rb
421
436
  - app/controllers/wco/logs_controller.rb
437
+ - app/controllers/wco/obfuscated_redirects_controller.rb
422
438
  - app/controllers/wco/office_action_templates_controller.rb
423
439
  - app/controllers/wco/office_actions_controller.rb
424
440
  - app/controllers/wco/photos_controller.rb
@@ -437,6 +453,8 @@ files:
437
453
  - app/mailers/wco_email/application_mailer.rb
438
454
  - app/mailers/wco_email/application_mailer.rb-trash
439
455
  - app/models/ability.rb
456
+ - app/models/ahoy/event.rb
457
+ - app/models/ahoy/visit.rb
440
458
  - app/models/wco/asset.rb
441
459
  - app/models/wco/gallery.rb
442
460
  - app/models/wco/headline.rb
@@ -445,6 +463,7 @@ files:
445
463
  - app/models/wco/leadset.rb
446
464
  - app/models/wco/log.rb
447
465
  - app/models/wco/newsitem.rb
466
+ - app/models/wco/obfuscated_redirect.rb
448
467
  - app/models/wco/office_action.rb
449
468
  - app/models/wco/office_action_template.rb
450
469
  - app/models/wco/office_action_template_tie.rb
@@ -514,9 +533,11 @@ files:
514
533
  - app/views/wco/headlines/_index.haml
515
534
  - app/views/wco/headlines/edit.haml
516
535
  - app/views/wco/headlines/new.haml
536
+ - app/views/wco/invoices/_form.haml
517
537
  - app/views/wco/invoices/_header.haml
518
538
  - app/views/wco/invoices/_index_list.haml
519
539
  - app/views/wco/invoices/_index_table.haml
540
+ - app/views/wco/invoices/edit.haml
520
541
  - app/views/wco/invoices/index.haml
521
542
  - app/views/wco/invoices/new_pdf.haml
522
543
  - app/views/wco/invoices/new_stripe.haml
@@ -531,7 +552,7 @@ files:
531
552
  - app/views/wco/leads/_form.haml
532
553
  - app/views/wco/leads/_form_import.haml
533
554
  - app/views/wco/leads/_header.haml
534
- - app/views/wco/leads/_list.haml
555
+ - app/views/wco/leads/_index.haml
535
556
  - app/views/wco/leads/_table.haml
536
557
  - app/views/wco/leads/edit.haml
537
558
  - app/views/wco/leads/index.haml
@@ -549,6 +570,11 @@ files:
549
570
  - app/views/wco/logs/_index.haml
550
571
  - app/views/wco/logs/edit.haml
551
572
  - app/views/wco/logs/new.haml
573
+ - app/views/wco/obfuscated_redirects/_form.haml
574
+ - app/views/wco/obfuscated_redirects/_header.haml
575
+ - app/views/wco/obfuscated_redirects/edit.haml
576
+ - app/views/wco/obfuscated_redirects/index.haml
577
+ - app/views/wco/obfuscated_redirects/new.haml
552
578
  - app/views/wco/office_action_templates/_form.haml
553
579
  - app/views/wco/office_action_templates/_header.haml
554
580
  - app/views/wco/office_action_templates/_ties.haml
@@ -575,7 +601,7 @@ files:
575
601
  - app/views/wco/prices/_form.haml
576
602
  - app/views/wco/products/_form.haml
577
603
  - app/views/wco/products/_header.haml
578
- - app/views/wco/products/_list.haml
604
+ - app/views/wco/products/_index.haml
579
605
  - app/views/wco/products/_table.haml
580
606
  - app/views/wco/products/edit.haml
581
607
  - app/views/wco/products/index.haml
@@ -667,10 +693,12 @@ files:
667
693
  - app/views/wco_hosting/ecs_task_definitions/hw1.json
668
694
  - app/views/wco_hosting/scripts/create_volume.erb
669
695
  - app/views/wco_hosting/scripts/nginx_site.conf.erb
696
+ - config/initializers/ahoy.rb
670
697
  - config/initializers/assets.rb
671
698
  - config/routes.rb
672
699
  - lib/shortcuts.rb
673
700
  - lib/tasks/db_tasks.rake
701
+ - lib/tasks/migrate_tasks.rake
674
702
  - lib/tasks/office_tasks.rake
675
703
  - lib/tasks/wp_tasks.rake
676
704
  - lib/wco/ai_writer.rb
File without changes
File without changes