dscf-marketplace 0.2.93 → 0.2.94

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: 40d81c92e7033ba2d583bca456a9fa0114795f713c118e92c1b70d2141c1c3ac
4
- data.tar.gz: e8f5cca804a50156aff124176f482980628a069a3961c295d0480c395607fbc8
3
+ metadata.gz: b3d9e2b9c6d302c05aba856c7add2d572e6c48c763b29022c165c32fb0ae6d39
4
+ data.tar.gz: c1a4ed98de21d1ae80ce116f9db768e24e43baa4785896c9bcbb62bfcfb604e3
5
5
  SHA512:
6
- metadata.gz: 75ba3df20836f6e89c20b2a35a01822f132f13fec48c2604807e96ad5b75f675bc6cbf0f72d65acbf40492e4d03d80d8e28532ac1941d6cde80779f4611e208b
7
- data.tar.gz: 1e3620e360ec311517da1ff4955960a301523b0375801b236b9c3f518dc70ddf97daa7bd576068f9955eed2658f72619ffad90cbca02a13dcccf5e62ffa85fbd
6
+ metadata.gz: f88c9ecdd32d85066805cb205d3eb7e28df0f540d27ab6c9ecdfada565b3b068f3bb9ded7bdaae8c3d7f73581c4684633579da25b606c8460cf068c0075a26b3
7
+ data.tar.gz: ae10f6ddcdb722a28ecf61d00152984cbf20523bbf23fc33c385ea5378e1e22935304c636ff18e86e7f6fec2f33704def9a92087b43b33a71c809d5728660a57
@@ -2,7 +2,6 @@ module Dscf
2
2
  module Marketplace
3
3
  class OrdersController < ApplicationController
4
4
  include Dscf::Core::Common
5
- include Dscf::Marketplace::NestedCreatable
6
5
 
7
6
  def confirm
8
7
  @obj = find_record
@@ -63,8 +62,8 @@ module Dscf
63
62
  {
64
63
  index: [ :user, :ordered_by, :ordered_to, :quotation, order_items: [ :product ] ],
65
64
  show: [ :user, :ordered_by, :ordered_to, :quotation, :listing, :delivery_order, :order_items ],
66
- create: [ :user, :ordered_by, :ordered_to, :quotation, :listing ],
67
- update: [ :user, :ordered_by, :ordered_to, :quotation, :listing ]
65
+ create: [ :user, :ordered_by, :ordered_to, :quotation, :listing, :order_items ],
66
+ update: [ :user, :ordered_by, :ordered_to, :quotation, :listing, :order_items ]
68
67
  }
69
68
  end
70
69
  end
@@ -2,7 +2,6 @@ module Dscf
2
2
  module Marketplace
3
3
  class QuotationsController < ApplicationController
4
4
  include Dscf::Core::Common
5
- include Dscf::Marketplace::NestedCreatable
6
5
 
7
6
  def accept
8
7
  @obj = find_record
@@ -2,7 +2,6 @@ module Dscf
2
2
  module Marketplace
3
3
  class RequestForQuotationsController < ApplicationController
4
4
  include Dscf::Core::Common
5
- include Dscf::Marketplace::NestedCreatable
6
5
 
7
6
  def send_rfq
8
7
  @obj = find_record
@@ -10,7 +10,7 @@ module Dscf::Marketplace
10
10
  belongs_to :ordered_by, class_name: "Dscf::Core::User"
11
11
  belongs_to :ordered_to, class_name: "Dscf::Core::Business"
12
12
  belongs_to :delivery_order, optional: true
13
- has_many :order_items, dependent: :destroy
13
+ has_many :order_items, dependent: :destroy, inverse_of: :order
14
14
  accepts_nested_attributes_for :order_items, allow_destroy: true
15
15
 
16
16
  validates :order_type, presence: true
@@ -4,7 +4,7 @@ module Dscf::Marketplace
4
4
 
5
5
  delegate :name, :description, :thumbnail_url, :images_urls, to: :product, allow_nil: true
6
6
 
7
- belongs_to :order, optional: true
7
+ belongs_to :order, optional: true, inverse_of: :order_items
8
8
  belongs_to :quotation_item, optional: true
9
9
  belongs_to :listing, optional: true
10
10
  belongs_to :product
@@ -4,7 +4,7 @@ module Dscf
4
4
  belongs_to :request_for_quotation, class_name: "Dscf::Marketplace::RequestForQuotation"
5
5
  belongs_to :business, class_name: "Dscf::Core::Business", optional: true if defined?(Dscf::Core)
6
6
 
7
- has_many :quotation_items, class_name: "Dscf::Marketplace::QuotationItem", dependent: :destroy
7
+ has_many :quotation_items, class_name: "Dscf::Marketplace::QuotationItem", dependent: :destroy, inverse_of: :quotation
8
8
  has_one :order, class_name: "Dscf::Marketplace::Order", dependent: :destroy
