wco_models 3.1.0.117 → 3.1.0.118

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f361632fda5ed05c47e3e18e2ea1e2cdaafcbf7e733e83a71215a9c8ff88a83e
4
- data.tar.gz: 1e3cf0221e609dca4f27f61c087e2a5d8c587144d2f2ce58ed6eb041c96d78cc
3
+ metadata.gz: 2f8b72a29866bc78da0ced62721f7eda2d64867a5535d3a71192c1af2577dc40
4
+ data.tar.gz: 55f87ee9386f766a860aa03d5d233bffd0836657a82ffa2bb81d6edc5e4b5959
5
5
  SHA512:
6
- metadata.gz: 9495fdde3a8b1159eac212de4d6c76fb873a627497da8f6e9a75891ab75f4a3b9e0c9c184921e6930a3b66e0378eceff67eb465913638d0681560f520d61b43c
7
- data.tar.gz: 31b2c993fe50ea81272b724bc1569456cdb3374821ac01df9fc358e5a89ecbf0c749ee4ac21266ba35dc2bf0888d529e17bfd65e6bbc7fc51114034650fd6555
6
+ metadata.gz: 692592d127d180622b0973727b925feea293520df0b6afbfe4e466ad2f691a7ab09b81ad0725d7f717889cbae6c186a879b1c4b35132110fc0e082bdf1fc2939
7
+ data.tar.gz: ff6886c342317514dbb6c7d9fcbf932abd8cad7b8ce16a22ade5301ebaea714e836c1906d56685ec1cd7bfba9e8732a2f683624abec8b842eed0fb432d6b3ba2
@@ -1,6 +1,18 @@
1
1
 
2
+ EC ||= WcoEmail::Conversation
3
+ EF ||= WcoEmail::EmailFilter
4
+ EM ||= WcoEmail::Message
5
+ ET ||= WcoEmail::EmailTemplate
6
+ MS ||= WcoEmail::MessageStub
7
+ EMS ||= MS
8
+ OA ||= Wco::OfficeAction
9
+ OAT ||= Wco::OfficeActionTemplate
10
+ OATT ||= Wco::OfficeActionTemplateTie
11
+ Sch ||= WcoEmail::EmailAction
12
+
2
13
  class Wco::ApplicationController < ActionController::Base
3
14
  include Wco::ApplicationHelper
15
+ rescue_from Exception, with: :exception_notifier if Rails.env.production?
4
16
 
5
17
  check_authorization
6
18
 
@@ -33,6 +45,17 @@ class Wco::ApplicationController < ActionController::Base
33
45
  @current_leadset ||= current_profile.leadset
34
46
  end
35
47
 
48
+ def exception_notifier(exc)
49
+ puts! exc, "wco_models custom Exception"
50
+ ::ExceptionNotifier.notify_exception(
51
+ exc,
52
+ data: {
53
+ backtrace: exc.backtrace,
54
+ }
55
+ )
56
+ raise exc
57
+ end
58
+
36
59
  def flash_alert what
37
60
  flash[:alert] ||= []
38
61
  if String == what.class
@@ -67,12 +67,8 @@ class Wco::LeadsController < Wco::ApplicationController
67
67
  redirect_to request.referrer
68
68
  return
69
69
  end
70
- # @schs = Sch.where( lead_id: @lead.id )
71
- # @ctxs = Ctx.where( lead_id: @lead.id )
72
- # @convs = Conv.find( Office::EmailConversationLead.where( lead_id: @lead.id ).map( &:email_conversation_id ) )
73
- # @msgs = Msg.where( from: @lead.email )
74
- # @galleries = @lead.galleries.page( params[:galleries_page] ).per( current_profile.per_page )
75
- # @videos = @lead.videos.page( params[:videos_page] ).per( current_profile.per_page )
70
+ @ctxs = @lead.ctxs
71
+ @convs = @lead.conversations.includes(:messages)
76
72
  end
77
73
 
78
74
  def update
@@ -97,6 +93,8 @@ class Wco::LeadsController < Wco::ApplicationController
97
93
 
98
94
  def set_lists
99
95
  @email_campaigns_list = [[nil,nil]] + WcoEmail::Campaign.all.map { |c| [ c.slug, c.id ] }
96
+ @email_templates_list = WcoEmail::EmailTemplate.list
97
+ @leads_list = Wco::Lead.list
100
98
  @leadsets_list = Wco::Leadset.list
101
99
  @tags_list = Wco::Tag.list
102
100
  end
@@ -56,7 +56,7 @@ class WcoEmail::ApplicationMailer < ActionMailer::Base
56
56
  mail( from: @ctx.from_email,
57
57
  to: @ctx.to_email,
58
58
  cc: @ctx.cc,
59
- bcc: "poxlovi@gmail.com",
59
+ bcc: "poxlovi+sent@gmail.com",
60
60
  subject: ERB.new( @ctx.subject ).result( @ctx.get_binding ),
61
61
  body: rendered_str,
62
62
  content_type: "text/html" )
@@ -52,14 +52,14 @@ class Wco::Lead
52
52
 
53
53
  has_many :email_messages, class_name: '::WcoEmail::Message', inverse_of: :lead
54
54
 
55
- has_and_belongs_to_many :conversations, class_name: '::WcoEmail::Conversation'
55
+ has_and_belongs_to_many :conversations, class_name: '::WcoEmail::Conversation', index: true
56
56
  def convs; conversations; end
57
57
  has_many :email_contexts, class_name: '::WcoEmail::Context'
58
58
  def ctxs; email_contexts; end
59
59
  has_many :email_actions, class_name: '::WcoEmail::EmailAction'
