flyboy 1.0.6 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/flyboy/goals_controller.rb +14 -0
- data/app/views/flyboy/goals/_list.html.slim +10 -6
- data/app/views/flyboy/goals/index.html.slim +1 -1
- data/app/views/flyboy/goals/show.html.slim +1 -1
- data/app/views/flyboy/tasks/_list.html.slim +12 -12
- data/app/views/flyboy/tasks/index.html.slim +1 -1
- data/lib/flyboy/version.rb +1 -1
- data/spec/controllers/flyboy/goals_controller_spec.rb +48 -0
- data/spec/controllers/flyboy/tasks_controller_spec.rb +1 -1
- data/spec/dummy/app/views/layouts/application.html.erb +1 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +3492 -0
- data/spec/dummy/log/test.log +31510 -4101
- data/spec/dummy/tmp/cache/assets/development/sass/858521e55f04965c8eab876a9304e842dcd3b55c/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/{2c0db231f5525ae4045d3b5f760e4616fb8e65dd → 858521e55f04965c8eab876a9304e842dcd3b55c}/flash.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/858521e55f04965c8eab876a9304e842dcd3b55c/pagination.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1656338baad17c91a6f7412f302ebd31 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{0b81d67185fafc34bb306fa9a36b908c → 18338f30af69fa8060412ffa0368ceb9} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{309f38dc2cba393a866708d36e86a182 → 1bc98d6a4f9ff8459beebaa6340ccc12} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{53d11dab8923a59a9faac8c477248417 → 35be3d68f994ca8bc25cb3d983a95782} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/42b6ff32a404f139768559472c1e5305 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{6362c7e7864adb2cd6025755a6b12b72 → 43c93c35d5568c906cf12d4fc952aa2a} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4c42b2369fc4309cc475c0140d9be7b4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{49fd843796f3ae46b1c45c6aed1813d7 → 4db834c8edb35929b23a70e5046cec3b} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{f85d4a9665985e6a3aad59ea680d3edc → 5503073e7865af9082e0bcc0a13204cd} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/71c27ec1e11a4658c53269a8bfeee148 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/{10ee1eebdd2597b102d3f333f8d6aa77 → 76ffd3d09841ee84f27d1f3aaff9ee41} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9170cea0c3c8535be830a51eaf4c5059 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a88d9c609d05fcc4670c8742b41816c0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ad05260b988c5f87acdbe4d9d950149c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/af9d30792028928b663a5b2dc1e0610b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c6114e4a5461cc7720ccdee699e719b5 +0 -0
- data/spec/dummy/tmp/cache/assets/{test/sprockets/6362c7e7864adb2cd6025755a6b12b72 → development/sprockets/cc9805fa05a2c91006bd57328d056ed4} +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d3c11cb677afa27b7ed5ca3148a593f9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d87810c66e05721ba749c5901c1af296 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/da9bbe94d344cd5330f174778f6b0f1c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ebe08f689f659c024f467b77f32a1c49 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714 → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714 → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/{2c0db231f5525ae4045d3b5f760e4616fb8e65dd → 732e3e9e953f76548ad9b2c68c101be73c0828f7}/flash.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7/pagination.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714 → test/sass/732e3e9e953f76548ad9b2c68c101be73c0828f7}/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1bc98d6a4f9ff8459beebaa6340ccc12 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/{53d11dab8923a59a9faac8c477248417 → 35be3d68f994ca8bc25cb3d983a95782} +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/42b6ff32a404f139768559472c1e5305 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/{77d0df9ddb0e8c864cb2e5a78dec7b82 → 43c93c35d5568c906cf12d4fc952aa2a} +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/{10ee1eebdd2597b102d3f333f8d6aa77 → 76ffd3d09841ee84f27d1f3aaff9ee41} +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a88d9c609d05fcc4670c8742b41816c0 +0 -0
- data/spec/dummy/tmp/cache/assets/{development/sprockets/77d0df9ddb0e8c864cb2e5a78dec7b82 → test/sprockets/cc9805fa05a2c91006bd57328d056ed4} +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d87810c66e05721ba749c5901c1af296 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ebe08f689f659c024f467b77f32a1c49 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- metadata +60 -142
- data/spec/dummy/tmp/cache/assets/development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4cd3136ea73cf27a824cea21f80648c87f40dfa2/application.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e5471fbd33acc4f0660cea27a0ec4638 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/2c0db231f5525ae4045d3b5f760e4616fb8e65dd/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/4cd3136ea73cf27a824cea21f80648c87f40dfa2/application.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/858521e55f04965c8eab876a9304e842dcd3b55c/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/c0a6bb6334e79f102336f48ce91cc0b3bf6acb9c/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sass/fb6c1556007c0c71ec7303cbe05ae7e36aeaa714/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/49fd843796f3ae46b1c45c6aed1813d7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e5471fbd33acc4f0660cea27a0ec4638 +0 -0
@@ -34,6 +34,20 @@ module Flyboy
|
|
34
34
|
|
35
35
|
def show
|
36
36
|
authorize! :read, @goal
|
37
|
+
|
38
|
+
@order ||= sortable_column_order do |column, direction|
|
39
|
+
case column
|
40
|
+
when "title", "status"
|
41
|
+
%(LOWER(flyboy_tasks.#{column}) #{direction})
|
42
|
+
when "progress", "term"
|
43
|
+
%(flyboy_tasks.#{column} #{direction})
|
44
|
+
else
|
45
|
+
params["sort"] = "term"
|
46
|
+
"term ASC"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
@tasks = @goal.tasks.order(@order)
|
37
51
|
end
|
38
52
|
|
39
53
|
def new
|
@@ -1,10 +1,14 @@
|
|
1
1
|
table
|
2
2
|
thead
|
3
3
|
tr
|
4
|
-
th
|
5
|
-
|
6
|
-
th
|
7
|
-
|
4
|
+
th
|
5
|
+
= sortable_column Flyboy::Goal.model_name.human, column: "title"
|
6
|
+
th.hidden-xs
|
7
|
+
= sortable_column Flyboy::Goal.human_attribute_name(:progress), column: "progress"
|
8
|
+
th.hidden-xs
|
9
|
+
= sortable_column Flyboy::Goal.human_attribute_name(:status), column: "status"
|
10
|
+
th
|
11
|
+
= t ".actions", default: t("helpers.actions")
|
8
12
|
|
9
13
|
tbody
|
10
14
|
- goals.each do |goal|
|
@@ -15,10 +19,10 @@ table
|
|
15
19
|
- else
|
16
20
|
= goal.title
|
17
21
|
|
18
|
-
td.goal_progress
|
22
|
+
td.goal_progress.hidden-xs
|
19
23
|
= progress_bar percentage: goal.progress, label: true
|
20
24
|
|
21
|
-
td.status
|
25
|
+
td.status.hidden-xs
|
22
26
|
= t("messages.goals.status.#{goal.status}")
|
23
27
|
|
24
28
|
td.actions
|
@@ -1,15 +1,15 @@
|
|
1
1
|
table
|
2
2
|
thead
|
3
3
|
tr
|
4
|
-
-
|
5
|
-
th
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
- unless nested
|
5
|
+
th.hidden-xs
|
6
|
+
= sortable_column Flyboy::Goal.model_name.human, column: "goal"
|
7
|
+
th
|
8
|
+
= sortable_column Flyboy::Task.model_name.human, column: "title"
|
9
|
+
th.hidden-xs
|
10
|
+
= sortable_column Flyboy::Task.human_attribute_name(:progress), column: "progress"
|
11
|
+
th.hidden-xs
|
12
|
+
= sortable_column Flyboy::Task.human_attribute_name(:term), column: "term"
|
13
13
|
|
14
14
|
th = t("actions.label")
|
15
15
|
|
@@ -17,7 +17,7 @@ table
|
|
17
17
|
- tasks.each do |task|
|
18
18
|
tr.task id="task_#{task.id}" class=task_color(task)
|
19
19
|
- unless nested
|
20
|
-
td.goal
|
20
|
+
td.goal.hidden-xs
|
21
21
|
- if can?(:read, task.goal)
|
22
22
|
= link_to task.goal.title, goal_path(task.goal)
|
23
23
|
- else
|
@@ -29,10 +29,10 @@ table
|
|
29
29
|
- else
|
30
30
|
= task.title
|
31
31
|
|
32
|
-
td.task_progress
|
32
|
+
td.task_progress.hidden-xs
|
33
33
|
= progress_bar percentage: task.progress, label: true
|
34
34
|
|
35
|
-
td.term
|
35
|
+
td.term.hidden-xs
|
36
36
|
= l(task.term)
|
37
37
|
|
38
38
|
td.actions
|
data/lib/flyboy/version.rb
CHANGED
@@ -75,6 +75,54 @@ describe Flyboy::GoalsController, type: :controller do
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
describe "#show" do
|
79
|
+
context "when sorting" do
|
80
|
+
before do
|
81
|
+
Flyboy::Goal.destroy_all
|
82
|
+
Flyboy::Task.destroy_all
|
83
|
+
|
84
|
+
@goal = FactoryGirl.create(:flyboy_goal)
|
85
|
+
|
86
|
+
@task1 = FactoryGirl.create(:flyboy_task,
|
87
|
+
goal: @goal, title: "Abc", progress: 100, term: "21/12/2012", reminder: "21/12/2012")
|
88
|
+
@task2 = FactoryGirl.create(:flyboy_task,
|
89
|
+
goal: @goal, title: "dEF", progress: 0, term: "23/12/2012", reminder: "23/12/2012")
|
90
|
+
@task3 = FactoryGirl.create(:flyboy_task,
|
91
|
+
goal: @goal, title: "xyz", progress: 35, term: "22/12/2012", reminder: "22/12/2012")
|
92
|
+
end
|
93
|
+
|
94
|
+
it "sorting by title asc" do
|
95
|
+
get :show, id: @goal, sort: "title"
|
96
|
+
expect(assigns(:tasks).to_a).to eq [@task1, @task2, @task3]
|
97
|
+
end
|
98
|
+
|
99
|
+
it "sorting by title desc" do
|
100
|
+
get :show, id: @goal, sort: "-title"
|
101
|
+
expect(assigns(:tasks).to_a).to eq [@task3, @task2, @task1]
|
102
|
+
end
|
103
|
+
|
104
|
+
it "sorting by progress asc" do
|
105
|
+
get :show, id: @goal, sort: "progress"
|
106
|
+
expect(assigns(:tasks).to_a).to eq [@task2, @task3, @task1]
|
107
|
+
end
|
108
|
+
|
109
|
+
it "sorting by progress desc" do
|
110
|
+
get :show, id: @goal, sort: "-progress"
|
111
|
+
expect(assigns(:tasks).to_a).to eq [@task1, @task3, @task2]
|
112
|
+
end
|
113
|
+
|
114
|
+
it "sorting by term asc" do
|
115
|
+
get :show, id: @goal, sort: "term"
|
116
|
+
expect(assigns(:tasks).to_a).to eq [@task1, @task3, @task2]
|
117
|
+
end
|
118
|
+
|
119
|
+
it "sorting by term desc" do
|
120
|
+
get :show, id: @goal, sort: "-term"
|
121
|
+
expect(assigns(:tasks).to_a).to eq [@task2, @task3, @task1]
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
78
126
|
describe "#close" do
|
79
127
|
before(:each) do
|
80
128
|
@goal = FactoryGirl.create(:flyboy_goal, status: "open")
|
@@ -46,7 +46,7 @@ describe Flyboy::TasksController, type: :controller do
|
|
46
46
|
describe "GET index" do
|
47
47
|
it "assigns all tasks as @tasks" do
|
48
48
|
get :index, {}
|
49
|
-
expect(assigns(:tasks).
|
49
|
+
expect(assigns(:tasks).sort).to eq Flyboy::Task.all.sort
|
50
50
|
end
|
51
51
|
|
52
52
|
context "when applying filter" do
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
+
<meta content="width=device-width, initial-scale=1" name="viewport">
|
4
5
|
<title>Dummy</title>
|
5
6
|
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
6
7
|
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|