def show\r
@user = User.find(params[:id])\r
@custom_values = @user.custom_values.find(:all, :include => :custom_field)\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
end\r
\r
# Login request and validation\r
redirect_to_url session[:return_to]
session[:return_to] = nil
end
+ end\r
+ \r
+ def render_404\r
+ @html_title = "404"\r
+ render :template => "common/404", :layout => true, :status => 404\r
+ return false\r
end
\r
# qvalues http header parser\r
@attachment.increment_download\r
send_file @attachment.diskfile, :filename => @attachment.filename\r
rescue\r
- flash.now[:notice] = l(:notice_file_not_found)\r
- render :text => "", :layout => true, :status => 404\r
+ render_404\r
end \r
\r
def add_attachment\r
def find_project\r
@document = Document.find(params[:id])\r
@project = @document.project\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
end
end
end\r
private\r
- def find_project\r
+ def find_project\r
@category = IssueCategory.find(params[:id])\r
- @project = @category.project\r
- end \r
+ @project = @category.project\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
+ end \r
end
@attachment = @issue.attachments.find(params[:attachment_id])\r
send_file @attachment.diskfile, :filename => @attachment.filename\r
rescue\r
- flash.now[:notice] = l(:notice_file_not_found)\r
- render :text => "", :layout => true, :status => 404\r
+ render_404\r
end\r
\r
private\r
@issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category])\r
@project = @issue.project\r
@html_title = "#{@project.name} - #{@issue.tracker.name} ##{@issue.id}"\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
end
end
end\r
\r
private\r
- def find_project\r
+ def find_project\r
@member = Member.find(params[:id]) \r
- @project = @member.project\r
- end
+ @project = @member.project\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
+ end
end
end\r
\r
private\r
- def find_project\r
+ def find_project\r
@news = News.find(params[:id])\r
- @project = @news.project\r
- end
+ @project = @news.project\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
+ end
end
def find_project\r
@project = Project.find(params[:id])\r
@html_title = @project.name\r
- rescue
- redirect_to :action => 'list' \r
+ rescue ActiveRecord::RecordNotFound
+ render_404\r
end\r
\r
# Retrieve query from session or build a new query\r
@project = @query.project
# check if user is allowed to manage queries (same permission as add_query)
authorize('projects', 'add_query')
+ rescue ActiveRecord::RecordNotFound
+ render_404
end
end
end\r
\r
private\r
- # Find project of id params[:id]\r
- def find_project\r
- @project = Project.find(params[:id]) \r
- end\r
+ # Find project of id params[:id]\r
+ def find_project\r
+ @project = Project.find(params[:id]) \r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
+ end\r
\r
def issues_by_tracker\r
@issues_by_tracker ||= \r
@path = params[:path].squeeze('/').gsub(/^\//, '') if params[:path]
@path ||= ''
@rev = params[:rev].to_i if params[:rev] and params[:rev].to_i > 0
+ rescue ActiveRecord::RecordNotFound
+ render_404
end
def show_error
@attachment.increment_download\r
send_file @attachment.diskfile, :filename => @attachment.filename\r
rescue\r
- flash.now[:notice] = l(:notice_file_not_found)\r
- render :text => "", :layout => true, :status => 404\r
+ render_404\r
end \r
\r
def destroy_file\r
def find_project\r
@version = Version.find(params[:id])\r
@project = @version.project\r
+ rescue ActiveRecord::RecordNotFound\r
+ render_404\r
end
end
--- /dev/null
+<h2>404</h2>\r
+\r
+<p><%= l(:notice_file_not_found) %></p>\r
+<p><a href="javascript:history.back()">Back</a></p>\r