dorsale 3.14.3 → 3.14.8

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
  SHA256:
3
- metadata.gz: 99e42e92cc90e24c8e1a1d0b65b0534a39dca07b4a77d85033cb0de98c5a1e8e
4
- data.tar.gz: 741dc9f5064952f340bc3d4857ad286457063da341e673baa451caf1dfe4a5d4
3
+ metadata.gz: d7fa35a5738f83f5a6ffe07e3357dd0d95e06a1e01e882d79e97a0b103cb6358
4
+ data.tar.gz: fae747e4c22a18ae7efc3e683c014a1513d6cf5c798022f45959b053b0338b00
5
5
  SHA512:
6
- metadata.gz: 815a794f2ab6bbaa1f61908028ee7d7eaba19060a961dfbc15917482b817b91657ed5cf7e898bfa6da053794b71916aa8d333db620b82a7f4c2307d577d98158
7
- data.tar.gz: b6cf71b1bfd492c31a2da72da75628ac96d9b5a9257dfe809a9c058e3c0752127f91bdfdaf5462917aae2dcaa24c2b68f7102a1280dc9251c86c9d6e4a46322c
6
+ metadata.gz: cac3603f69fbda59905d4c191af33ede03c001c537ad0e3c387c95429033838e9ec8a10028b350448e7c5be7f69cd19079b847c962e36c01f45b8c3d3545dfd5
7
+ data.tar.gz: 95675692f74edd6c555c209857939c84b3628616c2b3cd144a3876c3a264de65c7df972a6daa957ef3d49e6f4efe46f76e23c289c09bd59cd9f57e455792c3a0
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## Next version
4
4
 
5
+ ## 3.14.8
6
+ - Rails 6
7
+
8
+ ## 3.14.7
9
+ - Freeze ttfunk to <1.6 to fix PDF errors
10
+
11
+ ## 3.14.6
12
+ - Small changes on BM policy check
13
+
14
+ ## 3.14.5
15
+ - Restore test files in gemspec
16
+
17
+ ## 3.14.4
18
+ - Expenses : add PDF export
19
+
5
20
  ## 3.14.3
6
21
  - BillingMachine minor fixes
7
22
 
data/Rakefile CHANGED
@@ -35,3 +35,5 @@ end
35
35
 
36
36
 
37
37
  task default: :test
38
+
39
+ task :"assets:precompile" => :"app:assets:precompile"
@@ -75,9 +75,11 @@ class Dorsale::BillingMachine::InvoicesController < ::Dorsale::BillingMachine::A
75
75
 
76
76
  def update
77
77
  # callback in BillingMachine::ApplicationController
78
+ @invoice.attributes = invoice_params_for_update
79
+
78
80
  authorize @invoice, :update?
79
81
 
80
- if @invoice.update(invoice_params_for_update)
82
+ if @invoice.save
81
83
  Dorsale::BillingMachine::PdfFileGenerator.(@invoice)
82
84
  flash[:notice] = t("messages.invoices.update_ok")
83
85
  redirect_to default_back_url
@@ -65,9 +65,11 @@ class Dorsale::BillingMachine::QuotationsController < ::Dorsale::BillingMachine:
65
65
 
66
66
  def update
67
67
  # callback in BillingMachine::ApplicationController
68
+ @quotation.attributes = quotation_params_for_update
69
+
68
70
  authorize @quotation, :update?
69
71
 
70
- if @quotation.update(quotation_params_for_update)
72
+ if @quotation.save
71
73
  Dorsale::BillingMachine::PdfFileGenerator.(@quotation)
72
74
  flash[:notice] = t("messages.quotations.update_ok")
73
75
  redirect_to default_back_url
@@ -3,5 +3,15 @@ require "prawn/table"
3
3
  require "prawn/measurement_extensions"
4
4
 
5
5
  class Dorsale::ApplicationPdf < Prawn::Document
6
- include ::Dorsale::PrawnHelpers
6
+ include Dorsale::PrawnHelpers
7
+ include Dorsale::Alexandrie::Prawn::RenderWithAttachments
8
+
9
+ # Pour le dev
10
+ def open!
11
+ build
12
+ f = Tempfile.new(%w(pdf pdf))
13
+ f.binmode
14
+ f.write(render_with_attachments)
15
+ Launchy.open(f.path)
16
+ end
7
17
  end
