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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/app/assets/stylesheets/dorsale/engines/flyboy.sass +0 -7
- data/app/controllers/dorsale/alexandrie/attachments_controller.rb +7 -0
- data/app/controllers/dorsale/application_controller.rb +1 -0
- data/app/controllers/dorsale/billing_machine/invoices_controller.rb +2 -0
- data/app/controllers/dorsale/billing_machine/quotations_controller.rb +2 -0
- data/app/controllers/dorsale/customer_vault/application_controller.rb +0 -4
- data/app/controllers/dorsale/customer_vault/people_controller.rb +0 -2
- data/app/controllers/dorsale/expense_gun/expenses_controller.rb +2 -2
- data/app/controllers/dorsale/flyboy/application_controller.rb +0 -3
- data/app/controllers/dorsale/flyboy/tasks_controller.rb +2 -8
- data/app/helpers/dorsale/all_helpers.rb +1 -0
- data/app/helpers/dorsale/flyboy/application_helper.rb +3 -12
- data/app/helpers/dorsale/link_helper.rb +10 -0
- data/app/helpers/dorsale/sorting_helper.rb +48 -0
- data/app/mailers/dorsale/billing_machine/invoice_mailer.rb +1 -1
- data/app/models/concerns/dorsale/model_i18n.rb +25 -0
- data/app/models/concerns/dorsale/model_to_s.rb +9 -0
- data/{lib → app/models/concerns}/dorsale/polymorphic_id.rb +1 -3
- data/app/models/concerns/dorsale/search.rb +30 -0
- data/app/models/dorsale/alexandrie/attachment.rb +7 -6
- data/app/models/dorsale/application_record.rb +6 -0
- data/app/models/dorsale/billing_machine/invoice.rb +2 -6
- data/app/models/dorsale/billing_machine/quotation.rb +4 -4
- data/app/models/dorsale/customer_vault/person.rb +0 -2
- data/app/models/dorsale/expense_gun/expense.rb +8 -8
- data/app/models/dorsale/flyboy/task.rb +5 -16
- data/app/pdfs/concerns/dorsale/alexandrie/prawn/render_with_attachments.rb +13 -0
- data/app/pdfs/dorsale/billing_machine/invoice_single_vat_pdf.rb +6 -1
- data/app/pdfs/dorsale/billing_machine/quotation_pdf_common_methods.rb +0 -18
- data/app/policies/dorsale/expense_gun/expense_policy_helper.rb +1 -1
- data/app/policies/dorsale/flyboy/task_policy_helper.rb +0 -10
- data/app/policies/dorsale/policy_checker.rb +0 -1
- data/app/services/dorsale/billing_machine/pdf_file_generator.rb +37 -0
- data/app/services/dorsale/expense_gun/expense/copy.rb +1 -1
- data/app/uploaders/dorsale/pdf_uploader.rb +5 -0
- data/app/views/dorsale/billing_machine/invoices/_details.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_list.html.slim +1 -2
- data/app/views/dorsale/billing_machine/invoices/index.pdf.ruby +2 -2
- data/app/views/dorsale/billing_machine/invoices/show.pdf.ruby +1 -1
- data/app/views/dorsale/billing_machine/quotations/_list.html.slim +1 -2
- data/app/views/dorsale/billing_machine/quotations/show.pdf.ruby +1 -1
- data/app/views/dorsale/comments/_comment.html.slim +1 -1
- data/app/views/dorsale/customer_vault/links/new.html.slim +1 -1
- data/app/views/dorsale/customer_vault/people/_list_item.html.slim +1 -1
- data/app/views/dorsale/flyboy/tasks/_form.html.slim +3 -0
- data/app/views/dorsale/flyboy/tasks/_index_actions.html.slim +3 -0
- data/app/views/dorsale/flyboy/tasks/_list.html.slim +6 -12
- data/app/views/dorsale/flyboy/tasks/_summary_list.html.slim +2 -3
- data/app/views/dorsale/flyboy/tasks/_taskable_context.html.slim +1 -1
- data/app/views/dorsale/flyboy/tasks/index.xlsx.ruby +2 -4
- data/config/locales/billing_machine.en.yml +1 -0
- data/config/locales/billing_machine.fr.yml +1 -0
- data/config/locales/common.en.yml +3 -3
- data/config/locales/expense_gun.fr.yml +12 -12
- data/config/locales/flyboy.en.yml +1 -28
- data/config/locales/flyboy.fr.yml +1 -28
- data/config/routes.rb +0 -7
- data/db/migrate/20170127131537_delete_folders.rb +10 -0
- data/db/migrate/20170127151610_fix_expense_state.rb +6 -0
- data/db/migrate/20170127155636_billing_machine_add_pdf_file.rb +16 -0
- data/features/expense_gun_expenses.feature +3 -3
- data/features/flyboy_task_comments.feature +1 -1
- data/features/flyboy_tasks.feature +3 -4
- data/features/flyboy_tasks_summary.feature +0 -1
- data/features/step_definitions/billing_machine_invoices_steps.rb +1 -0
- data/features/step_definitions/expense_gun_expenses_steps.rb +2 -2
- data/features/step_definitions/flyboy_tasks_steps.rb +2 -3
- data/features/step_definitions/tasks_summary_steps.rb +3 -3
- data/lib/dorsale/active_record_comma_type_cast.rb +12 -0
- data/lib/dorsale/core_and_rails_ext.rb +3 -0
- data/lib/dorsale/engine.rb +6 -10
- data/lib/dorsale/form_back_url.rb +3 -1
- data/lib/dorsale/version.rb +1 -1
- data/spec/controllers/dorsale/billing_machine/invoices_controller_spec.rb +4 -1
- data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +7 -30
- data/spec/factories/flyboy_tasks.rb +0 -2
- data/spec/helpers/dorsale/flyboy/application_helper_spec.rb +0 -64
- data/spec/helpers/dorsale/sorting_helper_spec.rb +74 -0
- data/spec/libs/{active_record_comma_type_cast_spec.rb → dorsale/active_record_comma_type_cast_spec.rb} +1 -1
- data/spec/libs/dorsale/polymorphic_id_spec.rb +8 -7
- data/spec/models/{dorsale → concerns/dorsale}/model_i18n_spec.rb +0 -0
- data/spec/models/dorsale/expense_gun/expense_spec.rb +19 -19
- data/spec/models/dorsale/flyboy/task_spec.rb +2 -1
- data/spec/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf_spec.rb +18 -13
- data/spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb +18 -13
- data/spec/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf_spec.rb +18 -13
- data/spec/pdfs/dorsale/billing_machine/quotation_single_vat_pdf_spec.rb +25 -19
- data/spec/services/dorsale/expense_gun/expense/copy_spec.rb +1 -1
- metadata +21 -52
- data/app/controllers/dorsale/flyboy/folders_controller.rb +0 -140
- data/app/filters/dorsale/flyboy/small_data/filter_for_folders.rb +0 -5
- data/app/filters/dorsale/flyboy/small_data/filter_strategy_by_status.rb +0 -9
- data/app/models/dorsale/flyboy/folder.rb +0 -72
- data/app/policies/dorsale/flyboy/folder_policy_helper.rb +0 -26
- data/app/views/dorsale/flyboy/folders/_context.html.slim +0 -18
- data/app/views/dorsale/flyboy/folders/_context_actions.html.slim +0 -10
- data/app/views/dorsale/flyboy/folders/_form.html.slim +0 -17
- data/app/views/dorsale/flyboy/folders/_index_actions.html.slim +0 -2
- data/app/views/dorsale/flyboy/folders/_list.html.slim +0 -41
- data/app/views/dorsale/flyboy/folders/edit.html.slim +0 -8
- data/app/views/dorsale/flyboy/folders/index.html.slim +0 -22
- data/app/views/dorsale/flyboy/folders/new.html.slim +0 -2
- data/app/views/dorsale/flyboy/folders/show.html.slim +0 -14
- data/features/flyboy_folders.feature +0 -109
- data/features/step_definitions/flyboy_folders_steps.rb +0 -170
- data/lib/active_record_comma_type_cast.rb +0 -12
- data/lib/dorsale/alexandrie/prawn.rb +0 -17
- data/lib/dorsale/model_i18n.rb +0 -30
- data/lib/dorsale/model_to_s.rb +0 -13
- data/lib/dorsale/search.rb +0 -34
- data/spec/controllers/dorsale/flyboy/folders_controller_spec.rb +0 -113
- data/spec/factories/flyboy_folders.rb +0 -7
- data/spec/models/dorsale/flyboy/folder_spec.rb +0 -103
- data/spec/routing/dorsale/flyboy/folders_routing_spec.rb +0 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
= render "#{@task.taskable.class.to_s.tableize}/context", taskable: @task.taskable
|
|
1
|
+
= render "#{@task.taskable.class.to_s.tableize}/context", taskable: @task.taskable if @task.taskable
|
|
@@ -2,7 +2,6 @@ data = [
|
|
|
2
2
|
[
|
|
3
3
|
model.t(:taskable),
|
|
4
4
|
model.t(:taskable_type),
|
|
5
|
-
model.t(:taskable_progress),
|
|
6
5
|
model.t(:name),
|
|
7
6
|
model.t(:progress),
|
|
8
7
|
model.t(:term),
|
|
@@ -11,9 +10,8 @@ data = [
|
|
|
11
10
|
|
|
12
11
|
@tasks_without_pagination.each do |task|
|
|
13
12
|
data << [
|
|
14
|
-
task.taskable.
|
|
15
|
-
task.taskable.class.t,
|
|
16
|
-
percentage(task.taskable.try(:progress)),
|
|
13
|
+
task.taskable.to_s,
|
|
14
|
+
(task.taskable.class.t if task.taskable),
|
|
17
15
|
task.name,
|
|
18
16
|
percentage(task.progress),
|
|
19
17
|
date(task.term),
|
|
@@ -176,9 +176,9 @@ en:
|
|
|
176
176
|
tomorrow: "Tomorrow"
|
|
177
177
|
today: "Today"
|
|
178
178
|
yesterday: "Yesterday"
|
|
179
|
-
this_week: "This
|
|
180
|
-
this_month: "This
|
|
181
|
-
this_year: "This
|
|
179
|
+
this_week: "This week"
|
|
180
|
+
this_month: "This month"
|
|
181
|
+
this_year: "This year"
|
|
182
182
|
last_week: "Last week"
|
|
183
183
|
last_month: "Last month"
|
|
184
184
|
last_year: "Last year"
|
|
@@ -2,12 +2,12 @@ fr:
|
|
|
2
2
|
expense_gun:
|
|
3
3
|
expense:
|
|
4
4
|
messages:
|
|
5
|
-
created
|
|
6
|
-
updated
|
|
7
|
-
|
|
8
|
-
accepted
|
|
9
|
-
refused
|
|
10
|
-
canceled
|
|
5
|
+
created : "La note de frais a été créée."
|
|
6
|
+
updated : "La note de frais a été mise à jour."
|
|
7
|
+
submitted : "La note de frais a été soumise."
|
|
8
|
+
accepted : "La note de frais a été acceptée."
|
|
9
|
+
refused : "La note de frais a été refusée."
|
|
10
|
+
canceled : "La note de frais a été annulée."
|
|
11
11
|
|
|
12
12
|
actions:
|
|
13
13
|
create : "Nouvelle note de frais"
|
|
@@ -61,9 +61,9 @@ fr:
|
|
|
61
61
|
vat_deductible : "TVA déductible"
|
|
62
62
|
|
|
63
63
|
dorsale/expense_gun/expense/state:
|
|
64
|
-
all
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
accepted
|
|
68
|
-
refused
|
|
69
|
-
canceled
|
|
64
|
+
all : "Toutes"
|
|
65
|
+
draft : "Brouillon"
|
|
66
|
+
submitted : "Soumise"
|
|
67
|
+
accepted : "Accepée"
|
|
68
|
+
refused : "Refusée"
|
|
69
|
+
canceled : "Annulée"
|
|
@@ -2,15 +2,6 @@ en:
|
|
|
2
2
|
messages:
|
|
3
3
|
forbidden: "This page dont exist"
|
|
4
4
|
|
|
5
|
-
folders:
|
|
6
|
-
title_create: "New folder"
|
|
7
|
-
create_ok: "Folder created"
|
|
8
|
-
update_ok: "Folder updated"
|
|
9
|
-
open_ok: "Folder is open again"
|
|
10
|
-
open_error: "One error occurs, folder can't be opened"
|
|
11
|
-
close_ok: "Folder closed"
|
|
12
|
-
close_error: "One error occurs, folder can't be closed"
|
|
13
|
-
|
|
14
5
|
tasks:
|
|
15
6
|
create_ok: "Task created"
|
|
16
7
|
update_ok: "Task updated"
|
|
@@ -33,15 +24,8 @@ en:
|
|
|
33
24
|
actions:
|
|
34
25
|
label: "Actions"
|
|
35
26
|
|
|
36
|
-
folders:
|
|
37
|
-
new_task: "New task"
|
|
38
|
-
|
|
39
27
|
activerecord:
|
|
40
28
|
models:
|
|
41
|
-
dorsale/flyboy/folder:
|
|
42
|
-
one: "Folder"
|
|
43
|
-
other: "Folders"
|
|
44
|
-
|
|
45
29
|
dorsale/flyboy/task:
|
|
46
30
|
one: "Task"
|
|
47
31
|
other: "Tasks"
|
|
@@ -51,26 +35,15 @@ en:
|
|
|
51
35
|
other: "Task Comments"
|
|
52
36
|
|
|
53
37
|
attributes:
|
|
54
|
-
dorsale/flyboy/
|
|
55
|
-
folderable: "Origin"
|
|
56
|
-
name: "Name"
|
|
57
|
-
status: "Status"
|
|
58
|
-
description: "Description"
|
|
59
|
-
revision: "Revision"
|
|
60
|
-
status: "State"
|
|
61
|
-
progress: "Progress"
|
|
62
|
-
|
|
63
|
-
dorsale/flyboy/folder/status:
|
|
38
|
+
dorsale/flyboy/task/status:
|
|
64
39
|
all: "All status"
|
|
65
40
|
open: "Open"
|
|
66
|
-
pending: "Pending"
|
|
67
41
|
closed: "Closed"
|
|
68
42
|
unknown: "Unknown"
|
|
69
43
|
|
|
70
44
|
dorsale/flyboy/task:
|
|
71
45
|
taskable: "Origin"
|
|
72
46
|
taskable_type: "Origin type"
|
|
73
|
-
taskable_progerss: "Origin progress"
|
|
74
47
|
owner: "Owner"
|
|
75
48
|
owner_id: "Owner"
|
|
76
49
|
owner_guid: "Owner"
|
|
@@ -2,15 +2,6 @@ fr:
|
|
|
2
2
|
messages:
|
|
3
3
|
forbidden: "Cette page ne peut être trouvée"
|
|
4
4
|
|
|
5
|
-
folders:
|
|
6
|
-
title_create: "Nouveau dossier"
|
|
7
|
-
create_ok: "Le dossier a bien été créé"
|
|
8
|
-
update_ok: "Le dossier a bien été modifié"
|
|
9
|
-
open_ok: "Le dossier a été réouvert"
|
|
10
|
-
open_error: "Impossible de réouvrir le dossier"
|
|
11
|
-
close_ok: "Le dossier a été fermé"
|
|
12
|
-
close_error: "Impossible de fermer le dossier"
|
|
13
|
-
|
|
14
5
|
tasks:
|
|
15
6
|
create_ok: "La tâche a bien été créée"
|
|
16
7
|
update_ok: "La tâche a bien été modifiée"
|
|
@@ -33,15 +24,8 @@ fr:
|
|
|
33
24
|
actions:
|
|
34
25
|
label: "Actions"
|
|
35
26
|
|
|
36
|
-
folders:
|
|
37
|
-
new_task: "Nouvelle tâche"
|
|
38
|
-
|
|
39
27
|
activerecord:
|
|
40
28
|
models:
|
|
41
|
-
dorsale/flyboy/folder:
|
|
42
|
-
one: "Dossier"
|
|
43
|
-
other: "Dossiers"
|
|
44
|
-
|
|
45
29
|
dorsale/flyboy/task:
|
|
46
30
|
one: "Tâche"
|
|
47
31
|
other: "Tâches"
|
|
@@ -51,26 +35,15 @@ fr:
|
|
|
51
35
|
other: "Commentaires de tâche"
|
|
52
36
|
|
|
53
37
|
attributes:
|
|
54
|
-
dorsale/flyboy/
|
|
55
|
-
folderable: "Origine"
|
|
56
|
-
name: "Titre"
|
|
57
|
-
status: "Status"
|
|
58
|
-
description: "Description"
|
|
59
|
-
revision: "Révision"
|
|
60
|
-
status: "Etat"
|
|
61
|
-
progress: "Progression"
|
|
62
|
-
|
|
63
|
-
dorsale/flyboy/folder/status:
|
|
38
|
+
dorsale/flyboy/task/status:
|
|
64
39
|
all: "Tous les status"
|
|
65
40
|
open: "Ouvert"
|
|
66
|
-
pending: "En attente"
|
|
67
41
|
closed: "Fermé"
|
|
68
42
|
unknown: "Inconnu"
|
|
69
43
|
|
|
70
44
|
dorsale/flyboy/task:
|
|
71
45
|
taskable: "Origine"
|
|
72
46
|
taskable_type: "Type origine"
|
|
73
|
-
taskable_progress: "Progression origine"
|
|
74
47
|
owner: "Propriétaire"
|
|
75
48
|
owner_id: "Propriétaire"
|
|
76
49
|
owner_guid: "Propriétaire"
|
data/config/routes.rb
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
class DeleteFolders < ActiveRecord::Migration[5.0]
|
|
2
|
+
def change
|
|
3
|
+
# Comment this migration or only this line to keep or delete folders
|
|
4
|
+
raise "Hi ! Do you want to delete folders ?"
|
|
5
|
+
drop_table :dorsale_flyboy_folders
|
|
6
|
+
Dorsale::Flyboy::Task
|
|
7
|
+
.where(taskable_type: "Dorsale::Flyboy::Folder")
|
|
8
|
+
.update_all(taskable_type: nil, taskable_id: nil)
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class BillingMachineAddPdfFile < ActiveRecord::Migration[5.0]
|
|
2
|
+
def change
|
|
3
|
+
add_column :dorsale_billing_machine_invoices, :pdf_file, :string
|
|
4
|
+
add_column :dorsale_billing_machine_quotations, :pdf_file, :string
|
|
5
|
+
|
|
6
|
+
Dorsale::ApplicationRecord.reset_column_information
|
|
7
|
+
|
|
8
|
+
Dorsale::BillingMachine::Invoice.all.each do |invoice|
|
|
9
|
+
Dorsale::BillingMachine::PdfFileGenerator.(invoice)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
Dorsale::BillingMachine::Quotation.all.each do |quotation|
|
|
13
|
+
Dorsale::BillingMachine::PdfFileGenerator.(quotation)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -34,7 +34,7 @@ Feature: Expenses
|
|
|
34
34
|
When I go on the expense page
|
|
35
35
|
And I submit the expense
|
|
36
36
|
Then I am redirect to the expenses page
|
|
37
|
-
And the expense state is "
|
|
37
|
+
And the expense state is "submitted"
|
|
38
38
|
|
|
39
39
|
Scenario: Cancel expense
|
|
40
40
|
Given an existing expense
|
|
@@ -45,7 +45,7 @@ Feature: Expenses
|
|
|
45
45
|
|
|
46
46
|
Scenario: Accept expense
|
|
47
47
|
Given an existing expense
|
|
48
|
-
And the expense is
|
|
48
|
+
And the expense is submitted
|
|
49
49
|
When I go on the expense page
|
|
50
50
|
And I accept the expense
|
|
51
51
|
Then I am redirect to the expense page
|
|
@@ -53,7 +53,7 @@ Feature: Expenses
|
|
|
53
53
|
|
|
54
54
|
Scenario: Refuse expense
|
|
55
55
|
Given an existing expense
|
|
56
|
-
And the expense is
|
|
56
|
+
And the expense is submitted
|
|
57
57
|
When I go on the expense page
|
|
58
58
|
And I refuse the expense
|
|
59
59
|
Then I am redirect to the expenses page
|
|
@@ -4,11 +4,10 @@ Feature: Manage tasks
|
|
|
4
4
|
Given an authenticated user
|
|
5
5
|
|
|
6
6
|
Scenario: Create a task
|
|
7
|
-
|
|
8
|
-
When I consult this folder
|
|
7
|
+
When I go to the tasks section
|
|
9
8
|
And I create a task
|
|
10
|
-
Then
|
|
11
|
-
And the
|
|
9
|
+
Then the task is created
|
|
10
|
+
And I go to the tasks section
|
|
12
11
|
|
|
13
12
|
Scenario: Read a task
|
|
14
13
|
Given an existing task
|
|
@@ -339,6 +339,7 @@ end
|
|
|
339
339
|
When(/^he send invoice to customer by email$/) do
|
|
340
340
|
ActionMailer::Base.deliveries.clear
|
|
341
341
|
|
|
342
|
+
Dorsale::BillingMachine::PdfFileGenerator.(@invoice)
|
|
342
343
|
@invoice.customer = create(:customer_vault_corporation, email: "aaa@example.org")
|
|
343
344
|
@invoice.save!
|
|
344
345
|
|
|
@@ -90,8 +90,8 @@ Then(/^the expense state is "([^"]*)"$/) do |new_state|
|
|
|
90
90
|
expect(@expense.reload.state).to eq new_state
|
|
91
91
|
end
|
|
92
92
|
|
|
93
|
-
Given(/^the expense is
|
|
94
|
-
@expense.update_columns(state: "
|
|
93
|
+
Given(/^the expense is submitted$/) do
|
|
94
|
+
@expense.update_columns(state: "submitted")
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
When(/^I cancel the expense$/) do
|
|
@@ -14,8 +14,7 @@ Given(/^an existing task named "(.*?)"$/) do |name|
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
Given(/^an existing task$/) do
|
|
17
|
-
@task
|
|
18
|
-
@folder = @task.taskable
|
|
17
|
+
@task = create(:flyboy_task)
|
|
19
18
|
end
|
|
20
19
|
|
|
21
20
|
Given(/^an existing snoozable task$/) do
|
|
@@ -63,7 +62,7 @@ When(/^the flyboy daily crons run$/) do
|
|
|
63
62
|
end
|
|
64
63
|
|
|
65
64
|
When(/^I create a task$/) do
|
|
66
|
-
find("
|
|
65
|
+
find("a[href*='tasks/new']").click
|
|
67
66
|
find("form[id*=task] [type=submit]").click # First submit to see errors
|
|
68
67
|
fill_in "task_name", with: "I-am-the-task-title"
|
|
69
68
|
fill_in "task_description", with: "I-am-the-task-description"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Given(/^an expired tasks$/) do
|
|
2
|
-
@task = create(:flyboy_task,
|
|
2
|
+
@task = create(:flyboy_task, owner: @user, term: Time.zone.now.to_date-1)
|
|
3
3
|
end
|
|
4
4
|
|
|
5
5
|
Given(/^a task that expire tommorow$/) do
|
|
6
|
-
@task = create(:flyboy_task,
|
|
6
|
+
@task = create(:flyboy_task, owner: @user, term: Time.zone.now.to_date+1)
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
Given(/^a task that expire today$/) do
|
|
10
|
-
@task = create(:flyboy_task,
|
|
10
|
+
@task = create(:flyboy_task, owner: @user, term: Time.zone.now.to_date)
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
When(/^he go to the tasks summary page$/) do
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Dorsale::ActiveRecordCommaTypeCast
|
|
2
|
+
def cast_value(value)
|
|
3
|
+
if value.is_a?(String)
|
|
4
|
+
super value.gsub(",", ".").gsub(/[^-0-9\.]/, "")
|
|
5
|
+
else
|
|
6
|
+
super value
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
ActiveRecord::Type::Decimal.send(:prepend, Dorsale::ActiveRecordCommaTypeCast)
|
|
12
|
+
ActiveRecord::Type::Float.send(:prepend, Dorsale::ActiveRecordCommaTypeCast)
|
data/lib/dorsale/engine.rb
CHANGED
|
@@ -19,7 +19,6 @@ require "awesome_print"
|
|
|
19
19
|
require "kaminari-i18n"
|
|
20
20
|
require "carrierwave"
|
|
21
21
|
require "aasm"
|
|
22
|
-
require "handles_sortable_columns"
|
|
23
22
|
require "pdf/reader"
|
|
24
23
|
require "prawn"
|
|
25
24
|
require "prawn/table"
|
|
@@ -34,7 +33,6 @@ if Rails.env.test? || Rails.env.development?
|
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
require "acts-as-taggable-on"
|
|
37
|
-
require "active_record_comma_type_cast"
|
|
38
36
|
|
|
39
37
|
module Dorsale
|
|
40
38
|
class Engine < ::Rails::Engine
|
|
@@ -62,16 +60,14 @@ module Dorsale
|
|
|
62
60
|
Rails.application.config.assets.precompile += %w( dorsale/avatar.png )
|
|
63
61
|
end
|
|
64
62
|
|
|
63
|
+
initializer "simple_form" do
|
|
64
|
+
require "dorsale/simple_form"
|
|
65
|
+
require "dorsale/simple_form_bootstrap"
|
|
66
|
+
end
|
|
67
|
+
|
|
65
68
|
Mime::Type.register "application/vnd.ms-excel", :xls
|
|
66
69
|
Mime::Type.register "application/vnd.ms-excel", :xlsx
|
|
67
70
|
end
|
|
68
71
|
end
|
|
69
72
|
|
|
70
|
-
|
|
71
|
-
require "dorsale/polymorphic_id"
|
|
72
|
-
require "dorsale/simple_form"
|
|
73
|
-
require "dorsale/simple_form_bootstrap"
|
|
74
|
-
require "dorsale/model_i18n"
|
|
75
|
-
require "dorsale/model_to_s"
|
|
76
|
-
require "dorsale/alexandrie/prawn"
|
|
77
|
-
require "dorsale/form_back_url"
|
|
73
|
+
require_relative "core_and_rails_ext"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
module Dorsale::FormBackUrl
|
|
2
2
|
def back_url_tag
|
|
3
3
|
tag(:input,
|
|
4
4
|
:type => "hidden",
|
|
@@ -14,3 +14,5 @@ ActionView::Helpers::FormTagHelper.module_eval do
|
|
|
14
14
|
output.safe_concat("</form>")
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
|
+
|
|
18
|
+
ActionView::Helpers::FormTagHelper.send(:prepend, Dorsale::FormBackUrl)
|