dorsale 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/app/assets/javascripts/dorsale/common/forms.coffee +3 -14
  4. data/app/assets/stylesheets/dorsale/common/contexts.sass +0 -23
  5. data/app/assets/stylesheets/dorsale/common/styles.sass +5 -0
  6. data/app/assets/stylesheets/dorsale/engines/billing_machine.sass +3 -0
  7. data/app/assets/stylesheets/dorsale/print.sass +1 -0
  8. data/app/helpers/dorsale/button_helper.rb +18 -0
  9. data/app/helpers/dorsale/context_helper.rb +2 -6
  10. data/app/views/dorsale/_page.html.slim +40 -0
  11. data/app/views/dorsale/billing_machine/id_cards/_index_actions.html.slim +2 -0
  12. data/app/views/dorsale/billing_machine/id_cards/index.html.slim +2 -3
  13. data/app/views/dorsale/billing_machine/invoices/_details.html.slim +0 -14
  14. data/app/views/dorsale/billing_machine/invoices/_index_actions.html.slim +6 -0
  15. data/app/views/dorsale/billing_machine/invoices/_show_title.html.slim +12 -0
  16. data/app/views/dorsale/billing_machine/invoices/index.html.slim +2 -6
  17. data/app/views/dorsale/billing_machine/invoices/index.pdf.ruby +5 -0
  18. data/app/views/dorsale/billing_machine/invoices/show.html.slim +7 -3
  19. data/app/views/dorsale/billing_machine/payment_terms/_index_actions.html.slim +2 -0
  20. data/app/views/dorsale/billing_machine/payment_terms/index.html.slim +2 -3
  21. data/app/views/dorsale/billing_machine/quotations/_details.html.slim +1 -0
  22. data/app/views/dorsale/billing_machine/quotations/_index_actions.html.slim +2 -0
  23. data/app/views/dorsale/billing_machine/quotations/_show_title.html.slim +1 -0
  24. data/app/views/dorsale/billing_machine/quotations/index.html.slim +2 -3
  25. data/app/views/dorsale/billing_machine/quotations/show.html.slim +7 -4
  26. data/app/views/dorsale/customer_vault/links/edit.html.slim +1 -1
  27. data/app/views/dorsale/customer_vault/links/index.html.slim +6 -7
  28. data/app/views/dorsale/customer_vault/links/new.html.slim +1 -1
  29. data/app/views/dorsale/customer_vault/people/{_actions.html.slim → _index_actions.html.slim} +1 -1
  30. data/app/views/dorsale/customer_vault/people/_show_layout.html.slim +3 -4
  31. data/app/views/dorsale/customer_vault/people/_show_tabs.html.slim +26 -0
  32. data/app/views/dorsale/customer_vault/people/activity.slim +3 -3
  33. data/app/views/dorsale/customer_vault/people/edit.html.slim +2 -2
  34. data/app/views/dorsale/customer_vault/people/index.html.slim +2 -2
  35. data/app/views/dorsale/customer_vault/people/invoices.html.slim +2 -3
  36. data/app/views/dorsale/customer_vault/people/new.html.slim +2 -2
  37. data/app/views/dorsale/customer_vault/people/show.html.slim +1 -1
  38. data/app/views/dorsale/customer_vault/people/tasks.html.slim +4 -3
  39. data/app/views/dorsale/expense_gun/categories/_index_actions.html.slim +2 -0
  40. data/app/views/dorsale/expense_gun/categories/index.html.slim +2 -3
  41. data/app/views/dorsale/expense_gun/expenses/_index_actions.html.slim +2 -0
  42. data/app/views/dorsale/expense_gun/expenses/_show_actions.html.slim +19 -0
  43. data/app/views/dorsale/expense_gun/expenses/index.html.slim +2 -3
  44. data/app/views/dorsale/expense_gun/expenses/show.html.slim +36 -49
  45. data/app/views/dorsale/flyboy/folders/_context.html.slim +1 -1
  46. data/app/views/dorsale/flyboy/folders/{_actions.html.slim → _context_actions.html.slim} +0 -0
  47. data/app/views/dorsale/flyboy/folders/_index_actions.html.slim +2 -0
  48. data/app/views/dorsale/flyboy/folders/edit.html.slim +3 -3
  49. data/app/views/dorsale/flyboy/folders/index.html.slim +2 -3
  50. data/app/views/dorsale/flyboy/folders/show.html.slim +8 -3
  51. data/app/views/dorsale/flyboy/tasks/_index_actions.html.slim +2 -0
  52. data/app/views/dorsale/flyboy/tasks/_tasks_for_taskable.html.slim +4 -3
  53. data/app/views/dorsale/flyboy/tasks/edit.html.slim +3 -3
  54. data/app/views/dorsale/flyboy/tasks/index.html.slim +2 -3
  55. data/app/views/dorsale/flyboy/tasks/new.html.slim +3 -3
  56. data/app/views/dorsale/flyboy/tasks/show.html.slim +3 -3
  57. data/app/views/dorsale/users/_index_actions.html.slim +2 -0
  58. data/app/views/dorsale/users/index.html.slim +2 -3
  59. data/config/locales/common.en.yml +5 -0
  60. data/config/locales/common.fr.yml +5 -9
  61. data/config/locales/customer_vault.fr.yml +1 -1
  62. data/config/locales/expense_gun.fr.yml +0 -4
  63. data/lib/dorsale/version.rb +1 -1
  64. data/spec/controllers/dorsale/billing_machine/invoices_controller_spec.rb +10 -0
  65. data/spec/models/dorsale/i18n_spec.rb +3 -5
  66. metadata +20 -8
  67. data/app/views/dorsale/_contextual.html.slim +0 -11
  68. data/app/views/dorsale/_index.html.slim +0 -24
  69. data/app/views/dorsale/customer_vault/people/_tabs.html.slim +0 -24
  70. data/app/views/dorsale/flyboy/tasks/_actions.html.slim +0 -9