@@ -0,0 +1,75 @@
1
+ class Dorsale::ExpenseGun::ExpensePdf < Dorsale::ApplicationPdf
2
+ attr_reader :expense
3
+
4
+ def initialize(expense)
5
+ @expense = expense
6
+ super(page_layout: :landscape)
7
+ end
8
+
9
+ delegate :attachments, to: :expense
10
+
11
+ def build
12
+ font_size 11
13
+
14
+ text "Note de frais : #{expense}", align: :center, size: 16, style: :bold
15
+
16
+ move_down 10.mm
17
+
18
+ info expense, :user
19
+
20
+ move_down 10.mm
21
+
22
+ font_size 9 do
23
+ table(table_data, width: bounds.width) do |t|
24
+ t.row(0).font_style = :bold
25
+ end
26
+ end
27
+
28
+ move_down 10.mm
29
+
30
+ info expense, :total_all_taxes, helper: :euros
31
+ info expense, :total_employee_payback, helper: :euros
32
+ info expense, :total_vat_deductible, helper: :euros
33
+ end
34
+
35
+ private
36
+
37
+ def info(obj, attribute, helper: nil, **options)
38
+ key = obj.t(attribute)
39
+ value = obj.public_send(attribute)
40
+ value = helper ? H.public_send(helper, value) : value.to_s
41
+ text "<b>#{key} :</b> #{value}", inline_format: true, **options
42
+ end
43
+
44
+ def table_data
45
+ [table_headers] + table_body
46
+ end
47
+
48
+ def table_headers
49
+ [
50
+ :name,
51
+ :category,
52
+ :date,
53
+ :total_all_taxes,
54
+ :company_part,
55
+ :employee_payback,
56
+ :vat,
57
+ :total_vat_deductible,
58
+ ].map { |attr| Dorsale::ExpenseGun::ExpenseLine.t(attr) }
59
+ end
60
+
61
+ def table_body
62
+ expense.expense_lines.map do |line|
63
+ [
64
+ line.name.to_s,
65
+ line.category.to_s,
66
+ H.date(line.date),
67
+ H.euros(line.total_all_taxes),
68
+ H.euros(line.company_part),
69
+ H.euros(line.employee_payback),
70
+ H.euros(line.vat),
71
+ H.euros(line.total_vat_deductible),
72
+ ]
73
+ end
74
+ end
75
+ end
@@ -16,4 +16,6 @@
16
16
  - if policy(@expense).cancel?
17
17
  = bs_button dorsale.cancel_expense_gun_expense_path(@expense), action: :cancel, method: "patch", confirm: true, icon: :times, class: "btn btn-xs btn-warning"
18
18
 
19
+ = download_button url_for(format: :pdf)
20
+
19
21
  = print_button
@@ -0,0 +1,3 @@
1
+ filename = "Note de frais - #{@expense.user} - #{@expense}.pdf"
2
+ response.headers["Content-Disposition"] = %(inline; filename="#{filename}")
3
+ Dorsale::ExpenseGun::ExpensePdf.new(@expense).tap(&:build).render_with_attachments
@@ -48,7 +48,7 @@ module Dorsale
48
48
  end
49
49
  end
50
50
 
51
- initializer "check_pundit_policies" do
51
+ config.after_initialize do
52
52
  Dorsale::PolicyChecker.check! if Rails.env.test? || Rails.env.development?
53
53
  end
54
54
 
@@ -1,3 +1,3 @@
1
1
  module Dorsale
2
- VERSION = "3.14.3"
2
+ VERSION = "3.14.8"
3
3
  end
@@ -4,7 +4,7 @@ describe Dorsale::Alexandrie::AttachmentsController, type: :controller do
4
4
  routes { Dorsale::Engine.routes }
5
5
 
6
6
  let(:uploaded_file) {
7
- path = Rails.root.join("..", "..", "spec", "files", "pdf.pdf").to_s
7
+ path = Rails.root.join("../../spec/files/pdf.pdf").to_s
8
8
  Rack::Test::UploadedFile.new(path, "application/pdf")
9
9
  }
10
10
 
@@ -42,4 +42,14 @@ RSpec.describe ::Dorsale::ExpenseGun::ExpensesController, type: :controller do
42
42
  end
43
43
  end # describe "filters"
44
44
  end # describe "#index"
