dorsale 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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