dorsale 3.3.0 → 3.4.0

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.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/app/assets/stylesheets/dorsale/engines/flyboy.sass +0 -7
  4. data/app/controllers/dorsale/alexandrie/attachments_controller.rb +7 -0
  5. data/app/controllers/dorsale/application_controller.rb +1 -0
  6. data/app/controllers/dorsale/billing_machine/invoices_controller.rb +2 -0
  7. data/app/controllers/dorsale/billing_machine/quotations_controller.rb +2 -0
  8. data/app/controllers/dorsale/customer_vault/application_controller.rb +0 -4
  9. data/app/controllers/dorsale/customer_vault/people_controller.rb +0 -2
  10. data/app/controllers/dorsale/expense_gun/expenses_controller.rb +2 -2
  11. data/app/controllers/dorsale/flyboy/application_controller.rb +0 -3
  12. data/app/controllers/dorsale/flyboy/tasks_controller.rb +2 -8
  13. data/app/helpers/dorsale/all_helpers.rb +1 -0
  14. data/app/helpers/dorsale/flyboy/application_helper.rb +3 -12
  15. data/app/helpers/dorsale/link_helper.rb +10 -0
  16. data/app/helpers/dorsale/sorting_helper.rb +48 -0
  17. data/app/mailers/dorsale/billing_machine/invoice_mailer.rb +1 -1
  18. data/app/models/concerns/dorsale/model_i18n.rb +25 -0
  19. data/app/models/concerns/dorsale/model_to_s.rb +9 -0
  20. data/{lib → app/models/concerns}/dorsale/polymorphic_id.rb +1 -3
  21. data/app/models/concerns/dorsale/search.rb +30 -0
  22. data/app/models/dorsale/alexandrie/attachment.rb +7 -6
  23. data/app/models/dorsale/application_record.rb +6 -0
  24. data/app/models/dorsale/billing_machine/invoice.rb +2 -6
  25. data/app/models/dorsale/billing_machine/quotation.rb +4 -4
  26. data/app/models/dorsale/customer_vault/person.rb +0 -2
  27. data/app/models/dorsale/expense_gun/expense.rb +8 -8
  28. data/app/models/dorsale/flyboy/task.rb +5 -16
  29. data/app/pdfs/concerns/dorsale/alexandrie/prawn/render_with_attachments.rb +13 -0
  30. data/app/pdfs/dorsale/billing_machine/invoice_single_vat_pdf.rb +6 -1
  31. data/app/pdfs/dorsale/billing_machine/quotation_pdf_common_methods.rb +0 -18
  32. data/app/policies/dorsale/expense_gun/expense_policy_helper.rb +1 -1
  33. data/app/policies/dorsale/flyboy/task_policy_helper.rb +0 -10
  34. data/app/policies/dorsale/policy_checker.rb +0 -1
  35. data/app/services/dorsale/billing_machine/pdf_file_generator.rb +37 -0
  36. data/app/services/dorsale/expense_gun/expense/copy.rb +1 -1
  37. data/app/uploaders/dorsale/pdf_uploader.rb +5 -0
  38. data/app/views/dorsale/billing_machine/invoices/_details.html.slim +1 -1
  39. data/app/views/dorsale/billing_machine/invoices/_list.html.slim +1 -2
  40. data/app/views/dorsale/billing_machine/invoices/index.pdf.ruby +2 -2
  41. data/app/views/dorsale/billing_machine/invoices/show.pdf.ruby +1 -1
  42. data/app/views/dorsale/billing_machine/quotations/_list.html.slim +1 -2
  43. data/app/views/dorsale/billing_machine/quotations/show.pdf.ruby +1 -1
  44. data/app/views/dorsale/comments/_comment.html.slim +1 -1
  45. data/app/views/dorsale/customer_vault/links/new.html.slim +1 -1
  46. data/app/views/dorsale/customer_vault/people/_list_item.html.slim +1 -1
  47. data/app/views/dorsale/flyboy/tasks/_form.html.slim +3 -0
  48. data/app/views/dorsale/flyboy/tasks/_index_actions.html.slim +3 -0
  49. data/app/views/dorsale/flyboy/tasks/_list.html.slim +6 -12
  50. data/app/views/dorsale/flyboy/tasks/_summary_list.html.slim +2 -3
  51. data/app/views/dorsale/flyboy/tasks/_taskable_context.html.slim +1 -1
  52. data/app/views/dorsale/flyboy/tasks/index.xlsx.ruby +2 -4
  53. data/config/locales/billing_machine.en.yml +1 -0
  54. data/config/locales/billing_machine.fr.yml +1 -0
  55. data/config/locales/common.en.yml +3 -3
  56. data/config/locales/expense_gun.fr.yml +12 -12
  57. data/config/locales/flyboy.en.yml +1 -28
  58. data/config/locales/flyboy.fr.yml +1 -28
  59. data/config/routes.rb +0 -7
  60. data/db/migrate/20170127131537_delete_folders.rb +10 -0
  61. data/db/migrate/20170127151610_fix_expense_state.rb +6 -0
  62. data/db/migrate/20170127155636_billing_machine_add_pdf_file.rb +16 -0
  63. data/features/expense_gun_expenses.feature +3 -3
  64. data/features/flyboy_task_comments.feature +1 -1
  65. data/features/flyboy_tasks.feature +3 -4
  66. data/features/flyboy_tasks_summary.feature +0 -1
  67. data/features/step_definitions/billing_machine_invoices_steps.rb +1 -0
  68. data/features/step_definitions/expense_gun_expenses_steps.rb +2 -2
  69. data/features/step_definitions/flyboy_tasks_steps.rb +2 -3
  70. data/features/step_definitions/tasks_summary_steps.rb +3 -3
  71. data/lib/dorsale/active_record_comma_type_cast.rb +12 -0
  72. data/lib/dorsale/core_and_rails_ext.rb +3 -0
  73. data/lib/dorsale/engine.rb +6 -10
  74. data/lib/dorsale/form_back_url.rb +3 -1
  75. data/lib/dorsale/version.rb +1 -1
  76. data/spec/controllers/dorsale/billing_machine/invoices_controller_spec.rb +4 -1
  77. data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +7 -30
  78. data/spec/factories/flyboy_tasks.rb +0 -2
  79. data/spec/helpers/dorsale/flyboy/application_helper_spec.rb +0 -64
  80. data/spec/helpers/dorsale/sorting_helper_spec.rb +74 -0
  81. data/spec/libs/{active_record_comma_type_cast_spec.rb → dorsale/active_record_comma_type_cast_spec.rb} +1 -1
  82. data/spec/libs/dorsale/polymorphic_id_spec.rb +8 -7
  83. data/spec/models/{dorsale → concerns/dorsale}/model_i18n_spec.rb +0 -0
  84. data/spec/models/dorsale/expense_gun/expense_spec.rb +19 -19
  85. data/spec/models/dorsale/flyboy/task_spec.rb +2 -1
  86. data/spec/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf_spec.rb +18 -13
  87. data/spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb +18 -13
  88. data/spec/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf_spec.rb +18 -13
  89. data/spec/pdfs/dorsale/billing_machine/quotation_single_vat_pdf_spec.rb +25 -19
  90. data/spec/services/dorsale/expense_gun/expense/copy_spec.rb +1 -1
  91. metadata +21 -52
  92. data/app/controllers/dorsale/flyboy/folders_controller.rb +0 -140
  93. data/app/filters/dorsale/flyboy/small_data/filter_for_folders.rb +0 -5
  94. data/app/filters/dorsale/flyboy/small_data/filter_strategy_by_status.rb +0 -9
  95. data/app/models/dorsale/flyboy/folder.rb +0 -72
  96. data/app/policies/dorsale/flyboy/folder_policy_helper.rb +0 -26
  97. data/app/views/dorsale/flyboy/folders/_context.html.slim +0 -18
  98. data/app/views/dorsale/flyboy/folders/_context_actions.html.slim +0 -10
  99. data/app/views/dorsale/flyboy/folders/_form.html.slim +0 -17
  100. data/app/views/dorsale/flyboy/folders/_index_actions.html.slim +0 -2
  101. data/app/views/dorsale/flyboy/folders/_list.html.slim +0 -41
  102. data/app/views/dorsale/flyboy/folders/edit.html.slim +0 -8
  103. data/app/views/dorsale/flyboy/folders/index.html.slim +0 -22
  104. data/app/views/dorsale/flyboy/folders/new.html.slim +0 -2
  105. data/app/views/dorsale/flyboy/folders/show.html.slim +0 -14
  106. data/features/flyboy_folders.feature +0 -109
  107. data/features/step_definitions/flyboy_folders_steps.rb +0 -170
  108. data/lib/active_record_comma_type_cast.rb +0 -12
  109. data/lib/dorsale/alexandrie/prawn.rb +0 -17
  110. data/lib/dorsale/model_i18n.rb +0 -30
  111. data/lib/dorsale/model_to_s.rb +0 -13
  112. data/lib/dorsale/search.rb +0 -34
  113. data/spec/controllers/dorsale/flyboy/folders_controller_spec.rb +0 -113
  114. data/spec/factories/flyboy_folders.rb +0 -7
  115. data/spec/models/dorsale/flyboy/folder_spec.rb +0 -103
  116. data/spec/routing/dorsale/flyboy/folders_routing_spec.rb +0 -44
