dorsale 3.7.0 → 3.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/app/controllers/dorsale/customer_vault/people_controller.rb +5 -3
- data/app/filters/dorsale/customer_vault/small_data/filter_for_people.rb +4 -2
- data/app/filters/dorsale/customer_vault/small_data/filter_strategy_by_activity_type.rb +7 -0
- data/app/views/dorsale/customer_vault/people/_filters.html.slim +8 -0
- data/app/views/dorsale/customer_vault/people/index.xlsx.ruby +2 -0
- data/config/locales/customer_vault.en.yml +2 -0
- data/config/locales/customer_vault.fr.yml +2 -0
- data/lib/dorsale/version.rb +1 -1
- data/spec/controllers/dorsale/customer_vault/people_controller_spec.rb +25 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf48ad101657528cc823ff034689b86429052dd2
|
4
|
+
data.tar.gz: cadb1010f520ae56b346f951772e46cc0f87670c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d45e6c14fb4c2192e1c77b8d12061e7a5834a23a439577892122f5f05a524b855b61475c2fe40e30e457442211a52f491bb72f7092d450280f29ac5afe2bee5
|
7
|
+
data.tar.gz: 34e5c7642da701322077d221fb263ebc671243ddf16b1acf388648f6c25203b0fb70f9fa96bf37b6b77d67dbe2dde79bbabe2a66eb365802cbac6093b200152a
|
data/CHANGELOG.md
CHANGED
@@ -4,9 +4,11 @@ class Dorsale::CustomerVault::PeopleController < ::Dorsale::CustomerVault::Appli
|
|
4
4
|
def index
|
5
5
|
authorize model, :list?
|
6
6
|
|
7
|
-
@filters
|
8
|
-
@tags
|
9
|
-
@
|
7
|
+
@filters ||= ::Dorsale::CustomerVault::SmallData::FilterForPeople.new(cookies)
|
8
|
+
@tags ||= customer_vault_tag_list
|
9
|
+
@origins ||= policy_scope(Dorsale::CustomerVault::Origin)
|
10
|
+
@activity_types ||= policy_scope(Dorsale::CustomerVault::ActivityType)
|
11
|
+
@people ||= policy_scope(model)
|
10
12
|
.search(params[:q])
|
11
13
|
.preload(:taggings)
|
12
14
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class Dorsale::CustomerVault::SmallData::FilterForPeople < ::Agilibox::SmallData::Filter
|
2
2
|
STRATEGIES = {
|
3
|
-
"person_type"
|
4
|
-
"person_tags"
|
3
|
+
"person_type" => ::Agilibox::SmallData::FilterStrategyByKeyValue.new(:type),
|
4
|
+
"person_tags" => ::Agilibox::SmallData::FilterStrategyByTags.new,
|
5
|
+
"person_origin" => ::Agilibox::SmallData::FilterStrategyByKeyValue.new("origin_id"),
|
6
|
+
"person_activity" => ::Dorsale::CustomerVault::SmallData::FilterStrategyByActivityType.new,
|
5
7
|
}
|
6
8
|
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class Dorsale::CustomerVault::SmallData::FilterStrategyByActivityType < ::Agilibox::SmallData::FilterStrategy
|
2
|
+
def apply(query, value)
|
3
|
+
corporations_id = query.where(activity_type_id: value).pluck(:id)
|
4
|
+
individuals_id = query.where(corporation_id: corporations_id).pluck(:id)
|
5
|
+
query.where(id: (corporations_id + individuals_id))
|
6
|
+
end
|
7
|
+
end
|
@@ -7,3 +7,11 @@
|
|
7
7
|
:collection => @tags,
|
8
8
|
:input_html => {multiple: true},
|
9
9
|
:placeholder => ::Dorsale::CustomerVault::Person.t(:all_tags)
|
10
|
+
|
11
|
+
= f.input :person_origin,
|
12
|
+
:collection => @origins,
|
13
|
+
:include_blank => ::Dorsale::CustomerVault::Person.t(:all_origins)
|
14
|
+
|
15
|
+
= f.input :person_activity,
|
16
|
+
:collection => @activity_types,
|
17
|
+
:include_blank => ::Dorsale::CustomerVault::Person.t(:all_activity_types)
|
@@ -81,6 +81,8 @@ en:
|
|
81
81
|
dorsale/customer_vault/person: &customer_vault_person_attributes
|
82
82
|
context: "Context"
|
83
83
|
all_tags: "All tags"
|
84
|
+
all_origins: "All origins"
|
85
|
+
all_activity_types: "All activities"
|
84
86
|
all_types: "All types"
|
85
87
|
capital: "Capital"
|
86
88
|
immatriculation_number: "Immatriculation number 1"
|
@@ -80,6 +80,8 @@ fr:
|
|
80
80
|
dorsale/customer_vault/person: &customer_vault_person_attributes
|
81
81
|
context: "Contexte"
|
82
82
|
all_tags: "Tous les tags"
|
83
|
+
all_origins: "Toutes les origines"
|
84
|
+
all_activity_types: "Toutes les activités"
|
83
85
|
all_types: "Tous les types"
|
84
86
|
capital: "Capital"
|
85
87
|
immatriculation_number: "SIREN"
|
data/lib/dorsale/version.rb
CHANGED
@@ -54,6 +54,31 @@ RSpec.describe ::Dorsale::CustomerVault::PeopleController, type: :controller do
|
|
54
54
|
|
55
55
|
expect(assigns(:people)).to eq [individual]
|
56
56
|
end
|
57
|
+
|
58
|
+
it "should filter by person origin" do
|
59
|
+
@origin = create(:customer_vault_origin)
|
60
|
+
individual = create(:customer_vault_individual, origin: @origin)
|
61
|
+
corporation = create(:customer_vault_corporation)
|
62
|
+
|
63
|
+
cookies[:filters] = {person_origin: @origin.id}.to_json
|
64
|
+
|
65
|
+
get :index
|
66
|
+
|
67
|
+
expect(assigns(:people)).to eq [individual]
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should filter by person activity" do
|
71
|
+
@activity = create(:customer_vault_activity_type)
|
72
|
+
corpo1 = create(:customer_vault_corporation, activity_type: @activity)
|
73
|
+
individual = create(:customer_vault_individual, corporation: corpo1)
|
74
|
+
corpo2 = create(:customer_vault_corporation)
|
75
|
+
|
76
|
+
cookies[:filters] = {person_activity: @activity.id}.to_json
|
77
|
+
|
78
|
+
get :index
|
79
|
+
|
80
|
+
expect(assigns(:people)).to eq [corpo1, individual]
|
81
|
+
end
|
57
82
|
end # describe "filters"
|
58
83
|
|
59
84
|
describe "search" 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.7.
|
4
|
+
version: 3.7.1
|
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-
|
11
|
+
date: 2017-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -553,6 +553,7 @@ files:
|
|
553
553
|
- app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
|
554
554
|
- app/filters/dorsale/billing_machine/small_data/filter_strategy_by_state.rb
|
555
555
|
- app/filters/dorsale/customer_vault/small_data/filter_for_people.rb
|
556
|
+
- app/filters/dorsale/customer_vault/small_data/filter_strategy_by_activity_type.rb
|
556
557
|
- app/filters/dorsale/expense_gun/small_data/filter_for_expenses.rb
|
557
558
|
- app/filters/dorsale/flyboy/small_data/filter_for_tasks.rb
|
558
559
|
- app/filters/dorsale/flyboy/small_data/filter_strategy_by_done.rb
|