effective_qb_sync 1.3.6 → 1.3.8

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: 7661088e53e1d6c02bb8ce7ae766d2253e742cee52900ff1f88b5dda913cc81d
4
- data.tar.gz: 9d34f24a3e7d7765012f38476771ce3ff5ef9767349e63e2c74e544be50fe1a9
3
+ metadata.gz: d57feb13b269e62b4c7756a455c73cd20d9f5ae9dd7086d4ee24be3c9bcda817
4
+ data.tar.gz: cd2daba55cd448f6b6c04c54f93bf17c5d143d1b30fbc3309825794ef48256f8
5
5
  SHA512:
6
- metadata.gz: a939efae8b650ac173d0b7f5adaca44d6c23f2183faafae00df54775699744fe49db531393daf08f144a598879de956bc92c84076d666e13ccf48a5514a1fa02
7
- data.tar.gz: 58cb299e4125fce20c337e25aa0e7339622f29ab1471caca5553c2be1bf135347ba711955f89aceebe8fd96ab5e091717e172732f82c519d55f1fec9d35c0532
6
+ metadata.gz: f357b73b508db96cce4dfdd29a925add3d9240ec531624a3d321b858e3e7f0b931d355ea301e5bb9bf453747c3d3d09bcb89c4c6f7fc157f8962718d88475a39
7
+ data.tar.gz: '03875a16f136ec46d7bbf469ebbbafae8c60107261a7c7881c79496b1550a049648af1133a87bc9e390b324622582022073bcb1c3336cd59bd20cac5bbec2541'
@@ -44,15 +44,15 @@ module Admin
44
44
  def qwc
45
45
  @filename = EffectiveQbSync.qwc_name.parameterize + '.qwc'
46
46
 
47
- response.headers['Content-Disposition'] = "attachment; filename=\"#{@filename}\""
47
+ data = render_to_string('effective/qb_web_connector/quickbooks', layout: false)
48
48
 
49
- render '/effective/qb_web_connector/quickbooks.qwc', layout: false
49
+ send_data(data, filename: 'quickbooks.qwc', disposition: 'attachment')
50
50
  end
51
51
 
52
52
  def set_all_orders_finished
53
53
  Effective::QbTicket.transaction do
54
54
  begin
55
- Effective::QbTicket.set_all_orders_finished!
55
+ Effective::QbTicket.set_orders_finished!
56
56
 
57
57
  flash[:success] = 'Successfully set all orders finished'
58
58
  rescue => e
@@ -67,9 +67,7 @@ module Admin
67
67
  private
68
68
 
69
69
  def permitted_params
70
- params.require(:effective_qb_order_items_form).permit(
71
- :id, qb_order_items_attributes: [:name, :id, :order_item_id]
72
- )
70
+ params.require(:effective_qb_order_items_form).permit!
73
71
  end
74
72
 
75
73
  end
@@ -7,7 +7,6 @@ module Effective
7
7
  timestamps
8
8
  end
9
9
 
10
- validates :order_item, presence: true
11
10
  validates :name, presence: true
12
11
  end
13
12
  end
@@ -30,7 +30,7 @@ module Effective
30
30
 
31
31
  # creates (does not persist) QbRequests for outstanding orders. The caller may choose to
32
32
  # persist a request when that request starts communicating with QuickBooks
33
- def self.new_requests_for_unsynced_items(before: nil)
33
+ def self.new_requests_for_unsynced_items(before: nil, order_ids: nil)
34
34
  finished_order_ids = Effective::QbRequest.where(state: 'Finished').pluck(:order_id)
35
35
  finished_orders = Effective::Order.purchased.includes(order_items: [:purchasable, :qb_order_item]).where.not(id: finished_order_ids)
36
36
 
@@ -39,6 +39,10 @@ module Effective
39
39
  finished_orders = finished_orders.where('purchased_at < ?', before)
40
40
  end
41
41
 
42
+ if order_ids.present?
43
+ finished_orders = finished_orders.where(id: order_ids)
44
+ end
45
+
42
46
  finished_orders.map { |order| Effective::QbRequest.new(order: order) }
43
47
  end