@@ -3,7 +3,7 @@
3
3
  = render "dorsale/customer_vault/people/context", person: @person
4
4
  = render "dorsale/customer_vault/people/data_context", person: @person
5
5
 
6
- - content_for :main
6
+ - content_for :page_body
7
7
  .panel.panel-default: .panel-heading: .panel-title
8
8
  = t("actions.update")
9
9
  = " : "
@@ -11,4 +11,4 @@
11
11
 
12
12
  = render "dorsale/customer_vault/people/form"
13
13
 
14
- = render_contextual
14
+ = render_dorsale_page
@@ -11,7 +11,7 @@
11
11
  = render "dorsale/customer_vault/people/index_tabs"
12
12
 
13
13
  - content_for :actions
14
- = render "dorsale/customer_vault/people/actions"
14
+ = render "dorsale/customer_vault/people/index_actions"
15
15
 
16
16
  - content_for :page_body
17
17
  = render "dorsale/customer_vault/people/list"
@@ -23,4 +23,4 @@
23
23
  .text-center
24
24
  = info model, :count, @people_without_pagination.count
25
25
 
26
- = render_dorsale_index
26
+ = render_dorsale_page
@@ -1,5 +1,4 @@
1
- - content_for :person_page
2
- .panel.panel-default
3
- = render "dorsale/billing_machine/invoices/list", invoices: @person.invoices
1
+ - content_for :table
2
+ = render "dorsale/billing_machine/invoices/list", invoices: @person.invoices
4
3
 
5
4
  = render "dorsale/customer_vault/people/show_layout"
@@ -1,8 +1,8 @@
1
1
  .customer_vault
2
- - content_for :main
2
+ - content_for :page_body
3
3
  .panel.panel-default: .panel-heading: .panel-title
4
4
  = t("actions.new_#{@person.person_type}")
5
5
 
6
6
  = render "dorsale/customer_vault/people/form"
7
7
 
