africompta 1.9.11 → 1.9.13.pre.10

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
  SHA1:
3
- metadata.gz: '08243c15dad8df272891c62ea2faf14f74da98ac'
4
- data.tar.gz: cae8035c25a7289f8cd3901d81dd6470b17ccc7d
3
+ metadata.gz: cf1e7e270ef30a5fd52246f899bfd0c9bfbab96c
4
+ data.tar.gz: 0d18e6a07b37e389df418e8fcb2c14b644a05b19
5
5
  SHA512:
6
- metadata.gz: 98b9ecec86b7f200b922c36556bfb9ac2cc8f416e71b43260cdaeca5d31522a38b4e810ef2e6a0ed0b3494ddf7fa1aaaedf3c33bf1c3dcc6d55876a97ff9df14
7
- data.tar.gz: ec678fd7608c2391ea85791fb6da89fab6c0acbff3bf538b1755390199bff3b6370604adadc36373e20bbbc415a2a17d4c5860e22e9d1c39169a782f1f2ec5ee
6
+ metadata.gz: 57effd88a25338b06af9db2ce8b199d4344cf778d7577ffaf05fab5dcce975bd9f4a787386b7870cc70f9aaacf0ca58187af5296550aa0282ef25181d964165d
7
+ data.tar.gz: e11724471549d4a8b199a4076f1a430dfdba4850e5ac4d6232312ea9809861b07eadb2cca413603621ed8ccc25629d86310d0708467ff20f6df8d66b621dd1df
data/.gitignore CHANGED
@@ -16,5 +16,6 @@ test/*db
16
16
  test/data*
17
17
  test/thread*
18
18
  /*gem
19
+ .ruby-version
19
20
 
20
21
  afri_compta.conf
data/Gemfile.lock CHANGED
@@ -1,10 +1,3 @@
1
- PATH
2
- remote: .
3
- specs:
4
- africompta (1.9.10)
5
- prawn (= 1.0.0)
6
- qooxview (= 1.9.10)
7
-
8
1
  PATH
9
2
  remote: ../HelperClasses
10
3
  specs:
@@ -13,58 +6,68 @@ PATH
13
6
  PATH
14
7
  remote: ../QooxView
15
8
  specs:
16
- qooxview (1.9.10)
17
- activemodel (= 3.1.1)
18
- activerecord (= 3.1.1)
19
- activesupport (= 3.1.1)
20
- arel (= 2.2.1)
9
+ qooxview (1.9.11)
10
+ activemodel (= 5.1.0)
11
+ activerecord (= 5.1.0)
12
+ activesupport (= 5.1.0)
13
+ arel (= 8.0)
21
14
  chunky_png (= 1.3.4)
22
15
  docsplit (= 0.7.6)
23
16
  gettext (= 3.0.0)
24
17
  helper_classes (= 0.3.5)
25
- i18n (= 0.6.0)
18
+ i18n (= 0.7.0)
26
19
  iconv (= 1.0.3)
27
20
  iniparse (= 1.4.0)
28
21
  json (= 2.1.0)
29
22
  locale (= 2.0.8)
30
23
  multi_json (= 1.0.3)
31
- net-ldap (= 0.5.1)
24
+ net-ldap (= 0.16)
32
25
  rqrcode (= 0.4.2)
33
26
  rqrcode-with-patches (= 0.5.4)
34
27
  rubyzip (= 1.1.7)
35
28
  serialport (= 1.3.1)
36
29
  sqlite3 (= 1.3.10)
30
+ test-unit (= 3.2.3)
37
31
  text (= 1.2.3)
38
32
 
33
+ PATH
34
+ remote: .
35
+ specs:
36
+ africompta (1.9.11)
37
+ prawn (= 1.0.0)
38
+ qooxview (= 1.9.11)
39
+
39
40
  GEM
40
41
  remote: https://rubygems.org/
41
42
  specs:
42
- activemodel (3.1.1)
43
- activesupport (= 3.1.1)
44
- builder (~> 3.0.0)
45
- i18n (~> 0.6)
46
- activerecord (3.1.1)
47
- activemodel (= 3.1.1)
48
- activesupport (= 3.1.1)
49
- arel (~> 2.2.1)
50
- tzinfo (~> 0.3.29)
51
- activesupport (3.1.1)
52
- multi_json (~> 1.0)
53
- arel (2.2.1)
54
- builder (3.0.4)
43
+ activemodel (5.1.0)
44
+ activesupport (= 5.1.0)
45
+ activerecord (5.1.0)
46
+ activemodel (= 5.1.0)
47
+ activesupport (= 5.1.0)
48
+ arel (~> 8.0)
49
+ activesupport (5.1.0)
50
+ concurrent-ruby (~> 1.0, >= 1.0.2)
51
+ i18n (~> 0.7)
52
+ minitest (~> 5.1)
53
+ tzinfo (~> 1.1)
54
+ arel (8.0.0)
55
55
  chunky_png (1.3.4)
56
+ concurrent-ruby (1.0.5)
56
57
  docsplit (0.7.6)
57
58
  gettext (3.0.0)
58
59
  locale (>= 2.0.5)
59
60
  text
60
- i18n (0.6.0)
61
+ i18n (0.7.0)
61
62
  iconv (1.0.3)
62
63
  iniparse (1.4.0)
63
64
  json (2.1.0)
64
65
  locale (2.0.8)
66
+ minitest (5.10.2)
65
67
  multi_json (1.0.3)
66
- net-ldap (0.5.1)
67
- pdf-core (0.2.5)
68
+ net-ldap (0.16.0)
69
+ pdf-core (0.2.2)
70
+ power_assert (1.0.2)
68
71
  prawn (1.0.0)
69
72
  pdf-core (~> 0.2.2)
70
73
  ttfunk (~> 1.1.1)
@@ -74,9 +77,13 @@ GEM
74
77
  rubyzip (1.1.7)
75
78
  serialport (1.3.1)
76
79
  sqlite3 (1.3.10)
80
+ test-unit (3.2.3)
81
+ power_assert
77
82
  text (1.2.3)
83
+ thread_safe (0.3.6)
78
84
  ttfunk (1.1.1)
79
- tzinfo (0.3.53)
85
+ tzinfo (1.2.3)
86
+ thread_safe (~> 0.1)
80
87
 
81
88
  PLATFORMS
82
89
  ruby
@@ -85,3 +92,6 @@ DEPENDENCIES
85
92
  africompta!
86
93
  helper_classes!
87
94
  qooxview!
95
+
96
+ BUNDLED WITH
97
+ 1.15.0
data/africompta.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'africompta'
3
- s.version = '1.9.11'
4
- s.date = '2015-06-20'
3
+ s.version = '1.9.13-10'
4
+ s.date = '2017-10-30'
5
5
  s.summary = 'Africompta-module for QooxView'
6
6
  s.description = 'With this module you can have a simple accounting-system.
7
7
  It is based on http://github.com/ineiti/QooxView and adds Entities to handle
8
8
  accounts and movements. For the standalone counterpart (which uses the same database),
9
9
  see http://github.com/ineiti/AfriCompta_client .'
10
10
  s.authors = ['Linus Gasser']
11
- s.email = 'ineiti@linusetviviane.ch'
11
+ s.email = 'ineiti.blue'
12
12
 
13
13
  s.files = `if [ -d '.git' ]; then git ls-files -z; fi`.split("\x0")
14
14
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -177,7 +177,7 @@ class Accounts < Entities
177
177
  years = Hash.new(0)
178
178
  acc.movements.each { |mov|
179
179
  if not mov.desc =~ /^-- Sum of/
180
- y, m, d = mov.date.to_s.split('-').collect { |d| d.to_i }
180
+ y, m, _ = mov.date.to_s.split('-').collect { |d| d.to_i }
181
181
  dputs(5) { "Date of #{mov.desc} is #{mov.date}" }
182
182
  m < month_start and y -= 1
183
183
  years[y] += 1
@@ -207,7 +207,7 @@ class Accounts < Entities
207
207
  def move_movements(acc, years, month_start)
208
208
  acc.movements.each { |mov|
209
209
  dputs(5) { 'Start of each' }
210
- y, m, d = mov.date.to_s.split('-').collect { |d| d.to_i }
210
+ y, m, _ = mov.date.to_s.split('-').collect { |d| d.to_i }
211
211
  dputs(5) { "Date of #{mov.desc} is #{mov.date}" }
212
212
  m < month_start and y -= 1
213
213
  if years.has_key? y
@@ -455,7 +455,7 @@ class Accounts < Entities
455
455
  def load
456
456
  super
457
457
  if Accounts.search_by_name('Root').count == 0
458
- dputs(0) { "Didn't find 'Root' in database - creating base" }
458
+ dputs(1) { "Didn't find 'Root' in database - creating base" }
459
459
  Accounts.init
460
460
  end
461
461
  end
@@ -473,6 +473,18 @@ class Accounts < Entities
473
473
  a.rev_index = a.id
474
474
  end
475
475
 
476
+ def migration_3(m)
477
+ # dp "Migrating #{m.inspect}"
478
+ if m.id == 1 && m.account_id != nil
479
+ dp 'Root-account has parent...'
480
+ m.account_id = 0
481
+ m.name = 'Root'
482
+ m.desc = 'Root'
483
+ m.global_id = Digest::MD5.hexdigest((rand 2**128).to_s).to_s + '-1'
484
+ m.total = 0.0
485
+ end
486
+ end
487
+
476
488
  def listp_path
477
489
  dputs(3) { 'Being called' }
478
490
  Accounts.search_all.select { |a| !a.deleted }.collect { |a| [a.id, a.path] }.
@@ -513,7 +525,7 @@ class Accounts < Entities
513
525
  #dputs(3) { "Looking at #{row}" }
514
526
  @check_progress += progress_step
515
527
 
516
- id_, acc_id_, name_, desc_, gid_, tot_, mult_, ind_, revind_, del_, keep_, = row
528
+ _, acc_id_, name_, desc_, gid_, tot_, mult_, _, _, del_, keep_, = row
517
529
  parent = if acc_id_
518
530
  acc_id_ == 0 ? '' :
519
531
  db.execute("select * from compta_accounts where id=#{acc_id_}").first[4]
@@ -756,7 +768,7 @@ class Account < Entity
756
768
  set_child_multiplier_total(multiplier, total)
757
769
  end
758
770
 
759
- # Sort first regarding inverse date (newest first), then description,
771
+ # Sort first regarding inverse date (newest first), then description,
760
772
  # and finally the value
761
773
  def movements(from = nil, to = nil)
762
774
  dputs(5) { 'Account::movements' }
@@ -775,7 +787,7 @@ class Account < Entity
775
787
  end
776
788
  if ret == 0
777
789
  ret = a.rev_index <=> b.rev_index
778
- =begin
790
+ =begin
779
791
  if a.desc and b.desc
780
792
  ret = a.desc <=> b.desc
781
793
  end
@@ -834,7 +846,7 @@ class Account < Entity
834
846
  }
835
847
  self
836
848
  end
837
-
849
+
838
850
  def accounts
839
851
  # Some hand-optimized stuff. This would be written shorter like this:
840
852
  # Accounts.matches_by_account_id( self.id )
@@ -853,7 +865,7 @@ class Account < Entity
853
865
  Accounts.match_by_id(self.account_id)
854
866
  end
855
867
 
856
- def account= (a)
868
+ def account=(a)
857
869
  self.account_id = a.class == Account ? a.id : a
858
870
  end
859
871
 
@@ -861,7 +873,7 @@ class Account < Entity
861
873
  account
862
874
  end
863
875
 
864
- def parent= (a)
876
+ def parent=(a)
865
877
  self.account = a
866
878
  end
867
879
 
@@ -107,7 +107,8 @@ class ComptaEditMovements < View
107
107
  end
108
108
 
109
109
  def update_accounts()
110
- reply(:empty_nonlists, [:account_archive, :account_src, :account_dst]) +
110
+ if AccountRoot.actual
111
+ reply(:empty_nonlists, [:account_archive, :account_src, :account_dst]) +
111
112
  reply(:update_silent, :account_archive =>
112
113
  [[AccountRoot.actual.id, 'Actual']].concat(
113
114
  if archive = AccountRoot.archive
@@ -119,6 +120,7 @@ class ComptaEditMovements < View
119
120
  update_list(AccountRoot.actual, AccountRoot.actual) +
120
121
  reply(:update, :account_src => AccountRoot.actual.listp_path,
121
122
  :account_dst => AccountRoot.actual.listp_path)
123
+ end
122
124
  end
123
125
 
124
126
  def rpc_update_view(session)
@@ -164,4 +166,3 @@ class ComptaEditMovements < View
164
166
  return str.delete('^0123456789.,-').gsub(/,/, '.').to_f
165
167
  end
166
168
  end
167
-
data/test/ac_account.rb CHANGED
@@ -29,6 +29,8 @@ class TC_Account < Test::Unit::TestCase
29
29
 
30
30
  def test_path
31
31
  assert_equal 'Root::Cash', @cash.path
32
+ assert_equal 0, @root.account_id
33
+ assert_equal nil, @root.account
32
34
  end
33
35
 
34
36
  def test_del_account
@@ -61,12 +63,12 @@ class TC_Account < Test::Unit::TestCase
61
63
  Accounts.create_path('Test')
62
64
  Accounts.dump true
63
65
  count_mov, bad_mov, count_acc, bad_acc = AccountRoot.clean
64
- assert_equal [4, 0, 19, 1],
66
+ assert_equal [4, 0, 18, 1],
65
67
  [count_mov, bad_mov, count_acc, bad_acc]
66
68
 
67
69
  Accounts.dump
68
70
  count_mov, bad_mov, count_acc, bad_acc = AccountRoot.clean
69
- assert_equal [4, 0, 19, 0],
71
+ assert_equal [4, 0, 18, 0],
70
72
  [count_mov, bad_mov, count_acc, bad_acc]
71
73
  end
72
74
 
@@ -146,7 +148,7 @@ class TC_Account < Test::Unit::TestCase
146
148
  Movements.create("Mov for #{src}_#{sub} - #{mov}", date, 100 * src,
147
149
  accs[src][sub], @cash)
148
150
  }
149
- assert_equal -300 * src, accs[src][sub].total
151
+ assert_equal( -300 * src, accs[src][sub].total)
150
152
  }
151
153
  }
152
154
 
@@ -157,7 +159,7 @@ class TC_Account < Test::Unit::TestCase
157
159
  dp line
158
160
  end
159
161
 
160
- def test_report_man
162
+ def tes_report_man
161
163
  SQLite.dbs_close_all
162
164
  FileUtils.cp('db.man', 'data2/compta.db')
163
165
  SQLite.dbs_open_load
@@ -173,4 +175,10 @@ class TC_Account < Test::Unit::TestCase
173
175
  line = report.print_account_monthly(reportAccount, Date.new(2014, 6), 1, 1)
174
176
  dp line
175
177
  end
178
+
179
+ def test_add_account
180
+ subacc = Accounts.create_path("Root::Test")
181
+ Entities.reload
182
+ assert_equal 6, Accounts.search_all_.count
183
+ end
176
184
  end
@@ -10,6 +10,10 @@ class TC_AfriCompta < Test::Unit::TestCase
10
10
  dputs(2) { 'Resetting SQLite' }
11
11
  SQLite.dbs_close_all
12
12
  dputs(2) { 'Putting testGestion' }
13
+ begin
14
+ Dir.mkdir('data')
15
+ rescue Errno::EEXIST
16
+ end
13
17
  FileUtils.cp('db.testGestion', 'data/compta.db')
14
18
  SQLite.dbs_open_load_migrate
15
19
 
data/test/ac_movement.rb CHANGED
@@ -25,6 +25,13 @@ class TC_Movement < Test::Unit::TestCase
25
25
  def teardown
26
26
  end
27
27
 
28
+ def test_rm_add
29
+ m = Movements.create('test', Date.today, 1000, @cash, @lending)
30
+ m.delete
31
+ Movements.create('test', Date.today, 1000, @cash, @lending)
32
+ assert_equal 2040, @cash.total.to_i
33
+ end
34
+
28
35
  def test_move
29
36
  value_cash = @cash.total.to_f
30
37
  value_lending = @lending.total.to_f
data/test/test.rb CHANGED
@@ -12,21 +12,27 @@ DEBUG_LVL=1
12
12
  require 'QooxView'
13
13
  require 'africompta'
14
14
 
15
- Permission.add( 'default', 'View,Welcome' )
16
- Permission.add( 'admin', '.*', '.*' )
17
- Permission.add( 'internet', 'Internet,PersonShow', 'default' )
18
- Permission.add( 'student', '', 'internet' )
19
- Permission.add( 'professor', '', 'student' )
20
- Permission.add( 'secretary', 'PersonModify', 'professor' )
15
+ Permission.add('default', 'View,Welcome')
16
+ Permission.add('admin', '.*', '.*')
17
+ Permission.add('internet', 'Internet,PersonShow', 'default')
18
+ Permission.add('student', '', 'internet')
19
+ Permission.add('professor', '', 'student')
20
+ Permission.add('secretary', 'PersonModify', 'professor')
21
21
 
22
- qooxView = QooxView.init( '../Entities', '../Views' )
22
+ qooxView = QooxView.init('../Entities', '../Views')
23
23
 
24
- tests = %w( africompta account movement sqlite )
24
+ tests = Dir.glob('ac_*.rb')
25
+ # tests = %w( africompta account movement sqlite )
25
26
  #tests = %w( africompta )
26
27
  tests = %w( account )
27
28
  #tests = %w( merge )
28
- tests.each{|t|
29
- require_relative "ac_#{t}"
29
+ dp tests
30
+ tests.each { |t|
31
+ begin
32
+ require_relative "ac_#{t}"
33
+ rescue LoadError => e
34
+ require_relative t
35
+ end
30
36
  }
31
37
 
32
38
  # Fails test_archive_sum_up
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: africompta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.11
4
+ version: 1.9.13.pre.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linus Gasser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-20 00:00:00.000000000 Z
11
+ date: 2017-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: qooxview
@@ -43,7 +43,7 @@ description: |-
43
43
  It is based on http://github.com/ineiti/QooxView and adds Entities to handle
44
44
  accounts and movements. For the standalone counterpart (which uses the same database),
45
45
  see http://github.com/ineiti/AfriCompta_client .
46
- email: ineiti@linusetviviane.ch
46
+ email: ineiti.blue
47
47
  executables:
48
48
  - afri_compta.rb
49
49
  - africompta.sh
@@ -109,12 +109,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  requirements:
112
- - - ">="
112
+ - - ">"
113
113
  - !ruby/object:Gem::Version
114
- version: '0'
114
+ version: 1.3.1
115
115
  requirements: []
116
116
  rubyforge_project:
117
- rubygems_version: 2.6.11
117
+ rubygems_version: 2.6.13
118
118
  signing_key:
119
119
  specification_version: 4
120
120
  summary: Africompta-module for QooxView