@ -179,6 +179,7 @@ class ProjectsController < ApplicationController
@trackers = Tracker . sorted . all
@project = Project . new
@project . safe_attributes = params [ :project ]
@project . organization_id = params [ :organization_id ]
if validate_parent_id && @project . save
@project . set_allowed_parent! ( params [ :project ] [ 'parent_id' ] ) if params [ :project ] . has_key? ( 'parent_id' )
# Add current user as a project member if he is not admin
@ -248,6 +249,7 @@ class ProjectsController < ApplicationController
# Author lizanle
# Description 项目动态展示方法,删除了不必要的代码
def show
= begin
# 试图跳转到请求的按钮
if params [ :login ]
login = params [ :login ]
@ -282,35 +284,43 @@ class ProjectsController < ApplicationController
# 时间跨度不能太大,不然很慢,所以删掉了-1.years
@date_from = @date_to - @days
@with_subprojects = params [ :with_subprojects ] . nil? ? Setting . display_subprojects_issues? : ( params [ :with_subprojects ] == '1' )
= end
@author = params [ :user_id ] . blank? ? nil : User . active . find ( params [ :user_id ] )
# 决定显示所用用户或单个用户活动
= begin
@activity = Redmine :: Activity :: Fetcher . new ( User . current ,
:project = > @project ,
:with_subprojects = > @with_subprojects ,
:author = > @author )
@activity . scope_select { | t | ! has [ " show_ #{ t } " ] . nil? }
= end
# 根据私密性,取出符合条件的所有数据
if User . current . member_of? ( @project ) || User . current . admin?
events = @activity . events ( @date_from , @date_to )
@events_pages = ForgeActivity . where ( " project_id = ? " , @project ) . order ( " created_at desc " ) . page ( params [ 'page' || 1 ] ) . per ( 20 ) ;
#events = @activity.events(@date_from, @date_to)
else
events = @activity . events ( @date_from , @date_to , :is_public = > 1 )
@events_pages = ForgeActivity . includes ( :project ) . where ( " forge_activities.project_id = ? and projects.is_public
= ?" , @project , 1 ) . order ( " created_at desc " )
. page ( params [ 'page' || 1 ] ) . per ( 10 ) ;
# @events = @activity.events(@date_from, @date_to, :is_public => 1)
end
@offset , @limit = api_offset_and_limit ( { :limit = > 10 } )
@events_count = events . count
@events_pages = Paginator . new @events_count , @limit , params [ 'page' ]
@offset || = @events_pages . offset
= begin
@events_pages = Paginator . new events . count , 10 , params [ 'page' ]
# 总的数据中取出某一页
events = events . slice ( @ offset, @limit )
events = events . slice ( @events_pages . offset , 10 )
# 按天分组
@events_by_day = events . group_by { | event | User . current . time_to_date ( event . event_datetime ) }
= end
boards = @project . boards . includes ( :last_message = > :author ) . all
@topic_count = @project . boards . count
# 根据对应的请求,返回对应的数据
respond_to do | format |
format . html
format . api
format . js
end
end
@ -322,6 +332,20 @@ class ProjectsController < ApplicationController
@wiki || = @project . wiki
end
#发送邮件邀请新用户
def invite_members_by_mail
end
# 邀请Trustie注册用户
def invite_members_had_loged
@member || = @project . members . new
respond_to do | format |
format . js
end
end
def edit
end
@ -404,6 +428,7 @@ class ProjectsController < ApplicationController
def update
@project . safe_attributes = params [ :project ]
@project . organization_id = params [ :organization_id ]
#@project.dts_test = params[:project][:dts_test]
if validate_parent_id && @project . save
@course = Course . find_by_extra ( @project . identifier )