8
- = render_contextual
8
+ = render_dorsale_page
@@ -1,4 +1,4 @@
1
- - content_for :person_page
1
+ - content_for :page_body
2
2
  = comments_for(@person)
3
3
 
4
4
  - if @person.try(:context).present?
@@ -1,4 +1,5 @@
1
- - content_for :person_page
2
- = tasks_for(@person)
1
+ .flyboy
2
+ - content_for :page_body
3
+ = tasks_for(@person)
3
4
 
4
- = render "dorsale/customer_vault/people/show_layout"
5
+ = render "dorsale/customer_vault/people/show_layout"
@@ -0,0 +1,2 @@
1
+ - if policy(::Dorsale::ExpenseGun::Category).create?
2
+ = create_button new_expense_gun_category_path, action: :create
@@ -3,10 +3,9 @@
3
3
  = ::Dorsale::ExpenseGun::Category.ts
4
4
 
5
5
  - content_for :actions
6
- - if policy(::Dorsale::ExpenseGun::Category).create?
7
- = create_button new_expense_gun_category_path, action: :create
6
+ = render "dorsale/expense_gun/categories/index_actions"
8
7
 
9
8
  - content_for :table
10
9
  = render "dorsale/expense_gun/categories/list", categories: @categories
11
10
 
12
- = render_dorsale_index
11
+ = render_dorsale_page
@@ -0,0 +1,2 @@
1
+ - if policy(::Dorsale::ExpenseGun::Expense).create?
2
+ = create_button dorsale.new_expense_gun_expense_path, text: t("expense_gun.expense.actions.create")
@@ -0,0 +1,19 @@
1
+ - if policy(@expense).update?
2
+ = update_button dorsale.edit_expense_gun_expense_path(@expense)
3
+
4
+ - if policy(@expense).copy?
5
+ = copy_button dorsale.copy_expense_gun_expense_path(@expense)
6
+
7
+ - if policy(@expense).submit?
8
+ = dorsale_button dorsale.submit_expense_gun_expense_path(@expense), action: :submit, method: "patch", confirm: true, icon: :check, class: "btn btn-xs btn-primary"
9
+
10
+ - if policy(@expense).accept?
11
+ = dorsale_button dorsale.accept_expense_gun_expense_path(@expense), action: :accept, method: "patch", confirm: true, icon: :check, class: "btn btn-xs btn-success"
12
+
13
+ - if policy(@expense).refuse?
14
+ = dorsale_button dorsale.refuse_expense_gun_expense_path(@expense), action: :refuse, method: "patch", confirm: true, icon: :ban, class: "btn btn-xs btn-danger"
15
+
16
+ - if policy(@expense).cancel?
17
+ = dorsale_button dorsale.cancel_expense_gun_expense_path(@expense), action: :cancel, method: "patch", confirm: true, icon: :times, class: "btn btn-xs btn-warning"
18
+
19
+ = print_button
@@ -8,8 +8,7 @@
8
8
  = paginate @expenses
9
9
 
10
10
  - content_for :actions
11
- - if policy(::Dorsale::ExpenseGun::Expense).create?
12
- = create_button dorsale.new_expense_gun_expense_path, text: t("expense_gun.expense.actions.create")
11
+ = render "dorsale/expense_gun/expenses/index_actions"
13
12
 
14
13
  - content_for :filters
15
14
  = render "dorsale/expense_gun/expenses/filters"
@@ -17,4 +16,4 @@
17
16
  - content_for :page_body
18
17
  = render "dorsale/expense_gun/expenses/list", expenses: @expenses
19
18
 
20
- = render_dorsale_index
19
+ = render_dorsale_page
@@ -1,65 +1,52 @@
1
1
  .expense_gun
2
- .actions.top
3
- - if policy(@expense).update?
4
- = update_button dorsale.edit_expense_gun_expense_path(@expense)
2
+ - content_for :actions
3
+ = render "dorsale/expense_gun/expenses/show_actions"
5
4
 
