Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
dbbd2b86
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dbbd2b86
编写于
11月 30, 2015
作者:
G
Greg Smethells
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sort milestones by due_date
上级
76b2250c
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
49 addition
and
11 deletion
+49
-11
CHANGELOG
CHANGELOG
+1
-0
app/controllers/concerns/global_milestones.rb
app/controllers/concerns/global_milestones.rb
+2
-0
app/finders/milestones_finder.rb
app/finders/milestones_finder.rb
+1
-1
app/helpers/milestones_helper.rb
app/helpers/milestones_helper.rb
+2
-0
app/models/global_milestone.rb
app/models/global_milestone.rb
+30
-1
app/views/dashboard/milestones/_milestone.html.haml
app/views/dashboard/milestones/_milestone.html.haml
+7
-4
app/views/projects/milestones/_milestone.html.haml
app/views/projects/milestones/_milestone.html.haml
+1
-5
app/views/shared/_milestone_expired.html.haml
app/views/shared/_milestone_expired.html.haml
+5
-0
未找到文件。
CHANGELOG
浏览文件 @
dbbd2b86
...
...
@@ -6,6 +6,7 @@ v 8.3.0 (unreleased)
- Trim leading and trailing whitespace of milestone and issueable titles (Jose Corcuera)
- Add ignore whitespace change option to commit view
- Fire update hook from GitLab
- Fix: sort milestones by due date once again (Greg Smethells)
v 8.2.2
- Fix 404 in redirection after removing a project (Stan Hu)
...
...
app/controllers/concerns/global_milestones.rb
浏览文件 @
dbbd2b86
...
...
@@ -2,8 +2,10 @@ module GlobalMilestones
extend
ActiveSupport
::
Concern
def
milestones
epoch
=
DateTime
.
parse
(
'1970-01-01'
)
@milestones
=
MilestonesFinder
.
new
.
execute
(
@projects
,
params
)
@milestones
=
GlobalMilestone
.
build_collection
(
@milestones
)
@milestones
=
@milestones
.
sort_by
{
|
x
|
x
.
due_date
.
nil?
?
epoch
:
x
.
due_date
}
@milestones
=
Kaminari
.
paginate_array
(
@milestones
).
page
(
params
[
:page
]).
per
(
ApplicationController
::
PER_PAGE
)
end
...
...
app/finders/milestones_finder.rb
浏览文件 @
dbbd2b86
class
MilestonesFinder
def
execute
(
projects
,
params
)
milestones
=
Milestone
.
of_projects
(
projects
)
milestones
=
milestones
.
order
(
"due_date ASC"
)
milestones
=
milestones
.
re
order
(
"due_date ASC"
)
case
params
[
:state
]
when
'closed'
then
milestones
.
closed
...
...
app/helpers/milestones_helper.rb
浏览文件 @
dbbd2b86
...
...
@@ -28,7 +28,9 @@ module MilestonesHelper
Milestone
.
where
(
project_id:
@projects
)
end
.
active
epoch
=
DateTime
.
parse
(
'1970-01-01'
)
grouped_milestones
=
GlobalMilestone
.
build_collection
(
milestones
)
grouped_milestones
=
grouped_milestones
.
sort_by
{
|
x
|
x
.
due_date
.
nil?
?
epoch
:
x
.
due_date
}
grouped_milestones
.
unshift
(
Milestone
::
None
)
grouped_milestones
.
unshift
(
Milestone
::
Any
)
...
...
app/models/global_milestone.rb
浏览文件 @
dbbd2b86
...
...
@@ -19,6 +19,14 @@ class GlobalMilestone
@title
.
parameterize
end
def
expired?
if
due_date
due_date
.
past?
else
false
end
end
def
projects
milestones
.
map
{
|
milestone
|
milestone
.
project
}
end
...
...
@@ -98,4 +106,25 @@ class GlobalMilestone
def
complete?
total_items_count
==
closed_items_count
end
end
def
due_date
return
@due_date
if
defined?
(
@due_date
)
@due_date
=
if
@milestones
.
all?
{
|
x
|
x
.
due_date
==
@milestones
.
first
.
due_date
}
@milestones
.
first
.
due_date
else
nil
end
end
def
expires_at
if
due_date
if
due_date
.
past?
"expired at
#{
due_date
.
stamp
(
"Aug 21, 2011"
)
}
"
else
"expires at
#{
due_date
.
stamp
(
"Aug 21, 2011"
)
}
"
end
end
end
end
\ No newline at end of file
app/views/dashboard/milestones/_milestone.html.haml
浏览文件 @
dbbd2b86
...
...
@@ -16,7 +16,10 @@
=
milestone_progress_bar
(
milestone
)
.row
.col-sm-6
-
milestone
.
milestones
.
each
do
|
milestone
|
=
link_to
milestone_path
(
milestone
)
do
%span
.label.label-gray
=
milestone
.
project
.
name_with_namespace
.expiration
=
render
'shared/milestone_expired'
,
milestone:
milestone
.projects
-
milestone
.
milestones
.
each
do
|
milestone
|
=
link_to
milestone_path
(
milestone
)
do
%span
.label.label-gray
=
milestone
.
project
.
name_with_namespace
app/views/projects/milestones/_milestone.html.haml
浏览文件 @
dbbd2b86
...
...
@@ -18,11 +18,7 @@
.row
.col-sm-6
-
if
milestone
.
expired?
and
not
milestone
.
closed?
%span
.cred
(Expired)
-
if
milestone
.
expires_at
%span
=
milestone
.
expires_at
=
render
'shared/milestone_expired'
,
milestone:
milestone
.col-sm-6
-
if
can?
(
current_user
,
:admin_milestone
,
milestone
.
project
)
and
milestone
.
active?
=
link_to
edit_namespace_project_milestone_path
(
milestone
.
project
.
namespace
,
milestone
.
project
,
milestone
),
class:
"btn btn-xs edit-milestone-link btn-grouped"
do
...
...
app/views/shared/_milestone_expired.html.haml
0 → 100644
浏览文件 @
dbbd2b86
-
if
milestone
.
expired?
and
not
milestone
.
closed?
%span
.cred
(Expired)
-
if
milestone
.
expires_at
%span
=
milestone
.
expires_at
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录