@@ -16,12 +16,14 @@ describe ::Dorsale::BillingMachine::InvoiceSingleVatPdf, pdfs: true do
16
16
  i
17
17
  }
18
18
 
19
+ let(:generate!) {
20
+ Dorsale::BillingMachine::PdfFileGenerator.(invoice)
21
+ invoice.reload
22
+ }
23
+
19
24
  let(:content) {
20
- tempfile = Tempfile.new("pdf")
21
- tempfile.binmode
22
- tempfile.write(invoice.to_pdf)
23
- tempfile.flush
24
- Yomu.new(tempfile.path).text
25
+ generate!
26
+ Yomu.new(invoice.pdf_file.path).text
25
27
  }
26
28
 
27
29
  it "should display global vat rate" do
@@ -30,12 +32,15 @@ describe ::Dorsale::BillingMachine::InvoiceSingleVatPdf, pdfs: true do
30
32
  expect(content).to_not include "TVA %"
31
33
  end
32
34
 
33
- it "should work with empty invoice" do
34
- id_card = Dorsale::BillingMachine::IdCard.new
35
- invoice = ::Dorsale::BillingMachine::Invoice.new(id_card: id_card)
36
-
37
- expect {
38
- invoice.to_pdf
39
- }.to_not raise_error
40
- end
35
+ describe "empty invoice" do
36
+ let(:invoice) {
37
+ id_card = Dorsale::BillingMachine::IdCard.new
38
+ id_card.save(validate: false)
39
+ invoice = ::Dorsale::BillingMachine::Invoice.create!(id_card: id_card)
40
+ }
41
+
42
+ it "should work" do
43
+ expect { generate! }.to_not raise_error
44
+ end
45
+ end # describe "empty invoice"
41
46
  end
