Project activity view now only shows what the user is allowed to view.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@757 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2007-09-24 17:33:24 +00:00
parent f3673aff28
commit dfffa0a7f8
14 changed files with 34 additions and 6 deletions

View File

@ -446,13 +446,15 @@ class ProjectsController < ApplicationController
@date_to = @date_from >> 1
end
@event_types = %w(issues news attachments documents wiki_edits revisions)
@event_types.delete('wiki_edits') unless @project.wiki
@event_types = %w(issues news files documents wiki_pages changesets)
@event_types.delete('wiki_pages') unless @project.wiki
@event_types.delete('changesets') unless @project.repository
# only show what the user is allowed to view
@event_types = @event_types.select {|o| User.current.allowed_to?("view_#{o}".to_sym, @project)}
@scope = @event_types.select {|t| params["show_#{t}"]}
# default events if none is specified in parameters
@scope = (@event_types - %w(wiki_edits))if @scope.empty?
@scope = (@event_types - %w(wiki_pages))if @scope.empty?
@events = []
@ -464,7 +466,7 @@ class ProjectsController < ApplicationController
@events += @project.news.find(:all, :conditions => ["#{News.table_name}.created_on>=? and #{News.table_name}.created_on<=?", @date_from, @date_to], :include => :author )
end
if @scope.include?('attachments')
if @scope.include?('files')
@events += Attachment.find(:all, :select => "#{Attachment.table_name}.*", :joins => "LEFT JOIN #{Version.table_name} ON #{Version.table_name}.id = #{Attachment.table_name}.container_id", :conditions => ["#{Attachment.table_name}.container_type='Version' and #{Version.table_name}.project_id=? and #{Attachment.table_name}.created_on>=? and #{Attachment.table_name}.created_on<=?", @project.id, @date_from, @date_to], :include => :author )
end
@ -473,7 +475,7 @@ class ProjectsController < ApplicationController
@events += Attachment.find(:all, :select => "attachments.*", :joins => "LEFT JOIN #{Document.table_name} ON #{Document.table_name}.id = #{Attachment.table_name}.container_id", :conditions => ["#{Attachment.table_name}.container_type='Document' and #{Document.table_name}.project_id=? and #{Attachment.table_name}.created_on>=? and #{Attachment.table_name}.created_on<=?", @project.id, @date_from, @date_to], :include => :author )
end
if @scope.include?('wiki_edits') && @project.wiki
if @scope.include?('wiki_pages')
select = "#{WikiContent.versioned_table_name}.updated_on, #{WikiContent.versioned_table_name}.comments, " +
"#{WikiContent.versioned_table_name}.#{WikiContent.version_column}, #{WikiPage.table_name}.title, " +
"#{WikiContent.versioned_table_name}.page_id, #{WikiContent.versioned_table_name}.author_id, " +
@ -486,7 +488,7 @@ class ProjectsController < ApplicationController
@events += WikiContent.versioned_class.find(:all, :select => select, :joins => joins, :conditions => conditions)
end
if @scope.include?('revisions') && @project.repository
if @scope.include?('changesets')
@events += @project.repository.changesets.find(:all, :conditions => ["#{Changeset.table_name}.committed_on BETWEEN ? AND ?", @date_from, @date_to])
end

View File

@ -509,3 +509,5 @@ default_activity_development: Разработка
enumeration_issue_priorities: Приоритети на задачи
enumeration_doc_categories: Категории документи
enumeration_activities: Дейности (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -509,3 +509,5 @@ default_activity_development: Development
enumeration_issue_priorities: Ticket-Prioritäten
enumeration_doc_categories: Dokumentenkategorien
enumeration_activities: Aktivitäten (Zeiterfassung)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -420,6 +420,8 @@ label_module_plural: Modules
label_added_time_by: Added by %s %s ago
label_updated_time: Updated %s ago
label_jump_to_a_project: Jump to a project...
label_file_plural: Files
label_changeset_plural: Changesets
button_login: Login
button_submit: Submit

View File

@ -509,3 +509,5 @@ default_activity_development: Development
enumeration_issue_priorities: Prioridad de las peticiones
enumeration_doc_categories: Categorías del documento
enumeration_activities: Activities (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -420,6 +420,8 @@ label_module_plural: Modules
label_added_time_by: Ajouté par %s il y a %s
label_updated_time: Mis à jour il y a %s
label_jump_to_a_project: Aller à un projet...
label_file_plural: Fichiers
label_changeset_plural: Révisions
button_login: Connexion
button_submit: Soumettre

View File

@ -509,3 +509,5 @@ default_activity_development: Development
enumeration_issue_priorities: Priorità contesti
enumeration_doc_categories: Categorie di documenti
enumeration_activities: Attività (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -510,3 +510,5 @@ default_activity_development: 開発作業
enumeration_issue_priorities: 問題の優先度
enumeration_doc_categories: 文書カテゴリ
enumeration_activities: 作業分類 (時間トラッキング)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -510,3 +510,5 @@ enumeration_issue_priorities: Issue prioriteiten
enumeration_doc_categories: Document categorieën
enumeration_activities: Activiteiten (tijd tracking)
text_comma_separated: Multiple values allowed (comma separated).
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -509,3 +509,5 @@ label_send_test_email: Send a test email
button_reset: Reset
label_added_time_by: Added by %s %s ago
field_estimated_hours: Estimated time
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -509,3 +509,5 @@ default_activity_development: Desenvolvimento
enumeration_issue_priorities: Prioridade das tarefas
enumeration_doc_categories: Categorias de documento
enumeration_activities: Atividades (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -509,3 +509,5 @@ default_activity_development: Desenvolvimento
enumeration_issue_priorities: Prioridade das tarefas
enumeration_doc_categories: Categorias de documento
enumeration_activities: Atividades (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -510,3 +510,5 @@ enumeration_issue_priorities: Bristprioriteringar
enumeration_doc_categories: Dokumentkategorier
enumeration_activities: Aktiviteter (tidsspårning)
field_comments: Comment
label_file_plural: Files
label_changeset_plural: Changesets

View File

@ -512,3 +512,5 @@ enumeration_issue_priorities: 任务优先级
enumeration_doc_categories: 文档类别
enumeration_activities: Activities (time tracking)
label_wiki_page: Wiki page
label_file_plural: Files
label_changeset_plural: Changesets