wco_models 3.1.0.287 → 3.1.0.289

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/wco/api/leads_controller.rb +16 -0
  3. data/app/mailers/wco_email/application_mailer.rb +1 -1
  4. data/app/models/iro/alert.rb +0 -1
  5. data/app/models/iro/option.rb +0 -1
  6. data/app/models/iro/position.rb +0 -1
  7. data/app/models/iro/purse.rb +0 -1
  8. data/app/models/iro/stock.rb +0 -1
  9. data/app/models/iro/strategy.rb +0 -1
  10. data/app/models/wco/asset.rb +0 -1
  11. data/app/models/wco/gallery.rb +0 -1
  12. data/app/models/wco/headline.rb +0 -1
  13. data/app/models/wco/invoice.rb +0 -1
  14. data/app/models/wco/lead.rb +3 -1
  15. data/app/models/wco/leadset.rb +0 -1
  16. data/app/models/wco/leadset_appliance_tmpl.rb +0 -1
  17. data/app/models/wco/log.rb +0 -1
  18. data/app/models/wco/newsitem.rb +0 -1
  19. data/app/models/wco/newsoverlay.rb +0 -1
  20. data/app/models/wco/newspartial.rb +0 -1
  21. data/app/models/wco/newsvideo.rb +0 -1
  22. data/app/models/wco/office_action.rb +0 -1
  23. data/app/models/wco/office_action_template.rb +0 -1
  24. data/app/models/wco/photo.rb +0 -1
  25. data/app/models/wco/price.rb +0 -1
  26. data/app/models/wco/product.rb +0 -1
  27. data/app/models/wco/profile.rb +0 -1
  28. data/app/models/wco/publisher.rb +0 -1
  29. data/app/models/wco/report.rb +0 -1
  30. data/app/models/wco/site.rb +0 -1
  31. data/app/models/wco/sitemap_path.rb +0 -1
  32. data/app/models/wco/subscription.rb +0 -1
  33. data/app/models/wco/tag.rb +4 -1
  34. data/app/models/wco/video.rb +0 -1
  35. data/app/models/wco_email/campaign.rb +0 -1
  36. data/app/models/wco_email/context.rb +11 -1
  37. data/app/models/wco_email/conversation.rb +0 -1
  38. data/app/models/wco_email/email_action.rb +0 -1
  39. data/app/models/wco_email/email_action_template.rb +0 -1
  40. data/app/models/wco_email/email_filter.rb +0 -1
  41. data/app/models/wco_email/email_filter_condition.rb +0 -1
  42. data/app/models/wco_email/email_template.rb +1 -3
  43. data/app/models/wco_email/message.rb +0 -1
  44. data/app/models/wco_email/message_stub.rb +1 -2
  45. data/app/models/wco_hosting/appliance.rb +0 -1
  46. data/app/models/wco_hosting/appliance_tmpl.rb +0 -1
  47. data/app/models/wco_hosting/domain.rb +0 -1
  48. data/app/models/wco_hosting/environment.rb +0 -1
  49. data/app/models/wco_hosting/file.rb +0 -1
  50. data/app/models/wco_hosting/serverhost.rb +0 -1
  51. data/app/models/wco_hosting/task.rb +0 -1
  52. data/app/models/wco_hosting/task_tmpl.rb +0 -1
  53. data/app/views/wco/api/leads/index.jbuilder +7 -0
  54. data/config/routes.rb +1 -0
  55. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e6d0cadf4db9d1e056aabd35f1400d52454be4238261b49723b2668fd0d3266
4
- data.tar.gz: e3cef665f2651288d46593bff438b172d2ebd84570c817a8d40408b52de6b51a
3
+ metadata.gz: 7231d15c114b7e9a336735881437174e42660094c224263281d1d89b5bb0bf5d
4
+ data.tar.gz: 86f96183c492598e31eda028ecc601b1ab466f0f7e43db1adffe01221761e365
5
5
  SHA512:
6
- metadata.gz: e0c50255c11f5abec8a4ae38fd44c44b39d5f70ad6b94dd00de34f27609281e8432602445cc6b5494c761b4220ecb493372078f76d89c337482140ef832f9b17
7
- data.tar.gz: dfe0e9f0e6613da41ad4ee45792c48f662f1954255d05511c0acf2b9e5e9dd5bee53fa2451c242cc8003847a17a459fc3e1e1d32a3228b5f796b0ddaf15cbfd8
6
+ metadata.gz: e03aa67a9a68d76bbf699c3fbab2590cff0ae13250dd2526886b03ef2e29652f5eacd6f1db4e358367848344bc27951c2b872563e4b8c185527dc8725c5b7f56
7
+ data.tar.gz: 8b19a7907a0f9fdfa08a7337bc0a57cdb89cfc00f80179382009e85ed1543d87bdccce17be0f94c46bf58bcf237b8db0fdb53270e4cd51131c8b60df15514a54
@@ -1,6 +1,22 @@
1
1
 
