wco_email 0.1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +7 -0
  2. data/README.txt +129 -0
  3. data/Rakefile +5 -0
  4. data/app/assets/config/wco_email_manifest.js +7 -0
  5. data/app/assets/javascript/vendor-trash/jquery-ui.min.js +13 -0
  6. data/app/assets/javascript/vendor-trash/jquery.fileupload.js +1482 -0
  7. data/app/assets/javascript/vendor-trash/jquery.iframe-transport.js +224 -0
  8. data/app/assets/javascript/vendor-trash/jquery.ui.widget.js +572 -0
  9. data/app/assets/javascript/vendor-trash/summernote-bs4.min.js +3 -0
  10. data/app/assets/javascript/wco_email/application.js +11 -0
  11. data/app/assets/javascript/wco_email/contexts.js +19 -0
  12. data/app/assets/javascript/wco_email/conversations.js +177 -0
  13. data/app/assets/javascript/wco_email/file_upload.js-trash +32 -0
  14. data/app/assets/javascript/wco_email/shared.js +22 -0
  15. data/app/assets/stylesheets/wco_email/application.scss +29 -0
  16. data/app/assets/stylesheets/wco_email/contexts.scss +63 -0
  17. data/app/assets/stylesheets/wco_email/conversations.scss +16 -0
  18. data/app/assets/stylesheets/wco_email/tags.scss +6 -0
  19. data/app/controllers/wco_email/application_controller.rb +16 -0
  20. data/app/controllers/wco_email/contexts_controller.rb +156 -0
  21. data/app/controllers/wco_email/conversations_controller.rb +129 -0
  22. data/app/controllers/wco_email/email_action_templates_controller.rb +77 -0
  23. data/app/controllers/wco_email/email_actions_controller.rb +55 -0
  24. data/app/controllers/wco_email/email_campaigns_controller.rb +73 -0
  25. data/app/controllers/wco_email/email_filters_controller.rb +72 -0
  26. data/app/controllers/wco_email/email_layouts_controller.rb +13 -0
  27. data/app/controllers/wco_email/email_templates_controller.rb +124 -0
  28. data/app/controllers/wco_email/message_stubs_controller.rb +14 -0
  29. data/app/controllers/wco_email/messages_controller.rb +28 -0
  30. data/app/controllers/wco_email/obfuscated_redirects_controller.rb +20 -0
  31. data/app/controllers/wco_email/sessions_controller.rb +19 -0
  32. data/app/controllers/wco_email/unsubscribes_controller.rb +40 -0
  33. data/app/helpers/wco_email/application_helper.rb +20 -0
  34. data/app/jobs/wco_email/message_intake_job.rb +54 -0
  35. data/app/mailers/wco_email/application_mailer.rb +98 -0
  36. data/app/views/202212 Mailchimp Templates/202212 1col fixed-width.html +863 -0
  37. data/app/views/202212 Mailchimp Templates/202212 1col full-width.html +906 -0
  38. data/app/views/202212 Mailchimp Templates/202212 2col fixed-width 2.html +1003 -0
  39. data/app/views/202212 Mailchimp Templates/202212 2col fixed-width.html +1082 -0
  40. data/app/views/202212 Mailchimp Templates/202212 2col full-width 2.html +1053 -0
  41. data/app/views/202212 Mailchimp Templates/202212 2col full-width.html +1147 -0
  42. data/app/views/202212 Mailchimp Templates/202212 3col fixed-width.html +1087 -0
  43. data/app/views/202212 Mailchimp Templates/202212 3col full-width.html +1136 -0
  44. data/app/views/202212 Mailchimp Templates/202212 catalog various-colors-1.html +1223 -0
  45. data/app/views/202212 Mailchimp Templates/202212 educate.html +1080 -0
  46. data/app/views/202212 Mailchimp Templates/202212 follow up.html +1001 -0
  47. data/app/views/202212 Mailchimp Templates/202212 make an announcement.html +1048 -0
  48. data/app/views/202212 Mailchimp Templates/202212 sell-a-product.html +977 -0
  49. data/app/views/202212 Mailchimp Templates/202212 tell a story.html +1168 -0
  50. data/app/views/202212 Mailchimp Templates/202212 theme art-newsletter.html +1612 -0
  51. data/app/views/202212 Mailchimp Templates/202212 theme caribou-xmas.html +856 -0
  52. data/app/views/202212 Mailchimp Templates/202212 theme colorbox.html +1027 -0
  53. data/app/views/202212 Mailchimp Templates/202212 theme competition-invitation.html +918 -0
  54. data/app/views/202212 Mailchimp Templates/202212 theme event-veerle.html +1132 -0
  55. data/app/views/202212 Mailchimp Templates/202212 theme fall-colors.html +1407 -0
  56. data/app/views/202212 Mailchimp Templates/202212 theme gift-giving.html +787 -0
  57. data/app/views/202212 Mailchimp Templates/202212 theme giftgiving-snowmen.html +731 -0
  58. data/app/views/202212 Mailchimp Templates/202212 theme heart-of-flowers.html +795 -0
  59. data/app/views/202212 Mailchimp Templates/202212 theme hero-card.html +915 -0
  60. data/app/views/202212 Mailchimp Templates/202212 theme hero-image.html +1148 -0
  61. data/app/views/202212 Mailchimp Templates/202212 theme monthly-contest.html +967 -0
  62. data/app/views/202212 Mailchimp Templates/202212 theme multiple-event.html +1189 -0
  63. data/app/views/202212 Mailchimp Templates/202212 theme postcard.html +914 -0
  64. data/app/views/202212 Mailchimp Templates/202212 theme snowy-fields.html +733 -0
  65. data/app/views/202212 Mailchimp Templates/202212 theme soft.html +849 -0
  66. data/app/views/202212 Mailchimp Templates/202212 theme sophisticated.html +1079 -0
  67. data/app/views/202212 Mailchimp Templates/202212 theme subtle.html +1218 -0
  68. data/app/views/202212 Mailchimp Templates/202212 theme ticket.html +1015 -0
  69. data/app/views/202212 Mailchimp Templates/202212 theme whale.html +888 -0
  70. data/app/views/202310 Email Templates/_acknowledgement_of_document_receipt.html.erb +23 -0
  71. data/app/views/202310 Email Templates/_support_ticket_created.html.erb +26 -0
  72. data/app/views/layouts/wco_email/application.haml +64 -0
  73. data/app/views/layouts/wco_email/mailbox.haml-trash +62 -0
  74. data/app/views/wco_email/_analytics.erb +16 -0
  75. data/app/views/wco_email/_main_header.haml +31 -0
  76. data/app/views/wco_email/_sidebar.haml +10 -0
  77. data/app/views/wco_email/application_mailer/_footer_unsubscribe.html.erb +24 -0
  78. data/app/views/wco_email/application_mailer/_header_logo.html.erb +12 -0
  79. data/app/views/wco_email/application_mailer/forwarder_notify.html.erb +17 -0
  80. data/app/views/wco_email/contexts/_form.haml +59 -0
  81. data/app/views/wco_email/contexts/_form_reply.haml +27 -0
  82. data/app/views/wco_email/contexts/_header.haml +22 -0
  83. data/app/views/wco_email/contexts/_index.haml +8 -0
  84. data/app/views/wco_email/contexts/edit.haml +8 -0
  85. data/app/views/wco_email/contexts/iframe_src.haml +3 -0
  86. data/app/views/wco_email/contexts/index.haml +51 -0
  87. data/app/views/wco_email/contexts/new.haml +5 -0
  88. data/app/views/wco_email/contexts/show.haml +34 -0
  89. data/app/views/wco_email/contexts/summary.csv.erb +4 -0
  90. data/app/views/wco_email/contexts/summary.haml +16 -0
  91. data/app/views/wco_email/conversations/_actions.haml +21 -0
  92. data/app/views/wco_email/conversations/_search.haml +14 -0
  93. data/app/views/wco_email/conversations/index.haml +43 -0
  94. data/app/views/wco_email/conversations/show.haml +27 -0
  95. data/app/views/wco_email/email_action_templates/_form.haml +45 -0
  96. data/app/views/wco_email/email_action_templates/_header.haml +8 -0
  97. data/app/views/wco_email/email_action_templates/edit.haml +7 -0
  98. data/app/views/wco_email/email_action_templates/index.haml +36 -0
  99. data/app/views/wco_email/email_action_templates/new.haml +9 -0
  100. data/app/views/wco_email/email_action_templates/show.haml +11 -0
  101. data/app/views/wco_email/email_actions/_form.haml +24 -0
  102. data/app/views/wco_email/email_actions/_form_mini.haml-trash +28 -0
  103. data/app/views/wco_email/email_actions/_header.haml +8 -0
  104. data/app/views/wco_email/email_actions/edit.haml +4 -0
  105. data/app/views/wco_email/email_actions/index.haml +31 -0
  106. data/app/views/wco_email/email_actions/new.haml +4 -0
  107. data/app/views/wco_email/email_actions/show.haml +0 -0
  108. data/app/views/wco_email/email_campaigns/_form.haml +33 -0
  109. data/app/views/wco_email/email_campaigns/_header.haml +5 -0
  110. data/app/views/wco_email/email_campaigns/edit.haml +5 -0
  111. data/app/views/wco_email/email_campaigns/index.haml +14 -0
  112. data/app/views/wco_email/email_campaigns/new.haml +5 -0
  113. data/app/views/wco_email/email_campaigns/show.haml +17 -0
  114. data/app/views/wco_email/email_filters/_form.haml +40 -0
  115. data/app/views/wco_email/email_filters/_header.haml +5 -0
  116. data/app/views/wco_email/email_filters/edit.haml +5 -0
  117. data/app/views/wco_email/email_filters/index.haml +48 -0
  118. data/app/views/wco_email/email_filters/new.haml +5 -0
  119. data/app/views/wco_email/email_templates/_form.haml +48 -0
  120. data/app/views/wco_email/email_templates/_form_mini.haml +9 -0
  121. data/app/views/wco_email/email_templates/_form_reply_mini.haml +8 -0
  122. data/app/views/wco_email/email_templates/_form_schedule_mini.haml +11 -0
  123. data/app/views/wco_email/email_templates/_header.haml +6 -0
  124. data/app/views/wco_email/email_templates/_index.haml +26 -0
  125. data/app/views/wco_email/email_templates/_index_expanded.haml +13 -0
  126. data/app/views/wco_email/email_templates/_m20221201react.html.erb +1202 -0
  127. data/app/views/wco_email/email_templates/_m20221222merryxmas.html.erb +766 -0
  128. data/app/views/wco_email/email_templates/_m202309_feedback.html.erb +1161 -0
  129. data/app/views/wco_email/email_templates/_m202309_ror4.html.erb +1068 -0
  130. data/app/views/wco_email/email_templates/_marketing_node_1.html.erb +984 -0
  131. data/app/views/wco_email/email_templates/_marketing_react_1.html +0 -0
  132. data/app/views/wco_email/email_templates/_marketing_react_2.html.erb +749 -0
  133. data/app/views/wco_email/email_templates/_marketing_react_3.html.erb +628 -0
  134. data/app/views/wco_email/email_templates/_marketing_ror_1.html +751 -0
  135. data/app/views/wco_email/email_templates/_marketing_ror_2.html.erb +755 -0
  136. data/app/views/wco_email/email_templates/_marketing_ror_3.html.erb +25 -0
  137. data/app/views/wco_email/email_templates/_marketing_ror_4.html.erb +25 -0
  138. data/app/views/wco_email/email_templates/_marketing_ror_5.html.erb +17 -0
  139. data/app/views/wco_email/email_templates/_marketing_wordpress_1.html +0 -0
  140. data/app/views/wco_email/email_templates/_marketing_wordpress_2.html +0 -0
  141. data/app/views/wco_email/email_templates/_meta.haml +6 -0
  142. data/app/views/wco_email/email_templates/_piousbox_roundborders.html.erb +1007 -0
  143. data/app/views/wco_email/email_templates/_piousbox_social.html.erb +181 -0
  144. data/app/views/wco_email/email_templates/_plain.haml +15 -0
  145. data/app/views/wco_email/email_templates/_rec_resume_shared_with_you.html.erb +39 -0
  146. data/app/views/wco_email/email_templates/_slug-1.html.erb +0 -0
  147. data/app/views/wco_email/email_templates/_slug-2.html.erb +0 -0
  148. data/app/views/wco_email/email_templates/_slug-3.html.erb +0 -0
  149. data/app/views/wco_email/email_templates/_tracking_footer.html.erb +13 -0
  150. data/app/views/wco_email/email_templates/_wasyaco_roundborders.html.erb +686 -0
  151. data/app/views/wco_email/email_templates/_wasyaco_social.html.erb +181 -0
  152. data/app/views/wco_email/email_templates/edit.haml +6 -0
  153. data/app/views/wco_email/email_templates/new.haml +6 -0
  154. data/app/views/wco_email/email_templates/show.haml +11 -0
  155. data/app/views/wco_email/email_templates/show_iframe.haml +2 -0
  156. data/app/views/wco_email/lead_action_templates/_header.haml +7 -0
  157. data/app/views/wco_email/lead_actions/_header.haml +8 -0
  158. data/app/views/wco_email/message_stubs/_index.haml +10 -0
  159. data/app/views/wco_email/messages/_form_reply.haml-trash +17 -0
  160. data/app/views/wco_email/messages/_meta.haml +30 -0
  161. data/app/views/wco_email/messages/show.haml +13 -0
  162. data/app/views/wco_email/messages/show_iframe.haml +5 -0
  163. data/app/views/wco_email/sessions/new.html.erb +4 -0
  164. data/app/views/wco_email/unsubscribes/_header.haml +4 -0
  165. data/app/views/wco_email/unsubscribes/_table.haml +22 -0
  166. data/config/initializers/assets.rb +10 -0
  167. data/config/routes.rb +49 -0
  168. data/lib/tasks/bjjcollective/sitemap.rb +50 -0
  169. data/lib/tasks/db_tasks.rake +12 -0
  170. data/lib/tasks/direct_mail_tasks.rake +35 -0
  171. data/lib/tasks/infinite_shelter/sitemap.rb +25 -0
  172. data/lib/tasks/piousbox/sitemap.rb +80 -0
  173. data/lib/tasks/publish2_wordpress_tasks.rake +54 -0
  174. data/lib/tasks/scrape_reddit_tasks.rake-bk +23 -0
  175. data/lib/tasks/trash/email_tasks.rake-trash +126 -0
  176. data/lib/tasks/trash/sitemap_tasks.rake-trash +146 -0
  177. data/lib/tasks/wasya_co/sitemap.rb +281 -0
  178. data/lib/tasks/wco_email_tasks.rake +117 -0
  179. data/lib/wco_email/README_email_actions.rb +7 -0
  180. data/lib/wco_email/README_email_contexts.rb +7 -0
  181. data/lib/wco_email/engine.rb +8 -0
  182. data/lib/wco_email.rb +19 -0
  183. metadata +493 -0
