ish_manager 0.1.8.484 → 0.1.8.486

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.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/ish_manager/application.js +12 -6
  3. data/app/assets/stylesheets/ish_manager/application.scss +31 -18
  4. data/app/assets/stylesheets/ish_manager/email.scss +2 -7
  5. data/app/assets/stylesheets/ish_manager/email_conversations.scss +17 -25
  6. data/app/assets/stylesheets/ish_manager/leads_leadsets.scss +10 -13
  7. data/app/assets/stylesheets/ish_manager/tags.scss +23 -0
  8. data/app/assets/stylesheets/ish_manager/variables.css +5 -0
  9. data/app/controllers/ish_manager/lead_action_templates_controller.rb +6 -0
  10. data/app/controllers/ish_manager/lead_actions_controller.rb +8 -0
  11. data/app/controllers/ish_manager/unsubscribes_controller.rb +10 -0
  12. data/app/views/ish_manager/application/_main_header_admin.haml +13 -9
  13. data/app/views/ish_manager/email_conversations/index.haml +0 -7
  14. data/app/views/ish_manager/email_conversations/show.haml +63 -61
  15. data/app/views/ish_manager/email_templates/_header_logo.html.erb +12 -0
  16. data/app/views/ish_manager/email_templates/_m202309_feedback.html.erb +4 -6
  17. data/app/views/ish_manager/email_templates/_m202309_ror4.html.erb +1 -12
  18. data/app/views/ish_manager/lead_action_templates/_list.haml +12 -0
  19. data/app/views/ish_manager/lead_action_templates/index.haml +1 -4
  20. data/app/views/ish_manager/lead_action_templates/new.haml +5 -0
  21. data/app/views/ish_manager/lead_actions/_form.haml +19 -0
  22. data/app/views/ish_manager/lead_actions/edit.haml +5 -0
  23. data/app/views/ish_manager/lead_actions/index.haml +22 -5
  24. data/app/views/ish_manager/unsubscribes/index.haml +18 -0
  25. data/config/routes.rb +8 -0
  26. metadata +10 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcdbbd6567ea0470001b2510d9a9cbb8b4c7d80d7039dbb59f59752db43c97e5
4
- data.tar.gz: 1f61f7669a0a7e7cb86a70b3e58f9c56c6d394499ca9665b0f3aacad91d75358
3
+ metadata.gz: 0ca5931a85f58c3642b00d7126a3ba65e4e4c9217250a57f6b6f0920ed3773c0
4
+ data.tar.gz: b12427c8f458308a0c3cd361efdb837d493b5beb78644be4dd33349fb0d6cb9e
5
5
  SHA512:
6
- metadata.gz: ed089955bc512e0181fcfbca592a8279c0213472d3cf461d015aae01d9ac0aba1870b04cc0fd04e6f3495f0e00cad0a19fa5d0e5243f25370b943ee63a44de7e
7
- data.tar.gz: c8bc7f3d499733d6fdc3eae89e68fc35f47c97486b6628ef92784957d68e4f6df7bdd8307f47cd44501ab3193609b9d80ee5d297549adbf6c9ede939f46c101b
6
+ metadata.gz: 967c920577927c108be297b04a7f89b7371e92fd2ee2817b53050ffd7fd14131324e5acbd175e75afa554182388bd5064cc2f144fcdafd9544a3251e96bbd5f5
7
+ data.tar.gz: d48517aca4830c477d03b3a825b8274b8eacd1a1f0adec2697fe83a76557b14bebf334a2a4dab225508d55e98e0522288dda1f418fa45c411db542629d371b7c
@@ -94,12 +94,16 @@ $(function () {
94
94
  $(this).parent().slideToggle()
95
95
  })
96
96
 
