wco_email 0.1.1.146 → 0.1.1.147

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92532446120a4e2f8fcdbbb5577c8a569333af22e5e7e568ac70bceb5e943993
4
- data.tar.gz: 0a56bed60da58f6f4284b4c4195546b7fe9f73992fc42ac41193798bfa2a00a9
3
+ metadata.gz: f5e93264b2d11ad6213b9d79f2d7349eaa9f816e22afbec51d097efb4c588684
4
+ data.tar.gz: 2579e9baac65811cc9235bfed672a583b270af5cb583491f875aee15df2aa756
5
5
  SHA512:
6
- metadata.gz: 87321d89fbb145ddb043b63b78d384417f626704e6fdca32883c0b196c89de358090cc0cd440567c15f78749cfdd9e3f644d9dae6b07a2f919988e71a0c4e3e7
7
- data.tar.gz: 934fc5e7f9098d73ff957da1af75bb02eb9ddf86423d2e9ff294888db83f92e154f8e2fe50be55a04e77a63ae33e5a069aac273ee3a8497c639e59efa162c48a
6
+ metadata.gz: 81bdf4cacded92efa38c9cdad2b42a2c00be75b290fb07e0d378952a1eb4ca977b0c71f66f7c4c81958389eaec563fd4866cf13028a787fbbdf1b913de65603e
7
+ data.tar.gz: 59fe3361f54602cecae4bb2b63e8d978f9ed3d5b5743a0f7a57340030f84ca41f0274f5cec5d62911a3053a5d47c7521e2514ee1e29dc62a87370e74d272c03c
@@ -34,12 +34,12 @@ td.leads.mini {
34
34
 
35
35
  iframe.message-iframe {
36
36
  width: 100%;
37
- // height: 100%;
38
- // min-height: 80vh;
37
+ resize: vertical;
39
38
  }
40
39
 
41
40
 
42
41
  /* S */
42
+
43
43
  .application--sidebar {
44
44
  font-size: 0.8em;
45
45
  }
@@ -73,21 +73,19 @@ class WcoEmail::ConversationsController < WcoEmail::ApplicationController
73
73
  @messages = @conversation.messages(
74
74
  ).order_by( date: :asc
75
75
  ).page( params[:messages_page ] ).per( @current_profile.per_page
76
- )
76
+ );
77
+ last_message = @messages.last
78
+ @new_ctx = WcoEmail::Context.new({
79
+ email_template_id: ET.find_by( slug: 'blank').id,
80
+ from_email: last_message.to&.downcase,
81
+ lead_id: last_message.lead_id,
82
+ reply_to_message: last_message,
83
+ subject: last_message.subject,
84
+ })
77
85
 
78
86
  @conversation.update_attributes({ status: Conv::STATUS_READ })
79
87
 
80
88
  @conversation.messages.unread.update_all({ read_at: Time.now })
81
-
82
- # @other_convs = WcoEmail::Message.where( :message_id.in => @messages.map( &:in_reply_to_id )
83
- # ).where( :conversation_id.ne => @conversation.id
84
- # ).map( &:conversation_id ).uniq
85
- # other_convs_by_subj = WcoEmail::Conversation.where( subject: @conversation.subject
86
- # ).where( :conversation_id.ne => @conversation.id
87
- # ).map( &:id )
88
- # if @other_convs.present? || other_convs_by_subj.present?
89
- # @other_convs = WcoEmail::Conversation.find( @other_convs + other_convs_by_subj )
90
- # end
91
89
  end
92
90
 
93
91
  def update
@@ -46,7 +46,7 @@ class WcoEmail::MessagesController < WcoEmail::ApplicationController
46
46
  def show_iframe
47
47
  @message = WcoEmail::Message.find params[:id]
48
48
  authorize! :show, @message
49
- render layout: false
49
+ render layout: 'wco_email/iframe_bootstrap' # false
50
50
  end
51
51
 
52
52
  ##
@@ -0,0 +1,25 @@
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 "wco/application"
11
+ = stylesheet_link_tag "wco/application", media: "all"
12
+
13
+ = javascript_include_tag "wco_email/application"
14
+ = stylesheet_link_tag "wco_email/application", media: "all"
15
+
16
+ = stylesheet_link_tag "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", :media => 'all'
17
+
18
+ = stylesheet_link_tag "//fonts.googleapis.com/icon?family=Material+Icons"
19
+
20
+ = csrf_meta_tags
21
+ = csp_meta_tag
22
+ %body
23
+
24
+ = yield
25
+
@@ -5,7 +5,7 @@
5
5
  = form_for ctx, as: :context do |f|
6
6
 
7
7
  .flex-row