@@ -0,0 +1,23 @@
1
+ Subject: Acknowledgement of Document Receipt
2
+
3
+ Dear [Sender's Name],
4
+
5
+ I hope this email finds you well. I am writing to confirm the successful receipt of the document you sent to our company.
6
+
7
+ We acknowledge the reception of [Document Name] on [Date Received]. Rest assured, our team is currently reviewing the contents, and we appreciate the promptness of your submission.
8
+
9
+ Should any further actions be required or if we have any queries regarding the document, we will reach out to you directly.
10
+
11
+ Thank you for your cooperation and for providing us with the necessary information. We value your contribution to our business processes.
12
+
13
+ If you have any questions or need any additional assistance, please feel free to get in touch with our team at [Contact Email/Phone].
14
+
15
+ Once again, thank you for your cooperation.
16
+
17
+ Best regards,
18
+
19
+ [Your Name]
20
+ [Your Title/Position]
21
+ [Company Name]
22
+ [Email Address]
23
+ [Phone Number]
@@ -0,0 +1,26 @@
1
+ Subject: Acknowledgement of Support Ticket Receipt
2
+
3
+ Dear [Customer's Name],
4
+
5
+ Thank you for reaching out to our software consultancy regarding your support request. This email serves as an acknowledgment that we have received your support ticket, and we appreciate the opportunity to assist you.
6
+
7
+ At [Company Name], we understand the importance of timely and efficient support, and we are committed to resolving your issue as quickly as possible. Our team of experts is currently reviewing your request and will begin investigating the matter shortly.
8
+
9
+ Please rest assured that your support ticket has been assigned a unique reference number [#TicketNumber], which will help us track and monitor the progress of your case. You can use this reference number for any future communication regarding this issue.
10
+
11
+ Our goal is to provide you with the best possible solution, and we will keep you informed throughout the entire process. We aim to respond to your request within [Service Level Agreement (SLA) timeframe], depending on the priority level assigned to your ticket.
12
+
13
+ In the meantime, if you have any additional information, screenshots, or details that may assist us in understanding and resolving your issue more effectively, please feel free to provide them. You can reply directly to this email, and our support team will be notified immediately.
14
+
15
+ We understand that technical issues can be disruptive, and we appreciate your patience as we work towards a resolution. Rest assured that we are committed to delivering high-quality support and ensuring your satisfaction.
16
+
17
+ If you have any urgent concerns or need immediate assistance, please do not hesitate to contact our support hotline at [Phone Number]. Our support agents are available [Working Hours] and will be happy to assist you.
18
+
19
+ Thank you once again for choosing [Company Name]. We value your business and will do our best to address your support request promptly. We will reach out to you soon with an update or resolution.
20
+
21
+ Best regards,
22
+
23
+ [Your Name]
24
+ [Your Position]
25
+ [Company Name]
26
+ [Contact Information]
@@ -0,0 +1,64 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title #{@page_title} | wco_email_rb-application
5
+ %link{ :rel => 'icon', :href => "/favicon_#{ENV['RAILS_ENV']}.gif" }
6
+ %meta{ :name => :viewport, :content => 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=2' }
7
+ %meta{ :charset => 'UTF-8' }
8
+ %meta{ :description => @page_description }
9
+
10
+ = javascript_include_tag "//code.jquery.com/jquery-3.3.1.min.js"
11
+
12
+ %script{ :src => "//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js" }
13
+ = stylesheet_link_tag "//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css"
14
+
15
+ = stylesheet_link_tag "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", :media => 'all'
16
+ = stylesheet_link_tag "//fonts.googleapis.com/icon?family=Material+Icons"
17
+
18
+ = stylesheet_link_tag "//cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css"
19
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js"
20
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js"
21
+
22
+ = stylesheet_link_tag "//cdn.jsdelivr.net/npm/select2@4.0.0/dist/css/select2.min.css"
23
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/select2@4.0.0/dist/js/select2.min.js"
24
+
25
+ = stylesheet_link_tag "//cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.css"
26
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.js"
27
+
28
+ = javascript_include_tag "wco/application"
29
+ = stylesheet_link_tag "wco/application", media: "all"
30
+
31
+ = javascript_include_tag "wco_email/application"
32
+ = stylesheet_link_tag "wco_email/application", media: "all"
33
+
34
+
35
+ -# %script{crossorigin: "", src: "https://unpkg.com/react@18/umd/react.development.js"}
36
+ -# %script{crossorigin: "", src: "https://unpkg.com/react-dom@18/umd/react-dom.development.js"}
37
+ -# %script{src: "https://unpkg.com/prop-types@15.6/prop-types.min.js"}
38
+ -# %script{src: "https://unpkg.com/axios/dist/axios.min.js"}
39
+ -# %script{src: "https://unpkg.com/recharts/umd/Recharts.js"}
40
+
41
+ = csrf_meta_tags
42
+ = csp_meta_tag
43
+ %body{ class: [ params[:controller].gsub("wco_email/",""), "#{params[:controller].gsub("wco_email/","")}-#{params[:action]}", params[:action], "application-fullwidth" ] }
44
+
45
+ = render "/wco/main_header"
46
+ = render "/wco_email/main_header"
47
+ = render '/wco/alerts_notices' if notice || alert
48
+ %hr
49
+
50
+ -# .padded
51
+ -# .row
52
+ -# .col-md-2.border-right
53
+ -# = yield :sidebar
54
+ -# .col-md-10
55
+ -# %span.absolute.collapse-expand#mainW
56
+ -# = yield
57
+
58
+ .flex-row
59
+ = yield :sidebar
60
+ %span.absolute.collapse-expand#mainW
61
+ = yield
62
+
63
+ = render '/wco/main_footer'
64
+ = render '/wco_email/analytics' if Rails.env.production?
@@ -0,0 +1,62 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title #{@page_title} | wco_email_rb-mailbox
5
+ %link{ :rel => 'icon', :href => "/favicon_#{ENV['RAILS_ENV']}.gif" }
6
+ %meta{ :name => :viewport, :content => 'width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=2' }
7
+ %meta{ :charset => 'UTF-8' }
8
+ %meta{ :description => @page_description }
9
+
10
+ = javascript_include_tag "//code.jquery.com/jquery-3.3.1.min.js"
11
+
12
+ %script{ :src => "//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js" }
13
+ = stylesheet_link_tag "//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css"
14
+
15
+ = stylesheet_link_tag "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", :media => 'all'
16
+ = stylesheet_link_tag "//fonts.googleapis.com/icon?family=Material+Icons"
17
+
18
+ = stylesheet_link_tag "//cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css"
19
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js"
20
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js"
21
+
22
+ = stylesheet_link_tag "//cdn.jsdelivr.net/npm/select2@4.0.0/dist/css/select2.min.css"
23
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/select2@4.0.0/dist/js/select2.min.js"
24
+
25
+ -# summernote
26
+ = stylesheet_link_tag "//cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.css"
27
+ = javascript_include_tag "//cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.js"
28
+ -# quill core
29
+ -# = stylesheet_link_tag "//cdn.quilljs.com/1.3.6/quill.core.css"
30
+ -# = javascript_include_tag "//cdn.quilljs.com/1.3.6/quill.core.js"
31
+ -# quill
32
+ -# = stylesheet_link_tag "//cdn.quilljs.com/1.3.6/quill.snow.css"
33
+ -# = javascript_include_tag "//cdn.quilljs.com/1.3.6/quill.min.js"
34
+
35
+ = javascript_include_tag "wco_email/application"
36
+ = stylesheet_link_tag "wco_email/application", media: "all"
37
+ = stylesheet_link_tag "wco/application", media: "all"
38
+
39
+ -# %script{crossorigin: "", src: "https://unpkg.com/react@18/umd/react.development.js"}
40
+ -# %script{crossorigin: "", src: "https://unpkg.com/react-dom@18/umd/react-dom.development.js"}
41
+ -# %script{src: "https://unpkg.com/prop-types@15.6/prop-types.min.js"}
42
+ -# %script{src: "https://unpkg.com/axios/dist/axios.min.js"}
43
+ -# %script{src: "https://unpkg.com/recharts/umd/Recharts.js"}
44
+
45
+ = csrf_meta_tags
46
+ %body{ class: [ params[:controller].gsub("wco_email/",""), "#{params[:controller].gsub("wco_email/","")}-#{params[:action]}", params[:action], "application-fullwidth" ] }
47
+
48
+ = render "/wco/main_header"
49
+ = render "/wco_email/main_header"
50
+ = render '/wco/alerts_notices' if notice || alert
51
+ %hr
52
+
53
+ .padded
54
+ .row
55
+ .col-md-2.border-right
56
+ = render 'wco_email/sidebar'
57
+ .col-md-10
58
+ %span.absolute.collapse-expand#mainW
59
+ = yield
60
+
61
+ = render '/wco/main_footer'
62
+ = render '/wco_email/analytics' if Rails.env.production?
@@ -0,0 +1,16 @@
1
+
2
+ <!-- Matomo -->
3
+ <script>
4
+ var _paq = window._paq = window._paq || [];
5
+ /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
6
+ _paq.push(['trackPageView']);
7
+ _paq.push(['enableLinkTracking']);
8
+ (function() {
9
+ var u="//analytics.wasya.co/";
10
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
11
+ _paq.push(['setSiteId', '13']); /* 13 :: email.wasya.co */
12
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
13
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
14
+ })();
15
+ </script>
16
+ <!-- End Matomo Code -->
@@ -0,0 +1,31 @@
1
+
2
+ .application--main-header.main-header.maxwidth{ class: "#{ENV['RAILS_ENV']} #{ENV['RAILS_ENV'][0...3]=="dev" ? "development" : ''}" }
3
+
4
+ %i.fa.fa-compress.collapse-expand#collapseHeaderEmail
5
+ Wco Email & CRM
6
+ .flex-row
7
+ %ul
8
+ %li= link_to 'Email Messages', conversations_path
9
+ %li
10
+ Stubs
11
+ (#{WcoEmail::MessageStub.pending.length})
12
+ (#{WcoEmail::MessageStub.all.length})
13
+ %li= render '/wco_email/email_templates/header'
14
+ %li= render '/wco_email/email_campaigns/header'
15
+ %li= render '/wco_email/email_filters/header'
16
+ %li= render '/wco_email/contexts/header'
17
+ %li= render '/wco_email/unsubscribes/header'
18
+
19
+
20
+ %ul
21
+ %li= render '/wco_email/email_action_templates/header'
22
+ %li= render '/wco_email/email_actions/header'
23
+
24
+ -# %li= render '/wco_email/lead_action_templates/header'
25
+ -# %li= render '/wco_email/lead_actions/header'
26
+
27
+ -# %li
28
+ -# = link_to "OActions (#{Wco::OfficeAction.all.length})", office_actions_path
29
+ -# = link_to '[+]', new_office_action_path
30
+
31
+ .c
@@ -0,0 +1,10 @@
1
+
2
+ .application--sidebar
3
+ %ul.tags-list
4
+ - @tags.each do |tag|
5
+ %li
6
+ = link_to tag.slug, email_conversations_in_path( tag.slug )
7
+ -# (#{tag.conversations.unread.length}, #{tag.conversations.length})
8
+ (#{tag.conversations.unread.length})
9
+ (#{tag.conversations.length})
10
+
@@ -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 />
@@ -0,0 +1,17 @@
1
+
2
+
3
+ <ul>
4
+ <li><b>From:</b> <%= @msg.from %></li>
5
+ <li><b>To:</b> <%= @msg.to %></li>
6
+ <li><b>Cc:</b> <%= @msg.cc %></li>
7
+ <li><b>Subject:</b> <%= @msg.subject %></li>
8
+ <li><b>Date:</b> <%= @msg.date %></li>
9
+ <li><b>N Assets:</b> <%= @msg.assets.length %></li>
10
+ </ul>
11
+
12
+ <%= raw @msg.part_html %>
13
+
14
+ <hr />
15
+
16
+ <%= raw @msg.part_txt %>
17
+
@@ -0,0 +1,59 @@
1
+
2
+ -# = ctx.inspect
3
+
4
+ .email-contexts--form
5
+ -# - url = ctx.new_record? ? contexts_path : context_path(ctx)
6
+ = form_for ctx, as: :ctx do |f|
7
+
8
+ .flex-row
9
+ = f.label "Template"
10
+ = f.select :email_template_id, options_for_select(@email_templates_list, selected: params[:email_template_id] || ctx.email_template_id ), {}, { class: 'select2' }
11
+ - if ctx.email_template_id
12
+ = link_to '[view]', email_template_path( ctx.email_template_id ), target: :_blank, class: [ 'action-view' ]
13
+ = link_to '[~]', edit_email_template_path( ctx.email_template_id ), target: :_blank, class: [ 'action-view' ]
14
+ <b>Layout:</b>
15
+ = ctx.email_template.layout
16
+
17
+ -# .field
18
+ -# %label Layout
19
+ -# = f.select :layout, options_for_select( @layouts_list, selected: ctx.layout_id )
20
+
21
+ .flex-row
22
+ %label From
23
+ = f.select :from_email, options_for_select(WcoEmail::EmailTemplate.from_emails_list, selected: ctx.from_email), {}, { class: 'select2' }
24
+
25
+ %label To lead
26
+ = f.select :lead_id, options_for_select( @leads_list, selected: ctx.lead_id ), {}, { class: 'select2' }
27
+
28
+ %label cc
29
+ = f.text_field :cc, class: 'w-100'
30
+
31
+ .flex-row
32
+ = f.label :subject
33
+ = f.text_field :subject, class: 'w-100'
34
+
35
+ .flex-row
36
+ = f.label :reply_to_message
37
+ = f.select :reply_to_message_id, options_for_select([[ ctx.reply_to_message.subject, ctx.reply_to_message_id ]], selected: ctx.reply_to_message_id), {}, class: 'w-100'
38
+
39
+ .tab-labels.flex-row
40
+ %a.label-raw{ href: "javascript: void(0)", data: { ref: '.tab-raw' } } Raw
41
+ %a.label-preview.active{ href: "javascript: void(0)", data: { ref: '.tab-preview' } } Preview
42
+ .label-save-preview= f.submit 'Save & Preview'
43
+ .tabs
44
+ .tab-raw
45
+ = f.text_area :body, class: 'tinymce'
46
+ .tab-preview
47
+ - if ctx.new_record?
48
+ New record...
49
+ - else
50
+ %iframe{ src: context_iframe_path(ctx), width: '100%', height: '100%' }
51
+
52
+
53
+ .actions
54
+ .left
55
+ = f.submit 'Preview'
56
+ .right
57
+ = f.label :send_at
58
+ = f.text_field :send_at
59
+ = f.submit 'Schedule'
@@ -0,0 +1,27 @@
1
+
2
+ -# = ctx.inspect
3
+
4
+ .email-contexts--form-reply.form-mini
5
+ = form_for ctx do |f|
6
+
7
+ .flex-row
8
+ .flex-row
9
+ %label from
10
+ = f.select :from_email, options_for_select( WcoEmail::EmailTemplate.from_emails_list, selected: ctx.from_email ), {}, class: 'select2'
11
+ %label to (lead)
12
+ = f.select :lead, options_for_select( @leads_list, selected: lead_id ), {}, class: 'select2', required: true
13
+ .flex-row
14
+ = f.label :template
15
+ = f.select :email_template_id, options_for_select( @email_templates_list ), {}, class: 'select2', required: true
16
+ = link_to '[+]', new_email_template_path, target: :_blank
17
+ .flex-row
18
+ %label Subject
19
+ = f.text_field :subject, class: 'w-100'
20
+ .flex-row
21
+ .flex-row
22
+ %label Respond inline?
23
+ = check_box_tag :respond_inline, message.id, checked: true
24
+ .flex-row
25
+ = f.label :send_at
26
+ = f.text_field :send_at, required: true, placeholder: 'YYYY-MM-DD', value: Time.now.strftime('%Y-%m-%d'), size: 10, class: 'input-date'
27
+ = f.submit 'Send/Schedule'
@@ -0,0 +1,22 @@
1
+
2
+ - ctxs = @ctxs || WcoEmail::Context.all
3
+
4
+ .a
5
+ = link_to contexts_path({ sent: false }) do
6
+ Email Contexts (#{ctxs.length})
7
+ - if @lead
8
+ For lead #{@lead.email}
9
+ - if my_truthy? params[:sent]
10
+ = link_to '[notsent]', contexts_path({ sent: false })
11
+ <b>sent</b>
12
+ - else
13
+ <b>notsent</b>
14
+ = link_to '[sent]', contexts_path({ sent: true })
15
+ = form_tag contexts_path, method: :get do
16
+ = text_field_tag :q
17
+ = link_to '[+]', new_context_path
18
+ = link_to '[summary]', contexts_summary_path( format: :html )
19
+ = link_to '[csv]', contexts_summary_path( format: :csv )
20
+
21
+
22
+ -# = link_to '[sent]', contexts_path({ sent: true })
@@ -0,0 +1,8 @@
1
+
2
+ %ul.ctxs--index.browser-default
3
+ - ctxs.each do |ctx|
4
+ -# %li id: #{ctx.id}
5
+ -# %li Slug: #{ctx.slug}
6
+ -# %li send at: #{pp_date ctx.send_at}
7
+ %li sent at: #{pp_date ctx.sent_at}
8
+
@@ -0,0 +1,8 @@
1
+
2
+ .email-contexts-edit.maxwidth
3
+ .header
4
+ %h5.title
5
+ Edit email Context
6
+ = link_to "[view]", context_path( @ctx )
7
+ = button_to 'Send', send_context_path(@ctx), form_class: 'inline', :data => { :confirm => 'Are you sure?' }
8
+ = render '/wco_email/contexts/form', ctx: @ctx, tmpl: @tmpl
@@ -0,0 +1,3 @@
1
+
2
+ = render "/wco_email/email_templates/#{@tmpl.layout}"
3
+
@@ -0,0 +1,51 @@
1
+
2
+ .email-contexts-index.padded
3
+
4
+ %h5.flex-row.header.collapse-expand-trash#emailContextsIndex
5
+ = render '/wco_email/contexts/header'
6
+
7
+ .W0
8
+ = render 'wco/paginate', resource: @ctxs, param_name: :ctxs_page, views_prefix: :wco
9
+
10
+ %table.bordered.data-table
11
+ %thead
12
+ %tr
13
+ %th.actions
14
+ %th.from From
15
+ %th.to To
16
+ %th.subject Subject
17
+ %th.template Template
18
+ %th.send_at Send at
19
+ %th.sent_at Sent at
20
+ %th.unsubscribed_at Unsubscribed at
21
+ %tbody
22
+ - @ctxs.each do |ctx|
23
+ %tr
24
+ %td.actions.padded
25
+ .flex-row
26
+ - if ctx.sent_at || ctx.unsubscribed_at
27
+ \--
28
+ - else
29
+ = link_to '[~]', edit_context_path(ctx)
30
+ = button_to 'x', context_path(ctx), method: :delete, form_class: :inline, data: { confirm: 'Are you sure?' }
31
+ = button_to 'send', send_context_path(ctx), form_class: :inline, data: { confirm: 'Are you sure?' }
32
+
33
+ %td.from
34
+ = ctx.from_email ? ctx.from_email : "t| #{ctx.tmpl.from_email}"
35
+ %td.to
36
+ = link_to ctx.lead.email, wco.lead_path(ctx.lead)
37
+ %td
38
+ = link_to context_path(ctx) do
39
+ = ctx.subject ? ctx.subject : "t| #{ctx.tmpl.subject}"
40
+ %td= ctx.email_template.slug
41
+ %td.send_at.padded
42
+ .datetime
43
+ .date= pp_date ctx.send_at
44
+ .time= pp_time ctx.send_at
45
+ %td
46
+ .datetime.padded= pp_date ctx.sent_at
47
+ %td
48
+ .datetime.padded= pp_date ctx.unsubscribed_at
49
+
50
+
51
+ = render 'wco/paginate', resource: @ctxs, param_name: :ctxs_page, views_prefix: :wco
@@ -0,0 +1,5 @@
1
+
2
+ .email-contexts-new.maxwidth
3
+ .header
4
+ %h2.title New email context
5
+ = render '/wco_email/email_contexts/form', ctx: @ctx
@@ -0,0 +1,34 @@
1
+
2
+ .email-contexts-show.maxwidth
3
+ .header
4
+ %h5.title
5
+ = link_to '[~]', edit_context_path(@ctx)
6
+ Email Context `#{@ctx.subject}`
7
+
8
+ .row
9
+ .col-md-8
10
+ %ul
11
+ %li
12
+ <b>Layout:</b> #{link_to @ctx.email_template.layout, email_layout_path(@ctx.email_template.layout) }
13
+ <b>Template:</b> #{link_to @ctx.email_template.slug, email_template_path(@ctx.email_template), target: :_blank }
14
+ %li <b>From:</b> #{@ctx.from_email}
15
+ %li <b>To Lead:</b> #{link_to @ctx.lead.email, wco.lead_path(@ctx.lead)}
16
+ %li <b>reply_to_message:</b> #{ link_to @ctx.reply_to_message, message_path(@ctx.reply_to_message), target: :_blank }
17
+
18
+
19
+ .col-md-4
20
+ %ul
21
+ %li <b>Send at:</b> #{@ctx.send_at&.strftime('%Y-%m-%d %l:%M%P')}
22
+ %li <b>Sent at:</b> #{@ctx.sent_at&.strftime('%Y-%m-%d %l:%M%P')}
23
+ %li
24
+ = button_to 'Send', send_context_path(@ctx), form_class: 'inline', :data => { :confirm => 'Are you sure?' }
25
+
26
+
27
+ .maxwidth
28
+ - if @ctx.sent_at
29
+ = raw @ctx.rendered_str
30
+ -# = @ctx.tmpl
31
+
32
+ - else
33
+ -# = link_to 'i-src', context_iframe_path(@ctx), target: :_blank
34
+ %iframe.h-500px{ src: email_context_iframe_path(@ctx), width: '100%', height: '100%' }
@@ -0,0 +1,4 @@
1
+ <%= CSV.generate_line ['date', 'count'] -%>
2
+ <%- @results.each do |result| -%>
3
+ <%= CSV.generate_line [ result['_id'], result['total'] ] -%>
4
+ <%- end -%>
@@ -0,0 +1,16 @@
1
+
2
+ .email-contexts-summary.maxwidth.center-headers
3
+ .header
4
+ %h2.title Email Contexts - Summary
5
+
6
+ %table.bordered
7
+ %thead
8
+ %tr
9
+ %th Date
10
+ %th Count
11
+ %tbody
12
+ - @results.each do |r|
13
+ %tr
14
+ %td= r['_id']
15
+ %td= r['total']
16
+
@@ -0,0 +1,21 @@
1
+
2
+ .conversations--actions.bordered.d-flex
3
+ %a.btn.archive-btn{ href: "javascript: void(0)", data: { url: conversations_rmtag_path(Wco::Tag::INBOX) } }
4
+ %i.material-icons archive
5
+ archive
6
+ %a.btn.delete-btn{ href: "javascript: void(0)", data: { url: conversations_path } }
7
+ %i.material-icons delete
8
+ delete
9
+ %a.btn.reload-btn{ href: "javascript: location.reload()" }
10
+ %i.material-icons refresh
11
+ refresh
12
+ .bordered.inline-block
13
+ = select_tag :emailtag, options_for_select(@tags_list)
14
+ = check_box_tag :is_move
15
+ %label move?
16
+ %a.btn.add-tag-btn{ href: "javascript: void(0)", data: { url: conversations_addtag_path } }
17
+ %i.material-icons add
18
+ Addtag
19
+ %a.btn.remove-tag-btn{ href: "javascript: void(0)", data: { url: conversations_rmtag_path } }
20
+ %i.material-icons remove
21
+ Rmtag
@@ -0,0 +1,14 @@
1
+
2
+
3
+ .conversations--search.Card
4
+ .inline-block
5
+ = form_tag email_conversations_path do
6
+ %label Search from_email
7
+ = text_field_tag :from_email, params[:from_email]
8
+ -# = submit_tag '>'
9
+ -# .inline-block
10
+ -# = form_tag email_conversations_path do
11
+ %label by subject
12
+ = text_field_tag :subject, params[:subject]
13
+ = submit_tag '>'
14
+
@@ -0,0 +1,43 @@
1
+
2
+ - content_for :sidebar do
3
+ = render 'wco_email/sidebar'
4
+
5
+ .conversations-index
6
+
7
+ = render '/wco_email/conversations/actions'
8
+
9
+ = render '/wco/paginate', resource: @conversations, param_name: :conv_page
10
+
11
+ %table.bordered
12
+ %tr
13
+ %th.select-all.nosort
14
+ .a
15
+ = check_box_tag :select_all
16
+ .n-selected -
17
+ %th.leads leads
18
+ %th.subject subject, preview
19
+ %th.latest-at latest_at
20
+ - @conversations.each_with_index do |conv, idx|
21
+ %tr
22
+ %td.select-all
23
+ .gray= idx+1
24
+ = check_box_tag 'conversation_ids[]', conv.id.to_s, nil, { class: 'i-sel' }
25
+ %td.leads.mini
26
+ -# - conv.from_emails.each do |from|
27
+ -# = link_to from, wco.lead_path( from )
28
+ -# %hr
29
+ - conv.leads.each do |lead|
30
+ = link_to lead.email, wco.lead_path( lead )
31
+ %td.subject
32
+ - if conv.unread?
33
+ <b>#{link_to conv.subject, email_conversation_path(conv)}</b>
34
+ - else
35
+ = link_to conv.subject, email_conversation_path(conv)
36
+ <b>(#{conv.messages.length})</b>
37
+ %span.gray= conv.preview
38
+ %td.latest-at
39
+ = pp_date conv.latest_at
40
+ = pp_time conv.latest_at
41
+
42
+
43
+ = render '/wco/paginate', resource: @conversations, param_name: :conv_page