wco_models 3.1.0.90 → 3.1.0.91
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 +4 -4
- data/app/controllers/wco/unsubscribes_controller.rb +40 -0
- data/app/mailers/wco_email/application_mailer.rb +15 -14
- data/app/models/wco/lead.rb +10 -0
- data/app/models/wco/leadset.rb +4 -0
- data/app/models/wco_email/context.rb +1 -1
- data/app/models/wco_email/email_template.rb +1 -1
- data/app/models/wco_email/message_stub.rb +2 -3
- data/app/views/wco_email/application_mailer/_footer_unsubscribe.html.erb +24 -0
- data/app/views/wco_email/application_mailer/_header_logo.html.erb +12 -0
- data/app/views/wco_email/email_layouts/_m20221201react.html.erb +1202 -0
- data/app/views/wco_email/email_layouts/_m20221222merryxmas.html.erb +766 -0
- data/app/views/wco_email/email_layouts/_m202309_feedback.html.erb +1161 -0
- data/app/views/wco_email/email_layouts/_m202309_ror4.html.erb +1068 -0
- data/app/views/wco_email/email_layouts/_marketing_node_1.html.erb +984 -0
- data/app/views/wco_email/email_layouts/_marketing_react_1.html +0 -0
- data/app/views/wco_email/email_layouts/_marketing_react_2.html.erb +749 -0
- data/app/views/wco_email/email_layouts/_marketing_react_3.html.erb +628 -0
- data/app/views/wco_email/email_layouts/_marketing_ror_1.html +751 -0
- data/app/views/wco_email/email_layouts/_marketing_ror_2.html.erb +755 -0
- data/app/views/wco_email/email_layouts/_marketing_ror_3.html.erb +25 -0
- data/app/views/wco_email/email_layouts/_marketing_ror_4.html.erb +25 -0
- data/app/views/wco_email/email_layouts/_marketing_ror_5.html.erb +17 -0
- data/app/views/wco_email/email_layouts/_marketing_wordpress_1.html +0 -0
- data/app/views/wco_email/email_layouts/_marketing_wordpress_2.html +0 -0
- data/app/views/wco_email/email_layouts/_piousbox_roundborders.html.erb +1007 -0
- data/app/views/wco_email/email_layouts/_plain.haml +18 -0
- data/app/views/wco_email/email_layouts/_rec_resume_shared_with_you.html.erb +39 -0
- data/app/views/wco_email/email_layouts/_slug-1.html.erb +0 -0
- data/app/views/wco_email/email_layouts/_slug-2.html.erb +0 -0
- data/app/views/wco_email/email_layouts/_slug-3.html.erb +0 -0
- data/app/views/wco_email/email_layouts/_test_tracking_footer.haml +12 -0
- data/app/views/wco_email/email_layouts/_wasyaco_roundborders.html.erb +686 -0
- data/app/views/wco_email/unsubscribes/_header.haml +4 -0
- data/app/views/wco_email/unsubscribes/_table.haml +22 -0
- data/config/routes.rb +2 -0
- metadata +29 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c267b89943c2cb18139bdd044522d142fca56a81cadd7930b21eec7f6349d813
|
4
|
+
data.tar.gz: 42c005b73cdb2d15d3157b2d485a57166519a594383caf5a959400c18ae693cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77f0973a4e5ecddd767b045a6c77a5ba6b1dc98eacef09931fbc71413143f5966a3104fa763526f61b0f4a96029b082b025918423146e8703c434469455e74a5
|
7
|
+
data.tar.gz: 564da09016bf7490ad15c0c394d15ffb1b453f610536dc4bd9f0cafb8fa8e855f6d7a66c999c5e7f75c4347157ec3a1cbe5e99d77a6dac1809555fe89757e6e0
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
class Wco::UnsubscribesController < WcoEmail::ApplicationController
|
4
|
+
|
5
|
+
def create
|
6
|
+
authorize! :open_permission, Wco
|
7
|
+
@lead = Wco::Lead.find params[:lead_id]
|
8
|
+
|
9
|
+
if( !params[:token] ||
|
10
|
+
@lead.unsubscribe_token != params[:token] )
|
11
|
+
render code: 400, message: "We're sorry, but something went wrong. Please try again later."
|
12
|
+
return
|
13
|
+
end
|
14
|
+
|
15
|
+
@unsubscribe = WcoEmail::Unsubscribe.find_or_create_by({
|
16
|
+
lead_id: params[:lead_id],
|
17
|
+
template_id: params[:template_id],
|
18
|
+
campaign_id: params[:campaign_id],
|
19
|
+
})
|
20
|
+
flag = @unsubscribe.update_attributes({
|
21
|
+
unsubscribed_at: Time.now,
|
22
|
+
})
|
23
|
+
if flag
|
24
|
+
flash_notice "You have been unsubscribed."
|
25
|
+
else
|
26
|
+
flash_alert "We're sorry, but something went wrong. Please try again later."
|
27
|
+
end
|
28
|
+
|
29
|
+
render layout: false
|
30
|
+
end
|
31
|
+
|
32
|
+
def index
|
33
|
+
authorize! :index, WcoEmail::Unsubscribe
|
34
|
+
@unsubscribes = WcoEmail::Unsubscribe.all
|
35
|
+
|
36
|
+
render '_table'
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
@@ -6,15 +6,6 @@ class WcoEmail::ApplicationMailer < ActionMailer::Base
|
|
6
6
|
|
7
7
|
layout 'mailer'
|
8
8
|
|
9
|
-
def self.renderer ctx:
|
10
|
-
out = self.new
|
11
|
-
out.instance_variable_set( :@ctx, ctx )
|
12
|
-
out.instance_variable_set( :@lead, ctx.lead )
|
13
|
-
out.instance_variable_set( :@utm_tracking_str, ctx.utm_tracking_str )
|
14
|
-
out.instance_variable_set( :@unsubscribe_url, ctx.unsubscribe_url )
|
15
|
-
out.instance_variable_set( :@config, ctx.config )
|
16
|
-
return out
|
17
|
-
end
|
18
9
|
|
19
10
|
def forwarder_notify msg_id
|
20
11
|
@msg = WcoEmail::Message.find msg_id
|
@@ -53,13 +44,11 @@ class WcoEmail::ApplicationMailer < ActionMailer::Base
|
|
53
44
|
mail( to: DEFAULT_RECIPIENT, subject: "Test email at #{Time.now}" )
|
54
45
|
end
|
55
46
|
|
56
|
-
|
57
|
-
## 2023-09-24 _vp_ Continue : )
|
58
|
-
## 2024-01-17 _vp_ Continue : )
|
47
|
+
|
59
48
|
def send_context_email ctx_id
|
60
49
|
@ctx = Ctx.find ctx_id
|
61
|
-
renderer
|
62
|
-
rendered_str = renderer.render_to_string("/wco_email/
|
50
|
+
@renderer = self.class.renderer ctx: @ctx
|
51
|
+
rendered_str = @renderer.render_to_string("/wco_email/email_layouts/_#{@ctx.tmpl.layout}")
|
63
52
|
@ctx.update({
|
64
53
|
rendered_str: rendered_str,
|
65
54
|
})
|
@@ -73,4 +62,16 @@ class WcoEmail::ApplicationMailer < ActionMailer::Base
|
|
73
62
|
content_type: "text/html" )
|
74
63
|
end
|
75
64
|
|
65
|
+
|
66
|
+
def self.renderer ctx:
|
67
|
+
out = self.new
|
68
|
+
out.instance_variable_set( :@ctx, ctx )
|
69
|
+
out.instance_variable_set( :@lead, ctx.lead )
|
70
|
+
out.instance_variable_set( :@utm_tracking_str, ctx.utm_tracking_str )
|
71
|
+
out.instance_variable_set( :@unsubscribe_url, ctx.unsubscribe_url )
|
72
|
+
out.instance_variable_set( :@config, ctx.config )
|
73
|
+
out.instance_variable_set( :@renderer, out )
|
74
|
+
return out
|
75
|
+
end
|
76
|
+
|
76
77
|
end
|
data/app/models/wco/lead.rb
CHANGED
@@ -19,6 +19,16 @@ class Wco::Lead
|
|
19
19
|
domain = email.split('@')[1]
|
20
20
|
self.leadset ||= Wco::Leadset.find_or_create_by({ company_url: domain })
|
21
21
|
end
|
22
|
+
before_validation :normalize_email, on: :create
|
23
|
+
def normalize_email
|
24
|
+
self[:email] = email.downcase
|
25
|
+
if email.index('+')
|
26
|
+
a = email
|
27
|
+
a.slice!( a[a.index('+')...a.index('@')] )
|
28
|
+
self[:email] = a
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
22
32
|
|
23
33
|
has_one :photo, class_name: 'Wco::Photo'
|
24
34
|
|
data/app/models/wco/leadset.rb
CHANGED
@@ -8,6 +8,10 @@ class Wco::Leadset
|
|
8
8
|
field :company_url
|
9
9
|
validates :company_url, presence: true, uniqueness: true
|
10
10
|
index({ company_url: 1 }, { unique: true, name: 'company_url' })
|
11
|
+
before_validation :normalize_company_url, on: :create
|
12
|
+
def normalize_company_url
|
13
|
+
company_url.downcase!
|
14
|
+
end
|
11
15
|
|
12
16
|
field :email
|
13
17
|
index({ email: 1 }, { name: 'email' })
|
@@ -123,7 +123,7 @@ class WcoEmail::Context
|
|
123
123
|
end
|
124
124
|
|
125
125
|
def unsubscribe_url
|
126
|
-
|
126
|
+
Wco::Engine.routes.url_helpers.unsubscribes_url({
|
127
127
|
host: Rails.application.routes.default_url_options[:host],
|
128
128
|
lead_id: lead_id,
|
129
129
|
template_id: tmpl.id,
|
@@ -87,8 +87,8 @@ class WcoEmail::MessageStub
|
|
87
87
|
## Leadset, Lead
|
88
88
|
from = the_mail.from ? the_mail.from[0] : "nobody@unknown-doma.in"
|
89
89
|
domain = from.split('@')[1]
|
90
|
-
leadset = Wco::Leadset.where( company_url: domain ).first
|
91
|
-
leadset ||= Wco::Leadset.create( company_url: domain, email: from )
|
90
|
+
leadset = Wco::Leadset.where( company_url: domain.downcase ).first
|
91
|
+
leadset ||= Wco::Leadset.create( company_url: domain.downcase, email: from.downcase )
|
92
92
|
lead = Wco::Lead.find_or_create_by( email: from, leadset: leadset )
|
93
93
|
|
94
94
|
|
@@ -152,7 +152,6 @@ class WcoEmail::MessageStub
|
|
152
152
|
puts! @message.errors.full_messages.join(", "), "Could not save @message"
|
153
153
|
end
|
154
154
|
|
155
|
-
|
156
155
|
conv.leads.push lead
|
157
156
|
conv.save
|
158
157
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<table align="left" border="0" cellpadding="0" cellspacing="0"
|
2
|
+
style="max-width:100%; min-width:100%;" width="100%"
|
3
|
+
class="mcnTextContentContainer">
|
4
|
+
<tbody>
|
5
|
+
<tr>
|
6
|
+
|
7
|
+
<td valign="top" class="mcnTextContent"
|
8
|
+
style="padding-top:0; padding-right:160px; padding-bottom:9px; padding-left:160px;">
|
9
|
+
|
10
|
+
<em>Copyright © Wasya Co</em><br><br>
|
11
|
+
|
12
|
+
<strong>Our mailing address is:</strong><br>
|
13
|
+
|
14
|
+
201 W 5th St 11th Floor, Austin, TX 78701<br><br>
|
15
|
+
|
16
|
+
Want to change how you receive these emails? You can
|
17
|
+
<% # link_to( 'update your preferences', obfuscate( user_dashboard_url ) ) + ' or ' %>
|
18
|
+
<%= link_to 'unsubscribe from this list', obfuscate( @unsubscribe_url ) %>.<br><br>
|
19
|
+
|
20
|
+
</td>
|
21
|
+
|
22
|
+
</tr>
|
23
|
+
</tbody>
|
24
|
+
</table>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
<table cellpadding="0" cellspacing="0" width="100%">
|
3
|
+
<tr>
|
4
|
+
<td align="center">
|
5
|
+
<br />
|
6
|
+
<img
|
7
|
+
src="https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/09/29185755/259x66-WasyaCo-Logo-YellowShadow.png"
|
8
|
+
alt="Wasya Co [logo]" />
|
9
|
+
</td>
|
10
|
+
</tr>
|
11
|
+
</table>
|
12
|
+
<br /><br />
|