45
+
46
+ describe "#show" do
47
+ render_views
48
+
49
+ it "should be ok as PDF" do
50
+ expense = create(:expense_gun_expense, user: user)
51
+ get :show, params: {id: expense, format: :pdf}
52
+ expect(response).to be_ok
53
+ end
54
+ end # describe "#show"
45
55
  end
@@ -1,10 +1,11 @@
1
1
  FactoryBot.define do
2
2
  factory :expense_gun_expense_line, class: ::Dorsale::ExpenseGun::ExpenseLine do
3
- name { Faker::Lorem.sentence(3) }
4
- category { FactoryBot.create(:expense_gun_category) }
5
- date { Faker::Date.backward(30) }
6
- total_all_taxes { rand(100..1000) }
7
- vat { rand(1..(total_all_taxes/5)) }
8
- company_part { [25, 50, 75, 100].sample }
3
+ expense { build(:expense_gun_expense) }
4
+ name { Faker::Lorem.sentence(3) }
5
+ category { build(:expense_gun_category) }
6
+ date { Faker::Date.backward(30) }
7
+ total_all_taxes { rand(100..1000) }
8
+ vat { rand(1..(total_all_taxes/5)) }
9
+ company_part { [25, 50, 75, 100].sample }
9
10
  end
10
11
  end
@@ -18,12 +18,6 @@ RSpec.describe ::Dorsale::ExpenseGun::ExpenseLine, type: :model do
18
18
  expect(expense_line).to be_valid
19
19
  end
20
20
 
21
- it "#vat should be decimal" do
22
- expense_line = build(:expense_gun_expense_line, vat: 123)
23
- expect(expense_line.valid?).to be false
24
- expect(expense_line.vat).to eq 123.0
25
- end
26
-
27
21
  it "#company_part should be 100 as default" do
28
22
  expense_line = described_class.new
29
23
  expect(expense_line.company_part).to eq 100.0
@@ -0,0 +1,11 @@
1
+ require "rails_helper"
2
+
3
+ describe Dorsale::ExpenseGun::ExpensePdf do
4
+ it "should work" do
5
+ expense = create(:expense_gun_expense_line).expense
6
+
7
+ expect {
8
+ described_class.new(expense).tap(&:build).render_with_attachments
9
+ }.to_not raise_error
10
+ end
11
+ end
@@ -52,4 +52,6 @@ RSpec.configure do |config|
52
52
  # The different available types are documented in the features, such as in
53
53
  # https://relishapp.com/rspec/rspec-rails/docs
54
54
  config.infer_spec_type_from_file_location!
55
+
56
+ Prawn::Font::AFM.hide_m17n_warning = true
55
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorsale
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.14.3
4
+ version: 3.14.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - agilidée
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 4.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '99'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 4.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '99'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: agilibox
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +37,9 @@ dependencies:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
39
  version: 1.0.10
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '99'
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,272 +47,289 @@ dependencies:
38
47
  - - ">="
39
48
  - !ruby/object:Gem::Version
40
49
  version: 1.0.10
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '99'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: virtus
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - ">="
57
+ - - "<"
46
58
  - !ruby/object:Gem::Version
47
- version: '0'
59
+ version: '99'
48
60
  type: :runtime
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
- - - ">="
64
+ - - "<"
53
65
  - !ruby/object:Gem::Version
54
- version: '0'
66
+ version: '99'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: slim-rails
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - ">="
71
+ - - "<"
60
72
  - !ruby/object:Gem::Version
61
- version: '0'
73
+ version: '99'
62
74
  type: :runtime
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
66
- - - ">="
78
+ - - "<"
67
79
  - !ruby/object:Gem::Version
68
- version: '0'
80
+ version: '99'
69
81
  - !ruby/object:Gem::Dependency
70
82
  name: simple_form
71
83
  requirement: !ruby/object:Gem::Requirement
72
84
  requirements:
73
- - - ">="
85
+ - - "<"
74
86
  - !ruby/object:Gem::Version
75
- version: '0'
87
+ version: '99'
76
88
  type: :runtime
77
89
  prerelease: false
78
90
  version_requirements: !ruby/object:Gem::Requirement
79
91
  requirements:
80
- - - ">="
92
+ - - "<"
81
93
  - !ruby/object:Gem::Version
82
- version: '0'
94
+ version: '99'
83
95
  - !ruby/object:Gem::Dependency
84
96
  name: coffee-rails
85
97
  requirement: !ruby/object:Gem::Requirement
86
98
  requirements:
87
- - - ">="
99
+ - - "<"
88
100
  - !ruby/object:Gem::Version
89
- version: '0'
101
+ version: '99'
90
102
  type: :runtime
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
93
105
  requirements:
94
- - - ">="
106
+ - - "<"
95
107
  - !ruby/object:Gem::Version
96
- version: '0'
108
+ version: '99'
97
109
  - !ruby/object:Gem::Dependency
98
110
  name: jquery-rails
99
111
  requirement: !ruby/object:Gem::Requirement
100
112
  requirements:
101
- - - ">="
113
+ - - "<"
102
114
  - !ruby/object:Gem::Version
103
- version: '0'
115
+ version: '99'
104
116
  type: :runtime
105
117
  prerelease: false
106
118
  version_requirements: !ruby/object:Gem::Requirement
107
119
  requirements:
108
- - - ">="
120
+ - - "<"
109
121
  - !ruby/object:Gem::Version
110
- version: '0'
122
+ version: '99'
111
123
  - !ruby/object:Gem::Dependency
112
124
  name: kaminari
113
125
  requirement: !ruby/object:Gem::Requirement
114
126
  requirements:
115
- - - ">="
127
+ - - "<"
116
128
  - !ruby/object:Gem::Version
117
- version: '0'
129
+ version: '99'
118
130
  type: :runtime
119
131
  prerelease: false
120
132
  version_requirements: !ruby/object:Gem::Requirement
121
133
  requirements:
122
- - - ">="
134
+ - - "<"
123
135
  - !ruby/object:Gem::Version
124
- version: '0'
136
+ version: '99'
125
137
  - !ruby/object:Gem::Dependency
126
138
  name: turbolinks
127
139
  requirement: !ruby/object:Gem::Requirement
128
140
  requirements:
129
- - - ">="
141
+ - - "<"
130
142
  - !ruby/object:Gem::Version
131
- version: '0'
143
+ version: '99'
132
144
  type: :runtime
133
145
  prerelease: false
134
146
  version_requirements: !ruby/object:Gem::Requirement
135
147
  requirements:
136
- - - ">="
148
+ - - "<"
137
149
  - !ruby/object:Gem::Version
138
- version: '0'
150
+ version: '99'
139
151
  - !ruby/object:Gem::Dependency
140
152
  name: bootstrap-kaminari-views
141
153
  requirement: !ruby/object:Gem::Requirement
142
154
  requirements:
143
- - - ">="
155
+ - - "<"
144
156
  - !ruby/object:Gem::Version
145
- version: '0'
157
+ version: '99'
146
158
  type: :runtime
147
159
  prerelease: false
148
160
  version_requirements: !ruby/object:Gem::Requirement
149
161
  requirements:
150
- - - ">="
162
+ - - "<"
151
163
  - !ruby/object:Gem::Version
152
- version: '0'
164
+ version: '99'
153
165
  - !ruby/object:Gem::Dependency
154
166
  name: rails-i18n
155
167
  requirement: !ruby/object:Gem::Requirement
156
168
  requirements:
157
- - - ">="
169
+ - - "<"
158
170
  - !ruby/object:Gem::Version
159
- version: '0'
171
+ version: '99'
160
172
  type: :runtime
161
173
  prerelease: false
162
174
  version_requirements: !ruby/object:Gem::Requirement
163
175
  requirements:
164
- - - ">="
176
+ - - "<"
165
177
  - !ruby/object:Gem::Version
166
- version: '0'
178
+ version: '99'
167
179
  - !ruby/object:Gem::Dependency
168
180
  name: pundit
169
181
  requirement: !ruby/object:Gem::Requirement
170
182
  requirements:
171
- - - ">="
183
+ - - "<"
172
184
  - !ruby/object:Gem::Version
173
- version: '0'
185
+ version: '99'
174
186
  type: :runtime
175
187
  prerelease: false
176
188
  version_requirements: !ruby/object:Gem::Requirement
177
189
  requirements:
178
- - - ">="
190
+ - - "<"
179
191
  - !ruby/object:Gem::Version
180
- version: '0'
192
+ version: '99'
181
193
  - !ruby/object:Gem::Dependency
182
194
  name: kaminari-i18n
183
195
  requirement: !ruby/object:Gem::Requirement
184
196
  requirements:
185
- - - ">="
197
+ - - "<"
186
198
  - !ruby/object:Gem::Version