6
- - if policy(@expense).copy?
7
- = copy_button dorsale.copy_expense_gun_expense_path(@expense)
5
+ - content_for :title
6
+ = @expense.t
7
+ = " : "
8
+ = @expense
8
9
 
9
- - if policy(@expense).submit?
10
- = link_to t("expense_gun.expense.actions.submit"), dorsale.submit_expense_gun_expense_path(@expense), data: {method: "patch", confirm: t("actions.confirm")}, class: "btn btn-primary"
11
-
12
- - if policy(@expense).accept?
13
- = link_to t("expense_gun.expense.actions.accept"), dorsale.accept_expense_gun_expense_path(@expense), data: {method: "patch", confirm: t("actions.confirm")}, class: "btn btn-success"
14
-
15
- - if policy(@expense).refuse?
16
- = link_to t("expense_gun.expense.actions.refuse"), dorsale.refuse_expense_gun_expense_path(@expense), data: {method: "patch", confirm: t("actions.confirm")}, class: "btn btn-danger"
17
-
18
- - if policy(@expense).cancel?
19
- = link_to t("expense_gun.expense.actions.cancel"), dorsale.cancel_expense_gun_expense_path(@expense), data: {method: "patch", confirm: t("actions.confirm")}, class: "btn btn-warning"
20
-
21
- = print_button
22
-
23
- .panel.panel-default
24
- .panel-heading: .panel-title
25
- = @expense.t
26
- = " : "
27
- = @expense
28
10
 
11
+ - content_for :table
29
12
  .panel-body
30
13
  = info @expense, :date
31
14
  = info @expense, :user
32
15
  = info @expense, :state
33
16
 
34
- hr
17
+ - content_for :page_body
35
18
 
36
- - @expense.expense_lines.each do |expense_line|
37
- .panel.panel-default.expense-line
38
- .panel-body
39
- .row
40
- .col-md-4
41
- = info expense_line, :name
42
- = info expense_line, :category
43
- = info expense_line, :date
19
+ hr
44
20
 
45
- .col-md-4
46
- = info expense_line, :total_all_taxes, helper: :euros
47
- = info expense_line, :company_part, helper: :percentage
48
- = info expense_line, :employee_payback, helper: :euros
21
+ - @expense.expense_lines.each do |expense_line|
22
+ .panel.panel-default.expense-line
23
+ .panel-body
24
+ .row
25
+ .col-md-4
26
+ = info expense_line, :name
27
+ = info expense_line, :category
28
+ = info expense_line, :date
49
29
 
50
- .col-md-4
51
- = info expense_line, :vat, helper: :euros
52
- = info expense_line, :total_vat_deductible, helper: :euros
30
+ .col-md-4
31
+ = info expense_line, :total_all_taxes, helper: :euros
32
+ = info expense_line, :company_part, helper: :percentage
33
+ = info expense_line, :employee_payback, helper: :euros
53
34
 
54
- hr
35
+ .col-md-4
36
+ = info expense_line, :vat, helper: :euros
37
+ = info expense_line, :total_vat_deductible, helper: :euros
55
38
 
56
- .panel.panel-default
57
- .panel-body
58
- = info @expense, :total_all_taxes, helper: :euros
59
- = info @expense, :total_employee_payback, helper: :euros
60
- = info @expense, :total_vat_deductible, helper: :euros
39
+ hr
40
+
41
+ .panel.panel-default
42
+ .panel-body
43
+ = info @expense, :total_all_taxes, helper: :euros
44
+ = info @expense, :total_employee_payback, helper: :euros
45
+ = info @expense, :total_vat_deductible, helper: :euros
46
+
47
+ hr
61
48
 
62
- hr
49
+ .attachments-panel
50
+ = attachments_for(@expense)
63
51
 
64
- .attachments-panel
65
- = attachments_for(@expense)
52
+ = render_dorsale_page
@@ -15,4 +15,4 @@
15
15
  = info folder, :description, helper: :text2html
16
16
 
17
17
  .context-footer