9
9
  accepts_nested_attributes_for :quotation_items, allow_destroy: true
10
10
 
@@ -1,7 +1,7 @@
1
1
  module Dscf
2
2
  module Marketplace
3
3
  class QuotationItem < ApplicationRecord
4
- belongs_to :quotation, class_name: "Dscf::Marketplace::Quotation"
4
+ belongs_to :quotation, class_name: "Dscf::Marketplace::Quotation", inverse_of: :quotation_items
5
5
  belongs_to :rfq_item, class_name: "Dscf::Marketplace::RfqItem"
6
6
  belongs_to :product, class_name: "Dscf::Marketplace::Product"
7
7
  belongs_to :unit, class_name: "Dscf::Marketplace::Unit"
@@ -4,7 +4,7 @@ module Dscf
4
4
  belongs_to :user, class_name: "Dscf::Core::User", optional: true if defined?(Dscf::Core)
5
5
  belongs_to :selected_quotation, class_name: "Dscf::Marketplace::Quotation", optional: true
6
6
 
7
- has_many :rfq_items, class_name: "Dscf::Marketplace::RfqItem", dependent: :destroy
7
+ has_many :rfq_items, class_name: "Dscf::Marketplace::RfqItem", dependent: :destroy, inverse_of: :request_for_quotation
8
8
  has_many :quotations, class_name: "Dscf::Marketplace::Quotation", dependent: :destroy
9
9
  accepts_nested_attributes_for :rfq_items, allow_destroy: true
10
10
 
@@ -1,7 +1,7 @@
1
1
  module Dscf
2
2
  module Marketplace
3
3
  class RfqItem < ApplicationRecord
4
- belongs_to :request_for_quotation, class_name: "Dscf::Marketplace::RequestForQuotation"
4
+ belongs_to :request_for_quotation, class_name: "Dscf::Marketplace::RequestForQuotation", inverse_of: :rfq_items
5
5
  belongs_to :product, class_name: "Dscf::Marketplace::Product"
6
6
  belongs_to :unit, class_name: "Dscf::Marketplace::Unit"
7
7
 
@@ -1,5 +1,5 @@
1
1
  module Dscf
2
2
  module Marketplace
3
- VERSION = "0.2.93".freeze
3
+ VERSION = "0.2.94".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dscf-marketplace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.93
4
+ version: 0.2.94
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-09-11 00:00:00.000000000 Z
10
+ date: 2025-09-12 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
@@ -416,7 +416,6 @@ extra_rdoc_files: []
416
416
  files:
417
417
  - MIT-LICENSE
418
418
  - Rakefile
419
- - app/controllers/concerns/dscf/marketplace/nested_creatable.rb
420
419
  - app/controllers/dscf/marketplace/application_controller.rb
421
420
  - app/controllers/dscf/marketplace/businesses_controller.rb
422
421
  - app/controllers/dscf/marketplace/categories_controller.rb
@@ -1,47 +0,0 @@
1
- module Dscf::Marketplace::NestedCreatable
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- # Override the create method from Dscf::Core::Common
6
- def create
7
- obj = @clazz.new(model_params)
8
- assign_current_user(obj) if respond_to?(:assign_current_user)
9
-
10
- if obj.save
11
- obj = @clazz.includes(eager_loaded_associations).find(obj.id) if eager_loaded_associations.present?
12
-
13
- includes = serializer_includes_for_action(:create)
14
- options = {include: includes} if includes.present?
15
-
16
- # Get success message from locales
17
- model_name = @clazz.name.demodulize.underscore
18
- message_key = "#{model_name}.success.create"
19
- message = I18n.t(message_key, default: "#{model_name.titleize} created successfully")
20
-
21
- # Include associated items in response for orders
22
- if model_name == "order" && obj.respond_to?(:order_items)
23
- render_success(message, data: obj, order_items: obj.order_items, serializer_options: options, status: :created)
24
- else
25
- render_success(message, data: obj, serializer_options: options, status: :created)
26
- end
27
- else
28
- Rails.logger.error("#{model_name} save failed: #{obj.errors.full_messages}")
29
-
30
- # Get error message from locales
31
- error_key = "#{model_name}.errors.create"
32
- error_message = I18n.t(error_key, default: "Failed to create #{model_name}")
33
-
34
- render_error(error_message, status: :unprocessable_entity)
35
- end
36
- rescue => e
37
- render_error(e.message)
38
- end
39
- end
40
-
41
- private
42
-
43
- def assign_current_user(obj)
44
- obj.user = current_user if obj.respond_to?(:user=)
45
- obj.ordered_by = current_user if obj.respond_to?(:ordered_by=)
46
- end
47
- end