brisk-bills 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source :rubygems
2
2
 
3
3
  gem 'i18n', '0.4.2'
4
- gem 'rails', '2.3.16'
4
+ gem 'rails', '2.3.17'
5
5
  gem 'rake', '0.8.7'
6
6
  gem 'pdf-writer', :git => 'git://github.com/metaskills/pdf-writer.git', :require => ['pdf/writer', 'pdf/simpletable']
7
7
  gem 'slimtimer4r', '0.2.4'
@@ -9,16 +9,16 @@ GIT
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
- actionmailer (2.3.16)
13
- actionpack (= 2.3.16)
14
- actionpack (2.3.16)
15
- activesupport (= 2.3.16)
12
+ actionmailer (2.3.17)
13
+ actionpack (= 2.3.17)
14
+ actionpack (2.3.17)
15
+ activesupport (= 2.3.17)
16
16
  rack (~> 1.1.0)
17
- activerecord (2.3.16)
18
- activesupport (= 2.3.16)
19
- activeresource (2.3.16)
20
- activesupport (= 2.3.16)
21
- activesupport (2.3.16)
17
+ activerecord (2.3.17)
18
+ activesupport (= 2.3.17)
19
+ activeresource (2.3.17)
20
+ activesupport (= 2.3.17)
21
+ activesupport (2.3.17)
22
22
  color (1.4.1)
23
23
  extensions (0.6.0)
24
24
  hoe (3.5.0)
@@ -27,12 +27,12 @@ GEM
27
27
  money (2.2.0)
28
28
  mysql2 (0.2.18)
29
29
  rack (1.1.6)
30
- rails (2.3.16)
31
- actionmailer (= 2.3.16)
32
- actionpack (= 2.3.16)
33
- activerecord (= 2.3.16)
34
- activeresource (= 2.3.16)
35
- activesupport (= 2.3.16)
30
+ rails (2.3.17)
31
+ actionmailer (= 2.3.17)
32
+ actionpack (= 2.3.17)
33
+ activerecord (= 2.3.17)
34
+ activeresource (= 2.3.17)
35
+ activesupport (= 2.3.17)
36
36
  rake (>= 0.8.3)
37
37
  rake (0.8.7)
38
38
  slimtimer4r (0.2.4)
@@ -49,7 +49,7 @@ DEPENDENCIES
49
49
  money (= 2.2.0)
50
50
  mysql2 (~> 0.2.7)
51
51
  pdf-writer!
52
- rails (= 2.3.16)
52
+ rails (= 2.3.17)
53
53
  rake (= 0.8.7)
54
54
  slimtimer4r (= 0.2.4)
55
55
  test-unit (= 1.2.3)
@@ -4,7 +4,7 @@ unless defined? BriskBills::Version
4
4
  module BriskBills::Version
5
5
  Major = '0'
6
6
  Minor = '8'
7
- Tiny = '1'
7
+ Tiny = '2'
8
8
 
9
9
  class << self
10
10
  def to_s
@@ -1,5 +1,5 @@
1
1
  require 'rubygems'
2
- gem 'rails', '= 2.3.16'
2
+ gem 'rails', '= 2.3.17'
3
3
  require 'initializer' # This is the rails-2.3.8/lib/initializer
4
4
 
5
5
  module BriskBills
@@ -40,7 +40,7 @@ namespace 'package' do
40
40
  s.add_dependency 'slimtimer4r', '>= 0.2.4'
41
41
  s.add_dependency 'money', '>= 2.2.0'
42
42
  s.add_dependency 'mysql', '>= 2.7'
43
- s.add_dependency 'rails', '= 2.3.16'
43
+ s.add_dependency 'rails', '= 2.3.17'
44
44
  s.add_dependency 'i18n', '= 0.4.2'
45
45
 
46
46
  s.has_rdoc = true
@@ -29,7 +29,7 @@ namespace :brisk_bills do
29
29
  def model_to_update?( map, st_record, klass )
30
30
  st_record_id = st_record.id
31
31
 
