africompta 1.9.11 → 1.9.13.pre.10

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
  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