18
- = render "dorsale/flyboy/folders/actions", folder: folder
18
+ = render "dorsale/flyboy/folders/context_actions", folder: folder
@@ -0,0 +1,2 @@
1
+ - if policy(::Dorsale::Flyboy::Folder).create?
2
+ = create_button dorsale.new_flyboy_folder_path
@@ -1,8 +1,8 @@
1
1
  .flyboy
2
- - content_for :context do
2
+ - content_for :context
3
3
  = render "dorsale/flyboy/folders/context", folder: @folder
4
4
 
5
- - content_for :main do
5
+ - content_for :page_body
6
6
  = render "dorsale/flyboy/folders/form"
7
7
 
8
- = render_contextual
8
+ = render_dorsale_page
@@ -11,8 +11,7 @@
11
11
  = search_form
12
12
 
13
13
  - content_for :actions
14
- - if policy(::Dorsale::Flyboy::Folder).create?
15
- = create_button dorsale.new_flyboy_folder_path
14
+ = render "dorsale/flyboy/folders/index_actions"
16
15
 
17
16
  - content_for :table
18
17
  = render "dorsale/flyboy/folders/list", folders: @folders
@@ -20,4 +19,4 @@
20
19
  - content_for :pagination
21
20
  = paginate @folders
22
21
 
23
- = render_dorsale_index
22
+ = render_dorsale_page
@@ -1,9 +1,14 @@
1
1
  .flyboy
2
- - content_for :context do
2
+ - content_for :title
3
+ = icon :check_square_o
4
+ = " "
5
+ = ::Dorsale::Flyboy::Task.ts
6
+
7
+ - content_for :context
3
8
  = render "dorsale/flyboy/folders/context", folder: @folder
4
9
 
5
- - content_for :main do
10
+ - content_for :page_body
6
11
  .tasks
7
12
  = tasks_for @folder
8
13
 
9
- = render_contextual
14
+ = render_dorsale_page
@@ -0,0 +1,2 @@
1
+ - if policy(model).export?
2
+ = export_button url_for(format: :xlsx), download: "#{model.ts}.xlsx"
@@ -1,9 +1,10 @@
1
1
  .flyboy
2
- = render "dorsale/flyboy/filters"
2
+ - content_for :filters
3
+ = render "dorsale/flyboy/filters"
3
4
 
4
- .panel.panel-default
5
+ - content_for :table
5
6
  = render "dorsale/flyboy/tasks/list", tasks: tasks, nested: true
6
7
 
7
- p.text-center
8
+ - content_for :actions
8
9
  - if policy(::Dorsale::Flyboy::Task).create?
9
10
  = create_button dorsale.new_flyboy_task_path(taskable_guid: taskable.guid), action: :new_task
@@ -1,8 +1,8 @@
1
1
  .flyboy
2
- - content_for :context do
2
+ - content_for :context
3
3
  = render "dorsale/flyboy/tasks/context", task: @task
4
4
 
5
- - content_for :main do
5
+ - content_for :page_body
6
6
  = render "dorsale/flyboy/tasks/form"
7
7
 
8
- = render_contextual
8
+ = render_dorsale_page
@@ -11,8 +11,7 @@
11
11
  = search_form
12
12
 
13
13
  - content_for :actions
14
- - if policy(model).export?
15
- = download_button url_for(format: :xlsx), download: "#{model.ts}.xlsx"
14
+ = render "dorsale/flyboy/tasks/index_actions"
16
15
 
17
16
  - content_for :table
18
17
  = render "dorsale/flyboy/tasks/list", tasks: @tasks, nested: false
@@ -20,5 +19,5 @@
20
19
  - content_for :pagination
21
20
  = paginate @tasks
22
21
 
23
- = render_dorsale_index
22
+ = render_dorsale_page
24
23
 
@@ -1,8 +1,8 @@
1
1
  .flyboy
2
- - content_for :context do
2
+ - content_for :context
3
3
  = render "dorsale/flyboy/tasks/taskable_context", taskable: @task.taskable
