wco_models 3.1.0.87 → 3.1.0.89
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/wco/leads_controller.rb +24 -0
- data/app/models/wco/lead.rb +8 -7
- data/app/models/wco/leadset.rb +3 -1
- data/app/models/wco/office_action.rb +9 -1
- data/app/models/wco/publisher.rb +1 -0
- data/app/views/wco/leads/_form.haml +9 -12
- data/app/views/wco/leads/new.haml +4 -3
- data/config/routes.rb +2 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a31a3f2a942a120f14f6749392ccae5a144062995f359be3827b989f238737da
|
4
|
+
data.tar.gz: fd1fb43f8997d6cfd7e4750db138a59fecc0d3afa1613a7ab93ba530ca714730
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bb910e3451c67d9703797fa050786c4895b978ae55752f281949daa245b40364dfe05d87c27b8b597baeb30bc43b8b258e54a8b41c86d0efc07744962fb45d8
|
7
|
+
data.tar.gz: cae491d9f519fa1cb60c0d0fa9509d0cd9b22ae97550d6910007c3af920a8aaf8d235b14866107779627fa58790a3e7f093732cab891e66be454bcda8fbad3aa
|
@@ -3,6 +3,20 @@ class Wco::LeadsController < Wco::ApplicationController
|
|
3
3
|
|
4
4
|
before_action :set_lists
|
5
5
|
|
6
|
+
def create
|
7
|
+
params[:lead][:tags].delete ''
|
8
|
+
params[:lead][:leadset] = nil if params[:lead][:leadset].blank?
|
9
|
+
|
10
|
+
@lead = Wco::Lead.new params[:lead].permit!
|
11
|
+
authorize! :crete, @lead
|
12
|
+
if @lead.save
|
13
|
+
flash_notice 'ok'
|
14
|
+
else
|
15
|
+
flash_alert @lead
|
16
|
+
end
|
17
|
+
redirect_to action: :index
|
18
|
+
end
|
19
|
+
|
6
20
|
def index
|
7
21
|
authorize! :index, Wco::Lead
|
8
22
|
@leads = Wco::Lead.all
|
@@ -27,6 +41,11 @@ class Wco::LeadsController < Wco::ApplicationController
|
|
27
41
|
@leads = @leads.page( params[:leads_page ] ).per( current_profile.per_page )
|
28
42
|
end
|
29
43
|
|
44
|
+
def new
|
45
|
+
authorize! :new, Wco::Lead
|
46
|
+
@lead = Wco::Lead.new
|
47
|
+
end
|
48
|
+
|
30
49
|
def show
|
31
50
|
@lead = Wco::Lead.where({ id: params[:id] }).first
|
32
51
|
@lead ||= Wco::Lead.where({ email: params[:id] }).first
|
@@ -44,6 +63,10 @@ class Wco::LeadsController < Wco::ApplicationController
|
|
44
63
|
# @videos = @lead.videos.page( params[:videos_page] ).per( current_profile.per_page )
|
45
64
|
end
|
46
65
|
|
66
|
+
def update
|
67
|
+
params[:tags].delete ''
|
68
|
+
end
|
69
|
+
|
47
70
|
##
|
48
71
|
## private
|
49
72
|
##
|
@@ -51,6 +74,7 @@ class Wco::LeadsController < Wco::ApplicationController
|
|
51
74
|
|
52
75
|
def set_lists
|
53
76
|
@email_campaigns_list = [[nil,nil]] + WcoEmail::Campaign.all.map { |c| [ c.slug, c.id ] }
|
77
|
+
@leadsets_list = Wco::Leadset.list
|
54
78
|
@tags_list = Wco::Tag.list
|
55
79
|
end
|
56
80
|
|
data/app/models/wco/lead.rb
CHANGED
@@ -29,7 +29,6 @@ class Wco::Lead
|
|
29
29
|
has_many :email_contexts, class_name: '::WcoEmail::Context'
|
30
30
|
def ctxs; email_contexts; end
|
31
31
|
has_many :email_actions, class_name: '::WcoEmail::EmailAction'
|
32
|
-
# has_and_belongs_to_many :scheduled_email_actions, class_name: '::WcoEmail::ScheduledEmailAction'
|
33
32
|
def schs; email_actions; end
|
34
33
|
has_and_belongs_to_many :email_campaigns, class_name: '::WcoEmail::Campaign'
|
35
34
|
has_and_belongs_to_many :tags, class_name: '::Wco::Tag'
|
@@ -37,13 +36,9 @@ class Wco::Lead
|
|
37
36
|
# has_many :galleries, class_name: 'Wco::Gallery'
|
38
37
|
# has_many :videos, class_name: 'Wco::Video'
|
39
38
|
|
40
|
-
|
41
|
-
[[nil,nil]] + all.map { |p| [ p.email, p.id ] }
|
42
|
-
end
|
43
|
-
|
44
|
-
OP_DELETE = 'delete'
|
39
|
+
OP_DELETE = 'delete'
|
45
40
|
OP_ADD_TO_CAMPAIGN = 'add_to_campaign'
|
46
|
-
OPS
|
41
|
+
OPS = [ OP_DELETE, OP_ADD_TO_CAMPAIGN ]
|
47
42
|
|
48
43
|
has_many :unsubscribes, class_name: '::WcoEmail::Unsubscribe'
|
49
44
|
field :unsubscribe_token
|
@@ -54,4 +49,10 @@ class Wco::Lead
|
|
54
49
|
self[:unsubscribe_token]
|
55
50
|
end
|
56
51
|
|
52
|
+
def to_s
|
53
|
+
email
|
54
|
+
end
|
55
|
+
def self.list
|
56
|
+
[[nil,nil]] + all.map { |p| [ p.email, p.id ] }
|
57
|
+
end
|
57
58
|
end
|
data/app/models/wco/leadset.rb
CHANGED
@@ -27,7 +27,15 @@ class Wco::OfficeAction
|
|
27
27
|
sch = self
|
28
28
|
sch.update!({ status: STATUS_INACTIVE })
|
29
29
|
|
30
|
-
|
30
|
+
begin
|
31
|
+
eval( sch.tmpl.action_exe )
|
32
|
+
rescue => err
|
33
|
+
puts! err, "Wco::OfficeAction#do_run"
|
34
|
+
::ExceptionNotifier.notify_exception(
|
35
|
+
err,
|
36
|
+
data: { office_action: self }
|
37
|
+
)
|
38
|
+
end
|
31
39
|
|
32
40
|
# schedule next actions & update the action
|
33
41
|
sch.tmpl.ties.each do |tie|
|
data/app/models/wco/publisher.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
|
4
|
-
= form_for lead, html: { multipart: true }, as: :lead, url: url do |f|
|
2
|
+
= form_for lead, html: { multipart: true } do |f|
|
5
3
|
|
6
4
|
.field
|
7
5
|
= f.label :name
|
@@ -21,20 +19,19 @@
|
|
21
19
|
|
22
20
|
.field
|
23
21
|
= f.label "Leadset (company)"
|
24
|
-
= f.select :
|
22
|
+
= f.select :leadset, options_for_select(@leadsets_list, selected: lead.leadset_id), { class: :select2 }
|
25
23
|
|
26
|
-
.field
|
27
|
-
|
28
|
-
|
24
|
+
-# .field
|
25
|
+
-# %label Rating
|
26
|
+
-# = f.number_field :rating
|
29
27
|
|
30
|
-
.field
|
31
|
-
|
32
|
-
|
28
|
+
-# .field
|
29
|
+
-# = f.label :comment
|
30
|
+
-# = f.text_area :comment, class: :tinymce
|
33
31
|
|
34
32
|
.field
|
35
33
|
= f.label "Tags"
|
36
|
-
= lead.
|
37
|
-
= f.select :lead_tags, options_for_select(@tags_list, selected: lead.wp_tags.map(&:term_id) ), {}, { class: :select2, multiple: true }
|
34
|
+
= f.select :tags, options_for_select(@tags_list, selected: lead.tag_ids ), {}, { class: :select2, multiple: true }
|
38
35
|
|
39
36
|
.field
|
40
37
|
= f.label :photo
|
data/config/routes.rb
CHANGED
@@ -22,9 +22,10 @@ Wco::Engine.routes.draw do
|
|
22
22
|
post 'invoices/:id/send-stripe', to: 'invoices#send_stripe', as: :send_invoice_stripe
|
23
23
|
resources :invoices
|
24
24
|
|
25
|
-
get 'leads
|
25
|
+
get 'leads/new', to: 'leads#new'
|
26
26
|
post 'leads/bulkop', to: 'leads#bulkop'
|
27
27
|
post 'leads/import', to: 'leads#import', as: :leads_import
|
28
|
+
get 'leads/:id', to: 'leads#show', id: /[^\/]+/
|
28
29
|
resources :leads
|
29
30
|
resources :leadsets
|
30
31
|
delete 'logs/bulkop', to: 'logs#bulkop', as: :logs_bulkop
|