32
- if map.has_key?(st_record_id) and st_record.updated_at.to_a != map[st_record_id].st_updated_at.to_a
32
+ if map.has_key?(st_record_id) and st_record.updated_at != map[st_record_id].st_updated_at
33
33
  # UPDATE this record:
34
34
  return map[st_record_id]
35
35
  elsif !map.has_key? st_record_id
@@ -65,6 +65,8 @@ namespace :brisk_bills do
65
65
  st = SlimTimer.new employee.slimtimer.username, employee.slimtimer.password, employee.slimtimer.api_key, 300
66
66
 
67
67
  ### Tasks:
68
+ # At some point this stopped working due to Slimtimer only showing you a limited
69
+ # number of tasks as a result of this call:
68
70
  st.list_tasks('yes').each do |t|
69
71
  begin
70
72
  # <Record(Result)
@@ -107,7 +109,7 @@ namespace :brisk_bills do
107
109
  end
108
110
 
109
111
  ## Time Entries:
110
-
112
+
111
113
  # Let's create an entry update map
112
114
  briskbills_time_entries = {}
113
115
  employee.slimtimer.time_entries.find(
@@ -117,7 +119,8 @@ namespace :brisk_bills do
117
119
 
118
120
  # We'll end up using this to tell when something's been deleted:
119
121
  st_time_entry_ids = []
120
-
122
+
123
+ missing_task_ids = []
121
124
  st.list_timeentries(sync_from,time_now).each do |e|
122
125
  begin
123
126
  # <Record(Result)
@@ -151,6 +154,8 @@ namespace :brisk_bills do
151
154
  end
152
155
 
153
156
  unless update_time_entry.nil?
157
+ missing_task_ids << e.task.id if !tasks_map.has_key?(e.task.id) and !missing_task_ids.include?(e.task.id)
158
+
154
159
  update_time_entry[:slimtimer_task_id] = e.task.id
155
160
  update_time_entry[:employee_slimtimer_id] = employee.slimtimer.id
156
161
  update_time_entry[:comments] = e.comments
@@ -186,7 +191,28 @@ namespace :brisk_bills do
186
191
  puts "Error in 'deleted_time_entry_ids': #{$!}"
187
192
  end
188
193
  end
189
-
194
+
195
+ # And now create any tasks that were found to be missing:
196
+ missing_task_ids.each do |task_id|
197
+ t = st.show_task task_id
198
+
199
+ update_task = SlimtimerTask.new
200
+ update_task[:id] = t.id
201
+ update_task[:name] = t.name
202
+ update_task[:st_updated_at] = t.updated_at
203
+ update_task[:st_created_at] = t.created_at
204
+ update_task[:owner_employee_slimtimer_id] = t.owners[0]['user_id']
205
+
206
+ puts '%s - %s Task: "%s"' % [
207
+ employee.name,
208
+ (update_task.new_record?)?'Creating':'Updating',
209
+ update_task.label
210
+ ]
211
+
212
+ update_task.save!
213
+
214
+ raise StandardError, "Error #{(update_task.new_record?)?'Creat':'Updat'}ing task: #{update_task.errors.full_messages.inspect}" unless update_task.errors.empty?
215
+ end
190
216
 
191
217
  # rescue
192
218
  # puts "Error in 'Employee.find': #{$!}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brisk-bills
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-09 00:00:00.000000000 Z
12
+ date: 2013-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 2.3.16
117
+ version: 2.3.17
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  requirements:
123
123
  - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 2.3.16
125
+ version: 2.3.17
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: i18n
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -778,7 +778,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
778
778
  version: '0'
779
779
  segments:
780
780
  - 0
781
- hash: -388466778823291648
781
+ hash: -4468151445776889320
782
782
  required_rubygems_version: !ruby/object:Gem::Requirement
783
783
  none: false
784
784
  requirements:
@@ -787,7 +787,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
787
787
  version: '0'
788
788
  segments:
789
789
  - 0
790
- hash: -388466778823291648
790
+ hash: -4468151445776889320
791
791
  requirements: []
792
792
  rubyforge_project: brisk-bills
793
793
  rubygems_version: 1.8.24