2
2
  class Wco::Api::LeadsController < Wco::ApiController
3
3
 
4
+ skip_before_action :decode_jwt
5
+
6
+ ## select2-leads-ajax
7
+ def index
8
+ authorize! :index, Wco::Lead
9
+ @leads = Wco::Lead.all
10
+
11
+ if params[:q].present?
12
+ q = params[:q].downcase
13
+ @leads = @leads.any_of(
14
+ { email: /#{q}/i },
15
+ { name: /#{q}/i },
16
+ );
17
+ end
18
+ end
19
+
4
20
  def index_hash
5
21
  authorize! :index, Wco::Lead
6
22
  @leads = Wco::Lead.find( params[:lead_ids].split(',') )
@@ -95,7 +95,7 @@ class WcoEmail::ApplicationMailer < ActionMailer::Base
95
95
  mail( from: @ctx.from_email,
96
96
  to: @ctx.to_email,
97
97
  cc: @ctx.cc,
98
- bcc: @ctx.from_email, # DEFAULT_BCC,
98
+ bcc: @ctx.bcc_self ? @ctx.from_email : nil, # DEFAULT_BCC
99
99
  subject: rendered_subject,
100
100
  body: rendered_str,
101
101
  content_type: "text/html",
@@ -2,7 +2,6 @@
2
2
  class Iro::Alert
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'iro_alerts'
7
6
 
8
7
  # SLEEP_TIME_SECONDS = Rails.env.production? ? 60 : 15
@@ -2,7 +2,6 @@
2
2
  class Iro::Option
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  # include Iro::OptionBlackScholes
7
6
  store_in collection: 'iro_options'
8
7
 
@@ -2,7 +2,6 @@
2
2
  class Iro::Position
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'iro_positions'
7
6
 
8
7
  field :next_gain_loss_amount, type: :float
@@ -5,7 +5,6 @@
5
5
  class Iro::Purse
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
9
8
  store_in collection: 'iro_purses'
10
9
 
11
10
  field :slug
@@ -7,7 +7,6 @@ require 'business_time'
7
7
  class ::Iro::Stock
8
8
  include Mongoid::Document
9
9
  include Mongoid::Timestamps
10
- include Mongoid::Paranoia
11
10
  store_in collection: 'iro_stocks'
12
11
 
13
12
  STATUS_ACTIVE = 'active'
@@ -2,7 +2,6 @@
2
2
  class Iro::Strategy
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'iro_strategies'
7
6
 
8
7
  field :descr
@@ -5,7 +5,6 @@ class Wco::Asset
5
5
  include Mongoid::Document
6
6
  include Mongoid::Timestamps
7
7
  include Mongoid::Paperclip
8
- include Mongoid::Paranoia
9
8
  include Wco::Utils
10
9
 
11
10
  store_in collection: 'wco_assets'
@@ -2,7 +2,6 @@
2
2
  class Wco::Gallery
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  # include Wco::PremiumItem
7
6
  include Wco::Utils
8
7
  store_in collection: 'galleries'
@@ -3,7 +3,6 @@
3
3
  class Wco::Headline
4
4
  include Mongoid::Document
5
5
  include Mongoid::Timestamps
6
- include Mongoid::Paranoia
7
6
  store_in collection: 'wco_content_headlines'
8
7
 
9
8
  PAGE_PARAM_NAME = 'headlines_page'
@@ -11,7 +11,6 @@ class Wco::Invoice
11
11
  include Mongoid::Document
12
12
  include Mongoid::Timestamps
13
13
  include Mongoid::Autoinc
14
- include Mongoid::Paranoia
15
14
  store_in collection: 'ish_invoice'
16
15
 
17
16
  attr_accessor :is_stripe
@@ -2,7 +2,6 @@
2
2
  class Wco::Lead
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_leads'
7
6
 
8
7
  PAGE_PARAM_NAME = 'leads_page'
@@ -12,6 +11,8 @@ class Wco::Lead
12
11
  index({ email: -1 }, { unique: true })
13
12
 
14
13
  field :name
14
+ validates :name, uniqueness: true
15
+ index({ name: -1 })
15
16
  def name
16
17
  if !self[:name].present?
17
18
  if email
@@ -22,6 +23,7 @@ class Wco::Lead
22
23
  self[:name]
23
24
  end
24
25
 
26
+
25
27
  field :phone
26
28
  field :address
27
29
  field :comment ## _TODO: replace with log?
@@ -2,7 +2,6 @@
2
2
  class Wco::Leadset
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_leadsets'
7
6
 
8
7
  PAGE_PARAM_NAME = 'leadsets_page'
@@ -2,7 +2,6 @@
2
2
  class Wco::LeadsetApplianceTmpl
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_leadset_appliance_tmpls'
7
6
 
8
7
  belongs_to :leadset, class_name: 'Wco::Leadset'
@@ -3,7 +3,6 @@
3
3
  class Wco::Log
4
4
  include Mongoid::Document
5
5
  include Mongoid::Timestamps
6
- include Mongoid::Paranoia
7
6
  store_in collection: 'wco_logs'
8
7
 
9
8
  field :label, type: :string ## can be the stream: 'stdout' or 'stderr'
@@ -5,7 +5,6 @@
5
5
  class Wco::Newsitem
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
9
8
  store_in collection: 'wco_newsitems'
10
9
 
11
10
  belongs_to :profile, class_name: 'Wco::Profile', optional: true
@@ -25,7 +25,6 @@ ffmpeg \
25
25
  class Wco::Newsoverlay
26
26
  include Mongoid::Document
27
27
  include Mongoid::Timestamps
28
- include Mongoid::Paranoia
29
28
  include Wco::Utils
30
29
  store_in collection: 'wco_newsoverlays'
31
30
 
@@ -4,7 +4,6 @@ require 'mongoid_paperclip'
4
4
  class Wco::Newspartial
5
5
  include Mongoid::Document
6
6
  include Mongoid::Paperclip
7
- include Mongoid::Paranoia
8
7
  include Mongoid::Timestamps
9
8
  include Wco::Utils
10
9
  store_in collection: 'wco_newspartials'
@@ -3,7 +3,6 @@
3
3
  class Wco::Newsvideo
4
4
  include Mongoid::Document
5
5
  include Mongoid::Timestamps
6
- include Mongoid::Paranoia
7
6
  include Wco::Utils
8
7
  store_in collection: 'wco_newsvideos'
9
8
 
@@ -2,7 +2,6 @@
2
2
  class Wco::OfficeAction
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_office_actions'
7
6
 
8
7
  field :slug, type: :string
@@ -7,7 +7,6 @@ require 'wco/ai_writer'
7
7
  class Wco::OfficeActionTemplate
8
8
  include Mongoid::Document
9
9
  include Mongoid::Timestamps
10
- include Mongoid::Paranoia
11
10
  store_in collection: 'wco_office_action_templates'
12
11
 
13
12
  field :slug
@@ -6,7 +6,6 @@ class Wco::Photo
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
8
  include Mongoid::Paperclip
9
- include Mongoid::Paranoia
10
9
  include Wco::Utils
11
10
  store_in collection: 'photos'
12
11
 
@@ -2,7 +2,6 @@
2
2
  class Wco::Price
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_prices'
7
6
 
8
7
  ## Wco::Product, WcoHosting::ApplianceTmpl
@@ -2,7 +2,6 @@
2
2
  class Wco::Product
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_products'
7
6
 
8
7
  field :name
@@ -2,7 +2,6 @@
2
2
  class Wco::Profile
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'ish_user_profiles'
7
6
 
8
7
  field :email
@@ -2,7 +2,6 @@
2
2
  class Wco::Publisher
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_publishers'
7
6
 
8
7
  field :slug
@@ -5,7 +5,6 @@
5
5
  class Wco::Report
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
9
8
  include Wco::Utils
10
9
  store_in collection: 'wco_reports'
11
10
 
@@ -2,7 +2,6 @@
2
2
  class Wco::Site
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_sites'
7
6
 
8
7
  KIND_DRUPAL = 'drupal'
@@ -2,7 +2,6 @@
2
2
  class Wco::SitemapPath
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_sitemap_paths'
7
6
 
8
7
  belongs_to :site, class_name: 'Wco::Site'
@@ -2,7 +2,6 @@
2
2
  class Wco::Subscription
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_subscriptions'
7
6
 
8
7
  belongs_to :product, polymorphic: true # includes: Wco::Product , WcoHosting::ApplianceTmpl
@@ -2,7 +2,6 @@
2
2
  class Wco::Tag
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_tags'
7
6
 
8
7
  field :slug
@@ -31,6 +30,10 @@ class Wco::Tag
31
30
  has_and_belongs_to_many :videos, class_name: '::Wco::Video'
32
31
 
33
32
 
33
+ BOUNCE = 'bounce'
34
+ def self.bounce
35
+ find_or_create_by({ slug: BOUNCE })
36
+ end
34
37
 
35
38
  INBOX = 'inbox'
36
39
  def self.inbox
@@ -5,7 +5,6 @@ require 'streamio-ffmpeg'
5
5
  class Wco::Video
6
6
  include Mongoid::Document
7
7
  include Mongoid::Paperclip
8
- include Mongoid::Paranoia
9
8
  include Mongoid::Timestamps
10
9
  include Wco::Utils
11
10
  store_in collection: 'videos'
@@ -6,7 +6,6 @@
6
6
  class WcoEmail::Campaign
7
7
  include Mongoid::Document
8
8
  include Mongoid::Timestamps
9
- include Mongoid::Paranoia
10
9
  store_in collection: 'ish_email_campaigns'
11
10
 
12
11
  # field :slug
@@ -5,7 +5,7 @@
5
5
  class WcoEmail::Context
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
8
+ # include Mongoid::Paranoia
9
9
  store_in collection: 'ish_email_contexts'
10
10
 
11
11
  PAGE_PARAM_NAME = 'email_contexts_page'
@@ -13,6 +13,9 @@ class WcoEmail::Context
13
13
 
14
14
  field :slug
15
15
  validates_uniqueness_of :slug, allow_nil: true
16
+ index({ slug: -1 })
17
+
18
+ field :bcc_self, type: :boolean, default: false
16
19
 
17
20
  field :preview_str, type: :string
18
21
  def preview_str
@@ -51,12 +54,14 @@ class WcoEmail::Context
51
54
  return DEFAULT_FROM_EMAIL
52
55
  end
53
56
  end
57
+ index({ from_email: -1 })
54
58
 
55
59
  field :subject
56
60
  field :rendered_subject
57
61
  def subject
58
62
  self[:subject].presence || tmpl&.subject
59
63
  end
64
+ index({ subject: -1 })
60
65
 
61
66
  belongs_to :reply_to_message, class_name: 'WcoEmail::Message', inverse_of: :replies, optional: true
62
67
 
@@ -71,13 +76,18 @@ class WcoEmail::Context
71
76
  field :rendered_str
72
77
 
73
78
  field :sent_at, type: DateTime
79
+ index({ sent_at: -1 })
74
80
  field :send_at, type: DateTime
81
+ index({ send_at: -1 })
75
82
  field :unsubscribed_at, type: DateTime
76
83
 
77
84
 
78
85
  def self.notsent
79
86
  where( sent_at: nil, unsubscribed_at: nil )
80
87
  end
88
+ def self.not_sent
89
+ self.notsent
90
+ end
81
91
 
82
92
  def self.scheduled
83
93
  where( :send_at.lte => Time.now )
@@ -2,7 +2,6 @@
2
2
  class WcoEmail::Conversation
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'office_email_conversations'
7
6
 
8
7
  PAGE_PARAM_NAME = 'conv_page'
@@ -8,7 +8,6 @@ require 'mongoid-paranoia'
8
8
  class WcoEmail::EmailAction
9
9
  include Mongoid::Document
10
10
  include Mongoid::Timestamps
11
- include Mongoid::Paranoia
12
11
  store_in collection: 'office_scheduled_email_actions'
13
12
 
14
13
 
@@ -6,7 +6,6 @@
6
6
  class WcoEmail::EmailActionTemplate
7
7
  include Mongoid::Document
8
8
  include Mongoid::Timestamps
9
- include Mongoid::Paranoia
10
9
  store_in collection: 'wco_email_email_actions'
11
10
 
12
11
  field :slug, type: :string
@@ -2,7 +2,6 @@
2
2
  class WcoEmail::EmailFilter
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'office_email_filters'
7
6
 
8
7
  field :slug, type: :string
@@ -2,7 +2,6 @@
2
2
  class WcoEmail::EmailFilterCondition
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'office_email_filter_conditions'
7
6
 
8
7
  belongs_to :email_filter, class_name: '::WcoEmail::EmailFilter', inverse_of: :conditions, optional: true
@@ -1,10 +1,8 @@
1
1
 
2
- DEFAULT_FROM_EMAIL = 'no-reply@wasya.co'
3
-
4
2
  class WcoEmail::EmailTemplate
5
3
  include Mongoid::Document
6
4
  include Mongoid::Timestamps
7
- include Mongoid::Paranoia
5
+ # include Mongoid::Paranoia
8
6
  store_in collection: 'ish_email_templates'
9
7
 
10
8
  field :slug
@@ -9,7 +9,6 @@ require 'action_view'
9
9
  class WcoEmail::Message
10
10
  include Mongoid::Document
11
11
  include Mongoid::Timestamps
12
- include Mongoid::Paranoia
13
12
  store_in collection: 'wco_email_message'
14
13
 
15
14
  field :message_id # MESSAGE-ID
@@ -14,7 +14,6 @@ key = '01070861907736276273039d9ee-c69a3509-5c85-481d-822e-ba65c204e1ba-000000@e
14
14
  class WcoEmail::MessageStub
15
15
  include Mongoid::Document
16
16
  include Mongoid::Timestamps
17
- include Mongoid::Paranoia
18
17
  store_in collection: 'wco_email_message_stub'
19
18
 
20
19
  PAGE_PARAM_NAME = 'stubs_page'
@@ -129,7 +128,7 @@ class WcoEmail::MessageStub
129
128
 
130
129
 
131
130
  ## Actions & Filters
132
- email_filters = WcoEmail::EmailFilter.all.active
131
+ email_filters = WcoEmail::EmailFilter.all.active.includes(:conditions)
133
132
  email_filters.each do |filter|
134
133
  reason = nil
135
134
 
@@ -2,7 +2,6 @@
2
2
  class WcoHosting::Appliance
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  include Wco::Utils
7
6
  store_in collection: 'wco_appliances'
8
7
 
@@ -3,7 +3,6 @@
3
3
  class WcoHosting::ApplianceTmpl
4
4
  include Mongoid::Document
5
5
  include Mongoid::Timestamps
6
- include Mongoid::Paranoia
7
6
  include Wco::Utils
8
7
  store_in collection: 'wco_appliance_tmpls'
9
8
 
@@ -2,7 +2,6 @@
2
2
  class WcoHosting::Domain
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  store_in collection: 'wco_dns_domains'
7
6
 
8
7
  field :name
@@ -2,7 +2,6 @@
2
2
  class WcoHosting::Environment
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
5
  include Wco::Utils
7
6
  store_in collection: 'wco_environments'
8
7
 
@@ -5,7 +5,6 @@
5
5
  class WcoHosting::File
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
9
8
  store_in collection: 'wco_hosting_files'
10
9
 
11
10
  belongs_to :serverhost, class_name: 'WcoHosting::Serverhost'
@@ -7,7 +7,6 @@ class WcoHosting::Serverhost
7
7
  include Mongoid::Document
8
8
  include Mongoid::Timestamps
9
9
  # include Mongoid::Autoinc
10
- include Mongoid::Paranoia
11
10
  store_in collection: 'wco_serverhosts'
12
11
 
13
12
  WORKDIR = "/opt/projects/docker"
@@ -5,7 +5,6 @@
5
5
  class WcoHosting::Task
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
9
8
  store_in collection: 'wco_tasks'
10
9
 
11
10
  belongs_to :task_tmpl, class_name: 'WcoHosting::TaskTmpl'
@@ -5,7 +5,6 @@
5
5
  class WcoHosting::TaskTmpl
6
6
  include Mongoid::Document
7
7
  include Mongoid::Timestamps
8
- include Mongoid::Paranoia
9
8
  store_in collection: 'wco_task_tmpls'
10
9
 
11
10
  field :slug
@@ -0,0 +1,7 @@
1
+
2
+ json.results do
3
+ json.array! @leads.each do |lead|
4
+ json.id lead.id.to_s
5
+ json.text lead.email
6
+ end
7
+ end
data/config/routes.rb CHANGED
@@ -5,6 +5,7 @@ Wco::Engine.routes.draw do
5
5
  get '/error', to: 'application#error'
6
6
 
7
7
  namespace :api do
8
+ get 'leads', to: 'leads#index'
8
9
  get 'leads/index_hash', to: 'leads#index_hash'
9
10
 
10
11
  get 'obf', to: 'obfuscated_redirects#show' ## testing only.
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.287
4
+ version: 3.1.0.289
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-07-16 00:00:00.000000000 Z
11
+ date: 2026-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -544,6 +544,7 @@ files:
544
544
  - app/views/wco/_search.haml
545
545
  - app/views/wco/_select_all.haml
546
546
  - app/views/wco/_sidebar.haml
547
+ - app/views/wco/api/leads/index.jbuilder
547
548
  - app/views/wco/api/leads/index_hash.jbuilder
548
549
  - app/views/wco/api/tags/index.json.jbuilder
549
550
  - app/views/wco/application/_alerts_notices.haml