dorsale 3.6.1 → 3.7.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 +6 -0
- data/app/controllers/concerns/dorsale/flyboy/tasks_summary_concern.rb +1 -2
- data/app/controllers/dorsale/customer_vault/activity_types_controller.rb +76 -0
- data/app/controllers/dorsale/customer_vault/origins_controller.rb +76 -0
- data/app/controllers/dorsale/customer_vault/people_controller.rb +2 -0
- data/app/controllers/dorsale/flyboy/task_comments_controller.rb +1 -1
- data/app/controllers/dorsale/flyboy/tasks_controller.rb +1 -1
- data/app/models/dorsale/alexandrie/attachment.rb +1 -1
- data/app/models/dorsale/comment.rb +1 -1
- data/app/models/dorsale/customer_vault/activity_type.rb +9 -0
- data/app/models/dorsale/customer_vault/individual.rb +7 -0
- data/app/models/dorsale/customer_vault/origin.rb +9 -0
- data/app/models/dorsale/customer_vault/person.rb +3 -0
- data/app/models/dorsale/flyboy/task.rb +1 -1
- data/app/models/dorsale/flyboy/task_comment.rb +1 -1
- data/app/policies/dorsale/customer_vault/activity_type_policy_helper.rb +7 -0
- data/app/policies/dorsale/customer_vault/origin_policy_helper.rb +7 -0
- data/app/policies/dorsale/flyboy/task_policy_helper.rb +1 -0
- data/app/policies/dorsale/policy_checker.rb +2 -0
- data/app/views/dorsale/customer_vault/activity_types/_form.html.slim +13 -0
- data/app/views/dorsale/customer_vault/activity_types/_index_actions.html.slim +2 -0
- data/app/views/dorsale/customer_vault/activity_types/_list.html.slim +17 -0
- data/app/views/dorsale/customer_vault/activity_types/edit.html.slim +1 -0
- data/app/views/dorsale/customer_vault/activity_types/index.html.slim +11 -0
- data/app/views/dorsale/customer_vault/activity_types/new.html.slim +1 -0
- data/app/views/dorsale/customer_vault/origins/_form.html.slim +13 -0
- data/app/views/dorsale/customer_vault/origins/_index_actions.html.slim +2 -0
- data/app/views/dorsale/customer_vault/origins/_list.html.slim +17 -0
- data/app/views/dorsale/customer_vault/origins/edit.html.slim +1 -0
- data/app/views/dorsale/customer_vault/origins/index.html.slim +11 -0
- data/app/views/dorsale/customer_vault/origins/new.html.slim +1 -0
- data/app/views/dorsale/customer_vault/people/_context_general.html.slim +2 -0
- data/app/views/dorsale/customer_vault/people/_form.html.slim +3 -0
- data/app/views/dorsale/flyboy/task_comments/_list.html.slim +10 -6
- data/app/views/dorsale/flyboy/tasks/_form.html.slim +1 -1
- data/config/locales/customer_vault.en.yml +26 -0
- data/config/locales/customer_vault.fr.yml +25 -0
- data/config/locales/dorsale.en.yml +2 -0
- data/config/locales/dorsale.fr.yml +2 -0
- data/config/locales/flyboy.en.yml +0 -1
- data/config/locales/flyboy.fr.yml +0 -1
- data/config/routes.rb +4 -0
- data/db/migrate/20170427082626_create_dorsale_customer_vault_origins.rb +8 -0
- data/db/migrate/20170427082920_create_dorsale_customer_vault_activity_types.rb +8 -0
- data/db/migrate/20170427083541_remove_useless_polymorphic_belongs_to.rb +9 -0
- data/db/migrate/20170427093507_add_origin_and_activity_type_to_customer_vault_people.rb +6 -0
- data/features/customer_vault_activity_types.feature +19 -0
- data/features/customer_vault_origins.feature +19 -0
- data/features/step_definitions/customer_vault_activity_types_steps.rb +42 -0
- data/features/step_definitions/customer_vault_origins_steps.rb +42 -0
- data/lib/dorsale/version.rb +1 -1
- data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +4 -4
- data/spec/factories/customer_vault_activity_types.rb +5 -0
- data/spec/factories/customer_vault_corporations.rb +8 -6
- data/spec/factories/customer_vault_individuals.rb +1 -0
- data/spec/factories/customer_vault_origins.rb +5 -0
- data/spec/models/dorsale/customer_vault/activity_type_spec.rb +8 -0
- data/spec/models/dorsale/customer_vault/corporation_spec.rb +3 -0
- data/spec/models/dorsale/customer_vault/individual_spec.rb +24 -0
- data/spec/models/dorsale/customer_vault/origin_spec.rb +8 -0
- data/spec/routing/dorsale/customer_vault/activity_types_routing_spec.rb +40 -0
- data/spec/routing/dorsale/customer_vault/origins_routing_spec.rb +40 -0
- metadata +44 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 523d3264e16c525112422f6ec7beb74c0c28a2e8
|
4
|
+
data.tar.gz: 5018061784efc57024e7787e055bb8f64ed6be2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9497cb875ece483c790e5aae3a5c1661b3e9fade30246d9c9a269ea1239f642056c6898ba981197829eca38263cc9eb9452723a3e849c391e44e0983da0810bb
|
7
|
+
data.tar.gz: 16ecb86b3ad8dd7df1992bc507b091c479657dd4a3172a5ced80e1434051bbadb5b3656f4c3453f38a4ac36894ff488e7c7e34abbe1dfb628f21863bf1b4f8eb
|
data/CHANGELOG.md
CHANGED
@@ -2,8 +2,7 @@ module Dorsale::Flyboy::TasksSummaryConcern
|
|
2
2
|
extend ActiveSupport::Concern
|
3
3
|
|
4
4
|
def setup_tasks_summary
|
5
|
-
tasks = policy_scope(::Dorsale::Flyboy::Task)
|
6
|
-
.where("(owner_id IS NULL and owner_type IS NULL) OR (owner_id = ? and owner_type = ?)", current_user.id, current_user.class)
|
5
|
+
tasks = policy_scope(::Dorsale::Flyboy::Task).where(owner: [current_user, nil])
|
7
6
|
|
8
7
|
@delayed_tasks = tasks.delayed
|
9
8
|
@today_tasks = tasks.today
|
@@ -0,0 +1,76 @@
|
|
1
|
+
class Dorsale::CustomerVault::ActivityTypesController < ::Dorsale::CustomerVault::ApplicationController
|
2
|
+
before_action :set_objects, only: [:edit, :update]
|
3
|
+
|
4
|
+
def index
|
5
|
+
authorize model, :list?
|
6
|
+
|
7
|
+
@activity_types ||= scope.all
|
8
|
+
end
|
9
|
+
|
10
|
+
def new
|
11
|
+
@activity_type ||= scope.new
|
12
|
+
|
13
|
+
authorize @activity_type, :create?
|
14
|
+
end
|
15
|
+
|
16
|
+
def create
|
17
|
+
@activity_type ||= scope.new(activity_type_params_for_create)
|
18
|
+
|
19
|
+
authorize @activity_type, :create?
|
20
|
+
|
21
|
+
if @activity_type.save
|
22
|
+
flash[:notice] = t("messages.activity_types.create_ok")
|
23
|
+
redirect_to back_url
|
24
|
+
else
|
25
|
+
render action: :new
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def edit
|
30
|
+
authorize @activity_type, :update?
|
31
|
+
end
|
32
|
+
|
33
|
+
def update
|
34
|
+
authorize @activity_type, :update?
|
35
|
+
|
36
|
+
if @activity_type.update(activity_type_params_for_update)
|
37
|
+
flash[:notice] = t("messages.activity_types.update_ok")
|
38
|
+
redirect_to back_url
|
39
|
+
else
|
40
|
+
render action: :edit
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def set_objects
|
47
|
+
@activity_type ||= scope.find(params[:id])
|
48
|
+
end
|
49
|
+
|
50
|
+
def model
|
51
|
+
::Dorsale::CustomerVault::ActivityType
|
52
|
+
end
|
53
|
+
|
54
|
+
def back_url
|
55
|
+
customer_vault_activity_types_path
|
56
|
+
end
|
57
|
+
|
58
|
+
def permitted_params
|
59
|
+
[
|
60
|
+
:name,
|
61
|
+
]
|
62
|
+
end
|
63
|
+
|
64
|
+
def activity_type_params
|
65
|
+
params.fetch(:activity_type, {}).permit(permitted_params)
|
66
|
+
end
|
67
|
+
|
68
|
+
def activity_type_params_for_create
|
69
|
+
activity_type_params
|
70
|
+
end
|
71
|
+
|
72
|
+
def activity_type_params_for_update
|
73
|
+
activity_type_params
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
class Dorsale::CustomerVault::OriginsController < ::Dorsale::CustomerVault::ApplicationController
|
2
|
+
before_action :set_objects, only: [:edit, :update]
|
3
|
+
|
4
|
+
def index
|
5
|
+
authorize model, :list?
|
6
|
+
|
7
|
+
@origins ||= scope.all
|
8
|
+
end
|
9
|
+
|
10
|
+
def new
|
11
|
+
@origin ||= scope.new
|
12
|
+
|
13
|
+
authorize @origin, :create?
|
14
|
+
end
|
15
|
+
|
16
|
+
def create
|
17
|
+
@origin ||= scope.new(origin_params_for_create)
|
18
|
+
|
19
|
+
authorize @origin, :create?
|
20
|
+
|
21
|
+
if @origin.save
|
22
|
+
flash[:notice] = t("messages.origins.create_ok")
|
23
|
+
redirect_to back_url
|
24
|
+
else
|
25
|
+
render action: :new
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def edit
|
30
|
+
authorize @origin, :update?
|
31
|
+
end
|
32
|
+
|
33
|
+
def update
|
34
|
+
authorize @origin, :update?
|
35
|
+
|
36
|
+
if @origin.update(origin_params_for_update)
|
37
|
+
flash[:notice] = t("messages.origins.update_ok")
|
38
|
+
redirect_to back_url
|
39
|
+
else
|
40
|
+
render action: :edit
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def set_objects
|
47
|
+
@origin ||= scope.find(params[:id])
|
48
|
+
end
|
49
|
+
|
50
|
+
def model
|
51
|
+
::Dorsale::CustomerVault::Origin
|
52
|
+
end
|
53
|
+
|
54
|
+
def back_url
|
55
|
+
customer_vault_origins_path
|
56
|
+
end
|
57
|
+
|
58
|
+
def permitted_params
|
59
|
+
[
|
60
|
+
:name,
|
61
|
+
]
|
62
|
+
end
|
63
|
+
|
64
|
+
def origin_params
|
65
|
+
params.fetch(:origin, {}).permit(permitted_params)
|
66
|
+
end
|
67
|
+
|
68
|
+
def origin_params_for_create
|
69
|
+
origin_params
|
70
|
+
end
|
71
|
+
|
72
|
+
def origin_params_for_update
|
73
|
+
origin_params
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
@@ -5,7 +5,7 @@ class Dorsale::Flyboy::TaskCommentsController < ::Dorsale::Flyboy::ApplicationCo
|
|
5
5
|
@task_comment ||= model.new(task_comment_params_for_create)
|
6
6
|
@task ||= @task_comment.task
|
7
7
|
|
8
|
-
authorize @task, :
|
8
|
+
authorize @task, :comment?
|
9
9
|
|
10
10
|
if @task_comment.save
|
11
11
|
redirect_to @task
|
@@ -2,7 +2,7 @@ class Dorsale::Alexandrie::Attachment < ::Dorsale::ApplicationRecord
|
|
2
2
|
self.table_name = "dorsale_alexandrie_attachments"
|
3
3
|
|
4
4
|
belongs_to :attachable, polymorphic: true
|
5
|
-
belongs_to :sender,
|
5
|
+
belongs_to :sender, class_name: User
|
6
6
|
|
7
7
|
belongs_to :attachment_type, required: false
|
8
8
|
|
@@ -14,6 +14,13 @@ class Dorsale::CustomerVault::Individual < Dorsale::CustomerVault::Person
|
|
14
14
|
[self.last_name, self.first_name].join(", ")
|
15
15
|
end
|
16
16
|
|
17
|
+
def activity_type
|
18
|
+
corporation.try(:activity_type)
|
19
|
+
end
|
20
|
+
|
17
21
|
private def corporation_name; raise NoMethodError; end
|
18
22
|
private def corporation_name=; raise NoMethodError; end
|
23
|
+
private def activity_type=; raise NoMethodError; end
|
24
|
+
private def activity_type_id; raise NoMethodError; end
|
25
|
+
private def activity_type_id=; raise NoMethodError; end
|
19
26
|
end
|
@@ -27,6 +27,9 @@ class Dorsale::CustomerVault::Person < ::Dorsale::ApplicationRecord
|
|
27
27
|
has_many :invoices, class_name: ::Dorsale::BillingMachine::Invoice, as: :customer
|
28
28
|
accepts_nested_attributes_for :address, allow_destroy: true
|
29
29
|
|
30
|
+
belongs_to :activity_type, class_name: ::Dorsale::CustomerVault::ActivityType
|
31
|
+
belongs_to :origin, class_name: ::Dorsale::CustomerVault::Origin
|
32
|
+
|
30
33
|
after_destroy :destroy_links
|
31
34
|
|
32
35
|
default_scope -> {
|
@@ -9,7 +9,7 @@ class Dorsale::Flyboy::Task < ::Dorsale::ApplicationRecord
|
|
9
9
|
paginates_per 50
|
10
10
|
|
11
11
|
belongs_to :taskable, polymorphic: true, required: false
|
12
|
-
belongs_to :owner,
|
12
|
+
belongs_to :owner, class_name: User
|
13
13
|
has_many :comments, class_name: ::Dorsale::Flyboy::TaskComment, inverse_of: :task, dependent: :destroy
|
14
14
|
|
15
15
|
polymorphic_id_for :taskable
|
@@ -2,7 +2,7 @@ class Dorsale::Flyboy::TaskComment < ::Dorsale::ApplicationRecord
|
|
2
2
|
self.table_name = "dorsale_flyboy_task_comments"
|
3
3
|
|
4
4
|
belongs_to :task
|
5
|
-
belongs_to :author,
|
5
|
+
belongs_to :author, class_name: User
|
6
6
|
|
7
7
|
validates :author, presence: true
|
8
8
|
validates :task, presence: true
|
@@ -16,6 +16,8 @@ class Dorsale::PolicyChecker
|
|
16
16
|
check_policy! "Dorsale::CustomerVault::EventPolicy"
|
17
17
|
check_policy! "Dorsale::CustomerVault::PersonPolicy"
|
18
18
|
check_policy! "Dorsale::CustomerVault::LinkPolicy"
|
19
|
+
check_policy! "Dorsale::CustomerVault::OriginPolicy"
|
20
|
+
check_policy! "Dorsale::CustomerVault::ActivityTypePolicy"
|
19
21
|
check_policy! "Dorsale::ExpenseGun::CategoryPolicy"
|
20
22
|
check_policy! "Dorsale::ExpenseGun::ExpensePolicy"
|
21
23
|
check_policy! "Dorsale::Flyboy::TaskPolicy"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
.panel.panel-default
|
2
|
+
.panel-heading: .panel-title
|
3
|
+
- if @activity_type.new_record?
|
4
|
+
= t("customer_vault.activity_type.actions.create")
|
5
|
+
- else
|
6
|
+
= t("actions.update")
|
7
|
+
= " : "
|
8
|
+
= @activity_type
|
9
|
+
|
10
|
+
.panel-body
|
11
|
+
= horizontal_form_for @activity_type, as: :activity_type do |f|
|
12
|
+
= f.input :name
|
13
|
+
= form_buttons
|
@@ -0,0 +1,17 @@
|
|
1
|
+
table.table.default#activity_type
|
2
|
+
thead
|
3
|
+
tr
|
4
|
+
th.actions.activity_type-name
|
5
|
+
= ::Dorsale::CustomerVault::ActivityType.t(:name)
|
6
|
+
th.actions.activity_type-action
|
7
|
+
= "Action"
|
8
|
+
|
9
|
+
tbody
|
10
|
+
- @activity_types.each do |activity_type|
|
11
|
+
tr.actions.activity_type
|
12
|
+
td.actions.activity_type-name
|
13
|
+
= activity_type
|
14
|
+
|
15
|
+
td.actions.activity_type-action
|
16
|
+
- if policy(activity_type).create?
|
17
|
+
= update_button edit_customer_vault_activity_type_path(activity_type), id: "edit-#{activity_type.id}"
|
@@ -0,0 +1 @@
|
|
1
|
+
= render "form"
|
@@ -0,0 +1,11 @@
|
|
1
|
+
.customer_vault
|
2
|
+
- content_for :title
|
3
|
+
= ::Dorsale::CustomerVault::ActivityType.ts
|
4
|
+
|
5
|
+
- content_for :actions
|
6
|
+
= render "dorsale/customer_vault/activity_types/index_actions"
|
7
|
+
|
8
|
+
- content_for :table
|
9
|
+
= render "dorsale/customer_vault/activity_types/list", activity_types: @activity_types
|
10
|
+
|
11
|
+
= render_dorsale_page
|
@@ -0,0 +1 @@
|
|
1
|
+
= render "form"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
.panel.panel-default
|
2
|
+
.panel-heading: .panel-title
|
3
|
+
- if @origin.new_record?
|
4
|
+
= t("customer_vault.origin.actions.create")
|
5
|
+
- else
|
6
|
+
= t("actions.update")
|
7
|
+
= " : "
|
8
|
+
= @origin
|
9
|
+
|
10
|
+
.panel-body
|
11
|
+
= horizontal_form_for @origin, as: :origin do |f|
|
12
|
+
= f.input :name
|
13
|
+
= form_buttons
|
@@ -0,0 +1,17 @@
|
|
1
|
+
table.table.default#origin
|
2
|
+
thead
|
3
|
+
tr
|
4
|
+
th.actions.origin-name
|
5
|
+
= ::Dorsale::CustomerVault::Origin.t(:name)
|
6
|
+
th.actions.origin-action
|
7
|
+
= "Action"
|
8
|
+
|
9
|
+
tbody
|
10
|
+
- @origins.each do |origin|
|
11
|
+
tr.actions.origin
|
12
|
+
td.actions.origin-name
|
13
|
+
= origin
|
14
|
+
|
15
|
+
td.actions.origin-action
|
16
|
+
- if policy(origin).create?
|
17
|
+
= update_button edit_customer_vault_origin_path(origin), id: "edit-#{origin.id}"
|
@@ -0,0 +1 @@
|
|
1
|
+
= render "form"
|
@@ -0,0 +1,11 @@
|
|
1
|
+
.customer_vault
|
2
|
+
- content_for :title
|
3
|
+
= ::Dorsale::CustomerVault::Origin.ts
|
4
|
+
|
5
|
+
- content_for :actions
|
6
|
+
= render "dorsale/customer_vault/origins/index_actions"
|
7
|
+
|
8
|
+
- content_for :table
|
9
|
+
= render "dorsale/customer_vault/origins/list", origins: @origins
|
10
|
+
|
11
|
+
= render_dorsale_page
|
@@ -0,0 +1 @@
|
|
1
|
+
= render "form"
|
@@ -11,6 +11,9 @@
|
|
11
11
|
|
12
12
|
= f.input :short_name
|
13
13
|
= render "dorsale/forms/avatar", f: f
|
14
|
+
= f.association :origin, collection: policy_scope(Dorsale::CustomerVault::Origin), input_html: {class: 'select2'}
|
15
|
+
- if @person.corporation?
|
16
|
+
= f.association :activity_type, collection: policy_scope(Dorsale::CustomerVault::ActivityType), input_html: {class: 'select2'}
|
14
17
|
= f.input :tag_list, collection: @tags, input_html: {multiple: true}
|
15
18
|
|
16
19
|
.panel.panel-default
|
@@ -9,12 +9,12 @@
|
|
9
9
|
= Dorsale::Flyboy::TaskComment.t(:description)
|
10
10
|
|
11
11
|
tbody
|
12
|
-
- if policy(@task).
|
12
|
+
- if policy(@task).comment?
|
13
13
|
tr#new_task_comment_tr
|
14
14
|
td.task_comment-progress
|
15
15
|
= f.input :progress, label: false
|
16
16
|
|
17
|
-
td.task_comment-
|
17
|
+
td.task_comment-content
|
18
18
|
= f.hidden_field :task_id
|
19
19
|
|
20
20
|
.textarea-input-group
|
@@ -23,12 +23,16 @@
|
|
23
23
|
|
24
24
|
|
25
25
|
- @task.reload.comments.map do |comment|
|
26
|
-
tr
|
26
|
+
tr.task_comment
|
27
27
|
td.task_comment-progress
|
28
28
|
= progress_bar percentage: comment.progress, label: true
|
29
29
|
|
30
|
-
td.task_comment-
|
30
|
+
td.task_comment-content
|
31
31
|
p: small
|
32
|
-
span.date = date(comment.date)
|
32
|
+
span.task_comment-date = date(comment.date)
|
33
|
+
= " "
|
34
|
+
= comment.t(:written_by)
|
35
|
+
= " "
|
36
|
+
span.task_comment-author = comment.author
|
33
37
|
|
34
|
-
p = text2html comment.description
|
38
|
+
p.task_comment-description = text2html comment.description
|
@@ -17,7 +17,7 @@
|
|
17
17
|
|
18
18
|
.row
|
19
19
|
.col-sm-8 = f.input :name
|
20
|
-
.col-sm-4 = f.input :
|
20
|
+
.col-sm-4 = f.input :owner_id, collection: @owners
|
21
21
|
|
22
22
|
= f.input :description, input_html: {rows: 5}
|
23
23
|
= render "dorsale/flyboy/tasks/term_fields", f: f
|
@@ -7,6 +7,14 @@ en:
|
|
7
7
|
address_informations: "Address informations"
|
8
8
|
additional_informations: "Additional informations"
|
9
9
|
|
10
|
+
origin:
|
11
|
+
actions:
|
12
|
+
create: "New origin"
|
13
|
+
|
14
|
+
activity_type:
|
15
|
+
actions:
|
16
|
+
create: "New activity type"
|
17
|
+
|
10
18
|
messages:
|
11
19
|
no_people: "No people find."
|
12
20
|
no_activity: "No recent activity."
|
@@ -29,6 +37,14 @@ en:
|
|
29
37
|
delete_ok : "Link deleted."
|
30
38
|
delete_error : "One error occurs, link not deleted."
|
31
39
|
|
40
|
+
origins:
|
41
|
+
create_ok : "Origin created."
|
42
|
+
update_ok : "Origin updated."
|
43
|
+
|
44
|
+
activity_types:
|
45
|
+
create_ok : "Activity created."
|
46
|
+
update_ok : "Activity updated."
|
47
|
+
|
32
48
|
actions:
|
33
49
|
new_individual: "New individual"
|
34
50
|
new_corporation: "New corporation"
|
@@ -53,6 +69,13 @@ en:
|
|
53
69
|
dorsale/customer_vault/event:
|
54
70
|
one: "Event"
|
55
71
|
other: "Events"
|
72
|
+
dorsale/customer_vault/origin:
|
73
|
+
one: "Origin"
|
74
|
+
other: "Origin"
|
75
|
+
dorsale/customer_vault/activity_type:
|
76
|
+
one: "Activity type"
|
77
|
+
other: "Activity types"
|
78
|
+
|
56
79
|
|
57
80
|
attributes:
|
58
81
|
dorsale/customer_vault/person: &customer_vault_person_attributes
|
@@ -72,6 +95,9 @@ en:
|
|
72
95
|
person_type: "Type"
|
73
96
|
title: "Title"
|
74
97
|
individuals: "Individuals"
|
98
|
+
origin: "Origin"
|
99
|
+
activity_type: "Activity type"
|
100
|
+
|
75
101
|
dorsale/customer_vault/individual:
|
76
102
|
<<: *customer_vault_person_attributes
|
77
103
|
dorsale/customer_vault/corporation:
|
@@ -7,6 +7,14 @@ fr:
|
|
7
7
|
address_informations: "Adresse"
|
8
8
|
additional_informations: "Informations complémentaires"
|
9
9
|
|
10
|
+
origin:
|
11
|
+
actions:
|
12
|
+
create: "Nouvelle origine"
|
13
|
+
|
14
|
+
activity_type:
|
15
|
+
actions:
|
16
|
+
create: "Nouveau type d'activité"
|
17
|
+
|
10
18
|
messages:
|
11
19
|
no_people: "Aucune personne trouvée."
|
12
20
|
no_activity: "Aucune activité récente."
|
@@ -29,6 +37,14 @@ fr:
|
|
29
37
|
delete_ok : "Le lien a été supprimé."
|
30
38
|
delete_error : "Impossible de supprimer ce lien."
|
31
39
|
|
40
|
+
origins:
|
41
|
+
create_ok : "L'origine a été créée."
|
42
|
+
update_ok : "L'origine a été modifiée."
|
43
|
+
|
44
|
+
activity_types:
|
45
|
+
create_ok : "Le type d'activité a été créé."
|
46
|
+
update_ok : "Le type d'activité a été modifiée."
|
47
|
+
|
32
48
|
actions:
|
33
49
|
new_individual: "Nouvel individu"
|
34
50
|
new_corporation: "Nouvelle entreprise"
|
@@ -53,6 +69,12 @@ fr:
|
|
53
69
|
dorsale/customer_vault/event:
|
54
70
|
one: "Événement"
|
55
71
|
other: "Événements"
|
72
|
+
dorsale/customer_vault/origin:
|
73
|
+
one: "Origine du contact"
|
74
|
+
other: "Origines du contact"
|
75
|
+
dorsale/customer_vault/activity_type:
|
76
|
+
one: "Type d'activité"
|
77
|
+
other: "Type d'activité"
|
56
78
|
|
57
79
|
attributes:
|
58
80
|
dorsale/customer_vault/person: &customer_vault_person_attributes
|
@@ -72,6 +94,9 @@ fr:
|
|
72
94
|
person_type: "Type"
|
73
95
|
title: "Fonction"
|
74
96
|
individuals: "Individus"
|
97
|
+
origin: "Origine"
|
98
|
+
activity_type: "Type d'activité"
|
99
|
+
|
75
100
|
dorsale/customer_vault/individual:
|
76
101
|
<<: *customer_vault_person_attributes
|
77
102
|
dorsale/customer_vault/corporation:
|
@@ -8,12 +8,14 @@ en:
|
|
8
8
|
update_error : "One error occurs, comment can't be updated."
|
9
9
|
delete_ok : "Comment deleted."
|
10
10
|
delete_error : "One error occurs, comment can't be deleted."
|
11
|
+
|
11
12
|
users:
|
12
13
|
inactive: "This account is inactive"
|
13
14
|
create_ok : "User created."
|
14
15
|
create_error : "One error occurs, user can't be created."
|
15
16
|
update_ok : "User updated."
|
16
17
|
update_error : "One error occurs, user can't be updated."
|
18
|
+
|
17
19
|
emails:
|
18
20
|
user:
|
19
21
|
new_account:
|
@@ -8,12 +8,14 @@ fr:
|
|
8
8
|
update_error : "Impossible de modifier le commentaire."
|
9
9
|
delete_ok : "Le commentaire a été supprimé."
|
10
10
|
delete_error : "Impossible de supprimer le commentaire."
|
11
|
+
|
11
12
|
users:
|
12
13
|
inactive: "Ce compte est inactif"
|
13
14
|
create_ok : "L'utilisateur a été créé."
|
14
15
|
create_error : "Impossible de créer l'utilisateur."
|
15
16
|
update_ok : "L'utilisateur a été modifié."
|
16
17
|
update_error : "Impossible de modifier l'utilisateur."
|
18
|
+
|
17
19
|
emails:
|
18
20
|
user:
|
19
21
|
new_account:
|