60
60
  def schs; email_actions; end
61
61
  has_and_belongs_to_many :email_campaigns, class_name: '::WcoEmail::Campaign'
62
- has_and_belongs_to_many :tags, class_name: '::Wco::Tag'
62
+ has_and_belongs_to_many :tags, class_name: '::Wco::Tag', index: true
63
63
 
64
64
  # has_many :galleries, class_name: 'Wco::Gallery'
65
65
  # has_many :videos, class_name: 'Wco::Video'
@@ -13,10 +13,10 @@ class Wco::Tag
13
13
 
14
14
  has_many :email_filters, class_name: 'WcoEmail::EmailFilter', inverse_of: :tag
15
15
 
16
- has_and_belongs_to_many :conversations, class_name: 'WcoEmail::Conversation'
16
+ has_and_belongs_to_many :conversations, class_name: 'WcoEmail::Conversation', index: true
17
17
  has_and_belongs_to_many :message_stubs, class_name: 'WcoEmail::MessageStub'
18
18
  has_and_belongs_to_many :headlines # , class_name: 'Headline'
19
- has_and_belongs_to_many :leads # , class_name: 'Lead'
19
+ has_and_belongs_to_many :leads, index: true # , class_name: 'Lead'
20
20
  has_and_belongs_to_many :leadsets # , class_name: 'Leadset'
21
21
  has_and_belongs_to_many :reports
22
22
  has_and_belongs_to_many :logs
@@ -26,12 +26,15 @@ class WcoEmail::Conversation
26
26
  field :preview, default: ''
27
27
 
28
28
  has_many :messages, class_name: '::WcoEmail::Message'
29
+ default_scope ->{ includes(:messages) }
29
30
 
30
- has_and_belongs_to_many :tags, class_name: 'Wco::Tag'
31
- has_and_belongs_to_many :leads, class_name: 'Wco::Lead'
31
+ has_and_belongs_to_many :tags, class_name: 'Wco::Tag', index: true
32
+ has_and_belongs_to_many :leads, class_name: 'Wco::Lead', index: true
32
33
 
33
34
  belongs_to :filter, class_name: 'WcoEmail::EmailFilter', inverse_of: :conversations, optional: true
34
35
 
36
+
37
+
35
38
  def to_s
36
39
  "#{subject} (#{messages.length})"
37
40
  end
@@ -1,5 +1,5 @@
1
1
 
2
- DEFAULT_FROM_EMAIL = 'victor@wasya.co'
2
+ DEFAULT_FROM_EMAIL = 'no-reply@wasya.co'
3
3
 
4
4
  class WcoEmail::EmailTemplate
5
5
  include Mongoid::Document
@@ -41,7 +41,7 @@ class WcoEmail::EmailTemplate
41
41
  field :config_json, type: Object, default: '{}'
42
42
  field :layout, default: 'plain'
43
43
 
44
- DEFAULT_FROM_EMAIL = 'Victor Pudeyev <victor@wasya.co>'
44
+ DEFAULT_FROM_EMAIL = 'Victor Pudeyev <no-reply@wasya.co>'
45
45
  FROM_EMAILS = [
46
46
  'Annesque Studio <hello@annesque.studio>',
47
47
  'Annesque Studio <no-reply@annesque.studio>',
@@ -134,6 +134,4 @@ class WcoEmail::EmailTemplate
134
134
  def self.list
135
135
  [[nil,nil]] + all.map { |p| [ p.slug, p.id ] }
136
136
  end
137
-
138
137
  end
139
- ET = WcoEmail::EmailTemplate
@@ -9,9 +9,9 @@
9
9
  %h2.title
10
10
  Leads
11
11
  - if !defined?( skip_pagination ) || !skip_pagination
12
- (#{leads.total_count})
12
+ (#{@leads.total_count})
13
13
  - else
14
- (#{leads.length})
14
+ (#{@leads.length})
15
15
  = link_to raw("<i class='fa fa-plus-square'></i>"), new_lead_path
16
16
 
17
17
  = render 'index', leads: @leads, search_path: leads_path
@@ -39,7 +39,7 @@
39
39
  Email Contexts (#{@lead.ctxs.length})
40
40
  = link_to '[+]', '#'
41
41
  %ul
42
- - @lead.ctxs.each do |ctx|
42
+ - @ctxs.each do |ctx|
43
43
  %li
44
44
  = pp_date( ctx.sent_at ) || 'not sent'
45
45
  = link_to ctx.subject.presence||"No Subj?!", wco_email.context_path(ctx)
@@ -69,6 +69,6 @@
69
69
 
70
70
  .row
71
71
  .col-md-12.conversations
72
- %h5 Email Conversations (#{@lead.convs.length})
73
- = render 'wco_email/conversations/table', convs: @lead.convs
72
+ %h5 Email Conversations (#{@convs.length})
73
+ = render 'wco_email/conversations/table', convs: @convs
74
74
 
@@ -1,7 +1,9 @@
1
1
 
2
+ - url = ctx.new_record? ? wco_email.contexts_path : wco_email.context_path(ctx)
3
+
2
4
  .collapse-expand [reply]
3
5
  .email-contexts--form-reply-mini.form-mini.descr{ style: 'display: none' }
4
- = form_for ctx, html: { target: :_blank } do |f|
6
+ = form_for ctx, url: url, html: { target: :_blank } do |f|
5
7
 
6
8
  .flex-row
7
9
  .flex-row
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wco_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0.117
4
+ version: 3.1.0.118
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Pudeyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-22 00:00:00.000000000 Z
11
+ date: 2024-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3