97
+
98
+
97
99
  $(".collapse-expand").each(function() {
98
100
  const thisId = $(this).attr('id')
99
- const state = localStorage.getItem("collapse-expand#"+thisId)
100
- if (state === 'collapsed') {
101
- $(this).next().slideToggle()
102
- $(this).addClass('collapsed')
101
+ if (thisId) {
102
+ const state = localStorage.getItem("collapse-expand#"+thisId)
103
+ if (state === 'collapsed') {
104
+ $(this).next().slideToggle()
105
+ $(this).addClass('wco-collapse')
106
+ }
103
107
  }
104
108
  })
105
109
  $(".collapse-expand").click(function (_e) {
@@ -107,16 +111,18 @@ $(function () {
107
111
  const state = localStorage.getItem("collapse-expand#"+thisId)
108
112
  if (state === 'collapsed') {
109
113
  localStorage.removeItem("collapse-expand#"+thisId)
110
- $(this).removeClass('collapsed')
114
+ $(this).removeClass('wco-collapse')
111
115
  } else {
112
116
  localStorage.setItem("collapse-expand#"+thisId, "collapsed")
113
- $(this).addClass('collapsed')
117
+ $(this).addClass('wco-collapse')
114
118
  }
115
119
  $(this).next().slideToggle();
116
120
  }).children().click(function (e) {
117
121
  e.stopPropagation()
118
122
  })
119
123
 
124
+
125
+
120
126
  $(".expand-next").click(function (_e) {
121
127
  $(this).next().slideToggle()
122
128
  })
@@ -4,6 +4,7 @@
4
4
  *= require ish_manager/vendor/jquery-ui
5
5
  * require ish_manager/vendor/summernote-bs4.min
6
6
  *
7
+ *= require ish_manager/variables
7
8
  *= require_self
8
9
  *= require ish_manager/appliances
9
10
  *= require ish_manager/email_contexts
@@ -93,12 +94,11 @@ ul:not(.browser-default).bullets, {
93
94
  width: 100vwh;
94
95
  overflow-x: auto;
95
96
  }
96
- .application-home {
97
- .bordered-card {
98
- display: inline-block;
99
- // max-width: 400px;
100
- }
101
- }
97
+ // .application-home {
98
+ // .bordered-card {
99
+ // display: inline-block;
100
+ // }
101
+ // }
102
102
 
103
103
 
104
104
  /* B */
@@ -118,6 +118,12 @@ ul:not(.browser-default).bullets, {
118
118
  padding: 1em;
119
119
  }
120
120
 
121
+ div.bordered {
122
+ border: 1px solid black;
123
+ border-radius: 0.5em;
124
+
125
+ padding: 0.5em;
126
+ }
121
127
  table.bordered {
122
128
  tbody {
123
129
  td {
@@ -126,13 +132,13 @@ table.bordered {
126
132
  }
127
133
  }
128
134
 
129
- .bordered-card {
130
- border: 1px solid grey;
131
- padding: .5em;
132
- border-radius: 8px;
133
- margin-bottom: .5em;
134
- padding: 0.5em;
135
- }
135
+ // .bordered-card {
136
+ // border: 1px solid grey;
137
+ // padding: .5em;
138
+ // border-radius: 8px;
139
+ // margin-bottom: .5em;
140
+ // padding: 0.5em;
141
+ // }
136
142
 
137
143
  .btn {
138
144
  border: 1px solid red;
@@ -224,12 +230,11 @@ table.bordered {
224
230
  .collapse-expand::after {
225
231
  content: " [<]";
226
232
  }
227
- .collapsed::after {
233
+ .wco-collapse::after {
228
234
  content: " [>]";
229
235
  }
230
- .expand-next + form {
231
- // border: 1px solid red !important;
232
- // display: none !important;
236
+ .wco-collapsed {
237
+ display: none;
233
238
  }
234
239
 
235
240
  /* D */
@@ -450,7 +455,15 @@ textarea.large {
450
455
  display: inline;
451
456
  }
452
457
 
453
-
458
+ .ml-100 {
459
+ margin-left: 100px;
460
+ }
461
+ .ml-200 {
462
+ margin-left: 200px;
463
+ }
464
+ .ml-300 {
465
+ margin-left: 300px;
466
+ }
454
467
 
455
468
  /* N */
456
469
 
@@ -38,16 +38,11 @@ td.ctxs {
38
38
 
39
39
  display: inline-block;
40
40
 
41
- // display: flex;
42
- // flex-direction: column;
43
-
44
- // max-width: 400px; // @TODO: where is this used?!
45
-
46
- margin-left: 20px;
47
-
48
41
  border: 1px solid #666;
49
42
  border-radius: 5px;
43
+
50
44
  padding: 5px;
45
+
51
46
  background: #eee;
52
47
 
53
48
  * {
@@ -27,8 +27,6 @@
27
27
  border-bottom: 1px solid yellow;
28
28
  margin-bottom: 0.3em;
29
29
 
30
- // display: flex;
31
-
32
30
  .subject {
33
31
  // background: #ccc;
34
32
 
@@ -51,48 +49,50 @@
51
49
 
52
50
  .header {
53
51
  display: flex;
54
- align-items: baseline;
52
+ align-items: center;
55
53
 
56
54
  .label {
57
55
  padding-right: 0.2em;
58
56
  }
59
57
  }
60
58
 
61
- .leads {
59
+ .leads-list {
60
+ margin: 1em 0;
61
+
62
62
  .item {
63
63
  display: inline;
64
+
64
65
  border: 1px solid green;
65
- // background: cyan;
66
+ border-radius: 0.5em;
67
+ padding: 0.5em;
68
+
69
+ margin-right: 0.5em;
70
+
66
71
  }
67
72
  }
68
73
 
69
- // these are inside a conversation. _vp_ 2023-02-28
70
- .messages {
74
+ /* these are inside a conversation. _vp_ 2023-02-28 */
75
+ .messages-list {
71
76
  // border: 1px solid red;
72
77
 
73
78
  padding-left: 0;
74
79
  list-style-type: none;
75
80
 
76
81
  .item:first-child {
77
- border-top: 1px solid yellow;
82
+ border-top: 1px solid var(--m3-dol-accent-color);
78
83
  }
79
84
  .item {
80
- border-bottom: 1px solid yellow;
85
+ border-bottom: 1px solid var(--m3-dol-accent-color);
81
86
  margin-bottom: 0.2em;
82
87
 
83
- // .expand {
84
- // border: 1px solid red;
85
- // max-height: 500px;
86
- // overflow: auto;
87
- // }
88
+ padding: 0.5em 0;
88
89
 
89
90
  iframe {
90
- border: 2px solid yellow;
91
+ // border: 2px solid yellow;
91
92
 
92
93
  width: 100%;
93
94
  min-height: 500px;
94
- height: 80vh;
95
- // display: none;
95
+ height: 75vh;
96
96
  }
97
97
 
98
98
  .my-actions {
@@ -157,13 +157,5 @@
157
157
  font-weight: bold;
158
158
  }
159
159
 
160
- .tags {
161
- display: flex;
162
- flex-direction: column;
163
-
164
- .chip {
165
- border: 1px solid cyan;
166
- }
167
- }
168
160
 
169
161
  }
@@ -27,14 +27,17 @@
27
27
  }
28
28
  }
29
29
 
30
- tr {
31
- border-bottom: 1px solid yellow;
32
30
 
33
- // :hover {
34
- // background: #eee;
35
- // }
31
+ .chip {
32
+ display: inline;
33
+
34
+ border: 1px solid #eee;
35
+ border-radius: 0.5em;
36
+ padding: 0.1em .3em;
37
+ background: #fff;
36
38
  }
37
39
 
40
+
38
41
  th.leads {
39
42
  margin-left: 1em;
40
43
  }
@@ -91,6 +94,8 @@
91
94
  }
92
95
  }
93
96
 
97
+ /* belongs here, not in tags.scss */
98
+
94
99
  .tags {
95
100
  // background: #eee;
96
101
 
@@ -105,14 +110,6 @@
105
110
  vertical-align: top;
106
111
  }
107
112
 
108
- .chip {
109
- display: inline;
110
-
111
- border: 1px solid #eee;
112
- border-radius: 0.5em;
113
- padding: 0.1em .3em;
114
- background: #fff;
115
- }
116
113
 
117
114
  }
118
115
 
@@ -3,3 +3,26 @@ form.tags--form-mini {
3
3
  display: flex;
4
4
  }
5
5
 
6
+ /*
7
+ * used in
8
+ * .email-conversations-index
9
+ * .email-conversations-show
10
+ **/
11
+ .tags-list {
12
+ display: flex;
13
+ flex-wrap: wrap;
14
+ align-items: baseline;
15
+
16
+ // border: 1px dashed var(--m3-dol-text-color);
17
+ // border-radius: 5px;
18
+ // padding: 0.5em;
19
+
20
+ margin: 0.5em 0;
21
+
22
+ .label,
23
+ b {
24
+ margin-right: 0.5em;
25
+ }
26
+ }
27
+
28
+
@@ -0,0 +1,5 @@
1
+
2
+ :root {
3
+ --m3-dol-accent-color: red;
4
+ --m3-dol-text-color: #000;
5
+ }
@@ -1,6 +1,7 @@
1
1
 
2
2
  class IshManager::LeadActionTemplatesController < IshManager::ApplicationController
3
3
 
4
+
4
5
  def create
5
6
  authorize! :create, Office::LeadActionTemplate
6
7
  @tmpl = ::Office::LeadActionTemplate.new params[:tmpl].permit!
@@ -23,5 +24,10 @@ class IshManager::LeadActionTemplatesController < IshManager::ApplicationControl
23
24
  @new_lat = ::Office::LeadActionTemplate.new
24
25
  end
25
26
 
27
+ def new
28
+ authorize! :new, Office::LeadActionTemplate
29
+ @tmpl = ::Office::LeadActionTemplate.new
30
+ end
31
+
26
32
  end
27
33
 
@@ -1,8 +1,16 @@
1
1
 
2
2
  class IshManager::LeadActionsController < IshManager::ApplicationController
3
3
 
4
+ def edit
5
+ @lead_action = Office::LeadAction.find params[:id]
6
+ @olats_list = OLAT.list
7
+ @leads_list = Lead.list
8
+ authorize! :edit, @lead_action
9
+ end
10
+
4
11
  def index
5
12
  authorize! :index, Office::LeadAction
13
+ @lead_action_templates = Office::LeadActionTemplate.all
6
14
  @lead_actions = Office::LeadAction.all
7
15
  end
8
16
 
@@ -0,0 +1,10 @@
1
+
2
+ class ::IshManager::UnsubscribesController < IshManager::ApplicationController
3
+
4
+ def index
5
+ authorize! :index, Ish::EmailUnsubscribe
6
+ @unsubscribes = Ish::EmailUnsubscribe.all
7
+ end
8
+
9
+ end
10
+
@@ -92,23 +92,19 @@
92
92
 
93
93
  %ul
94
94
  %li
95
+ = link_to 'OLATs', lead_action_templates_path
96
+ = link_to '[+]', new_lead_action_template_path
95
97
  = link_to 'Lead Actions', lead_actions_path
96
- %li
97
- = link_to 'Lead Action Templatess', lead_action_templates_path
98
- -# = link_to '[+]', new_lead_action_template_path
98
+
99
+
99
100
  %li
100
101
  = link_to "Campaigns (#{Ish::EmailCampaign.all.length})", email_campaigns_path
101
102
  = link_to '[+]', new_email_campaign_path
102
103
  %li
103
104
  = link_to "OActions (#{Office::Action.all.length})", office_actions_path
104
105
  = link_to '[+]', new_office_action_path
105
-
106
- %ul
107
106
  %li
108
- = link_to 'Products & Prices', products_path
109
- %li
110
- = link_to 'Subscriptions', subscriptions_path
111
- = link_to '[+]', new_wco_subscription_path
107
+ = link_to 'Unsubs', unsubscribes_path
112
108
 
113
109
  .c
114
110
 
@@ -122,6 +118,14 @@
122
118
  = link_to 'Appliance\'s', appliances_path
123
119
  %li
124
120
  = link_to 'Serverhost\'s', serverhosts_path
121
+ %ul
122
+ %li
123
+ = link_to 'Products & Prices', products_path
124
+ %li
125
+ = link_to 'Subscriptions', subscriptions_path
126
+ = link_to '[+]', new_wco_subscription_path
127
+
128
+
125
129
  .c
126
130
 
127
131
 
@@ -45,7 +45,6 @@
45
45
  %th From emails
46
46
  %th Subject
47
47
  %th Datetime
48
- %th Tags
49
48
 
50
49
  - @email_conversations.each do |conv|
51
50
  %tr{ class: [ conv.state ] }
@@ -66,12 +65,6 @@
66
65
  .date= pp_date conv.latest_at
67
66
  .time= pp_time conv.latest_at
68
67
 
69
- %td
70
- .tags
71
- &lt;tags>
72
- -# - conv.tags.each do |tag|
73
- -# .chip
74
- -# = tag.name
75
68
 
76
69
  %br
77
70
  = render 'paginate', resource: @email_conversations, param_name: :conv_page, views_prefix: :ish_manager
@@ -1,77 +1,79 @@
1
1
 
2
2
  .email-conversations-show
3
3
 
4
- .header.max-width
5
- -# %i.material-icons mail
4
+ .padded
6
5
 
7
- = link_to '[<<-]', email_conversations_path
6
+ .header
7
+ = link_to '[<<-]', email_conversations_path
8
+ %i.material-icons mail
8
9
 
9
- .subject #{@email_conversation.subject}
10
- (#{@email_conversation.email_messages.all.count})
10
+ .subject #{@email_conversation.subject}
11
+ (#{@email_conversation.email_messages.all.count})
11
12
 
12
- .tags.max-width
13
- Tags (#{@email_conversation.tags.length}):
14
- = @email_conversation.wp_term_ids
15
- = @email_conversation.tags.map(&:name).join(", ")
13
+ .tags-list
14
+ %b Tags (#{@email_conversation.tags.length}):
15
+ -# = @email_conversation.wp_term_ids
16
+ - @email_conversation.tags.each do |tag|
17
+ .chip= link_to "[#{tag.term_id}] #{tag.name}", category_path( tag )
16
18
 
17
- .leads.max-width
18
- Leads (#{@email_conversation.leads.length}):
19
- - @email_conversation.leads.each do |lead|
20
- .item
21
- = link_to "#{lead.id} #{lead.email}", lead_path(lead)
22
- \(ctxs:
23
- = link_to email_contexts_for_lead_path( lead ) do
24
- = lead.email_contexts.count
25
- %i.fa.fa-envelope
26
- .relative.inline-block
27
- %i.fa.fa-plus.expand-next
28
- .expand-hide= render 'ish_manager/email_contexts/form', ctx: Ctx.new({ lead_id: lead.id, email_template: Tmpl.blank })
29
- \)
30
- .relative.inline-block
31
- %i.fa.fa-clock-o.expand-next{ style: "color: red;" }
32
- .expand-hide= render 'ish_manager/scheduled_email_actions/form', scheduled_email_action: Sch.new({ lead_id: lead.id })
19
+ .leads-list
20
+ %b Leads (#{@email_conversation.leads.length}):
21
+ - @email_conversation.leads.each do |lead|
22
+ .item
23
+ = link_to "#{lead.id} #{lead.email}", lead_path(lead)
24
+ \(ctxs:
25
+ = link_to email_contexts_for_lead_path( lead ) do
26
+ = lead.email_contexts.count
27
+ %i.fa.fa-envelope
28
+ .relative.inline-block
29
+ %i.fa.fa-plus.expand-next
30
+ .expand-hide= render 'ish_manager/email_contexts/form', ctx: Ctx.new({ lead_id: lead.id, email_template: Tmpl.blank })
31
+ \)
32
+ .relative.inline-block
33
+ %i.fa.fa-clock-o.expand-next{ style: "color: red;" }
34
+ .expand-hide= render 'ish_manager/scheduled_email_actions/form', scheduled_email_action: Sch.new({ lead_id: lead.id })
33
35
 
34
- .messages.max-width
35
- - @email_messages.each do |msg|
36
- - lead = msg.lead || Lead.new(email: 'NO LEAD!', id: 'no lead')
36
+ .messages-list
37
+ - @email_messages.each do |msg|
38
+ - lead = msg.lead || Lead.new(email: 'NO LEAD!', id: 'no lead')
37
39
 
38
- .item.msg-container{ data: { msg: { id: msg.id } } }
39
- .row-1
40
- .gray
41
- %ul
42
- %li
43
- = msg.id
44
- <b>To:</b> #{msg.to}
45
- <b>From:</b> #{lead.email}
40
+ .item.msg-container{ data: { msg: { id: msg.id } } }
41
+ .row-1
42
+ .gray
43
+ <b>From:</b> #{lead.email}
44
+ <b>To:</b> #{msg.to}
45
+ = msg.id
46
+ <b>object_key:</b> #{msg.object_key}
46
47
 
47
48
 
48
- .datetime
49
- .date= msg.date&.strftime('%Y-%m-%d')
50
- .time= msg.date&.strftime('%l:%M%P')
49
+ .datetime
50
+ .date= msg.date&.strftime('%Y-%m-%d')
51
+ .time= msg.date&.strftime('%l:%M%P')
51
52
 
52
- .row-2
53
- .flexy
54
- = link_to "Expand w/img", ishapi.email_message_path(msg, jwt_token: @jwt_token, load_images: true ), target: msg.message_id, class: 'preview-btn', data: { msg: { id: msg.id.to_s } }
55
- \- or -
56
- = link_to "Expand", ishapi.email_message_path(msg, jwt_token: @jwt_token ), target: msg.message_id, class: 'preview-btn', data: { msg: { id: msg.id.to_s } }
57
- = msg.preview_str
53
+ .row-2
54
+ .flexy
55
+ = link_to "Expand w/img", ishapi.email_message_path(msg, jwt_token: @jwt_token, load_images: true ), target: msg.message_id, class: 'preview-btn', data: { msg: { id: msg.id.to_s } }
56
+ \- or -
57
+ = link_to "Expand", ishapi.email_message_path(msg, jwt_token: @jwt_token ), target: msg.message_id, class: 'preview-btn', data: { msg: { id: msg.id.to_s } }
58
+ = msg.preview_str
58
59
 
59
- .to-expand
60
+ .ml-200.to-expand
60
61
 
61
- - if msg.attachments.present?
62
- .attachments
63
- - msg.attachments.map do |att|
64
- .item
65
- %h5= att.photo.original_filename
66
- = image_tag att.photo.url(:original)
62
+ - if msg.attachments.present?
63
+ .attachments
64
+ - msg.attachments.map do |att|
65
+ .item
66
+ %h5= att.photo.original_filename
67
+ = image_tag att.photo.url(:original)
67
68
 
68
- %iframe{ name: msg.message_id }
69
+ %iframe{ name: msg.message_id }
69
70
 
70
- = render 'ish_manager/email_contexts/form_reply', lead: lead
71
- .bordered-card
72
- = render 'ish_manager/email_contexts/form', ctx: Ctx.new({ lead_id: lead.id, email_template: Tmpl.blank_template, from_email: msg.to, subject: msg.subject, body: (msg.part_html||msg.part_txt) }), lead: lead
73
- -# = button_to 'Reply'
74
- -# = button_to 'Reply All'
75
- -# = button_to 'New Template'
76
- -# = button_to 'Schedule Reply'
77
- -# = render 'ish_manager/email_templates/form_schedule_mini'
71
+ = render 'ish_manager/email_contexts/form_reply', lead: lead
72
+ .collapse-expand.wco-collapse Reply
73
+ .bordered.mt-3.wco-collapsed
74
+ = render 'ish_manager/email_contexts/form', ctx: Ctx.new({ lead_id: lead.id, email_template: Tmpl.blank_template, from_email: msg.to, subject: msg.subject, body: (msg.part_html||msg.part_txt) }), lead: lead
75
+ -# = button_to 'Reply'
76
+ -# = button_to 'Reply All'
77
+ -# = button_to 'New Template'
78
+ -# = button_to 'Schedule Reply'
79
+ -# = render 'ish_manager/email_templates/form_schedule_mini'
@@ -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 />
@@ -45,11 +45,6 @@
45
45
  text-decoration: underline;
46
46
  }
47
47
 
48
-
49
-
50
-
51
-
52
-
53
48
  p {
54
49
  margin: 10px 0;
55
50
  padding: 0;
@@ -827,6 +822,9 @@
827
822
  <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer">
828
823
  <tr>
829
824
  <td valign="top" class="bodyContainer">
825
+
826
+ <%= render 'ish_manager/email_templates/header_logo' %>
827
+
830
828
  <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock"
831
829
  style="min-width:100%;">
832
830
  <tbody class="mcnTextBlockOuter">
@@ -1096,7 +1094,7 @@
1096
1094
  <td valign="top" class="mcnTextContent"
1097
1095
  style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
1098
1096
 
1099
- <p style="font-size:18px !important;">Thank you! Your response will help us improve the way we provide value to our customers!</p>
1097
+ <p style="font-size:18px !important;">Thank you! Your response will help us improve the way we provide value to our customers.</p>
1100
1098
 
1101
1099
  </td>
1102
1100
  </tr>
@@ -853,18 +853,7 @@
853
853
  <td align="right" valign="top" class="mcnTextContent"
854
854
  style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
855
855
 
856
- <table cellpadding="0" cellspacing="0" width="100%">
857
- <tr>
858
- <td align="center">
859
- <br />
860
- <img
861
- src="https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/09/29185755/259x66-WasyaCo-Logo-YellowShadow.png"
862
- alt="Wasya Co [logo]" />
863
- </td>
864
- </tr>
865
- </table>
866
- <br /><br />
867
-
856
+ <%= render 'ish_manager/email_templates/header_logo' %>
868
857
 
869
858
  <!-- 2023-09-23 BEGIN -->
870
859
  <table border="0" cellpadding="0" cellspacing="0" width="100%"
@@ -0,0 +1,12 @@
1
+
2
+ .lead-action-templates--list
3
+ .flex-row
4
+ - @lead_action_templates.each do |lat|
5
+ .card
6
+ .flex-row
7
+ = link_to '[~]', edit_lead_action_template_path( lat )
8
+ = lat.slug
9
+ %ul
10
+ -# - %w| slug kind |
11
+ - %w| config_json action_exe |.each do |k|
12
+ %li <b>#{k}:</b> #{lat[k]}
@@ -2,10 +2,7 @@
2
2
  .lead-action-templates-index.maxwidth
3
3
  %h5 Lead Action Templates
4
4
 
5
- %ul
6
- - @tmpls.each do |tmpl|
7
- %li
8
- = link_to "[~ #{tmpl.slug}]", edit_lead_action_template_path( tmpl )
5
+ = render 'ish_manager/lead_action_templates/list'
9
6
 
10
7
  %hr
11
8
  = render 'form', tmpl: @new_lat
@@ -0,0 +1,5 @@
1
+
2
+ .lead-action-templates-edit.maxwidth
3
+ %h5 New Lead Action Template
4
+
5
+ = render 'form', tmpl: @tmpl
@@ -0,0 +1,19 @@
1
+
2
+ - url = lead_action.new_record? ? lead_actions_path : lead_action_path( lead_action )
3
+ .lead-actions--form
4
+ = form_for lead_action, url: url, as: :lead_action do |f|
5
+
6
+ .field
7
+ %label tmpl
8
+ = f.select :lead_action_template, options_for_select( @olats_list, selected: lead_action.tmpl_id ), {}, class: :select2
9
+
10
+ .field
11
+ %label lead
12
+ = f.select :lead_id, options_for_select( @leads_list, selected: lead_action.lead_id ), {}, class: :select2
13
+
14
+ .field
15
+ %label params
16
+ = f.text_area :params, class: 'large', value: JSON.pretty_generate( JSON.parse( lead_action.params ))
17
+
18
+ .actions
19
+ = f.submit 'Submit'
@@ -0,0 +1,5 @@
1
+
2
+ .lead-actions-edit.maxwidth
3
+ %h5 Edit Lead Action
4
+
5
+ = render 'form', lead_action: @lead_action
@@ -1,12 +1,29 @@
1
1
 
2
2
  .lead-actions-index.maxwidth
3
- %h5 Lead Actions
3
+
4
+ %h5.collapse-expand#lats
5
+ Lead Action Templates
6
+ = link_to '[+]', new_lead_action_template_path
7
+
8
+ = render 'ish_manager/lead_action_templates/list'
9
+
10
+ %hr
11
+
12
+ %h5.collapse-expand#las
13
+ Lead Actions
14
+ = link_to '[+]', new_lead_action_path
4
15
 
5
16
  %ul
6
17
  - @lead_actions.each do |la|
7
18
  %li
19
+ = link_to '[~]', edit_lead_action_path( la )
8
20
  %ul
9
- - JSON.parse( la.params ).each do |k, v|
10
- %li
11
- = k
12
- = v
21
+ - %w| tmpl lead |.each do |k|
22
+ %li <b>#{k}:</b> #{la.send( k )}
23
+ %li
24
+ <b>params:</b>
25
+ %ul
26
+ - JSON.parse( la.params ).each do |k, v|
27
+ %li
28
+ = k
29
+ = v
@@ -0,0 +1,18 @@
1
+
2
+ .unsubscribes-index.maxwidth
3
+
4
+ %table.bordered.data-table
5
+ %thead
6
+ %tr
7
+ %td Email
8
+ %td Date
9
+ %td campaign_id
10
+ %td template_id
11
+
12
+ - @unsubscribes.each do |i|
13
+ %tr
14
+ %td= i.email
15
+ %td= i.unsubscribed_at
16
+ %td= i.campaign
17
+ %td= i.template
18
+
data/config/routes.rb CHANGED
@@ -150,6 +150,11 @@ IshManager::Engine.routes.draw do
150
150
  get 'subscriptions/new_wco', to: 'subscriptions#new_wco', as: :new_wco_subscription
151
151
  resources :subscriptions
152
152
 
153
+ ##
154
+ ## U
155
+ ##
156
+ resources :unsubscribes
157
+
153
158
  resources :user_profiles do
154
159
  resources :newsitems
155
160
  end
@@ -157,6 +162,9 @@ IshManager::Engine.routes.draw do
157
162
  # resources :newsitems
158
163
  end
159
164
 
165
+ ##
166
+ ## V
167
+ ##
160
168
  resources :videos
161
169
 
162
170
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ish_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8.484
4
+ version: 0.1.8.486
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-25 00:00:00.000000000 Z
11
+ date: 2023-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -477,6 +477,7 @@ files:
477
477
  - app/assets/stylesheets/ish_manager/tags.scss
478
478
  - app/assets/stylesheets/ish_manager/trash/pagination.scss
479
479
  - app/assets/stylesheets/ish_manager/user_profiles.scss
480
+ - app/assets/stylesheets/ish_manager/variables.css
480
481
  - app/assets/stylesheets/ish_manager/vendor/jquery-ui.css
481
482
  - app/assets/stylesheets/ish_manager/vendor/summernote-bs4.min.css
482
483
  - app/assets/stylesheets/ish_manager/videos.scss
@@ -520,6 +521,7 @@ files:
520
521
  - app/controllers/ish_manager/scheduled_email_actions_controller.rb
521
522
  - app/controllers/ish_manager/serverhosts_controller.rb
522
523
  - app/controllers/ish_manager/subscriptions_controller.rb
524
+ - app/controllers/ish_manager/unsubscribes_controller.rb
523
525
  - app/controllers/ish_manager/user_profiles_controller.rb
524
526
  - app/controllers/ish_manager/videos_controller.rb
525
527
  - app/helpers/ish_manager/application_helper.rb
@@ -637,6 +639,7 @@ files:
637
639
  - app/views/ish_manager/email_templates/_form_mini.haml
638
640
  - app/views/ish_manager/email_templates/_form_reply_mini.haml
639
641
  - app/views/ish_manager/email_templates/_form_schedule_mini.haml
642
+ - app/views/ish_manager/email_templates/_header_logo.html.erb
640
643
  - app/views/ish_manager/email_templates/_index.haml
641
644
  - app/views/ish_manager/email_templates/_m20221201react.html.erb
642
645
  - app/views/ish_manager/email_templates/_m20221222merryxmas.html.erb
@@ -752,8 +755,12 @@ files:
752
755
  - app/views/ish_manager/kaminari/_paginator.html.erb
753
756
  - app/views/ish_manager/kaminari/_prev_page.html.erb
754
757
  - app/views/ish_manager/lead_action_templates/_form.haml
758
+ - app/views/ish_manager/lead_action_templates/_list.haml
755
759
  - app/views/ish_manager/lead_action_templates/edit.haml
756
760
  - app/views/ish_manager/lead_action_templates/index.haml
761
+ - app/views/ish_manager/lead_action_templates/new.haml
762
+ - app/views/ish_manager/lead_actions/_form.haml
763
+ - app/views/ish_manager/lead_actions/edit.haml
757
764
  - app/views/ish_manager/lead_actions/index.haml
758
765
  - app/views/ish_manager/leads/_form.haml
759
766
  - app/views/ish_manager/leads/_form_import.haml
@@ -847,6 +854,7 @@ files:
847
854
  - app/views/ish_manager/trash/email_campaigns-trash/edit.haml
848
855
  - app/views/ish_manager/trash/email_campaigns-trash/index.haml
849
856
  - app/views/ish_manager/trash/email_campaigns-trash/new.haml
857
+ - app/views/ish_manager/unsubscribes/index.haml
850
858
  - app/views/ish_manager/user_profiles/_form.haml
851
859
  - app/views/ish_manager/user_profiles/_show.haml
852
860
  - app/views/ish_manager/user_profiles/edit.haml