@@ -16,12 +16,14 @@ describe ::Dorsale::BillingMachine::QuotationMultipleVatPdf, pdfs: true do
16
16
  q
17
17
  }
18
18
 
19
+ let(:generate!) {
20
+ Dorsale::BillingMachine::PdfFileGenerator.(quotation)
21
+ quotation.reload
22
+ }
23
+
19
24
  let(:content) {
20
- tempfile = Tempfile.new("pdf")
21
- tempfile.binmode
22
- tempfile.write(quotation.to_pdf)
23
- tempfile.flush
24
- Yomu.new(tempfile.path).text
25
+ generate!
26
+ Yomu.new(quotation.pdf_file.path).text
25
27
  }
26
28
 
27
29
  it "should not display global vat rate" do
@@ -30,13 +32,16 @@ describe ::Dorsale::BillingMachine::QuotationMultipleVatPdf, pdfs: true do
30
32
  expect(content).to include "TVA %"
31
33
  end
32
34
 
33
- it "should work with empty quotation" do
34
- id_card = Dorsale::BillingMachine::IdCard.new
35
- quotation = ::Dorsale::BillingMachine::Quotation.new(id_card: id_card)
36
-
37
- expect {
38
- quotation.to_pdf
39
- }.to_not raise_error
40
- end
35
+ describe "empty quotation" do
36
+ let(:quotation) {
37
+ id_card = Dorsale::BillingMachine::IdCard.new
38
+ id_card.save(validate: false)
39
+ quotation = ::Dorsale::BillingMachine::Quotation.create!(id_card: id_card)
40
+ }
41
+
42
+ it "should work" do
43
+ expect { generate! }.to_not raise_error
44
+ end
45
+ end # describe "empty quotation"
41
46
 
42
47
  end
@@ -16,39 +16,45 @@ describe ::Dorsale::BillingMachine::QuotationSingleVatPdf, pdfs: true do
16
16
  q
17
17
  }
18
18
 