187
- version: '0'
199
+ version: '99'
188
200
  type: :runtime
189
201
  prerelease: false
190
202
  version_requirements: !ruby/object:Gem::Requirement
191
203
  requirements:
192
- - - ">="
204
+ - - "<"
193
205
  - !ruby/object:Gem::Version
194
- version: '0'
206
+ version: '99'
195
207
  - !ruby/object:Gem::Dependency
196
208
  name: bootstrap-datepicker-rails
197
209
  requirement: !ruby/object:Gem::Requirement
198
210
  requirements:
199
- - - ">="
211
+ - - "<"
200
212
  - !ruby/object:Gem::Version
201
- version: '0'
213
+ version: '99'
202
214
  type: :runtime
203
215
  prerelease: false
204
216
  version_requirements: !ruby/object:Gem::Requirement
205
217
  requirements:
206
- - - ">="
218
+ - - "<"
207
219
  - !ruby/object:Gem::Version
208
- version: '0'
220
+ version: '99'
209
221
  - !ruby/object:Gem::Dependency
210
222
  name: carrierwave
211
223
  requirement: !ruby/object:Gem::Requirement
212
224
  requirements:
213
- - - ">="
225
+ - - "<"
214
226
  - !ruby/object:Gem::Version
215
- version: '0'
227
+ version: '99'
216
228
  type: :runtime
217
229
  prerelease: false
218
230
  version_requirements: !ruby/object:Gem::Requirement
219
231
  requirements:
220
- - - ">="
232
+ - - "<"
221
233
  - !ruby/object:Gem::Version
222
- version: '0'
234
+ version: '99'
223
235
  - !ruby/object:Gem::Dependency
224
236
  name: aasm
225
237
  requirement: !ruby/object:Gem::Requirement
226
238
  requirements:
227
- - - ">="
239
+ - - "<"
228
240
  - !ruby/object:Gem::Version
229
- version: '0'
241
+ version: '99'
230
242
  type: :runtime
231
243
  prerelease: false
232
244
  version_requirements: !ruby/object:Gem::Requirement
233
245
  requirements:
234
- - - ">="
246
+ - - "<"
235
247
  - !ruby/object:Gem::Version
236
- version: '0'
248
+ version: '99'
237
249
  - !ruby/object:Gem::Dependency
238
250
  name: pdf-reader
239
251
  requirement: !ruby/object:Gem::Requirement
240
252
  requirements:
241
- - - ">="
253
+ - - "<"
242
254
  - !ruby/object:Gem::Version
243
- version: '0'
255
+ version: '99'
244
256
  type: :runtime
245
257
  prerelease: false
246
258
  version_requirements: !ruby/object:Gem::Requirement
247
259
  requirements:
248
- - - ">="
260
+ - - "<"
249
261
  - !ruby/object:Gem::Version
250
- version: '0'
262
+ version: '99'
251
263
  - !ruby/object:Gem::Dependency
252
264
  name: prawn
253
265
  requirement: !ruby/object:Gem::Requirement
254
266
  requirements:
255
- - - ">="
267
+ - - "<"
256
268
  - !ruby/object:Gem::Version
257
- version: '0'
269
+ version: '99'
258
270
  type: :runtime
259
271
  prerelease: false
260
272
  version_requirements: !ruby/object:Gem::Requirement
261
273
  requirements:
262
- - - ">="
274
+ - - "<"
263
275
  - !ruby/object:Gem::Version
264
- version: '0'
276
+ version: '99'
265
277
  - !ruby/object:Gem::Dependency
266
278
  name: prawn-table
267
279
  requirement: !ruby/object:Gem::Requirement
268
280
  requirements:
269
- - - ">="
281
+ - - "<"
270
282
  - !ruby/object:Gem::Version
271
- version: '0'
283
+ version: '99'
272
284
  type: :runtime
273
285
  prerelease: false
274
286
  version_requirements: !ruby/object:Gem::Requirement
275
287
  requirements:
276
- - - ">="
288
+ - - "<"
289
+ - !ruby/object:Gem::Version
290
+ version: '99'
291
+ - !ruby/object:Gem::Dependency
292
+ name: ttfunk
293
+ requirement: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - "<"
296
+ - !ruby/object:Gem::Version
297
+ version: 1.6.0
298
+ type: :runtime
299
+ prerelease: false
300
+ version_requirements: !ruby/object:Gem::Requirement
301
+ requirements:
302
+ - - "<"
277
303
  - !ruby/object:Gem::Version
