brisk-bills 0.8.1 → 0.8.2

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