8
- = f.label :email_template_id
8
+ %label email_template
9
9
  = f.select :email_template_id, options_for_select(@email_templates_list, selected: params[:email_template_id] || ctx.email_template_id ), {}, { class: 'select2', required: true }
10
10
  - if ctx.email_template_id
11
11
  = link_to '[view]', email_template_path( ctx.email_template_id ), target: :_blank, class: [ 'action-view' ]
@@ -17,13 +17,15 @@
17
17
  .field
18
18
  %label From
19
19
  = f.select :from_email, options_for_select(WcoEmail::EmailTemplate.from_emails_list, selected: ctx.from_email), {}, { class: 'select2' }
20
- .field
21
- %label bcc self?&nbsp;
22
- = f.check_box :bcc_self, checked: true
23
20
  .field
24
21
  %label To lead
25
22
  = f.select :lead_id, options_for_select( @leads_list, selected: ctx.lead_id ), {}, { class: 'select2-leads-ajax' }
23
+
24
+ .flex-row
26
25
  .field
26
+ %label bcc self?&nbsp;
27
+ = f.check_box :bcc_self, checked: true
28
+ .field.flex-grow
27
29
  %label cc
28
30
  = f.text_field :cc, class: 'w-100'
29
31
  -# bcc: #{DEFAULT_BCC}
@@ -52,7 +54,6 @@
52
54
  .gray.mini= link_to context_iframe_path(ctx.id), context_iframe_path(ctx.id), target: :_blank
53
55
 
54
56
 
55
-
56
57
  .actions
57
58
  .left
58
59
  = f.submit 'Preview'
@@ -3,11 +3,20 @@
3
3
  = form_for ctx do |f|
4
4
 
5
5
  .flex-row
6
- .flex-row
7
- %label From&nbsp;
8
- = f.select :from_email, options_for_select( WcoEmail::EmailTemplate.from_emails_list, selected: ctx.from_email ), {}, class: 'select2'
9
- %label &nbsp;To&nbsp;
10
- = f.select :lead, options_for_select( @leads_list, selected: lead_id ), {}, class: 'select2-leads-ajax', required: true
6
+ .field
7
+ %label From
8
+ = f.select :from_email, options_for_select(WcoEmail::EmailTemplate.from_emails_list, selected: ctx.from_email), {}, { class: 'select2' }
9
+ .field
10
+ %label To lead
11
+ = f.select :lead_id, options_for_select( @leads_list, selected: ctx.lead_id ), {}, { class: 'select2-leads-ajax', required: true }
12
+ .flex-row
13
+ .field
14
+ %label bcc self?
15
+ = f.check_box :bcc_self, checked: true
16
+ .field
17
+ %label cc
18
+ = f.text_field :cc, class: 'w-100'
19
+ -# bcc: #{DEFAULT_BCC}
11
20
 
12
21
  .flex-row
13
22
  %label &nbsp;Template&nbsp;
@@ -28,4 +37,4 @@
28
37
  .field
29
38
  %label &nbsp;send_at&nbsp;
30
39
  = f.text_field :send_at, placeholder: 'YYYY-MM-DD', value: Time.now, size: 30, class: 'input-date'
31
- = f.submit 'Send/Schedule'
40
+ = f.submit 'Send/Schedule'
@@ -24,27 +24,20 @@
24
24
  %i.fa.fa-compress.collapse-expand#filters Filters (#{@conversation.filters.length}):
25
25
  = render '/wco_email/email_filters/list', filters: @conversation.filters
26
26
 