278
- version: '0'
304
+ version: 1.6.0
279
305
  - !ruby/object:Gem::Dependency
280
306
  name: combine_pdf
281
307
  requirement: !ruby/object:Gem::Requirement
282
308
  requirements:
283
- - - ">="
309
+ - - "<"
284
310
  - !ruby/object:Gem::Version
285
- version: '0'
311
+ version: '99'
286
312
  type: :runtime
287
313
  prerelease: false
288
314
  version_requirements: !ruby/object:Gem::Requirement
289
315
  requirements:
290
- - - ">="
316
+ - - "<"
291
317
  - !ruby/object:Gem::Version
292
- version: '0'
318
+ version: '99'
293
319
  - !ruby/object:Gem::Dependency
294
320
  name: cocoon
295
321
  requirement: !ruby/object:Gem::Requirement
296
322
  requirements:
297
- - - ">="
323
+ - - "<"
298
324
  - !ruby/object:Gem::Version
299
- version: '0'
325
+ version: '99'
300
326
  type: :runtime
301
327
  prerelease: false
302
328
  version_requirements: !ruby/object:Gem::Requirement
303
329
  requirements:
304
- - - ">="
330
+ - - "<"
305
331
  - !ruby/object:Gem::Version
306
- version: '0'
332
+ version: '99'
307
333
  - !ruby/object:Gem::Dependency
308
334
  name: acts-as-taggable-on
309
335
  requirement: !ruby/object:Gem::Requirement
@@ -311,6 +337,9 @@ dependencies:
311
337
  - - ">="
312
338
  - !ruby/object:Gem::Version
313
339
  version: 4.0.0
340
+ - - "<"
341
+ - !ruby/object:Gem::Version
342
+ version: '99'
314
343
  type: :runtime
315
344
  prerelease: false
316
345
  version_requirements: !ruby/object:Gem::Requirement
@@ -318,90 +347,93 @@ dependencies:
318
347
  - - ">="
319
348
  - !ruby/object:Gem::Version
320
349
  version: 4.0.0
350
+ - - "<"
351
+ - !ruby/object:Gem::Version
352
+ version: '99'
321
353
  - !ruby/object:Gem::Dependency
322
354
  name: mini_magick
323
355
  requirement: !ruby/object:Gem::Requirement
324
356
  requirements:
325
- - - ">="
357
+ - - "<"
326
358
  - !ruby/object:Gem::Version
327
- version: '0'
359
+ version: '99'
328
360
  type: :runtime
329
361
  prerelease: false
330
362
  version_requirements: !ruby/object:Gem::Requirement
331
363
  requirements:
332
- - - ">="
364
+ - - "<"
333
365
  - !ruby/object:Gem::Version
334
- version: '0'
366
+ version: '99'
335
367
  - !ruby/object:Gem::Dependency
336
368
  name: rake
337
369
  requirement: !ruby/object:Gem::Requirement
338
370
  requirements:
339
- - - ">="
371
+ - - "<"
340
372
  - !ruby/object:Gem::Version
341
- version: '0'
373
+ version: '99'
342
374
  type: :runtime
343
375
  prerelease: false
344
376
  version_requirements: !ruby/object:Gem::Requirement
345
377
  requirements:
346
- - - ">="
378
+ - - "<"
347
379
  - !ruby/object:Gem::Version
348
- version: '0'
380
+ version: '99'
349
381
  - !ruby/object:Gem::Dependency
350
382
  name: axlsx
351
383
  requirement: !ruby/object:Gem::Requirement
352
384
  requirements:
353
- - - ">="
385
+ - - "<"
354
386
  - !ruby/object:Gem::Version
355
- version: '0'
387
+ version: '99'
356
388
  type: :runtime
357
389
  prerelease: false
358
390
  version_requirements: !ruby/object:Gem::Requirement
359
391
  requirements:
360
- - - ">="
392
+ - - "<"
361
393
  - !ruby/object:Gem::Version
362
- version: '0'
394
+ version: '99'
363
395
  - !ruby/object:Gem::Dependency
364
396
  name: zip-zip
365
397
  requirement: !ruby/object:Gem::Requirement
366
398
  requirements:
367
- - - ">="
399
+ - - "<"
368
400
  - !ruby/object:Gem::Version
