Added the ability to archive projects:
* Only administrators can archive/unarchive projects. * Once archived, the project is visible on the admin project listing only. It doesn't show up anywhere else in the app. Subprojects are also archived. * Archive/unarchive preserve everything on the project (issues, members, ...). * A subproject can not be unarchived if its parent project is archived. git-svn-id: http://redmine.rubyforge.org/svn/trunk@549 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
1 parent
70374d084e
commit
413247ee5b
35 files changed
+275
-38
No files matched your search
@@ -86,6 +86,11 @@ class ApplicationController < ActionController::Base
|
||||
|
||||
# authorizes the user for the requested action.
|
||||
def authorize(ctrl = params[:controller], action = params[:action])
|
||||
unless @project.active?
|
||||
@project = nil
|
||||
render_404
|
||||
return false
|
||||
end
|
||||
# check if action is allowed on public projects
|
||||
if @project.is_public? and Permission.allowed_to_public "%s/%s" % [ ctrl, action ]
|
||||
return true
|
||||
@@ -105,6 +110,11 @@ class ApplicationController < ActionController::Base
|
||||
# make sure that the user is a member of the project (or admin) if project is private
|
||||
# used as a before_filter for actions that do not require any particular permission on the project
|
||||
def check_project_privacy
|
||||
unless @project.active?
|
||||
@project = nil
|
||||
render_404
|
||||
return false
|
||||
end
|
||||
return true if @project.is_public?
|
||||
return false unless logged_in_user
|
||||
return true if logged_in_user.admin? || logged_in_user_membership
|
||||
|
||||
Reference in new issue
Block a user