27
- - if @other_convs.present?
28
- %h5 Other convs:
29
- - @other_convs.each do |conv|
30
- .d-flex
31
- = button_to "Merge", merge_conversations_path( @conversation, conv ), data: { confirm: 'Are you sure?' }
32
- = conv.subject
33
- (#{conv.messages.length})
34
- %span.gray.mini= conv.id
35
-
36
27
 
37
28
  .m-0.p-0
38
29
  = paginate @messages, param_name: :messages_page
39
30
  - @messages.each do |msg|
40
31
  .Message.mb-2
41
32
  = render '/wco_email/messages/meta', message: msg
42
- = link_to '[expand]', message_iframe_path(msg, expand_history: true), target: "iframe_#{msg.id}"
43
- = link_to '[collapse]', message_iframe_path(msg), target: "iframe_#{msg.id}"
33
+ %hr
34
+ = link_to '[show history]', message_iframe_path(msg, expand_history: true), target: "iframe_#{msg.id}"
35
+ = link_to '[hide]', message_iframe_path(msg), target: "iframe_#{msg.id}"
44
36
  %span.collapse-expand{ id: "iframe_#{msg.id}" } [<>]
45
37
  %iframe.message-iframe{ src: message_iframe_path(msg), name: "iframe_#{msg.id}", onload: "resizeIframe(this)" }
46
38
  = paginate @messages, param_name: :messages_page
47
39
 
48
- - msg = @messages.last
49
- = render '/wco_email/contexts/form_reply', lead_id: msg.lead_id, message: msg, ctx: WcoEmail::Context.new({ from_email: msg.to&.downcase, subject: msg.subject, email_template_id: ET.find_by( slug: 'blank').id })
50
- = button_to 'autorespond', message_autorespond_path(msg), data: { confirm: 'Are you sure?' }
40
+ = render '/wco_email/contexts/form', ctx: @new_ctx
41
+ %hr
42
+ .align-right
43
+ = button_to 'autorespond', message_autorespond_path(@new_ctx.reply_to_message_id), data: { confirm: 'Are you sure?' }
@@ -13,6 +13,9 @@
13
13
  .field.d-flex.w-100
14
14
  %label Value
15
15
  = f.text_field :value, value: cond.value, class: 'flex-grow'
16
+ .field.d-flex
17
+ %label comment
18
+ = f.text_field :comment, valud: cond.comment
16
19
 
17
20
  -# .a= cond.inspect
18
21
 
@@ -21,7 +21,7 @@
21
21
  %th status
22
22
  %th n convs
23
23
  %th slug
24
- %th to_s_ful
24
+ %th to_s_full
25
25
 
26
26
  - @email_filters.each_with_index do |ef, idx|
27
27
 
@@ -1,7 +1,7 @@
1
1
 
2
2
  .d-inline-block
3
3
  %i.fa.fa-compress.collapse-expand#messageMeta
4
- Meta
4
+ Message
5
5
  .Meta.messages--meta.flex-row
6
6
 
7
7
  %ul
@@ -8,7 +8,7 @@
8
8
 
9
9
  = render 'meta', message: @message
10
10
  %iframe.message-iframe{ src: message_iframe_path(@message) }
11
- = render '/wco_email/contexts/form_reply', lead_id: @message.lead_id, message: @message, ctx: WcoEmail::Context.new({ from_email: @message.to&.downcase, subject: @message.subject, email_template_id: ET.find_by( slug: 'blank').id })
11
+ = render '/wco_email/contexts/form', message: @message, ctx: WcoEmail::Context.new_for(@message)
12
12
 
13
13
  %pre
14
14
  = raw @the_mail.body.decoded.force_encoding('UTF-8')
@@ -7,8 +7,17 @@
7
7
  display: none;
8
8
  }
9
9
 
10
+ %ul.nav.nav-tabs
11
+ %li.nav-item
12
+ %a.nav-link.active{ 'data-target': "#part_html", "data-toggle": "tab"} part_html
13
+ %li.nav-item
14
+ %a.nav-link{ 'data-target': "#part_txt", "data-toggle": "tab"} part_txt
15
+
16
+ .tab-content
17
+ .tab-pane.fade.show.active#part_html
18
+ = raw @message.part_html_sanitized
19
+ .tab-pane.fade#part_txt
20
+ %pre= @message.part_txt
21
+
10
22
 
11
- = raw @message.part_html_sanitized
12
23
 
13
- %hr{ style: 'border-top: 1px solid red;' }
14
- %pre= @message.part_txt
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wco_email
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1.146
4
+ version: 0.1.1.147
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Pudeyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-07 00:00:00.000000000 Z
11
+ date: 2026-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -372,6 +372,7 @@ files:
372
372
  - app/views/202310 Email Templates/_acknowledgement_of_document_receipt.html.erb
373
373
  - app/views/202310 Email Templates/_support_ticket_created.html.erb
374
374
  - app/views/layouts/wco_email/application.haml
375
+ - app/views/layouts/wco_email/iframe_bootstrap.haml
375
376
  - app/views/wco_email/_analytics.erb
376
377
  - app/views/wco_email/_main_header.haml
377
378
  - app/views/wco_email/_sidebar.haml.bk
@@ -388,7 +389,7 @@ files:
388
389
  - app/views/wco_email/configs/index.haml
389
390
  - app/views/wco_email/configs/new.haml
390
391
  - app/views/wco_email/contexts/_form.haml
391
- - app/views/wco_email/contexts/_form_reply.haml
392
+ - app/views/wco_email/contexts/_form_reply.haml-trash
392
393
  - app/views/wco_email/contexts/_header.haml
393
394
  - app/views/wco_email/contexts/_index.haml
394
395
  - app/views/wco_email/contexts/edit.haml