19
- let(:content) {
20
- tempfile = Tempfile.new("pdf")
21
- tempfile.binmode
22
- tempfile.write(quotation.to_pdf)
23
- tempfile.flush
24
- Yomu.new(tempfile.path).text
19
+ let(:generate!) {
20
+ Dorsale::BillingMachine::PdfFileGenerator.(quotation)
21
+ quotation.reload
25
22
  }
26
23
 
24
+ let(:content) {
25
+ generate!
26
+ Yomu.new(quotation.pdf_file.path).text
27
+ }
27
28
  it "should display global vat rate" do
28
29
  expect(content).to include "TVA 19,60 %"
29
30
  expect(content).to_not include "MONTANT TVA"
30
31
  expect(content).to_not include "TVA %"
31
32
  end
32
33
 
33
- it "should work with empty quotation" do
34
- id_card = Dorsale::BillingMachine::IdCard.new
35
- quotation = ::Dorsale::BillingMachine::Quotation.new(id_card: id_card)
34
+ describe "empty quotation" do
35
+ let(:quotation) {
36
+ id_card = Dorsale::BillingMachine::IdCard.new
37
+ id_card.save(validate: false)
38
+ quotation = ::Dorsale::BillingMachine::Quotation.create!(id_card: id_card)
39
+ }
36
40
 
37
- expect {
38
- quotation.to_pdf
39
- }.to_not raise_error
40
- end
41
+ it "should work" do
42
+ expect { generate! }.to_not raise_error
43
+ end
44
+ end # describe "empty quotation"
41
45
 
42
- describe "attachment" do
43
- it "should build attachments" do
46
+ describe "attachments" do
47
+ let(:quotation) {
44
48
  quotation = create(:billing_machine_quotation)
45
49
  attachment = create(:alexandrie_attachment, attachable: quotation)
50
+ quotation
51
+ }
46
52
 
47
- text = Yomu.read(:text, quotation.to_pdf).split("\n")
48
- expect(text).to include "page 1"
49
- expect(text).to include "page 2"
53
+ it "should build attachments" do
54
+ expect(content).to include "page 1"
55
+ expect(content).to include "page 2"
50
56
  end
51
- end
57
+ end # describe "attachments"
52
58
 
53
59
  end
54
60
 
@@ -59,7 +59,7 @@ RSpec.describe ::Dorsale::ExpenseGun::Expense::Copy do
59
59
 
60
60
  it "should reset expense state" do
61
61
  expect(expense.state).to eq "accepted"
62
- expect(copy.state).to eq "new"
62
+ expect(copy.state).to eq "draft"
63
63
  end
64
64
 
65
65
  it "should reset expense created_at/updated_at" do
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.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - agilidée
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-17 00:00:00.000000000 Z
11
+ date: 2017-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -276,20 +276,6 @@ dependencies:
276
276
  - - ">="
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
- - !ruby/object:Gem::Dependency
280
- name: handles_sortable_columns
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - ">="
284
- - !ruby/object:Gem::Version
285
- version: '0'
286
- type: :runtime
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - ">="
291
- - !ruby/object:Gem::Version
292
- version: '0'
293
279
  - !ruby/object:Gem::Dependency
294
280
  name: pdf-reader
295
281
  requirement: !ruby/object:Gem::Requirement
@@ -549,7 +535,6 @@ files:
549
535
  - app/controllers/dorsale/expense_gun/categories_controller.rb
550
536
  - app/controllers/dorsale/expense_gun/expenses_controller.rb
551
537
  - app/controllers/dorsale/flyboy/application_controller.rb
552
- - app/controllers/dorsale/flyboy/folders_controller.rb
553
538
  - app/controllers/dorsale/flyboy/task_comments_controller.rb
554
539
  - app/controllers/dorsale/flyboy/tasks_controller.rb
555
540
  - app/controllers/dorsale/small_data/filters_controller.rb
@@ -561,10 +546,8 @@ files:
561
546
  - app/filters/dorsale/billing_machine/small_data/filter_strategy_by_state.rb
562
547
  - app/filters/dorsale/customer_vault/small_data/filter_for_people.rb
563
548
  - app/filters/dorsale/expense_gun/small_data/filter_for_expenses.rb
564
- - app/filters/dorsale/flyboy/small_data/filter_for_folders.rb
565
549
  - app/filters/dorsale/flyboy/small_data/filter_for_tasks.rb
566
550
  - app/filters/dorsale/flyboy/small_data/filter_strategy_by_done.rb
567
- - app/filters/dorsale/flyboy/small_data/filter_strategy_by_status.rb
568
551
  - app/filters/dorsale/small_data/filter.rb
569
552
  - app/filters/dorsale/small_data/filter_strategy.rb
570
553
  - app/filters/dorsale/small_data/filter_strategy_by_date.rb
@@ -589,6 +572,7 @@ files:
589
572
  - app/helpers/dorsale/link_helper.rb
590
573
  - app/helpers/dorsale/pagination_helper.rb
591
574
  - app/helpers/dorsale/routes_helper.rb
575
+ - app/helpers/dorsale/sorting_helper.rb
592
576
  - app/helpers/dorsale/text_helper.rb
593
577
  - app/helpers/dorsale/users_helper.rb
594
578
  - app/libs/dorsale/sortable_uuid_generator.rb
@@ -598,6 +582,10 @@ files:
598
582
  - app/mailers/dorsale/user_mailer.rb
599
583
  - app/models/concerns/dorsale/active_record_uuid_concern.rb
600
584
  - app/models/concerns/dorsale/default_values_concern.rb
585
+ - app/models/concerns/dorsale/model_i18n.rb
586
+ - app/models/concerns/dorsale/model_to_s.rb
587
+ - app/models/concerns/dorsale/polymorphic_id.rb
588
+ - app/models/concerns/dorsale/search.rb
601
589
  - app/models/dorsale/address.rb
602
590
  - app/models/dorsale/alexandrie.rb
603
591
  - app/models/dorsale/alexandrie/attachment.rb
@@ -624,13 +612,13 @@ files:
624
612
  - app/models/dorsale/expense_gun/expense.rb
625
613
  - app/models/dorsale/expense_gun/expense_line.rb
626
614
  - app/models/dorsale/flyboy.rb
627
- - app/models/dorsale/flyboy/folder.rb
628
615
  - app/models/dorsale/flyboy/task.rb
629
616
  - app/models/dorsale/flyboy/task_comment.rb
630
617
  - app/models/dorsale/small_data.rb
631
618
  - app/models/dorsale/users/active.rb
632
619
  - app/models/dorsale/users/avatar.rb
633
620
  - app/models/dorsale/users/password_generation.rb
621
+ - app/pdfs/concerns/dorsale/alexandrie/prawn/render_with_attachments.rb
634
622
  - app/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf.rb
635
623
  - app/pdfs/dorsale/billing_machine/invoice_single_vat_pdf.rb
636
624
  - app/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf.rb
@@ -648,7 +636,6 @@ files:
648
636
  - app/policies/dorsale/customer_vault/person_policy_helper.rb
649
637
  - app/policies/dorsale/expense_gun/category_policy_helper.rb
650
638
  - app/policies/dorsale/expense_gun/expense_policy_helper.rb
651
- - app/policies/dorsale/flyboy/folder_policy_helper.rb
652
639
  - app/policies/dorsale/flyboy/task_policy_helper.rb
653
640
  - app/policies/dorsale/policy_checker.rb
654
641
  - app/policies/user_policy_helper.rb
@@ -657,6 +644,7 @@ files:
657
644
  - app/serializers/dorsale/serializers/xlsx.rb
658
645
  - app/services/dorsale/billing_machine/invoice/copy.rb
659
646
  - app/services/dorsale/billing_machine/invoice/statistics.rb
647
+ - app/services/dorsale/billing_machine/pdf_file_generator.rb
660
648
  - app/services/dorsale/billing_machine/quotation/copy.rb
661
649
  - app/services/dorsale/billing_machine/quotation/statistics.rb
662
650
  - app/services/dorsale/billing_machine/quotation/to_invoice.rb
@@ -667,6 +655,7 @@ files:
667
655
  - app/uploaders/dorsale/application_uploader.rb
668
656
  - app/uploaders/dorsale/avatar_uploader.rb
669
657
  - app/uploaders/dorsale/image_uploader.rb
658
+ - app/uploaders/dorsale/pdf_uploader.rb
670
659
  - app/views/dorsale/_actions.html.slim
671
660
  - app/views/dorsale/_flash.html.slim
672
661
  - app/views/dorsale/_page.html.slim
@@ -768,15 +757,6 @@ files:
768
757
  - app/views/dorsale/expense_gun/expenses/new.html.slim
769
758
  - app/views/dorsale/expense_gun/expenses/show.html.slim
770
759
  - app/views/dorsale/flyboy/_filters.html.slim
771
- - app/views/dorsale/flyboy/folders/_context.html.slim
772
- - app/views/dorsale/flyboy/folders/_context_actions.html.slim
773
- - app/views/dorsale/flyboy/folders/_form.html.slim
774
- - app/views/dorsale/flyboy/folders/_index_actions.html.slim
775
- - app/views/dorsale/flyboy/folders/_list.html.slim
776
- - app/views/dorsale/flyboy/folders/edit.html.slim
777
- - app/views/dorsale/flyboy/folders/index.html.slim
778
- - app/views/dorsale/flyboy/folders/new.html.slim
779
- - app/views/dorsale/flyboy/folders/show.html.slim
780
760
  - app/views/dorsale/flyboy/task_comments/_list.html.slim
781
761
  - app/views/dorsale/flyboy/task_mailer/new_task.html.slim
782
762
  - app/views/dorsale/flyboy/task_mailer/term_email.html.slim
@@ -851,6 +831,9 @@ files:
851
831
  - db/migrate/20160910164840_create_dorsale_customer_vault_people.rb
852
832
  - db/migrate/20160930073538_create_dorsale_alexandrie_attachment_types.rb
853
833
  - db/migrate/20161118071317_dorsale_add_missing_indexes.rb
834
+ - db/migrate/20170127131537_delete_folders.rb
835
+ - db/migrate/20170127151610_fix_expense_state.rb
836
+ - db/migrate/20170127155636_billing_machine_add_pdf_file.rb
854
837
  - features/access.feature
855
838
  - features/billing_machine_id_cards.feature
856
839
  - features/billing_machine_invoices.feature
@@ -867,7 +850,6 @@ files:
867
850
  - features/customer_vault_tasks.feature
868
851
  - features/expense_gun_categories.feature
869
852
  - features/expense_gun_expenses.feature
870
- - features/flyboy_folders.feature
871
853
  - features/flyboy_task_comments.feature
872
854
  - features/flyboy_tasks.feature
873
855
  - features/flyboy_tasks_summary.feature
@@ -889,7 +871,6 @@ files:
889
871
  - features/step_definitions/customer_vault_tasks_steps.rb
890
872
  - features/step_definitions/expense_gun_categories_steps.rb
891
873
  - features/step_definitions/expense_gun_expenses_steps.rb
892
- - features/step_definitions/flyboy_folders_steps.rb
893
874
  - features/step_definitions/flyboy_task_comments_steps.rb
894
875
  - features/step_definitions/flyboy_tasks_steps.rb
895
876
  - features/step_definitions/tasks_summary_steps.rb
@@ -908,16 +889,12 @@ files:
908
889
  - features/support/simplecov.rb
909
890
  - features/support/turbolinks.rb
910
891
  - features/users_management.feature
911
- - lib/active_record_comma_type_cast.rb
912
892
  - lib/dorsale.rb
913
- - lib/dorsale/alexandrie/prawn.rb
893
+ - lib/dorsale/active_record_comma_type_cast.rb
894
+ - lib/dorsale/core_and_rails_ext.rb
914
895
  - lib/dorsale/engine.rb
915
896
  - lib/dorsale/file_loader.rb
916
897
  - lib/dorsale/form_back_url.rb
917
- - lib/dorsale/model_i18n.rb
918
- - lib/dorsale/model_to_s.rb
919
- - lib/dorsale/polymorphic_id.rb
920
- - lib/dorsale/search.rb
921
898
  - lib/dorsale/simple_form.rb
922
899
  - lib/dorsale/simple_form_bootstrap.rb
923
900
  - lib/dorsale/version.rb
@@ -928,7 +905,6 @@ files:
928
905
  - spec/controllers/dorsale/comments_controller_spec.rb
929
906
  - spec/controllers/dorsale/customer_vault/people_controller_spec.rb
930
907
  - spec/controllers/dorsale/expense_gun/expenses_controller_spec.rb
931
- - spec/controllers/dorsale/flyboy/folders_controller_spec.rb
932
908
  - spec/controllers/dorsale/flyboy/task_comments_controller_spec.rb
933
909
  - spec/controllers/dorsale/flyboy/tasks_controller_spec.rb
934
910
  - spec/controllers/dorsale/small_data/filters_controller_spec.rb
@@ -948,7 +924,6 @@ files:
948
924
  - spec/factories/expense_gun_categories.rb
949
925
  - spec/factories/expense_gun_expense_lines.rb
950
926
  - spec/factories/expense_gun_expenses.rb
951
- - spec/factories/flyboy_folders.rb
952
927
  - spec/factories/flyboy_task_comments.rb
953
928
  - spec/factories/flyboy_tasks.rb
954
929
  - spec/files/avatar.png
@@ -957,11 +932,13 @@ files:
957
932
  - spec/helpers/dorsale/flyboy/application_helper_spec.rb
958
933
  - spec/helpers/dorsale/form_helper_spec.rb
959
934
  - spec/helpers/dorsale/link_helper_spec.rb
935
+ - spec/helpers/dorsale/sorting_helper_spec.rb
960
936
  - spec/helpers/dorsale/text_helper_spec.rb
961
- - spec/libs/active_record_comma_type_cast_spec.rb
937
+ - spec/libs/dorsale/active_record_comma_type_cast_spec.rb
962
938
  - spec/libs/dorsale/polymorphic_id_spec.rb
963
939
  - spec/libs/dorsale/sortable_uuid_generator_spec.rb
964
940
  - spec/mailers/user_mailer.rb
941
+ - spec/models/concerns/dorsale/model_i18n_spec.rb
965
942
  - spec/models/dorsale/address_spec.rb
966
943
  - spec/models/dorsale/alexandrie/attachment_spec.rb
967
944
  - spec/models/dorsale/alexandrie/attachment_type_spec.rb
@@ -979,11 +956,9 @@ files:
979
956
  - spec/models/dorsale/expense_gun/category_spec.rb
980
957
  - spec/models/dorsale/expense_gun/expense_line_spec.rb
981
958
  - spec/models/dorsale/expense_gun/expense_spec.rb
982
- - spec/models/dorsale/flyboy/folder_spec.rb
983
959
  - spec/models/dorsale/flyboy/task_comment_spec.rb
984
960
  - spec/models/dorsale/flyboy/task_spec.rb
985
961
  - spec/models/dorsale/i18n_spec.rb
986
- - spec/models/dorsale/model_i18n_spec.rb
987
962
  - spec/models/dorsale/users_spec.rb
988
963
  - spec/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf_spec.rb
989
964
  - spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb
@@ -996,7 +971,6 @@ files:
996
971
  - spec/routing/dorsale/comments_routing_spec.rb
997
972
  - spec/routing/dorsale/customer_vault/people_routing_spec.rb
998
973
  - spec/routing/dorsale/expense_gun/expenses_routing_spec.rb
999
- - spec/routing/dorsale/flyboy/folders_routing_spec.rb
1000
974
  - spec/routing/dorsale/flyboy/task_comments_routing_spec.rb
1001
975
  - spec/routing/dorsale/flyboy/tasks_routing_spec.rb
1002
976
  - spec/routing/dorsale/small_data_routing_spec.rb
@@ -1039,7 +1013,6 @@ test_files:
1039
1013
  - spec/controllers/dorsale/comments_controller_spec.rb
1040
1014
  - spec/controllers/dorsale/customer_vault/people_controller_spec.rb
1041
1015
  - spec/controllers/dorsale/expense_gun/expenses_controller_spec.rb
1042
- - spec/controllers/dorsale/flyboy/folders_controller_spec.rb
1043
1016
  - spec/controllers/dorsale/flyboy/task_comments_controller_spec.rb
1044
1017
  - spec/controllers/dorsale/flyboy/tasks_controller_spec.rb
1045
1018
  - spec/controllers/dorsale/small_data/filters_controller_spec.rb
@@ -1059,7 +1032,6 @@ test_files:
1059
1032
  - spec/factories/expense_gun_categories.rb
1060
1033
  - spec/factories/expense_gun_expense_lines.rb
1061
1034
  - spec/factories/expense_gun_expenses.rb
1062
- - spec/factories/flyboy_folders.rb
1063
1035
  - spec/factories/flyboy_task_comments.rb
1064
1036
  - spec/factories/flyboy_tasks.rb
1065
1037
  - spec/files/avatar.png
@@ -1068,11 +1040,13 @@ test_files:
1068
1040
  - spec/helpers/dorsale/flyboy/application_helper_spec.rb
1069
1041
  - spec/helpers/dorsale/form_helper_spec.rb
1070
1042
  - spec/helpers/dorsale/link_helper_spec.rb
1043
+ - spec/helpers/dorsale/sorting_helper_spec.rb
1071
1044
  - spec/helpers/dorsale/text_helper_spec.rb
1072
- - spec/libs/active_record_comma_type_cast_spec.rb
1045
+ - spec/libs/dorsale/active_record_comma_type_cast_spec.rb
1073
1046
  - spec/libs/dorsale/polymorphic_id_spec.rb
1074
1047
  - spec/libs/dorsale/sortable_uuid_generator_spec.rb
1075
1048
  - spec/mailers/user_mailer.rb
1049
+ - spec/models/concerns/dorsale/model_i18n_spec.rb
1076
1050
  - spec/models/dorsale/address_spec.rb
1077
1051
  - spec/models/dorsale/alexandrie/attachment_spec.rb
1078
1052
  - spec/models/dorsale/alexandrie/attachment_type_spec.rb
@@ -1090,11 +1064,9 @@ test_files:
1090
1064
  - spec/models/dorsale/expense_gun/category_spec.rb
1091
1065
  - spec/models/dorsale/expense_gun/expense_line_spec.rb
1092
1066
  - spec/models/dorsale/expense_gun/expense_spec.rb
1093
- - spec/models/dorsale/flyboy/folder_spec.rb
1094
1067
  - spec/models/dorsale/flyboy/task_comment_spec.rb
1095
1068
  - spec/models/dorsale/flyboy/task_spec.rb
1096
1069
  - spec/models/dorsale/i18n_spec.rb
1097
- - spec/models/dorsale/model_i18n_spec.rb
1098
1070
  - spec/models/dorsale/users_spec.rb
1099
1071
  - spec/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf_spec.rb
1100
1072
  - spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb
@@ -1107,7 +1079,6 @@ test_files:
1107
1079
  - spec/routing/dorsale/comments_routing_spec.rb
1108
1080
  - spec/routing/dorsale/customer_vault/people_routing_spec.rb
1109
1081
  - spec/routing/dorsale/expense_gun/expenses_routing_spec.rb
1110
- - spec/routing/dorsale/flyboy/folders_routing_spec.rb
1111
1082
  - spec/routing/dorsale/flyboy/task_comments_routing_spec.rb
1112
1083
  - spec/routing/dorsale/flyboy/tasks_routing_spec.rb
1113
1084
  - spec/routing/dorsale/small_data_routing_spec.rb
@@ -1136,7 +1107,6 @@ test_files:
1136
1107
  - features/customer_vault_tasks.feature
1137
1108
  - features/expense_gun_categories.feature
1138
1109
  - features/expense_gun_expenses.feature
1139
- - features/flyboy_folders.feature
1140
1110
  - features/flyboy_task_comments.feature
1141
1111
  - features/flyboy_tasks.feature
1142
1112
  - features/flyboy_tasks_summary.feature
@@ -1158,7 +1128,6 @@ test_files:
1158
1128
  - features/step_definitions/customer_vault_tasks_steps.rb
1159
1129
  - features/step_definitions/expense_gun_categories_steps.rb
1160
1130
  - features/step_definitions/expense_gun_expenses_steps.rb
1161
- - features/step_definitions/flyboy_folders_steps.rb
1162
1131
  - features/step_definitions/flyboy_task_comments_steps.rb
1163
1132
  - features/step_definitions/flyboy_tasks_steps.rb
1164
1133
  - features/step_definitions/tasks_summary_steps.rb
@@ -1,140 +0,0 @@
1
- class Dorsale::Flyboy::FoldersController < ::Dorsale::Flyboy::ApplicationController
2
- before_action :set_objects, only: [
3
- :show,
4
- :edit,
5
- :update,
6
- :destroy,
7
- :open,
8
- :close
9
- ]
10
-
11
- def index
12
- authorize model, :list?
13
-
14
- @folders ||= scope.all
15
-
16
- @order ||= sortable_column_order do |column, direction|
17
- case column
18
- when "name", "status"
19
- %(LOWER(dorsale_flyboy_folders.#{column}) #{direction})
20
- when "progress"
21
- %(dorsale_flyboy_folders.#{column} #{direction})
22
- else
23
- params["sort"] = "status"
24
- "status ASC"
25
- end
26
- end
27
-
28
- @filters ||= Dorsale::Flyboy::SmallData::FilterForFolders.new(cookies)
29
-
30
- @folders = @folders.order(@order)
31
- @folders = @filters.apply(@folders)
32
- @folders = @folders.search(params[:q])
33
- @folders = @folders.page(params[:page])
34
- end
35
-
36
- def show
37
- authorize @folder, :read?
38
- end
39
-
40
- def new
41
- @folder ||= scope.new
42
-
43
- authorize @folder, :create?
44
- end
45
-
46
- def create
47
- @folder ||= scope.new(folder_params_for_create)
48
-
49
- authorize @folder, :create?
50
-
51
- if @folder.save
52
- flash[:success] = t("messages.folders.create_ok")
53
- redirect_to @folder
54
- else
55
- render :new
56
- end
57
- end
58
-
59
- def edit
60
- authorize @folder, :update?
61
- end
62
-
63
- def update
64
- authorize @folder, :update?
65
-
66
- if @folder.update(folder_params_for_update)
67
- flash[:success] = t("messages.folders.update_ok")
68
-
69
- if @folder.closed?
70
- redirect_to dorsale.flyboy_folders_path
71
- else
72
- redirect_to @folder
73
- end
74
- else
75
- render :edit
76
- end
77
- end
78
-
79
- def destroy
80
- authorize @folder, :delete?
81
-
82
- @folder.destroy
83
-
84
- redirect_to url_for(action: :index, id: nil)
85
- end
86
-
87
- def open
88
- authorize @folder, :open?
89
-
90
- if @folder.open!
91
- flash[:success] = t("messages.folders.open_ok")
92
- else
93
- flash[:danger] = t("messages.folders.open_error")
94
- end
95
-
96
- redirect_to @folder
97
- end
98
-
99
- def close
100
- authorize @folder, :close?
101
-
102
- if @folder.close!
103
- flash[:success] = t("messages.folders.close_ok")
104
- else
105
- flash[:danger] = t("messages.folders.close_error")
106
- end
107
-
108
- redirect_to dorsale.flyboy_folders_path
109
- end
110
-
111
- private
112
-
113
- def model
114
- ::Dorsale::Flyboy::Folder
115
- end
116
-
117
- def set_objects
118
- @folder = scope.find(params[:id])
119
- end
120
-
121
- def permitted_params
122
- [
123
- :name,
124
- :description,
125
- ]
126
- end
127
-
128
- def folder_params
129
- params.fetch(:folder, {}).permit(permitted_params)
130
- end
131
-
132
- def folder_params_for_create
133
- folder_params
134
- end
135
-
136
- def folder_params_for_update
137
- folder_params
138
- end
139
-
140
- end