vesr 1.0.0 → 1.0.1
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 +4 -4
- data/app/assets/images/.gitkeep +0 -0
- data/app/helpers/esr_record_helper.rb +18 -0
- data/app/models/esr_file.rb +14 -3
- data/app/models/esr_record.rb +15 -6
- data/app/models/esr_record_types.rb +29 -0
- data/app/views/esr_records/_esr_record.html.haml +1 -1
- data/lib/vesr/version.rb +1 -1
- metadata +19 -7
- data/app/assets/images/16x16/book_extra_earning.png +0 -0
- data/app/assets/images/16x16/reactivate.png +0 -0
- data/app/assets/images/16x16/resolve.png +0 -0
- data/app/assets/images/16x16/show_all.png +0 -0
- data/app/assets/images/16x16/write_off.png +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ae7e408a671168464173f8f975352930137d89ef
|
|
4
|
+
data.tar.gz: b558c3cc6bdd0373587246fb5a6dfe656c707895
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee0ce7d1edb35a4ec9662dcfc52bf79ba5231190dfbc96650ba1020623132cad60bdacf437e6f85f68999322937c833e0ffe77ff7a35147eafb76fe72410ae08
|
|
7
|
+
data.tar.gz: 73f57511a7651bb6d3fbb05ed9d643d22af65aff458ed570534681fe6f3b27235d54528c6361a39109eade3eea301ca0178d110eb14dfc5f948230826ed95979
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module EsrRecordHelper
|
|
2
|
+
def event_image(event)
|
|
3
|
+
html_class = case event.to_s
|
|
4
|
+
when 'book_extra_earning'
|
|
5
|
+
'icon-circle-arrow-up'
|
|
6
|
+
when 'reactivate'
|
|
7
|
+
'icon-refresh'
|
|
8
|
+
when 'resolve'
|
|
9
|
+
'icon-ok'
|
|
10
|
+
when 'show_all'
|
|
11
|
+
'icon-list-alt'
|
|
12
|
+
when 'write_off'
|
|
13
|
+
'icon-circle-arrow-down'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
content_tag :span, '', class: html_class
|
|
17
|
+
end
|
|
18
|
+
end
|
data/app/models/esr_file.rb
CHANGED
|
@@ -31,8 +31,19 @@ class EsrFile < ActiveRecord::Base
|
|
|
31
31
|
|
|
32
32
|
private
|
|
33
33
|
def create_records
|
|
34
|
-
File.new(file.current_path).each
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
File.new(file.current_path).each do |line|
|
|
35
|
+
if EsrRecord.supported_line?(line)
|
|
36
|
+
esr_records << create_esr_record(line)
|
|
37
|
+
else
|
|
38
|
+
Rails.logger.info "VESR: Ignoring line #{line}"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def create_esr_record(line)
|
|
44
|
+
record = EsrRecord.new.parse(line)
|
|
45
|
+
record.save
|
|
46
|
+
Rails.logger.error "VESR: Record #{record.inspect} is invalid: #{record.errors.inspect}" unless record.valid?
|
|
47
|
+
record
|
|
37
48
|
end
|
|
38
49
|
end
|
data/app/models/esr_record.rb
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
class EsrRecord < ActiveRecord::Base
|
|
4
|
+
SUPPORTED_RECORD_TYPES = [
|
|
5
|
+
:lsv_credit
|
|
6
|
+
]
|
|
7
|
+
|
|
4
8
|
# Access restrictions
|
|
5
9
|
attr_accessible :file, :remarks
|
|
6
10
|
|
|
@@ -40,6 +44,11 @@ class EsrRecord < ActiveRecord::Base
|
|
|
40
44
|
scope :unsolved, where(:state => ['overpaid', 'underpaid', 'missing'])
|
|
41
45
|
scope :valid, where(:state => 'paid')
|
|
42
46
|
|
|
47
|
+
def self.supported_line?(line)
|
|
48
|
+
record_type_code = line[0..2]
|
|
49
|
+
record_type = EsrRecordTypes.lookup_code record_type_code
|
|
50
|
+
SUPPORTED_RECORD_TYPES.include?(record_type)
|
|
51
|
+
end
|
|
43
52
|
|
|
44
53
|
private
|
|
45
54
|
def parse_date(value)
|
|
@@ -196,16 +205,16 @@ class EsrRecord < ActiveRecord::Base
|
|
|
196
205
|
|
|
197
206
|
if invoice
|
|
198
207
|
esr_booking = invoice.bookings.build
|
|
199
|
-
|
|
208
|
+
credit_account = invoice.balance_account
|
|
200
209
|
else
|
|
201
210
|
esr_booking = Booking.new
|
|
202
|
-
|
|
211
|
+
credit_account = DebitInvoice.balance_account
|
|
203
212
|
end
|
|
204
213
|
|
|
205
214
|
esr_booking.update_attributes(
|
|
206
215
|
:amount => amount,
|
|
207
|
-
:debit_account =>
|
|
208
|
-
:credit_account =>
|
|
216
|
+
:debit_account => vesr_account,
|
|
217
|
+
:credit_account => credit_account,
|
|
209
218
|
:value_date => value_date,
|
|
210
219
|
:title => "VESR Zahlung",
|
|
211
220
|
:comments => remarks
|
|
@@ -240,8 +249,8 @@ class EsrRecord < ActiveRecord::Base
|
|
|
240
249
|
Booking.create(:title => "Ausserordentlicher Ertrag",
|
|
241
250
|
:comments => comments || "Zahlung kann keiner Rechnung zugewiesen werden",
|
|
242
251
|
:amount => self.amount,
|
|
243
|
-
:debit_account =>
|
|
244
|
-
:credit_account => Account.
|
|
252
|
+
:debit_account => vesr_account,
|
|
253
|
+
:credit_account => Account.find_by_tag('vesr:extra-earnings'),
|
|
245
254
|
:value_date => Date.today)
|
|
246
255
|
end
|
|
247
256
|
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module EsrRecordTypes
|
|
2
|
+
RECORD_TYPES = {
|
|
3
|
+
esr_e_banking_credit: '002',
|
|
4
|
+
esr_e_banking_cancellation: '005',
|
|
5
|
+
esr_e_banking_correction: '008',
|
|
6
|
+
esr_post_office_counter_credit: '012',
|
|
7
|
+
esr_post_office_counter_cancellation: '015',
|
|
8
|
+
esr_post_office_counter_correction: '018',
|
|
9
|
+
|
|
10
|
+
esr_plus_e_banking_credit: '102',
|
|
11
|
+
esr_plus_e_banking_cancellation: '105',
|
|
12
|
+
esr_plus_e_banking_correction: '108',
|
|
13
|
+
esr_plus_post_office_counter_credit: '112',
|
|
14
|
+
esr_plus_post_office_counter_cancellation: '115',
|
|
15
|
+
esr_plus_post_office_counter_correction: '118',
|
|
16
|
+
|
|
17
|
+
lsv_credit: '202',
|
|
18
|
+
lsv_cancellation: '205',
|
|
19
|
+
|
|
20
|
+
total_record_credit: '999',
|
|
21
|
+
total_record_cancellation: '995',
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
def self.lookup_code(lookup_code)
|
|
25
|
+
RECORD_TYPES.each do |name, code|
|
|
26
|
+
return name if code == lookup_code
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
%td.currency= currency_fmt(esr_record.invoice.balance.currency_round) if esr_record.invoice
|
|
8
8
|
%td.action-links
|
|
9
9
|
- esr_record.aasm.events.each do |event|
|
|
10
|
-
= link_to
|
|
10
|
+
= link_to event_image(event.name), polymorphic_url([event.name, esr_record]), :remote => true, :method => :post, :title => t_action(event.name)
|
data/lib/vesr/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vesr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Roman Simecek
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2016-01-04 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: aasm
|
|
@@ -25,6 +25,20 @@ dependencies:
|
|
|
25
25
|
- - "~>"
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
27
|
version: '4.1'
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: rspec
|
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - "~>"
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: 3.4.0
|
|
35
|
+
type: :development
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - "~>"
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: 3.4.0
|
|
28
42
|
description: VESR provides support for ESR number calculations and gives ready to
|
|
29
43
|
use Rails components.
|
|
30
44
|
email:
|
|
@@ -38,16 +52,14 @@ extra_rdoc_files:
|
|
|
38
52
|
files:
|
|
39
53
|
- LICENSE.txt
|
|
40
54
|
- README.rdoc
|
|
41
|
-
- app/assets/images
|
|
42
|
-
- app/assets/images/16x16/reactivate.png
|
|
43
|
-
- app/assets/images/16x16/resolve.png
|
|
44
|
-
- app/assets/images/16x16/show_all.png
|
|
45
|
-
- app/assets/images/16x16/write_off.png
|
|
55
|
+
- app/assets/images/.gitkeep
|
|
46
56
|
- app/assets/stylesheets/vesr.scss
|
|
47
57
|
- app/controllers/esr_files_controller.rb
|
|
48
58
|
- app/controllers/esr_records_controller.rb
|
|
59
|
+
- app/helpers/esr_record_helper.rb
|
|
49
60
|
- app/models/esr_file.rb
|
|
50
61
|
- app/models/esr_record.rb
|
|
62
|
+
- app/models/esr_record_types.rb
|
|
51
63
|
- app/uploaders/esr_file_uploader.rb
|
|
52
64
|
- app/views/esr_files/_esr_file.html.haml
|
|
53
65
|
- app/views/esr_files/_form.html.haml
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|