369
- version: '0'
401
+ version: '99'
370
402
  type: :runtime
371
403
  prerelease: false
372
404
  version_requirements: !ruby/object:Gem::Requirement
373
405
  requirements:
374
- - - ">="
406
+ - - "<"
375
407
  - !ruby/object:Gem::Version
376
- version: '0'
408
+ version: '99'
377
409
  - !ruby/object:Gem::Dependency
378
410
  name: nilify_blanks
379
411
  requirement: !ruby/object:Gem::Requirement
380
412
  requirements:
381
- - - ">="
413
+ - - "<"
382
414
  - !ruby/object:Gem::Version
383
- version: '0'
415
+ version: '99'
384
416
  type: :runtime
385
417
  prerelease: false
386
418
  version_requirements: !ruby/object:Gem::Requirement
387
419
  requirements:
388
- - - ">="
420
+ - - "<"
389
421
  - !ruby/object:Gem::Version
390
- version: '0'
422
+ version: '99'
391
423
  - !ruby/object:Gem::Dependency
392
424
  name: chartkick
393
425
  requirement: !ruby/object:Gem::Requirement
394
426
  requirements:
395
- - - ">="
427
+ - - "<"
396
428
  - !ruby/object:Gem::Version
397
- version: '0'
429
+ version: '99'
398
430
  type: :runtime
399
431
  prerelease: false
400
432
  version_requirements: !ruby/object:Gem::Requirement
401
433
  requirements:
402
- - - ">="
434
+ - - "<"
403
435
  - !ruby/object:Gem::Version
404
- version: '0'
436
+ version: '99'
405
437
  description: Run your own business.
406
438
  email:
407
439
  - contact@agilidee.com
@@ -544,6 +576,7 @@ files:
544
576
  - app/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf.rb
545
577
  - app/pdfs/dorsale/billing_machine/quotation_pdf_common_methods.rb
546
578
  - app/pdfs/dorsale/billing_machine/quotation_single_vat_pdf.rb
579
+ - app/pdfs/dorsale/expense_gun/expense_pdf.rb
547
580
  - app/pdfs/dorsale/prawn_helpers.rb
548
581
  - app/policies/dorsale/alexandrie/attachment_policy_helper.rb
549
582
  - app/policies/dorsale/alexandrie/attachment_type_policy_helper.rb
@@ -704,6 +737,7 @@ files:
704
737
  - app/views/dorsale/expense_gun/expenses/index.html.slim
705
738
  - app/views/dorsale/expense_gun/expenses/new.html.slim
706
739
  - app/views/dorsale/expense_gun/expenses/show.html.slim
740
+ - app/views/dorsale/expense_gun/expenses/show.pdf.ruby
707
741
  - app/views/dorsale/flyboy/task_comments/_form.html.slim
708
742
  - app/views/dorsale/flyboy/task_comments/_increment_buttons.html.slim
709
743
  - app/views/dorsale/flyboy/task_comments/_list.html.slim
@@ -912,6 +946,7 @@ files:
912
946
  - spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb
913
947
  - spec/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf_spec.rb
914
948
  - spec/pdfs/dorsale/billing_machine/quotation_single_vat_pdf_spec.rb
949
+ - spec/pdfs/dorsale/expense_gun/expense_pdf_spec.rb
915
950
  - spec/rails_helper.rb
916
951
  - spec/routing/dorsale/alexandrie/attachments_routing_spec.rb
917
952
  - spec/routing/dorsale/billing_machine/invoices_routing_spec.rb
@@ -935,7 +970,8 @@ files:
935
970
  - spec/support/devise.rb
936
971
  - spec/support/message_delivery.rb
937
972
  homepage: https://github.com/agilidee/dorsale
938
- licenses: []
973
+ licenses:
974
+ - Nonstandard
939
975
  metadata: {}
940
976
  post_install_message:
941
977
  rdoc_options: []
@@ -1007,6 +1043,7 @@ test_files:
1007
1043
  - spec/factories/flyboy_task_comments.rb
1008
1044
  - spec/files/avatar.png
1009
1045
  - spec/files/pdf.pdf
1046
+ - spec/pdfs/dorsale/expense_gun/expense_pdf_spec.rb
1010
1047
  - spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb
1011
1048
  - spec/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf_spec.rb
1012
1049
  - spec/pdfs/dorsale/billing_machine/quotation_single_vat_pdf_spec.rb