ish_manager 0.1.8.484 → 0.1.8.486

Sign up to get free protection for your applications and to get access to all the features.
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