4
4
 
5
- - content_for :main do
5
+ - content_for :page_body
6
6
  = render "dorsale/flyboy/tasks/form"
7
7
 
8
- = render_contextual
8
+ = render_dorsale_page
@@ -1,9 +1,9 @@
1
1
  .flyboy
2
- - content_for :context do
2
+ - content_for :context
3
3
  = render "dorsale/flyboy/tasks/context", task: @task
4
4
  = render "dorsale/flyboy/tasks/taskable_context", taskable: @task.taskable
5
5
 
6
- - content_for :main do
6
+ - content_for :page_body
7
7
  .task-comments
8
8
  = render "dorsale/flyboy/task_comments/list", task: @task
9
9
 
@@ -14,4 +14,4 @@
14
14
  .panel-body
15
15
  = text2html @task.description
16
16
 
17
- = render_contextual
17
+ = render_dorsale_page
@@ -0,0 +1,2 @@
1
+ - if policy(User).create?
2
+ = create_button dorsale.new_user_path
@@ -5,10 +5,9 @@
5
5
  = User.ts
6
6
 
7
7
  - content_for :actions
8
- - if policy(User).create?
9
- = create_button dorsale.new_user_path
8
+ = render "dorsale/users/index_actions"
10
9
 
11
10
  - content_for :table
12
11
  = render "dorsale/users/list", users: @users
13
12
 
14
- = render_dorsale_index
13
+ = render_dorsale_page
@@ -57,10 +57,12 @@ en:
57
57
  export : "Export"
58
58
  export_csv : "Export CSV"
59
59
  export_xls : "Export XLS"
60
+ export_xlsx: "Export XLSX"
60
61
  export_pdf : "Export PDF"
61
62
  import : "Import"
62
63
  import_csv : "Import CSV"
63
64
  import_xls : "Import XLS"
65
+ import_xlsx: "Import XLSX"
64
66
  import_pdf : "Import PDF"
65
67
  send : "Send"
66
68
  comment : "Comment"
@@ -72,6 +74,9 @@ en:
72
74
  rename : "Rename"
73
75
  email : "Send by email"
74
76
  print : "Print"
77
+ submit : "Submit"
78
+ accept : "Accept"
79
+ refuse : "Refuse"
75
80
 
76
81
  attributes: &attributes
77
82
  id : "Id"
@@ -65,10 +65,12 @@ fr:
65
65
  export : "Exporter"
66
66
  export_csv : "Export CSV"
67
67
  export_xls : "Export XLS"
68
+ export_xlsx: "Export XLSX"
68
69
  export_pdf : "Export PDF"
69
70
  import : "Importer"
70
71
  import_csv : "Import CSV"
71
72
  import_xls : "Import XLS"
73
+ import_xlsx: "Import XLSX"
72
74
  import_pdf : "Import PDF"
73
75
  send : "Envoyer"
74
76
  comment : "Commenter"
@@ -80,6 +82,9 @@ fr:
80
82
  rename : "Renommer"
81
83
  email : "Envoyer par email"
82
84
  print : "Imprimer"
85
+ submit : "Soumettre"
86
+ accept : "Accepter"
87
+ refuse : "Refuser"
83
88
 
84
89
  attributes: &attributes
85
90
  id : "Id"
@@ -167,15 +172,6 @@ fr:
167
172
  email_attachment : "Pièce jointe"
168
173
  email_body : "Message"
169
174
 
170
- # TODO : Move to bakkbone
171
- administrator : "Administrateur?"
172
- billing_machine : "Accès Facturation?"
173
- time_machine : "Accès Gestion Du Temps?"
174
- expense_gun : "Accès Note de Frais?"
175
- customer_vault : "Accès Annuaire?"
176
- flyboy : "Accès Taches?"
177
- notify_invoices_late_payments: "Notifications de Retard de Paiement?"
178
-
179
175
  errors:
180
176
  messages:
181
177
  extension_white_list_error : "Ce type de fichier n'est pas prit en charge"