dorsale 3.9.0 → 3.9.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/README.md +1 -1
- data/app/controllers/dorsale/flyboy/tasks_controller.rb +7 -44
- data/app/filters/dorsale/flyboy/small_data/filter_for_tasks.rb +3 -2
- data/app/helpers/dorsale/flyboy/application_helper.rb +13 -1
- data/app/models/dorsale/flyboy/task.rb +5 -0
- data/app/services/dorsale/billing_machine/quotation/to_invoice.rb +1 -1
- data/app/sorters/dorsale/flyboy/tasks_sorter.rb +44 -0
- data/app/views/dorsale/flyboy/_filters.html.slim +11 -3
- data/app/views/dorsale/flyboy/tasks/_context.html.slim +2 -1
- data/app/views/dorsale/flyboy/tasks/_filters.html.slim +10 -0
- data/app/views/dorsale/flyboy/tasks/_form.html.slim +3 -2
- data/app/views/dorsale/flyboy/tasks/_list.html.slim +6 -0
- data/app/views/dorsale/flyboy/tasks/_tasks_for_taskable.html.slim +1 -1
- data/app/views/dorsale/flyboy/tasks/index.html.slim +1 -1
- data/config/locales/dorsale.en.yml +0 -1
- data/config/locales/dorsale.fr.yml +0 -1
- data/config/locales/flyboy.en.yml +1 -0
- data/config/locales/flyboy.fr.yml +1 -0
- data/features/support/env.rb +3 -0
- data/lib/dorsale/version.rb +1 -1
- data/spec/controllers/dorsale/customer_vault/people_controller_spec.rb +2 -2
- data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +21 -0
- data/spec/routing/dorsale/alexandrie/attachments_routing_spec.rb +5 -5
- data/spec/routing/dorsale/billing_machine/invoices_routing_spec.rb +11 -11
- data/spec/routing/dorsale/billing_machine/quotations_routing_spec.rb +9 -9
- data/spec/routing/dorsale/customer_vault/activity_types_routing_spec.rb +5 -5
- data/spec/routing/dorsale/customer_vault/events_routing_spec.rb +1 -1
- data/spec/routing/dorsale/customer_vault/origins_routing_spec.rb +5 -5
- data/spec/routing/dorsale/customer_vault/people_routing_spec.rb +20 -20
- data/spec/routing/dorsale/expense_gun/expenses_routing_spec.rb +11 -11
- metadata +97 -95
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76ebbb416c39796db8712d68bb5952b6a9805904
|
4
|
+
data.tar.gz: e2a2fa91cab07ed102a24bdb0fc9240e1a940a92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd88080f00eaa88ee7e464d60e6377359e88af977807e9f616679d620ec38b35ae0c7b4034dc64cafb93d8fe726e611c737bff2c085de7363e4774542a278c9b
|
7
|
+
data.tar.gz: 416f512d565db0c0d0a7878006b822fee869acc2ea4b7aa9df05a377102eb86e4a6ccd1d3b2cb52d3b76adad3114a696753598442a6ec6ade2b733e247e05cf1
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -11,34 +11,20 @@ class Dorsale::Flyboy::TasksController < ::Dorsale::Flyboy::ApplicationControlle
|
|
11
11
|
:copy,
|
12
12
|
]
|
13
13
|
|
14
|
-
before_action :set_owners, only: [
|
15
|
-
:new,
|
16
|
-
:create,
|
17
|
-
:edit,
|
18
|
-
:update,
|
19
|
-
:copy,
|
20
|
-
]
|
21
|
-
|
22
14
|
def index
|
23
15
|
authorize model, :list?
|
24
16
|
|
25
|
-
@tasks ||= scope.all.preload(:taskable)
|
26
|
-
|
27
|
-
@order ||= order_from_params
|
28
|
-
|
17
|
+
@tasks ||= scope.all.preload(:taskable, :taggings)
|
29
18
|
@filters ||= ::Dorsale::Flyboy::SmallData::FilterForTasks.new(filters_jar)
|
30
|
-
|
31
19
|
@tasks = @filters.apply(@tasks)
|
32
20
|
@tasks = @tasks.search(params[:q])
|
21
|
+
@tasks_without_pagination = @tasks
|
22
|
+
@tasks = Dorsale::Flyboy::TasksSorter.(@tasks, params["sort"] ||= "term")
|
33
23
|
|
34
|
-
if @
|
35
|
-
@tasks = @tasks.sort(&@order)
|
36
|
-
@tasks_without_pagination = @tasks
|
37
|
-
@tasks = Kaminari.paginate_array(@tasks).page(params[:page])
|
38
|
-
else
|
39
|
-
@tasks = @tasks.order(@order)
|
40
|
-
@tasks_without_pagination = @tasks
|
24
|
+
if @tasks.is_a?(ActiveRecord::Relation)
|
41
25
|
@tasks = @tasks.page(params[:page])
|
26
|
+
else
|
27
|
+
@tasks = Kaminari.paginate_array(@tasks).page(params[:page])
|
42
28
|
end
|
43
29
|
end
|
44
30
|
|
@@ -176,10 +162,6 @@ class Dorsale::Flyboy::TasksController < ::Dorsale::Flyboy::ApplicationControlle
|
|
176
162
|
@taskable ||= @task.taskable
|
177
163
|
end
|
178
164
|
|
179
|
-
def set_owners
|
180
|
-
@owners ||= policy_scope(User).actives
|
181
|
-
end
|
182
|
-
|
183
165
|
def permitted_params
|
184
166
|
[
|
185
167
|
:taskable_id,
|
@@ -193,30 +175,11 @@ class Dorsale::Flyboy::TasksController < ::Dorsale::Flyboy::ApplicationControlle
|
|
193
175
|
:reminder_duration,
|
194
176
|
:reminder_unit,
|
195
177
|
:owner_id,
|
178
|
+
:tag_list => [],
|
196
179
|
]
|
197
180
|
end
|
198
181
|
|
199
182
|
def task_params
|
200
183
|
params.fetch(:task, {}).permit(permitted_params)
|
201
184
|
end
|
202
|
-
|
203
|
-
def order_from_params
|
204
|
-
sortable_column_order do |column, direction|
|
205
|
-
case column
|
206
|
-
when :name, :status
|
207
|
-
%(LOWER(dorsale_flyboy_tasks.#{column}) #{direction})
|
208
|
-
when :progress, :term
|
209
|
-
%(dorsale_flyboy_tasks.#{column} #{direction})
|
210
|
-
when :taskable
|
211
|
-
if direction == :asc
|
212
|
-
proc { |a, b| a.taskable.to_s.downcase <=> b.taskable.to_s.downcase }
|
213
|
-
else
|
214
|
-
proc { |a, b| b.taskable.to_s.downcase <=> a.taskable.to_s.downcase }
|
215
|
-
end
|
216
|
-
else
|
217
|
-
params["sort"] = "term"
|
218
|
-
"term ASC"
|
219
|
-
end
|
220
|
-
end
|
221
|
-
end
|
222
185
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class Dorsale::Flyboy::SmallData::FilterForTasks < ::Agilibox::SmallData::Filter
|
2
2
|
STRATEGIES = {
|
3
|
-
"fb_state"
|
4
|
-
"fb_owner"
|
3
|
+
"fb_state" => ::Dorsale::Flyboy::SmallData::FilterStrategyByTaskState.new,
|
4
|
+
"fb_owner" => ::Agilibox::SmallData::FilterStrategyByKeyValue.new(:owner_id),
|
5
|
+
"fb_tags" => ::Agilibox::SmallData::FilterStrategyByTags.new,
|
5
6
|
}
|
6
7
|
end
|
@@ -31,8 +31,20 @@ module Dorsale::Flyboy::ApplicationHelper
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
def flyboy_tasks_owners_for_select
|
35
|
+
([@task&.owner].compact + policy_scope(User).actives).uniq
|
36
|
+
end
|
37
|
+
|
34
38
|
def flyboy_tasks_owners_for_filters_select
|
35
|
-
|
39
|
+
flyboy_tasks_owners_for_select
|
40
|
+
end
|
41
|
+
|
42
|
+
def flyboy_tasks_tags_for_select
|
43
|
+
Dorsale::TagListForModel.(Dorsale::Flyboy::Task)
|
44
|
+
end
|
45
|
+
|
46
|
+
def flyboy_tasks_tags_for_filters_select
|
47
|
+
flyboy_tasks_tags_for_select
|
36
48
|
end
|
37
49
|
|
38
50
|
def flyboy_reminder_types_for_select
|
@@ -37,6 +37,6 @@ class Dorsale::BillingMachine::Quotation::ToInvoice < ::Dorsale::Service
|
|
37
37
|
|
38
38
|
def ignored_key?(k)
|
39
39
|
k = k.to_s
|
40
|
-
k == "id" || k.match
|
40
|
+
k == "id" || k.match(/index|tracking|state/) || k.end_with?("_at")
|
41
41
|
end
|
42
42
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
class Dorsale::Flyboy::TasksSorter < Agilibox::Sorter
|
2
|
+
def sort
|
3
|
+
case column
|
4
|
+
when :name, :status
|
5
|
+
%(LOWER(dorsale_flyboy_tasks.#{column}) #{direction})
|
6
|
+
when :progress, :term
|
7
|
+
%(dorsale_flyboy_tasks.#{column} #{direction})
|
8
|
+
when :taskable
|
9
|
+
if direction == :asc
|
10
|
+
proc { |a, b| a.taskable.to_s.downcase <=> b.taskable.to_s.downcase }
|
11
|
+
else
|
12
|
+
proc { |a, b| b.taskable.to_s.downcase <=> a.taskable.to_s.downcase }
|
13
|
+
end
|
14
|
+
when :tags
|
15
|
+
%(
|
16
|
+
(
|
17
|
+
SELECT STRING_AGG(n, ' ' ORDER BY n)
|
18
|
+
FROM (
|
19
|
+
SELECT name AS n
|
20
|
+
FROM tags
|
21
|
+
WHERE id IN (
|
22
|
+
SELECT taggings.tag_id
|
23
|
+
FROM taggings
|
24
|
+
WHERE taggable_id = dorsale_flyboy_tasks.id
|
25
|
+
AND taggings.taggable_type = '#{Dorsale::Flyboy::Task}'
|
26
|
+
)
|
27
|
+
) AS task_tags
|
28
|
+
) #{direction}
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def call
|
34
|
+
order = sort
|
35
|
+
|
36
|
+
if order.is_a?(Proc) # sorting by a polymorphic attribute
|
37
|
+
result = @collection.sort(&order)
|
38
|
+
else
|
39
|
+
result = @collection.reorder(order)
|
40
|
+
end
|
41
|
+
|
42
|
+
result
|
43
|
+
end
|
44
|
+
end
|
@@ -1,5 +1,13 @@
|
|
1
1
|
= filters_form do |f|
|
2
|
-
= f.input :fb_state,
|
2
|
+
= f.input :fb_state,
|
3
|
+
:collection => flyboy_status_for_filters_select,
|
4
|
+
:include_blank => Dorsale::Flyboy::Task.t("state.all")
|
3
5
|
|
4
|
-
|
5
|
-
|
6
|
+
= f.input :fb_owner,
|
7
|
+
:collection => flyboy_tasks_owners_for_filters_select,
|
8
|
+
:include_blank => t("filters.all_owners")
|
9
|
+
|
10
|
+
= f.input :fb_tags,
|
11
|
+
:collection => flyboy_tasks_tags_for_filters_select,
|
12
|
+
:input_html => {multiple: true},
|
13
|
+
:placeholder => ::Dorsale::Flyboy::Task.t(:all_tags)
|
@@ -5,11 +5,12 @@
|
|
5
5
|
= task
|
6
6
|
|
7
7
|
.context-body class=task.state
|
8
|
+
= info task, :tags, tags(task)
|
8
9
|
= info task, :progress, progress_bar(percentage: task.progress, label: true)
|
9
10
|
= info task, :owner
|
10
11
|
= info task, :created_at
|
11
|
-
= info task, :term
|
12
12
|
= info task, :reminder_date
|
13
|
+
= info task, :term
|
13
14
|
= info task, :done
|
14
15
|
|
15
16
|
.context-footer
|
@@ -0,0 +1,10 @@
|
|
1
|
+
= filters_form do |f|
|
2
|
+
= f.input :fb_state, collection: flyboy_status_for_filters_select, include_blank: Dorsale::Flyboy::Task.t("state.all")
|
3
|
+
|
4
|
+
- if @filters.class::STRATEGIES.include?("fb_owner")
|
5
|
+
= f.input :fb_owner, collection: flyboy_tasks_owners_for_filters_select, include_blank: t("filters.all_owners")
|
6
|
+
|
7
|
+
= f.input :fb_tags,
|
8
|
+
:collection => flyboy_tasks_tags_for_filters_select,
|
9
|
+
:input_html => {multiple: true},
|
10
|
+
:placeholder => ::Dorsale::Flyboy::Task.t(:all_tags)
|
@@ -17,11 +17,12 @@
|
|
17
17
|
|
18
18
|
.row
|
19
19
|
.col-sm-8 = f.input :name
|
20
|
-
.col-sm-4 = f.input :owner_id, collection:
|
20
|
+
.col-sm-4 = f.input :owner_id, collection: flyboy_tasks_owners_for_select
|
21
21
|
|
22
|
+
= f.input :tag_list, collection: flyboy_tasks_tags_for_select, input_html: {multiple: true}
|
22
23
|
= f.input :description, input_html: {rows: 5}
|
23
|
-
= render "dorsale/flyboy/tasks/term_fields", f: f
|
24
24
|
= render "dorsale/flyboy/tasks/reminder_fields", f: f
|
25
|
+
= render "dorsale/flyboy/tasks/term_fields", f: f
|
25
26
|
= f.hidden_field :taskable_id
|
26
27
|
= f.hidden_field :taskable_type
|
27
28
|
|
@@ -9,6 +9,9 @@ table#tasks-list
|
|
9
9
|
th.task-name
|
10
10
|
= sortable_column Dorsale::Flyboy::Task.t, :name
|
11
11
|
|
12
|
+
th.task-tags
|
13
|
+
= sortable_column Dorsale::Flyboy::Task.t(:tags), :tags
|
14
|
+
|
12
15
|
- unless nested
|
13
16
|
th.taskable-name.hidden-xs
|
14
17
|
= sortable_column Dorsale::Flyboy::Task.t(:taskable), :taskable
|
@@ -53,6 +56,9 @@ table#tasks-list
|
|
53
56
|
td.task-name
|
54
57
|
= link_to_object(task)
|
55
58
|
|
59
|
+
td.task-tags
|
60
|
+
= tags(task)
|
61
|
+
|
56
62
|
- unless nested
|
57
63
|
td.taskable-name.hidden-xs
|
58
64
|
= link_to_object(task.taskable)
|
data/features/support/env.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
ENV["RAILS_ROOT"] ||= File.expand_path("../../../spec/dummy", __FILE__)
|
2
2
|
require "cucumber/rails"
|
3
3
|
require "agilibox/cucumber_config"
|
4
|
+
def Zonebie.set_random_timezone
|
5
|
+
# https://github.com/agilidee/dorsale/issues/273
|
6
|
+
end
|
4
7
|
Agilibox::CucumberConfig.require_all_helpers!
|
data/lib/dorsale/version.rb
CHANGED
@@ -92,7 +92,7 @@ RSpec.describe ::Dorsale::CustomerVault::PeopleController, type: :controller do
|
|
92
92
|
describe "#create" do
|
93
93
|
before do
|
94
94
|
allow_any_instance_of(Dorsale::CustomerVault::PeopleController).to \
|
95
|
-
|
95
|
+
receive(:model) { Dorsale::CustomerVault::Corporation }
|
96
96
|
end
|
97
97
|
|
98
98
|
it "should generate an event" do
|
@@ -110,7 +110,7 @@ RSpec.describe ::Dorsale::CustomerVault::PeopleController, type: :controller do
|
|
110
110
|
describe "#update" do
|
111
111
|
before do
|
112
112
|
allow_any_instance_of(Dorsale::CustomerVault::PeopleController).to \
|
113
|
-
|
113
|
+
receive(:model) { Dorsale::CustomerVault::Corporation }
|
114
114
|
end
|
115
115
|
|
116
116
|
it "should generate an event" do
|
@@ -70,6 +70,14 @@ describe Dorsale::Flyboy::TasksController, type: :controller do
|
|
70
70
|
get :index
|
71
71
|
expect(assigns(:tasks).to_a).to eq [@task2]
|
72
72
|
end
|
73
|
+
|
74
|
+
it "should filter by tags" do
|
75
|
+
task1 = create(:flyboy_task, tag_list: "abc")
|
76
|
+
task2 = create(:flyboy_task, tag_list: "xyz")
|
77
|
+
cookies["filters"] = {fb_tags: ["abc"]}.to_json
|
78
|
+
get :index
|
79
|
+
expect(assigns(:tasks)).to eq [task1]
|
80
|
+
end
|
73
81
|
end
|
74
82
|
|
75
83
|
context "when sorting" do
|
@@ -86,6 +94,7 @@ describe Dorsale::Flyboy::TasksController, type: :controller do
|
|
86
94
|
:term => "21/12/2012",
|
87
95
|
:reminder_type => "custom",
|
88
96
|
:reminder_date => "21/12/2012",
|
97
|
+
:tag_list => "aaa",
|
89
98
|
)
|
90
99
|
|
91
100
|
@task2 = create(:flyboy_task,
|
@@ -95,6 +104,7 @@ describe Dorsale::Flyboy::TasksController, type: :controller do
|
|
95
104
|
:term => "23/12/2012",
|
96
105
|
:reminder_type => "custom",
|
97
106
|
:reminder_date => "23/12/2012",
|
107
|
+
:tag_list => "bbb",
|
98
108
|
)
|
99
109
|
|
100
110
|
@task3 = create(:flyboy_task,
|
@@ -104,6 +114,7 @@ describe Dorsale::Flyboy::TasksController, type: :controller do
|
|
104
114
|
:term => "22/12/2012",
|
105
115
|
:reminder_type => "custom",
|
106
116
|
:reminder_date => "22/12/2012",
|
117
|
+
:tag_list => "",
|
107
118
|
)
|
108
119
|
end
|
109
120
|
|
@@ -146,6 +157,16 @@ describe Dorsale::Flyboy::TasksController, type: :controller do
|
|
146
157
|
get :index, params: {sort: "-term"}
|
147
158
|
expect(assigns(:tasks).to_a).to eq [@task2, @task3, @task1]
|
148
159
|
end
|
160
|
+
|
161
|
+
it "sorting by tags asc" do
|
162
|
+
get :index, params: {sort: "tags"}
|
163
|
+
expect(assigns(:tasks).to_a).to eq [@task1, @task2, @task3]
|
164
|
+
end
|
165
|
+
|
166
|
+
it "sorting by tags desc" do
|
167
|
+
get :index, params: {sort: "-tags"}
|
168
|
+
expect(assigns(:tasks).to_a).to eq [@task3, @task2, @task1]
|
169
|
+
end
|
149
170
|
end
|
150
171
|
end
|
151
172
|
|
@@ -6,27 +6,27 @@ RSpec.describe Dorsale::Alexandrie::AttachmentsController, type: :routing do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#create" do
|
8
8
|
expect(get "/alexandrie/attachments").to \
|
9
|
-
|
9
|
+
route_to("dorsale/alexandrie/attachments#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#create" do
|
13
13
|
expect(post "/alexandrie/attachments").to \
|
14
|
-
|
14
|
+
route_to("dorsale/alexandrie/attachments#create")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#edit" do
|
18
18
|
expect(get "/alexandrie/attachments/3/edit").to \
|
19
|
-
|
19
|
+
route_to("dorsale/alexandrie/attachments#edit", id: "3")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#update" do
|
23
23
|
expect(patch "/alexandrie/attachments/3").to \
|
24
|
-
|
24
|
+
route_to("dorsale/alexandrie/attachments#update", id: "3")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "#destroy" do
|
28
28
|
expect(delete "/alexandrie/attachments/3").to \
|
29
|
-
|
29
|
+
route_to("dorsale/alexandrie/attachments#destroy", id: "3")
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -6,57 +6,57 @@ describe ::Dorsale::BillingMachine::InvoicesController, type: :routing do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/billing_machine/invoices").to \
|
9
|
-
|
9
|
+
route_to("dorsale/billing_machine/invoices#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#new" do
|
13
13
|
expect(get "/billing_machine/invoices/new").to \
|
14
|
-
|
14
|
+
route_to("dorsale/billing_machine/invoices#new")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#create" do
|
18
18
|
expect(post "/billing_machine/invoices").to \
|
19
|
-
|
19
|
+
route_to("dorsale/billing_machine/invoices#create")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#show" do
|
23
23
|
expect(get "/billing_machine/invoices/1").to \
|
24
|
-
|
24
|
+
route_to("dorsale/billing_machine/invoices#show", id: "1")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "#show pdf" do
|
28
28
|
expect(get "/billing_machine/invoices/1.pdf").to \
|
29
|
-
|
29
|
+
route_to("dorsale/billing_machine/invoices#show", id: "1", format: "pdf")
|
30
30
|
end
|
31
31
|
|
32
32
|
it "#pay" do
|
33
33
|
expect(patch "/billing_machine/invoices/1/pay").to \
|
34
|
-
|
34
|
+
route_to("dorsale/billing_machine/invoices#pay", id: "1")
|
35
35
|
end
|
36
36
|
|
37
37
|
it "#copy" do
|
38
38
|
expect(get "/billing_machine/invoices/1/copy").to \
|
39
|
-
|
39
|
+
route_to("dorsale/billing_machine/invoices#copy", id: "1")
|
40
40
|
end
|
41
41
|
|
42
42
|
it "#edit" do
|
43
43
|
expect(get "/billing_machine/invoices/1/edit").to \
|
44
|
-
|
44
|
+
route_to("dorsale/billing_machine/invoices#edit", id: "1")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "#update" do
|
48
48
|
expect(patch "/billing_machine/invoices/1").to \
|
49
|
-
|
49
|
+
route_to("dorsale/billing_machine/invoices#update", id: "1")
|
50
50
|
end
|
51
51
|
|
52
52
|
it "#email via GET" do
|
53
53
|
expect(get "/billing_machine/invoices/1/email").to \
|
54
|
-
|
54
|
+
route_to("dorsale/billing_machine/invoices#email", id: "1")
|
55
55
|
end
|
56
56
|
|
57
57
|
it "#email via PORT" do
|
58
58
|
expect(post "/billing_machine/invoices/1/email").to \
|
59
|
-
|
59
|
+
route_to("dorsale/billing_machine/invoices#email", id: "1")
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
@@ -6,47 +6,47 @@ describe ::Dorsale::BillingMachine::QuotationsController do
|
|
6
6
|
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/billing_machine/quotations").to \
|
9
|
-
|
9
|
+
route_to("dorsale/billing_machine/quotations#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#new" do
|
13
13
|
expect(get "/billing_machine/quotations/new").to \
|
14
|
-
|
14
|
+
route_to("dorsale/billing_machine/quotations#new")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#show" do
|
18
18
|
expect(get "/billing_machine/quotations/1").to \
|
19
|
-
|
19
|
+
route_to("dorsale/billing_machine/quotations#show", id: "1")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#edit" do
|
23
23
|
expect(get "/billing_machine/quotations/1/edit").to \
|
24
|
-
|
24
|
+
route_to("dorsale/billing_machine/quotations#edit", id: "1")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "#create" do
|
28
28
|
expect(post "/billing_machine/quotations").to \
|
29
|
-
|
29
|
+
route_to("dorsale/billing_machine/quotations#create")
|
30
30
|
end
|
31
31
|
|
32
32
|
it "#update" do
|
33
33
|
expect(patch "/billing_machine/quotations/1").to \
|
34
|
-
|
34
|
+
route_to("dorsale/billing_machine/quotations#update", id: "1")
|
35
35
|
end
|
36
36
|
|
37
37
|
it "#destroy" do
|
38
38
|
expect(delete "/billing_machine/quotations/1").to \
|
39
|
-
|
39
|
+
route_to("dorsale/billing_machine/quotations#destroy", id: "1")
|
40
40
|
end
|
41
41
|
|
42
42
|
it "#copy" do
|
43
43
|
expect(post "/billing_machine/quotations/1/copy").to \
|
44
|
-
|
44
|
+
route_to("dorsale/billing_machine/quotations#copy", id: "1")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "#create_invoice" do
|
48
48
|
expect(get "/billing_machine/quotations/1/create_invoice").to \
|
49
|
-
|
49
|
+
route_to("dorsale/billing_machine/quotations#create_invoice", id: "1")
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -6,17 +6,17 @@ describe ::Dorsale::CustomerVault::ActivityTypesController do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/customer_vault/activity_types").to \
|
9
|
-
|
9
|
+
route_to("dorsale/customer_vault/activity_types#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#new" do
|
13
13
|
expect(get "/customer_vault/activity_types/new").to \
|
14
|
-
|
14
|
+
route_to("dorsale/customer_vault/activity_types#new")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#create" do
|
18
18
|
expect(post "/customer_vault/activity_types").to \
|
19
|
-
|
19
|
+
route_to("dorsale/customer_vault/activity_types#create")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#show" do
|
@@ -25,12 +25,12 @@ describe ::Dorsale::CustomerVault::ActivityTypesController do
|
|
25
25
|
|
26
26
|
it "#edit" do
|
27
27
|
expect(get "/customer_vault/activity_types/3/edit").to \
|
28
|
-
|
28
|
+
route_to("dorsale/customer_vault/activity_types#edit", id: "3")
|
29
29
|
end
|
30
30
|
|
31
31
|
it "#update" do
|
32
32
|
expect(patch "/customer_vault/activity_types/3").to \
|
33
|
-
|
33
|
+
route_to("dorsale/customer_vault/activity_types#update", id: "3")
|
34
34
|
end
|
35
35
|
|
36
36
|
it "#destroy" do
|
@@ -6,7 +6,7 @@ RSpec.describe ::Dorsale::CustomerVault::EventsController, type: :routing do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/customer_vault/events").to \
|
9
|
-
|
9
|
+
route_to("dorsale/customer_vault/events#index")
|
10
10
|
end
|
11
11
|
end # describe "routing"
|
12
12
|
end
|
@@ -6,17 +6,17 @@ describe ::Dorsale::CustomerVault::OriginsController do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/customer_vault/origins").to \
|
9
|
-
|
9
|
+
route_to("dorsale/customer_vault/origins#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#new" do
|
13
13
|
expect(get "/customer_vault/origins/new").to \
|
14
|
-
|
14
|
+
route_to("dorsale/customer_vault/origins#new")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#create" do
|
18
18
|
expect(post "/customer_vault/origins").to \
|
19
|
-
|
19
|
+
route_to("dorsale/customer_vault/origins#create")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#show" do
|
@@ -25,12 +25,12 @@ describe ::Dorsale::CustomerVault::OriginsController do
|
|
25
25
|
|
26
26
|
it "#edit" do
|
27
27
|
expect(get "/customer_vault/origins/3/edit").to \
|
28
|
-
|
28
|
+
route_to("dorsale/customer_vault/origins#edit", id: "3")
|
29
29
|
end
|
30
30
|
|
31
31
|
it "#update" do
|
32
32
|
expect(patch "/customer_vault/origins/3").to \
|
33
|
-
|
33
|
+
route_to("dorsale/customer_vault/origins#update", id: "3")
|
34
34
|
end
|
35
35
|
|
36
36
|
it "#destroy" do
|
@@ -6,104 +6,104 @@ RSpec.describe ::Dorsale::CustomerVault::PeopleController, type: :routing do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/customer_vault/people").to \
|
9
|
-
|
9
|
+
route_to("dorsale/customer_vault/people#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#corporations via get" do
|
13
13
|
expect(get "/customer_vault/corporations").to \
|
14
|
-
|
14
|
+
route_to("dorsale/customer_vault/people#corporations")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#individuals via get" do
|
18
18
|
expect(get "/customer_vault/individuals").to \
|
19
|
-
|
19
|
+
route_to("dorsale/customer_vault/people#individuals")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#new person" do
|
23
23
|
expect(get "/customer_vault/people/new").to \
|
24
|
-
|
24
|
+
route_to("dorsale/customer_vault/people#new")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "#new corporation" do
|
28
28
|
expect(get "/customer_vault/corporations/new").to \
|
29
|
-
|
29
|
+
route_to("dorsale/customer_vault/people#new")
|
30
30
|
end
|
31
31
|
|
32
32
|
it "#new individual" do
|
33
33
|
expect(get "/customer_vault/individuals/new").to \
|
34
|
-
|
34
|
+
route_to("dorsale/customer_vault/people#new")
|
35
35
|
end
|
36
36
|
|
37
37
|
it "#create person" do
|
38
38
|
expect(post "/customer_vault/people").to \
|
39
|
-
|
39
|
+
route_to("dorsale/customer_vault/people#create")
|
40
40
|
end
|
41
41
|
|
42
42
|
it "#create individual" do
|
43
43
|
expect(post "/customer_vault/individuals").to \
|
44
|
-
|
44
|
+
route_to("dorsale/customer_vault/people#create")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "#create corporation" do
|
48
48
|
expect(post "/customer_vault/corporations").to \
|
49
|
-
|
49
|
+
route_to("dorsale/customer_vault/people#create")
|
50
50
|
end
|
51
51
|
|
52
52
|
it "#show" do
|
53
53
|
expect(get "/customer_vault/people/1").to \
|
54
|
-
|
54
|
+
route_to("dorsale/customer_vault/people#show", id: "1")
|
55
55
|
end
|
56
56
|
|
57
57
|
it "#tasks" do
|
58
58
|
expect(get "/customer_vault/people/1/tasks").to \
|
59
|
-
|
59
|
+
route_to("dorsale/customer_vault/people#tasks", id: "1")
|
60
60
|
end
|
61
61
|
|
62
62
|
it "#invoices" do
|
63
63
|
expect(get "/customer_vault/people/1/invoices").to \
|
64
|
-
|
64
|
+
route_to("dorsale/customer_vault/people#invoices", id: "1")
|
65
65
|
end
|
66
66
|
|
67
67
|
it "#links" do
|
68
68
|
expect(get "/customer_vault/people/1/links").to \
|
69
|
-
|
69
|
+
route_to("dorsale/customer_vault/links#index", person_id: "1")
|
70
70
|
end
|
71
71
|
|
72
72
|
it "#edit" do
|
73
73
|
expect(get "/customer_vault/people/1/edit").to \
|
74
|
-
|
74
|
+
route_to("dorsale/customer_vault/people#edit", id: "1")
|
75
75
|
end
|
76
76
|
|
77
77
|
it "#update" do
|
78
78
|
expect(patch "/customer_vault/people/1").to \
|
79
|
-
|
79
|
+
route_to("dorsale/customer_vault/people#update", id: "1")
|
80
80
|
end
|
81
81
|
|
82
82
|
it "#destroy" do
|
83
83
|
expect(delete "/customer_vault/people/1").to \
|
84
|
-
|
84
|
+
route_to("dorsale/customer_vault/people#destroy", id: "1")
|
85
85
|
end
|
86
86
|
end # describe "routing"
|
87
87
|
|
88
88
|
describe "route helpers" do
|
89
89
|
it "#new_customer_vault_corporation_path" do
|
90
90
|
expect(new_customer_vault_corporation_path).to \
|
91
|
-
|
91
|
+
eq "/dorsale/customer_vault/corporations/new"
|
92
92
|
end
|
93
93
|
|
94
94
|
it "#new_customer_vault_individual_path" do
|
95
95
|
expect(new_customer_vault_individual_path).to \
|
96
|
-
|
96
|
+
eq "/dorsale/customer_vault/individuals/new"
|
97
97
|
end
|
98
98
|
|
99
99
|
it "#customer_vault_corporation_path" do
|
100
100
|
expect(customer_vault_corporations_path).to \
|
101
|
-
|
101
|
+
eq "/dorsale/customer_vault/corporations"
|
102
102
|
end
|
103
103
|
|
104
104
|
it "#customer_vault_individual_path" do
|
105
105
|
expect(customer_vault_individuals_path).to \
|
106
|
-
|
106
|
+
eq "/dorsale/customer_vault/individuals"
|
107
107
|
end
|
108
108
|
end # describe "route helpers"
|
109
109
|
end
|
@@ -6,57 +6,57 @@ describe ::Dorsale::ExpenseGun::ExpensesController, type: :routing do
|
|
6
6
|
describe "routing" do
|
7
7
|
it "#index" do
|
8
8
|
expect(get "/expense_gun/expenses").to \
|
9
|
-
|
9
|
+
route_to("dorsale/expense_gun/expenses#index")
|
10
10
|
end
|
11
11
|
|
12
12
|
it "#new" do
|
13
13
|
expect(get "/expense_gun/expenses/new").to \
|
14
|
-
|
14
|
+
route_to("dorsale/expense_gun/expenses#new")
|
15
15
|
end
|
16
16
|
|
17
17
|
it "#create" do
|
18
18
|
expect(post "/expense_gun/expenses").to \
|
19
|
-
|
19
|
+
route_to("dorsale/expense_gun/expenses#create")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "#show" do
|
23
23
|
expect(get "/expense_gun/expenses/1").to \
|
24
|
-
|
24
|
+
route_to("dorsale/expense_gun/expenses#show", id: "1")
|
25
25
|
end
|
26
26
|
|
27
27
|
it "#edit" do
|
28
28
|
expect(get "/expense_gun/expenses/1/edit").to \
|
29
|
-
|
29
|
+
route_to("dorsale/expense_gun/expenses#edit", id: "1")
|
30
30
|
end
|
31
31
|
|
32
32
|
it "#update" do
|
33
33
|
expect(patch "/expense_gun/expenses/1").to \
|
34
|
-
|
34
|
+
route_to("dorsale/expense_gun/expenses#update", id: "1")
|
35
35
|
end
|
36
36
|
|
37
37
|
it "#submit" do
|
38
38
|
expect(patch "/expense_gun/expenses/1/submit").to \
|
39
|
-
|
39
|
+
route_to("dorsale/expense_gun/expenses#submit", id: "1")
|
40
40
|
end
|
41
41
|
|
42
42
|
it "#accept" do
|
43
43
|
expect(patch "/expense_gun/expenses/1/accept").to \
|
44
|
-
|
44
|
+
route_to("dorsale/expense_gun/expenses#accept", id: "1")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "#refuse" do
|
48
48
|
expect(patch "/expense_gun/expenses/1/refuse").to \
|
49
|
-
|
49
|
+
route_to("dorsale/expense_gun/expenses#refuse", id: "1")
|
50
50
|
end
|
51
51
|
|
52
52
|
it "#cancel" do
|
53
53
|
expect(patch "/expense_gun/expenses/1/cancel").to \
|
54
|
-
|
54
|
+
route_to("dorsale/expense_gun/expenses#cancel", id: "1")
|
55
55
|
end
|
56
56
|
|
57
57
|
it "#copy" do
|
58
58
|
expect(get "/expense_gun/expenses/1/copy").to \
|
59
|
-
|
59
|
+
route_to("dorsale/expense_gun/expenses#copy", id: "1")
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
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.9.
|
4
|
+
version: 3.9.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-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -642,6 +642,7 @@ files:
|
|
642
642
|
- app/services/dorsale/service.rb
|
643
643
|
- app/services/dorsale/tag_list_for_model.rb
|
644
644
|
- app/sorters/dorsale/flyboy/task_comments_sorter.rb
|
645
|
+
- app/sorters/dorsale/flyboy/tasks_sorter.rb
|
645
646
|
- app/uploaders/dorsale/alexandrie/file_uploader.rb
|
646
647
|
- app/uploaders/dorsale/application_uploader.rb
|
647
648
|
- app/uploaders/dorsale/avatar_uploader.rb
|
@@ -771,6 +772,7 @@ files:
|
|
771
772
|
- app/views/dorsale/flyboy/task_mailer/new_task.html.slim
|
772
773
|
- app/views/dorsale/flyboy/task_mailer/term_email.html.slim
|
773
774
|
- app/views/dorsale/flyboy/tasks/_context.html.slim
|
775
|
+
- app/views/dorsale/flyboy/tasks/_filters.html.slim
|
774
776
|
- app/views/dorsale/flyboy/tasks/_form.html.slim
|
775
777
|
- app/views/dorsale/flyboy/tasks/_index_actions.html.slim
|
776
778
|
- app/views/dorsale/flyboy/tasks/_list.html.slim
|
@@ -1013,129 +1015,129 @@ signing_key:
|
|
1013
1015
|
specification_version: 4
|
1014
1016
|
summary: Modular ERP made with Ruby on Rails
|
1015
1017
|
test_files:
|
1016
|
-
- spec/
|
1017
|
-
- spec/
|
1018
|
-
- spec/
|
1019
|
-
- spec/
|
1020
|
-
- spec/
|
1021
|
-
- spec/
|
1022
|
-
- spec/
|
1023
|
-
- spec/
|
1024
|
-
- spec/
|
1025
|
-
- spec/
|
1026
|
-
- spec/
|
1018
|
+
- spec/spec_helper.rb
|
1019
|
+
- spec/mailers/user_mailer.rb
|
1020
|
+
- spec/models/dorsale/billing_machine_spec.rb
|
1021
|
+
- spec/models/dorsale/i18n_spec.rb
|
1022
|
+
- spec/models/dorsale/alexandrie/attachment_spec.rb
|
1023
|
+
- spec/models/dorsale/alexandrie/attachment_type_spec.rb
|
1024
|
+
- spec/models/dorsale/expense_gun/expense_spec.rb
|
1025
|
+
- spec/models/dorsale/expense_gun/expense_line_spec.rb
|
1026
|
+
- spec/models/dorsale/expense_gun/category_spec.rb
|
1027
|
+
- spec/models/dorsale/customer_vault/person_spec.rb
|
1028
|
+
- spec/models/dorsale/customer_vault/individual_spec.rb
|
1029
|
+
- spec/models/dorsale/customer_vault/activity_type_spec.rb
|
1030
|
+
- spec/models/dorsale/customer_vault/origin_spec.rb
|
1031
|
+
- spec/models/dorsale/customer_vault/event_spec.rb
|
1032
|
+
- spec/models/dorsale/customer_vault/corporation_spec.rb
|
1033
|
+
- spec/models/dorsale/customer_vault/link_spec.rb
|
1034
|
+
- spec/models/dorsale/users_spec.rb
|
1035
|
+
- spec/models/dorsale/billing_machine/quotation_line_spec.rb
|
1036
|
+
- spec/models/dorsale/billing_machine/quotation_spec.rb
|
1037
|
+
- spec/models/dorsale/billing_machine/invoice_line_spec.rb
|
1038
|
+
- spec/models/dorsale/billing_machine/invoice_spec.rb
|
1039
|
+
- spec/models/dorsale/comment_spec.rb
|
1040
|
+
- spec/models/dorsale/flyboy/task_spec.rb
|
1041
|
+
- spec/models/dorsale/flyboy/task_comment_spec.rb
|
1042
|
+
- spec/models/dorsale/address_spec.rb
|
1043
|
+
- spec/support/devise.rb
|
1044
|
+
- spec/support/message_delivery.rb
|
1045
|
+
- spec/factories/expense_gun_categories.rb
|
1046
|
+
- spec/factories/dorsale_addresses.rb
|
1027
1047
|
- spec/factories/billing_machine_invoice_lines.rb
|
1048
|
+
- spec/factories/customer_vault_origins.rb
|
1049
|
+
- spec/factories/customer_vault_links.rb
|
1050
|
+
- spec/factories/alexandrie_attachments.rb
|
1051
|
+
- spec/factories/customer_vault_event.rb
|
1028
1052
|
- spec/factories/billing_machine_invoices.rb
|
1029
|
-
- spec/factories/billing_machine_payment_terms.rb
|
1030
|
-
- spec/factories/billing_machine_quotation_lines.rb
|
1031
|
-
- spec/factories/billing_machine_quotations.rb
|
1032
1053
|
- spec/factories/customer_vault_activity_types.rb
|
1054
|
+
- spec/factories/billing_machine_payment_terms.rb
|
1033
1055
|
- spec/factories/customer_vault_corporations.rb
|
1034
|
-
- spec/factories/
|
1056
|
+
- spec/factories/expense_gun_expenses.rb
|
1057
|
+
- spec/factories/alexandrie_attachment_types.rb
|
1058
|
+
- spec/factories/billing_machine_quotations.rb
|
1059
|
+
- spec/factories/flyboy_tasks.rb
|
1035
1060
|
- spec/factories/customer_vault_individuals.rb
|
1036
|
-
- spec/factories/
|
1037
|
-
- spec/factories/customer_vault_origins.rb
|
1038
|
-
- spec/factories/dorsale_addresses.rb
|
1039
|
-
- spec/factories/dorsale_comments.rb
|
1040
|
-
- spec/factories/expense_gun_categories.rb
|
1061
|
+
- spec/factories/billing_machine_quotation_lines.rb
|
1041
1062
|
- spec/factories/expense_gun_expense_lines.rb
|
1042
|
-
- spec/factories/
|
1063
|
+
- spec/factories/dorsale_comments.rb
|
1043
1064
|
- spec/factories/flyboy_task_comments.rb
|
1044
|
-
- spec/factories/flyboy_tasks.rb
|
1045
1065
|
- spec/files/avatar.png
|
1046
1066
|
- spec/files/pdf.pdf
|
1047
|
-
- spec/mailers/user_mailer.rb
|
1048
|
-
- spec/models/dorsale/address_spec.rb
|
1049
|
-
- spec/models/dorsale/alexandrie/attachment_spec.rb
|
1050
|
-
- spec/models/dorsale/alexandrie/attachment_type_spec.rb
|
1051
|
-
- spec/models/dorsale/billing_machine/invoice_line_spec.rb
|
1052
|
-
- spec/models/dorsale/billing_machine/invoice_spec.rb
|
1053
|
-
- spec/models/dorsale/billing_machine/quotation_line_spec.rb
|
1054
|
-
- spec/models/dorsale/billing_machine/quotation_spec.rb
|
1055
|
-
- spec/models/dorsale/billing_machine_spec.rb
|
1056
|
-
- spec/models/dorsale/comment_spec.rb
|
1057
|
-
- spec/models/dorsale/customer_vault/activity_type_spec.rb
|
1058
|
-
- spec/models/dorsale/customer_vault/corporation_spec.rb
|
1059
|
-
- spec/models/dorsale/customer_vault/event_spec.rb
|
1060
|
-
- spec/models/dorsale/customer_vault/individual_spec.rb
|
1061
|
-
- spec/models/dorsale/customer_vault/link_spec.rb
|
1062
|
-
- spec/models/dorsale/customer_vault/origin_spec.rb
|
1063
|
-
- spec/models/dorsale/customer_vault/person_spec.rb
|
1064
|
-
- spec/models/dorsale/expense_gun/category_spec.rb
|
1065
|
-
- spec/models/dorsale/expense_gun/expense_line_spec.rb
|
1066
|
-
- spec/models/dorsale/expense_gun/expense_spec.rb
|
1067
|
-
- spec/models/dorsale/flyboy/task_comment_spec.rb
|
1068
|
-
- spec/models/dorsale/flyboy/task_spec.rb
|
1069
|
-
- spec/models/dorsale/i18n_spec.rb
|
1070
|
-
- spec/models/dorsale/users_spec.rb
|
1071
|
-
- spec/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf_spec.rb
|
1072
1067
|
- spec/pdfs/dorsale/billing_machine/invoice_single_vat_pdf_spec.rb
|
1073
1068
|
- spec/pdfs/dorsale/billing_machine/quotation_multiple_vat_pdf_spec.rb
|
1074
1069
|
- spec/pdfs/dorsale/billing_machine/quotation_single_vat_pdf_spec.rb
|
1075
|
-
- spec/
|
1070
|
+
- spec/pdfs/dorsale/billing_machine/invoice_multiple_vat_pdf_spec.rb
|
1076
1071
|
- spec/routing/dorsale/alexandrie/attachments_routing_spec.rb
|
1077
|
-
- spec/routing/dorsale/billing_machine/invoices_routing_spec.rb
|
1078
|
-
- spec/routing/dorsale/billing_machine/quotations_routing_spec.rb
|
1079
1072
|
- spec/routing/dorsale/comments_routing_spec.rb
|
1073
|
+
- spec/routing/dorsale/expense_gun/expenses_routing_spec.rb
|
1074
|
+
- spec/routing/dorsale/users_routing_spec.rb
|
1080
1075
|
- spec/routing/dorsale/customer_vault/activity_types_routing_spec.rb
|
1081
|
-
- spec/routing/dorsale/customer_vault/events_routing_spec.rb
|
1082
1076
|
- spec/routing/dorsale/customer_vault/origins_routing_spec.rb
|
1083
1077
|
- spec/routing/dorsale/customer_vault/people_routing_spec.rb
|
1084
|
-
- spec/routing/dorsale/
|
1085
|
-
- spec/routing/dorsale/
|
1078
|
+
- spec/routing/dorsale/customer_vault/events_routing_spec.rb
|
1079
|
+
- spec/routing/dorsale/billing_machine/quotations_routing_spec.rb
|
1080
|
+
- spec/routing/dorsale/billing_machine/invoices_routing_spec.rb
|
1086
1081
|
- spec/routing/dorsale/flyboy/tasks_routing_spec.rb
|
1087
|
-
- spec/routing/dorsale/
|
1088
|
-
- spec/
|
1082
|
+
- spec/routing/dorsale/flyboy/task_comments_routing_spec.rb
|
1083
|
+
- spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb
|
1084
|
+
- spec/controllers/dorsale/comments_controller_spec.rb
|
1085
|
+
- spec/controllers/dorsale/expense_gun/expenses_controller_spec.rb
|
1086
|
+
- spec/controllers/dorsale/customer_vault/events_controller_spec.rb
|
1087
|
+
- spec/controllers/dorsale/customer_vault/people_controller_spec.rb
|
1088
|
+
- spec/controllers/dorsale/billing_machine/invoices_controller_spec.rb
|
1089
|
+
- spec/controllers/dorsale/billing_machine/quotations_controller_spec.rb
|
1090
|
+
- spec/controllers/dorsale/flyboy/tasks_controller_spec.rb
|
1091
|
+
- spec/controllers/dorsale/flyboy/task_comments_controller_spec.rb
|
1092
|
+
- spec/rails_helper.rb
|
1093
|
+
- spec/services/dorsale/expense_gun/expense/copy_spec.rb
|
1089
1094
|
- spec/services/dorsale/billing_machine/quotation/statistics.rb
|
1095
|
+
- spec/services/dorsale/billing_machine/quotation/copy_spec.rb
|
1090
1096
|
- spec/services/dorsale/billing_machine/quotation/to_invoice_spec.rb
|
1091
|
-
- spec/services/dorsale/expense_gun/expense/copy_spec.rb
|
1092
1097
|
- spec/services/dorsale/flyboy/task/copy_spec.rb
|
1093
1098
|
- spec/services/dorsale/flyboy/task/snoozer_spec.rb
|
1094
|
-
- spec/spec_helper.rb
|
1095
|
-
- spec/support/devise.rb
|
1096
|
-
- spec/support/message_delivery.rb
|
1097
|
-
- features/access.feature
|
1098
|
-
- features/billing_machine_invoices.feature
|
1099
|
-
- features/billing_machine_multiple_vat.feature
|
1100
|
-
- features/billing_machine_payment_terms.feature
|
1101
|
-
- features/billing_machine_quotations.feature
|
1102
|
-
- features/customer_vault_activity_types.feature
|
1103
|
-
- features/customer_vault_corporations.feature
|
1104
|
-
- features/customer_vault_filters.feature
|
1105
|
-
- features/customer_vault_individuals.feature
|
1106
|
-
- features/customer_vault_invoices.feature
|
1107
|
-
- features/customer_vault_links.feature
|
1108
|
-
- features/customer_vault_origins.feature
|
1109
1099
|
- features/customer_vault_people.feature
|
1110
|
-
- features/customer_vault_search.feature
|
1111
|
-
- features/customer_vault_tasks.feature
|
1112
1100
|
- features/expense_gun_categories.feature
|
1101
|
+
- features/customer_vault_activity_types.feature
|
1102
|
+
- features/users_management.feature
|
1103
|
+
- features/customer_vault_individuals.feature
|
1104
|
+
- features/billing_machine_quotations.feature
|
1113
1105
|
- features/expense_gun_expenses.feature
|
1114
|
-
- features/
|
1115
|
-
- features/flyboy_tasks.feature
|
1106
|
+
- features/access.feature
|
1116
1107
|
- features/flyboy_tasks_summary.feature
|
1117
|
-
- features/
|
1118
|
-
- features/
|
1119
|
-
- features/
|
1120
|
-
- features/
|
1121
|
-
- features/
|
1108
|
+
- features/customer_vault_corporations.feature
|
1109
|
+
- features/billing_machine_invoices.feature
|
1110
|
+
- features/support/env.rb
|
1111
|
+
- features/customer_vault_search.feature
|
1112
|
+
- features/billing_machine_payment_terms.feature
|
1113
|
+
- features/customer_vault_origins.feature
|
1114
|
+
- features/billing_machine_multiple_vat.feature
|
1115
|
+
- features/step_definitions/customer_vault_filters_steps.rb
|
1122
1116
|
- features/step_definitions/billing_machine_quotations_steps.rb
|
1123
|
-
- features/step_definitions/
|
1124
|
-
- features/step_definitions/
|
1117
|
+
- features/step_definitions/customer_vault_search_steps.rb
|
1118
|
+
- features/step_definitions/expense_gun_expenses_steps.rb
|
1125
1119
|
- features/step_definitions/customer_vault_corporations_steps.rb
|
1126
|
-
- features/step_definitions/
|
1120
|
+
- features/step_definitions/tasks_summary_steps.rb
|
1121
|
+
- features/step_definitions/flyboy_tasks_steps.rb
|
1127
1122
|
- features/step_definitions/customer_vault_individuals_steps.rb
|
1123
|
+
- features/step_definitions/billing_machine_payment_terms_steps.rb
|
1124
|
+
- features/step_definitions/alexandrie_steps.rb
|
1125
|
+
- features/step_definitions/billing_machine_invoices_steps.rb
|
1126
|
+
- features/step_definitions/billing_machine_multiple_vat.rb
|
1128
1127
|
- features/step_definitions/customer_vault_invoices_steps.rb
|
1129
|
-
- features/step_definitions/customer_vault_links_steps.rb
|
1130
|
-
- features/step_definitions/customer_vault_origins_steps.rb
|
1131
1128
|
- features/step_definitions/customer_vault_people_steps.rb
|
1132
|
-
- features/step_definitions/
|
1133
|
-
- features/step_definitions/customer_vault_tasks_steps.rb
|
1129
|
+
- features/step_definitions/users_management_step.rb
|
1134
1130
|
- features/step_definitions/expense_gun_categories_steps.rb
|
1135
|
-
- features/step_definitions/
|
1131
|
+
- features/step_definitions/customer_vault_origins_steps.rb
|
1136
1132
|
- features/step_definitions/flyboy_task_comments_steps.rb
|
1137
|
-
- features/step_definitions/
|
1138
|
-
- features/step_definitions/
|
1139
|
-
- features/step_definitions/
|
1140
|
-
- features/
|
1141
|
-
- features/
|
1133
|
+
- features/step_definitions/customer_vault_activity_types_steps.rb
|
1134
|
+
- features/step_definitions/customer_vault_tasks_steps.rb
|
1135
|
+
- features/step_definitions/common_steps.rb
|
1136
|
+
- features/step_definitions/access_steps.rb
|
1137
|
+
- features/step_definitions/customer_vault_links_steps.rb
|
1138
|
+
- features/customer_vault_invoices.feature
|
1139
|
+
- features/customer_vault_links.feature
|
1140
|
+
- features/customer_vault_filters.feature
|
1141
|
+
- features/flyboy_task_comments.feature
|
1142
|
+
- features/customer_vault_tasks.feature
|
1143
|
+
- features/flyboy_tasks.feature
|