billing 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/jobs/billing/issue_print_doc.rb +6 -6
- data/app/models/billing/bill.rb +1 -0
- data/app/models/billing/origin.rb +1 -0
- data/app/models/billing/receipt_config.rb +5 -0
- data/db/migrate/20160828145106_create_billing_receipt_configs.rb +15 -0
- data/db/migrate/20160828145448_add_receipt_config_to_billing_origin.rb +5 -0
- data/lib/billing/version.rb +1 -1
- data/test/fixtures/billing/receipt_configs.yml +19 -0
- data/test/models/billing/receipt_config_test.rb +9 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d71320db03d43f48dc3ab5a41ba771aac145534
|
4
|
+
data.tar.gz: a679fda97bcf6323af367e7638b8da7a6d9bbf28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d09060049be62c40491c79129a77289c864b519d8360d5fd198cdbb7393e6af880b40ae562db7d09492326dbd0983d39503402dc1dcf5504d99a5bf9b79bf03
|
7
|
+
data.tar.gz: 8acc69df070e7c86deda9ec883aa88cbc7213c7f8bd3e803f6d26a820a11d9998d7a032d7b95403b61adee76ce8974e4fdd454639863e54e3638a6a05e448767
|
@@ -30,16 +30,16 @@ module Billing
|
|
30
30
|
|
31
31
|
bill.charges.each do |charge|
|
32
32
|
text = "#{charge.qty ? charge.qty : 1} x #{charge.name}"
|
33
|
-
s.print "\r\n#{text.ljust(22)} #{charge.price.to_s.rjust(7)}\r\n"
|
33
|
+
s.print "\r\n#{text.truncate(22).ljust(22)} #{charge.price.to_s.rjust(7)}\r\n"
|
34
34
|
if charge.description
|
35
|
-
s.print "#{charge.description.truncate(
|
35
|
+
s.print "#{charge.description.truncate(26)}\r\n"
|
36
36
|
end
|
37
37
|
if charge.modifier.present?
|
38
38
|
text = charge.modifier.percent_ratio.nil? ? "" : " #{charge.modifier.percentage}"
|
39
39
|
if charge.modifier.positive?
|
40
|
-
text += " Surcharge"
|
40
|
+
text += " #{ bill.origin.receipt_config ? bill.origin.receipt_config.surcharge_text || 'Surcharge' : 'Surcharge' }"
|
41
41
|
else
|
42
|
-
text += " Discount"
|
42
|
+
text += " #{ bill.origin.receipt_config ? bill.origin.receipt_config.discount_text || 'Discount' : 'Discount' }"
|
43
43
|
end
|
44
44
|
s.print "#{text.ljust(22)} #{(charge.value - charge.price).to_s.rjust(7)}\r\n"
|
45
45
|
end
|
@@ -49,9 +49,9 @@ module Billing
|
|
49
49
|
global_modifier = bill.modifiers.global.first
|
50
50
|
text = global_modifier.percent_ratio.nil? ? "" : " #{global_modifier.percentage}"
|
51
51
|
if global_modifier.positive?
|
52
|
-
text += " Surcharge"
|
52
|
+
text += " #{ bill.origin.receipt_config ? bill.origin.receipt_config.surcharge_text || 'Surcharge' : 'Surcharge' }"
|
53
53
|
else
|
54
|
-
text += " Discount"
|
54
|
+
text += " #{ bill.origin.receipt_config ? bill.origin.receipt_config.discount_text || 'Discount' : 'Discount' }"
|
55
55
|
end
|
56
56
|
s.print "#{text.ljust(22)} #{bill.global_modifier_value.to_s.rjust(7)}\r\n"
|
57
57
|
end
|
data/app/models/billing/bill.rb
CHANGED
@@ -100,6 +100,7 @@ module Billing
|
|
100
100
|
if defined?(Extface) && fiscalizable? && device = origin.try(:fiscal_device)
|
101
101
|
#self.extface_job = origin.fiscal_device.driver.fiscalize(self) if fiscalizable? && origin.try(:fiscal_device)
|
102
102
|
self.extface_job = device.jobs.new
|
103
|
+
self.perform_fiscalize = true
|
103
104
|
self.extface_job if save
|
104
105
|
end
|
105
106
|
end
|
@@ -8,6 +8,7 @@ module Billing
|
|
8
8
|
belongs_to :transfer_device, ->(o) { where( extfaceable_id: o.master_id ) }, class_name: 'Extface::Device'
|
9
9
|
belongs_to :print_device, ->(o) { where( extfaceable_id: o.master_id ) }, class_name: 'Extface::Device'
|
10
10
|
end
|
11
|
+
belongs_to :receipt_config, inverse_of: :origins
|
11
12
|
|
12
13
|
validates_presence_of :name
|
13
14
|
validates :payment_model, inclusion: { in: Payment::PAYMENT_MODELS }
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateBillingReceiptConfigs < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :billing_receipt_configs do |t|
|
4
|
+
t.integer :master_id
|
5
|
+
t.string :type
|
6
|
+
t.string :name
|
7
|
+
t.string :discount_text
|
8
|
+
t.string :surcharge_text
|
9
|
+
t.boolean :sound_signal
|
10
|
+
t.boolean :open_cash_drawer
|
11
|
+
|
12
|
+
t.timestamps null: false
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/billing/version.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
2
|
+
|
3
|
+
one:
|
4
|
+
master_id: 1
|
5
|
+
type:
|
6
|
+
name: MyString
|
7
|
+
discount_text: MyString
|
8
|
+
surcharge_text: MyString
|
9
|
+
sound_signal: false
|
10
|
+
open_cash_drawer: false
|
11
|
+
|
12
|
+
two:
|
13
|
+
master_id: 1
|
14
|
+
type:
|
15
|
+
name: MyString
|
16
|
+
discount_text: MyString
|
17
|
+
surcharge_text: MyString
|
18
|
+
sound_signal: false
|
19
|
+
open_cash_drawer: false
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: billing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Vangelov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- app/models/billing/paypal_express.rb
|
109
109
|
- app/models/billing/plu.rb
|
110
110
|
- app/models/billing/profile.rb
|
111
|
+
- app/models/billing/receipt_config.rb
|
111
112
|
- app/models/billing/report.rb
|
112
113
|
- app/models/billing/resource.rb
|
113
114
|
- app/models/billing/room_transfer.rb
|
@@ -178,6 +179,8 @@ files:
|
|
178
179
|
- db/migrate/20160723160908_add_print_device_to_billing_origin.rb
|
179
180
|
- db/migrate/20160723234233_add_print_job_to_billing_bill.rb
|
180
181
|
- db/migrate/20160824235224_add_print_headers_to_billing_origin.rb
|
182
|
+
- db/migrate/20160828145106_create_billing_receipt_configs.rb
|
183
|
+
- db/migrate/20160828145448_add_receipt_config_to_billing_origin.rb
|
181
184
|
- lib/billing.rb
|
182
185
|
- lib/billing/billable.rb
|
183
186
|
- lib/billing/engine.rb
|
@@ -239,6 +242,7 @@ files:
|
|
239
242
|
- test/fixtures/billing/payments.yml
|
240
243
|
- test/fixtures/billing/plus.yml
|
241
244
|
- test/fixtures/billing/profiles.yml
|
245
|
+
- test/fixtures/billing/receipt_configs.yml
|
242
246
|
- test/fixtures/billing/resources.yml
|
243
247
|
- test/fixtures/billing/tax_groups.yml
|
244
248
|
- test/fixtures/profiles.yml
|
@@ -252,6 +256,7 @@ files:
|
|
252
256
|
- test/models/billing/payment_type_test.rb
|
253
257
|
- test/models/billing/plu_test.rb
|
254
258
|
- test/models/billing/profile_test.rb
|
259
|
+
- test/models/billing/receipt_config_test.rb
|
255
260
|
- test/models/billing/resource_test.rb
|
256
261
|
- test/models/billing/tax_group_test.rb
|
257
262
|
- test/test_helper.rb
|
@@ -287,6 +292,7 @@ test_files:
|
|
287
292
|
- test/fixtures/billing/payments.yml
|
288
293
|
- test/fixtures/billing/bills.yml
|
289
294
|
- test/fixtures/billing/resources.yml
|
295
|
+
- test/fixtures/billing/receipt_configs.yml
|
290
296
|
- test/fixtures/billing/charges.yml
|
291
297
|
- test/fixtures/billing/departments.yml
|
292
298
|
- test/fixtures/billing/modifiers.yml
|
@@ -344,6 +350,7 @@ test_files:
|
|
344
350
|
- test/models/billing/payment_test.rb
|
345
351
|
- test/models/billing/resource_test.rb
|
346
352
|
- test/models/billing/operator_test.rb
|
353
|
+
- test/models/billing/receipt_config_test.rb
|
347
354
|
- test/models/billing/origin_test.rb
|
348
355
|
- test/models/billing/profile_test.rb
|
349
356
|
- test/models/billing/payment_type_test.rb
|