dorsale 3.1.7 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/app/assets/javascripts/dorsale/common/comments.coffee +18 -20
- data/app/assets/javascripts/dorsale/common/datepicker.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/forms.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/modals.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/tabs_loader.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/tags.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/tooltips.coffee +1 -1
- data/app/assets/javascripts/dorsale/dependencies.coffee +2 -0
- data/app/assets/javascripts/dorsale/engines/billing_machine.coffee +1 -1
- data/app/assets/stylesheets/dorsale/all.sass +1 -1
- data/app/assets/stylesheets/dorsale/common/comments.sass +1 -1
- data/app/assets/stylesheets/dorsale/common/filters.sass +16 -1
- data/app/assets/stylesheets/dorsale/common/styles.sass +3 -0
- data/app/assets/stylesheets/dorsale/engines/customer_vault.sass +2 -2
- data/app/assets/stylesheets/dorsale/engines/expense_gun.sass +3 -0
- data/app/assets/stylesheets/dorsale/engines/flyboy.sass +4 -0
- data/app/assets/stylesheets/dorsale/print.sass +73 -0
- data/app/controllers/dorsale/alexandrie/attachments_controller.rb +0 -4
- data/app/controllers/dorsale/application_controller.rb +12 -0
- data/app/controllers/dorsale/billing_machine/application_controller.rb +0 -5
- data/app/controllers/dorsale/billing_machine/id_cards_controller.rb +0 -4
- data/app/controllers/dorsale/billing_machine/invoices_controller.rb +0 -4
- data/app/controllers/dorsale/billing_machine/payment_terms_controller.rb +0 -4
- data/app/controllers/dorsale/billing_machine/quotations_controller.rb +0 -4
- data/app/controllers/dorsale/comments_controller.rb +30 -55
- data/app/controllers/dorsale/customer_vault/links_controller.rb +5 -5
- data/app/controllers/dorsale/customer_vault/people_controller.rb +9 -11
- data/app/controllers/dorsale/expense_gun/categories_controller.rb +0 -4
- data/app/controllers/dorsale/expense_gun/expenses_controller.rb +1 -5
- data/app/controllers/dorsale/flyboy/folders_controller.rb +0 -4
- data/app/controllers/dorsale/flyboy/tasks_controller.rb +0 -4
- data/app/controllers/dorsale/users_controller.rb +7 -11
- data/app/filters/dorsale/billing_machine/small_data/filter_strategy_by_customer.rb +1 -1
- data/app/filters/dorsale/flyboy/small_data/filter_for_tasks.rb +1 -1
- data/app/helpers/dorsale/all_helpers.rb +1 -0
- data/app/helpers/dorsale/billing_machine/application_helper.rb +23 -0
- data/app/helpers/dorsale/comments_helper.rb +14 -2
- data/app/helpers/dorsale/flyboy/application_helper.rb +4 -0
- data/app/helpers/dorsale/text_helper.rb +12 -7
- data/app/libs/dorsale/sortable_uuid_generator.rb +11 -0
- data/app/mailers/dorsale/billing_machine/invoice_mailer.rb +2 -4
- data/app/models/concerns/dorsale/active_record_uuid_concern.rb +15 -0
- data/app/models/concerns/dorsale/default_values_concern.rb +13 -0
- data/app/models/dorsale/alexandrie/attachment.rb +3 -3
- data/app/models/dorsale/application_record.rb +11 -0
- data/app/models/dorsale/billing_machine/invoice.rb +13 -13
- data/app/models/dorsale/billing_machine/invoice_line.rb +3 -9
- data/app/models/dorsale/billing_machine/quotation.rb +6 -12
- data/app/models/dorsale/billing_machine/quotation_line.rb +3 -8
- data/app/models/dorsale/customer_vault/person.rb +5 -4
- data/app/models/dorsale/expense_gun/expense.rb +3 -4
- data/app/models/dorsale/expense_gun/expense_line.rb +4 -5
- data/app/models/dorsale/flyboy/folder.rb +2 -3
- data/app/models/dorsale/flyboy/task.rb +5 -6
- data/app/models/dorsale/flyboy/task_comment.rb +3 -8
- data/app/models/dorsale/users/active.rb +1 -1
- data/app/policies/dorsale/billing_machine/invoice_policy_helper.rb +5 -0
- data/app/policies/dorsale/comment_policy_helper.rb +21 -0
- data/app/serializers/dorsale/serializers/xlsx.rb +13 -2
- data/app/views/dorsale/billing_machine/invoices/_details.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_filters.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_form.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_header_infos.html.slim +9 -4
- data/app/views/dorsale/billing_machine/invoices/_list.html.slim +3 -2
- data/app/views/dorsale/billing_machine/invoices/email.html.slim +6 -0
- data/app/views/dorsale/billing_machine/invoices/index.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/index.xlsx.ruby +41 -0
- data/app/views/dorsale/billing_machine/quotations/_filters.html.slim +1 -1
- data/app/views/dorsale/billing_machine/quotations/_list.html.slim +4 -3
- data/app/views/dorsale/comments/_comment.html.slim +2 -2
- data/app/views/dorsale/comments/_comments.html.slim +5 -0
- data/app/views/dorsale/comments/_form.html.slim +5 -6
- data/app/views/dorsale/comments/_list.html.slim +1 -1
- data/app/views/dorsale/comments/edit.html.slim +1 -1
- data/app/views/dorsale/customer_vault/links/edit.html.slim +13 -17
- data/app/views/dorsale/customer_vault/links/index.html.slim +10 -0
- data/app/views/dorsale/customer_vault/links/new.html.slim +10 -14
- data/app/views/dorsale/customer_vault/people/_actions.html.slim +2 -2
- data/app/views/dorsale/customer_vault/people/_data_context.html.slim +1 -1
- data/app/views/dorsale/customer_vault/people/_index_tabs.html.slim +2 -2
- data/app/views/dorsale/customer_vault/people/_show_layout.html.slim +10 -0
- data/app/views/dorsale/customer_vault/people/_tabs.html.slim +24 -0
- data/app/views/dorsale/customer_vault/people/activity.slim +2 -3
- data/app/views/dorsale/customer_vault/people/edit.html.slim +1 -0
- data/app/views/dorsale/customer_vault/people/index.html.slim +2 -2
- data/app/views/dorsale/customer_vault/people/index.xlsx.ruby +49 -0
- data/app/views/dorsale/customer_vault/people/invoices.html.slim +5 -0
- data/app/views/dorsale/customer_vault/people/show.html.slim +5 -26
- data/app/views/dorsale/customer_vault/people/tasks.html.slim +4 -0
- data/app/views/dorsale/expense_gun/categories/_list.html.slim +4 -1
- data/app/views/dorsale/expense_gun/expenses/_list.html.slim +1 -1
- data/app/views/dorsale/expense_gun/expenses/show.html.slim +3 -3
- data/app/views/dorsale/flyboy/_filters.html.slim +3 -0
- data/app/views/dorsale/flyboy/folders/_form.html.slim +3 -1
- data/app/views/dorsale/flyboy/folders/_list.html.slim +2 -2
- data/app/views/dorsale/flyboy/task_comments/_list.html.slim +2 -2
- data/app/views/dorsale/flyboy/tasks/_form.html.slim +4 -1
- data/app/views/dorsale/flyboy/tasks/_list.html.slim +1 -1
- data/app/views/dorsale/flyboy/tasks/_summary_list.html.slim +6 -5
- data/app/views/dorsale/flyboy/tasks/index.html.slim +2 -4
- data/app/views/dorsale/flyboy/tasks/index.xlsx.ruby +23 -0
- data/app/views/dorsale/flyboy/tasks/summary.html.slim +0 -2
- data/config/locales/common.en.yml +2 -0
- data/config/locales/common.fr.yml +2 -0
- data/config/locales/customer_vault.en.yml +0 -6
- data/config/locales/customer_vault.fr.yml +0 -6
- data/config/locales/flyboy.en.yml +2 -0
- data/config/locales/flyboy.fr.yml +2 -0
- data/config/routes.rb +7 -2
- data/db/migrate/20161118071317_dorsale_add_missing_indexes.rb +25 -0
- data/features/billing_machine_invoices.feature +4 -2
- data/features/customer_vault_invoices.feature +10 -0
- data/features/customer_vault_tasks.feature +1 -1
- data/features/flyboy_tasks.feature +3 -15
- data/features/step_definitions/billing_machine_invoices_steps.rb +2 -6
- data/features/step_definitions/billing_machine_quotations_steps.rb +5 -5
- data/features/step_definitions/common_steps.rb +7 -1
- data/features/step_definitions/customer_vault_corporations_steps.rb +7 -7
- data/features/step_definitions/customer_vault_filters_steps.rb +3 -3
- data/features/step_definitions/customer_vault_individuals_steps.rb +1 -1
- data/features/step_definitions/customer_vault_invoices_steps.rb +7 -0
- data/features/step_definitions/customer_vault_links_steps.rb +5 -3
- data/features/step_definitions/customer_vault_people_steps.rb +1 -1
- data/features/step_definitions/customer_vault_search_steps.rb +4 -4
- data/features/step_definitions/customer_vault_tasks_steps.rb +6 -16
- data/features/step_definitions/expense_gun_expenses_steps.rb +2 -2
- data/features/step_definitions/flyboy_folders_steps.rb +5 -5
- data/features/step_definitions/flyboy_tasks_steps.rb +5 -29
- data/lib/dorsale/engine.rb +6 -1
- data/lib/dorsale/polymorphic_id.rb +1 -1
- data/lib/dorsale/version.rb +1 -1
- data/spec/controllers/dorsale/billing_machine/invoices_controller_spec.rb +3 -4
- data/spec/controllers/dorsale/comments_controller_spec.rb +3 -3
- data/spec/controllers/dorsale/expense_gun/expenses_controller_spec.rb +10 -0
- data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +1 -13
- data/spec/factories/dorsale_comments.rb +3 -3
- data/spec/helpers/dorsale/text_helper_spec.rb +15 -0
- data/spec/{lib → libs}/active_record_comma_type_cast_spec.rb +0 -0
- data/spec/{lib → libs/dorsale}/polymorphic_id_spec.rb +0 -0
- data/spec/libs/dorsale/sortable_uuid_generator_spec.rb +29 -0
- data/spec/rails_helper.rb +2 -0
- data/spec/routing/dorsale/customer_vault/people_routing_spec.rb +15 -0
- metadata +54 -18
- data/app/pdfs/dorsale/flyboy/roadmap.rb +0 -47
- data/app/views/dorsale/billing_machine/invoices/index.csv.ruby +0 -46
- data/app/views/dorsale/comments/_loader.html.slim +0 -5
- data/app/views/dorsale/comments/index.html.slim +0 -11
- data/app/views/dorsale/customer_vault/people/_activity_tab.html.slim +0 -4
- data/app/views/dorsale/customer_vault/people/_comment.html.slim +0 -1
- data/app/views/dorsale/customer_vault/people/_links_tab.html.slim +0 -7
- data/app/views/dorsale/customer_vault/people/_tasks_tab.html.slim +0 -1
- data/app/views/dorsale/customer_vault/people/index.xls.slim +0 -24
- data/app/views/dorsale/flyboy/tasks/index.csv.ruby +0 -24
- data/app/views/dorsale/flyboy/tasks/index.pdf.ruby +0 -6
- data/app/views/dorsale/flyboy/tasks/index.xls.erb +0 -29
@@ -1,47 +0,0 @@
|
|
1
|
-
require "prawn"
|
2
|
-
require "prawn/table"
|
3
|
-
|
4
|
-
class Dorsale::Flyboy::Roadmap < Prawn::Document
|
5
|
-
include ::ActionView::Helpers::NumberHelper
|
6
|
-
include ::Dorsale::TextHelper
|
7
|
-
|
8
|
-
attr_accessor :tasks
|
9
|
-
|
10
|
-
def initialize(tasks)
|
11
|
-
super(:page_layout => :landscape)
|
12
|
-
@tasks = tasks
|
13
|
-
end
|
14
|
-
|
15
|
-
def build
|
16
|
-
font_size 10
|
17
|
-
text "Plan d'actions au #{I18n.l(Time.zone.now.to_date)}", :size => 20
|
18
|
-
move_down(10)
|
19
|
-
display_tasks(@tasks)
|
20
|
-
end
|
21
|
-
|
22
|
-
def display_tasks(tasks)
|
23
|
-
display = [[
|
24
|
-
"Taskable",
|
25
|
-
"Type",
|
26
|
-
"Avancement taskable",
|
27
|
-
"Tâche",
|
28
|
-
"Avancement tâche",
|
29
|
-
"Echéance"
|
30
|
-
]]
|
31
|
-
|
32
|
-
tasks.each do |task|
|
33
|
-
display << [
|
34
|
-
task.taskable.name,
|
35
|
-
task.taskable.class.t,
|
36
|
-
percentage(task.taskable.try(:progress)),
|
37
|
-
task.name,
|
38
|
-
percentage(task.progress),
|
39
|
-
I18n.l(task.term)
|
40
|
-
]
|
41
|
-
end
|
42
|
-
|
43
|
-
table display
|
44
|
-
move_down(10)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
CSV.generate({force_quotes: true, col_sep: ";" }) do |csv|
|
2
|
-
column_names = [
|
3
|
-
"Date",
|
4
|
-
"Numéro",
|
5
|
-
"Objet",
|
6
|
-
"Client",
|
7
|
-
"Adresse 1",
|
8
|
-
"Adresse 2",
|
9
|
-
"Code postal",
|
10
|
-
"Ville",
|
11
|
-
"Pays",
|
12
|
-
"Remise commerciale",
|
13
|
-
"Montant HT",
|
14
|
-
"Montant TVA",
|
15
|
-
"Montant TTC",
|
16
|
-
"Acompte",
|
17
|
-
"Solde à payer"
|
18
|
-
]
|
19
|
-
|
20
|
-
csv << column_names
|
21
|
-
|
22
|
-
@invoices_without_pagination.each do |invoice|
|
23
|
-
csv << [
|
24
|
-
invoice.date,
|
25
|
-
invoice.tracking_id,
|
26
|
-
invoice.label,
|
27
|
-
invoice.customer.try(:name),
|
28
|
-
invoice.customer.try(:address).try(:street),
|
29
|
-
invoice.customer.try(:address).try(:street_bis),
|
30
|
-
invoice.customer.try(:address).try(:zip),
|
31
|
-
invoice.customer.try(:address).try(:city),
|
32
|
-
invoice.customer.try(:address).try(:country),
|
33
|
-
number(invoice.commercial_discount),
|
34
|
-
number(invoice.total_excluding_taxes),
|
35
|
-
number(invoice.vat_amount),
|
36
|
-
number(invoice.total_including_taxes),
|
37
|
-
number(invoice.advance),
|
38
|
-
number(invoice.balance)
|
39
|
-
]
|
40
|
-
end
|
41
|
-
end.encode("WINDOWS-1252",
|
42
|
-
:crlf_newline => true,
|
43
|
-
:invalid => :replace,
|
44
|
-
:undef => :replace,
|
45
|
-
:replace => "?"
|
46
|
-
)
|
@@ -1,11 +0,0 @@
|
|
1
|
-
= render "dorsale/flash"
|
2
|
-
|
3
|
-
- if policy(@comment).create?
|
4
|
-
= render "dorsale/comments/form", commentable: @commentable
|
5
|
-
|
6
|
-
= render "dorsale/comments/list", comments: @comments
|
7
|
-
|
8
|
-
javascript:
|
9
|
-
if(location.pathname == "#{engine_polymorphic_path(@commentable)}") {
|
10
|
-
$("#dorsale-comments .commentable-container").hide()
|
11
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
= render "dorsale/comments/comment", comment: comment
|
@@ -1,7 +0,0 @@
|
|
1
|
-
.linkable
|
2
|
-
- person.links.each do |link|
|
3
|
-
= render "dorsale/customer_vault/people/list_item", person: link.other_person, link: link
|
4
|
-
|
5
|
-
.text-center
|
6
|
-
- if policy(person).update?
|
7
|
-
= create_button dorsale.new_customer_vault_person_link_path(person), action: :new_link
|
@@ -1 +0,0 @@
|
|
1
|
-
= tasks_for(@person)
|
@@ -1,24 +0,0 @@
|
|
1
|
-
- fields = %w(person_type first_name last_name name short_name email phone fax mobile skype www twitter legal_form capital immatriculation_number_1 immatriculation_number_2 european_union_vat_number address.street address.street_bis address.city address.zip address.country)
|
2
|
-
|
3
|
-
doctype xml
|
4
|
-
Workbook(
|
5
|
-
xmlns="urn:schemas-microsoft-com:office:spreadsheet"
|
6
|
-
xmlns:o="urn:schemas-microsoft-com:office:office"
|
7
|
-
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
8
|
-
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
|
9
|
-
xmlns:html="http://www.w3.org/TR/REC-html40"
|
10
|
-
)
|
11
|
-
Worksheet ss:Name=Dorsale::CustomerVault::Person.ts
|
12
|
-
Table
|
13
|
-
Row
|
14
|
-
- fields.each do |field|
|
15
|
-
Cell: Data ss:Type="String" = Dorsale::CustomerVault::Person.t(field)
|
16
|
-
|
17
|
-
- @people_without_pagination.each do |person|
|
18
|
-
Row
|
19
|
-
- fields.each do |field|
|
20
|
-
Cell: Data ss:Type="String"
|
21
|
-
- if field.include?("address.")
|
22
|
-
= person.address.public_send(field.gsub("address.", ""))
|
23
|
-
- else
|
24
|
-
= person.public_send(:try, field)
|
@@ -1,24 +0,0 @@
|
|
1
|
-
filename = "feuille_de_route_#{Time.zone.now.to_date}.csv"
|
2
|
-
response.headers["Content-Disposition"] = %(inline; filename="#{filename}")
|
3
|
-
|
4
|
-
CSV.generate do |csv|
|
5
|
-
csv << [
|
6
|
-
"Taskable",
|
7
|
-
"Type",
|
8
|
-
"Avancement taskable",
|
9
|
-
"Tâche",
|
10
|
-
"Avancement tâche",
|
11
|
-
"Echéance"
|
12
|
-
]
|
13
|
-
|
14
|
-
@tasks_without_pagination.each do |task|
|
15
|
-
csv << [
|
16
|
-
task.taskable.name,
|
17
|
-
task.taskable.class.t,
|
18
|
-
"#{task.taskable.try(:progress)} %",
|
19
|
-
task.name,
|
20
|
-
"#{task.progress} %",
|
21
|
-
I18n.l(task.term),
|
22
|
-
]
|
23
|
-
end
|
24
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
<?xml version="1.0"?>
|
2
|
-
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
|
3
|
-
xmlns:o="urn:schemas-microsoft-com:office:office"
|
4
|
-
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
5
|
-
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
|
6
|
-
xmlns:html="http://www.w3.org/TR/REC-html40">
|
7
|
-
<Worksheet ss:Name="Sheet1">
|
8
|
-
<Table>
|
9
|
-
<Row>
|
10
|
-
<Cell><Data ss:Type="String">Taskable</Data></Cell>
|
11
|
-
<Cell><Data ss:Type="String">Type</Data></Cell>
|
12
|
-
<Cell><Data ss:Type="String">Avancement taskable</Data></Cell>
|
13
|
-
<Cell><Data ss:Type="String">Tâche</Data></Cell>
|
14
|
-
<Cell><Data ss:Type="String">Avancement tâche</Data></Cell>
|
15
|
-
<Cell><Data ss:Type="String">Echéance</Data></Cell>
|
16
|
-
</Row>
|
17
|
-
<% @tasks_without_pagination.each do |task| %>
|
18
|
-
<Row>
|
19
|
-
<Cell><Data ss:Type="String"><%= task.taskable.name %></Data></Cell>
|
20
|
-
<Cell><Data ss:Type="String"><%= task.taskable.class.t %></Data></Cell>
|
21
|
-
<Cell><Data ss:Type="String"><%= percentage(task.taskable.try(:progress)) %></Data></Cell>
|
22
|
-
<Cell><Data ss:Type="String"><%= task.name %></Data></Cell>
|
23
|
-
<Cell><Data ss:Type="String"><%= percentage(task.progress) %></Data></Cell>
|
24
|
-
<Cell><Data ss:Type="String"><%= l(task.term) %></Data></Cell>
|
25
|
-
</Row>
|
26
|
-
<% end %>
|
27
|
-
</Table>
|
28
|
-
</Worksheet>
|
29
|
-
</Workbook>
|