44
48
 
@@ -30,12 +30,12 @@ module Effective
30
30
 
31
31
  validates :state, inclusion: { in: STATES }
32
32
 
33
- def self.set_all_orders_finished!(before: nil)
33
+ def self.set_orders_finished!(before: nil, order_ids: nil)
34
34
  qb_ticket = Effective::QbTicket.new(state: 'Finished')
35
35
  qb_ticket.qb_logs.build(message: 'Set all orders Finished')
36
36
  qb_ticket.save!
37
37
 
38
- Effective::QbRequest.new_requests_for_unsynced_items(before: before).each do |qb_request|
38
+ Effective::QbRequest.new_requests_for_unsynced_items(before: before, order_ids: order_ids).each do |qb_request|
39
39
  qb_request.qb_ticket = qb_ticket
40
40
  qb_request.transition_to_finished
41
41
  end
@@ -14,6 +14,6 @@
14
14
  %td
15
15
  = f.fields_for :qb_order_items, order_item.qb_order_item do |foi|
16
16
  = foi.hidden_field :order_item_id, value: order_item.id
17
- = foi.text_field :name, label: false, required: false
17
+ = foi.text_field :name, label: false, required: true
18
18
 
19
19
  = f.submit 'Save QuickBooks Item Names'
@@ -98,7 +98,7 @@
98
98
 
99
99
  %ul
100
100
  %li
101
- Download the #{link_to 'quickbooks web connector .qwc file', (effective_qb_sync.qwc_admin_qb_syncs_path)} and put it somewhere safe
101
+ Download the #{link_to 'quickbooks web connector .qwc file', (effective_qb_sync.qwc_admin_qb_syncs_path), target: '_blank'} and put it somewhere safe
102
102
  %li
103
103
  Open the Quickbooks Web Connector program from the Start menu
104
104
  %ul
@@ -117,7 +117,7 @@
117
117
  url that ends with
118
118
  %strong= effective_qb_sync.qb_sync_path
119
119
  such as
120
- %strong https://myapp.herokuapp.com#{effective_qb_sync.qb_sync_path}
120
+ %strong https://mysite.com#{effective_qb_sync.qb_sync_path}
121
121
  %li The AppSupport url doesn't matter
122
122
  %li The UserName must be present and match an existing user
123
123
  %li The OwnerID and FileID values must also be unique between all other .qwc files
@@ -135,7 +135,7 @@
135
135
  %li (optional) or enable Auto-Run
136
136
  %li
137
137
  If any synchronization errors occur,
138
- %strong= EffectiveQbSync.error_email || EffectiveOrders.mailer[:admin_email]
138
+ %strong= EffectiveQbSync.error_email || EffectiveOrders.mailer_admin
139
139
  will receive an email with instructions on how to fix the error
140
140
 
141
141
  %h3 6. Troubleshooting
@@ -149,4 +149,3 @@
149
149
  %li You might need a developer's help to undo this.
150
150
  - unsynced = Effective::QbRequest.new_requests_for_unsynced_items.length
151
151
  %li= link_to "Mark all #{unsynced} unsynced orders as already synchronized", effective_qb_sync.set_all_orders_finished_admin_qb_syncs_path, 'data-method': :post, 'data-confirm': 'Are you sure?'
152
-
@@ -1,3 +1,3 @@
1
1
  module EffectiveQbSync
2
- VERSION = '1.3.6'.freeze
2
+ VERSION = '1.3.8'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_qb_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.6
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-11 00:00:00.000000000 Z
11
+ date: 2022-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -113,7 +113,7 @@ files:
113
113
  - app/views/effective/qb_sync/receiveResponseXML.erb
114
114
  - app/views/effective/qb_sync/sendRequestXML.erb
115
115
  - app/views/effective/qb_sync/serverVersion.erb
116
- - app/views/effective/qb_web_connector/quickbooks.qwc.erb
116
+ - app/views/effective/qb_web_connector/quickbooks.html.erb
117
117
  - config/effective_qb_sync.rb
118
118
  - config/routes.rb
119
119
  - db/migrate/01_create_effective_qb_sync.rb.erb