Commit dfffa0a7 authored by Jean-Philippe Lang's avatar Jean-Philippe Lang

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
parent f3673aff
...@@ -446,13 +446,15 @@ class ProjectsController < ApplicationController ...@@ -446,13 +446,15 @@ class ProjectsController < ApplicationController
@date_to = @date_from >> 1 @date_to = @date_from >> 1
end end
@event_types = %w(issues news attachments documents wiki_edits revisions) @event_types = %w(issues news files documents wiki_pages changesets)
@event_types.delete('wiki_edits') unless @project.wiki @event_types.delete('wiki_pages') unless @project.wiki
@event_types.delete('changesets') unless @project.repository @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}"]} @scope = @event_types.select {|t| params["show_#{t}"]}
# default events if none is specified in parameters # 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 = [] @events = []
...@@ -464,7 +466,7 @@ class ProjectsController < ApplicationController ...@@ -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 ) @events += @project.news.find(:all, :conditions => ["#{News.table_name}.created_on>=? and #{News.table_name}.created_on<=?", @date_from, @date_to], :include => :author )
end 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 ) @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 end
...@@ -473,7 +475,7 @@ class ProjectsController < ApplicationController ...@@ -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 ) @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 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, " + 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}.#{WikiContent.version_column}, #{WikiPage.table_name}.title, " +
"#{WikiContent.versioned_table_name}.page_id, #{WikiContent.versioned_table_name}.author_id, " + "#{WikiContent.versioned_table_name}.page_id, #{WikiContent.versioned_table_name}.author_id, " +
...@@ -486,7 +488,7 @@ class ProjectsController < ApplicationController ...@@ -486,7 +488,7 @@ class ProjectsController < ApplicationController
@events += WikiContent.versioned_class.find(:all, :select => select, :joins => joins, :conditions => conditions) @events += WikiContent.versioned_class.find(:all, :select => select, :joins => joins, :conditions => conditions)
end 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]) @events += @project.repository.changesets.find(:all, :conditions => ["#{Changeset.table_name}.committed_on BETWEEN ? AND ?", @date_from, @date_to])
end end
......
...@@ -509,3 +509,5 @@ default_activity_development: Разработка ...@@ -509,3 +509,5 @@ default_activity_development: Разработка
enumeration_issue_priorities: Приоритети на задачи enumeration_issue_priorities: Приоритети на задачи
enumeration_doc_categories: Категории документи enumeration_doc_categories: Категории документи
enumeration_activities: Дейности (time tracking) enumeration_activities: Дейности (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -509,3 +509,5 @@ default_activity_development: Development ...@@ -509,3 +509,5 @@ default_activity_development: Development
enumeration_issue_priorities: Ticket-Prioritäten enumeration_issue_priorities: Ticket-Prioritäten
enumeration_doc_categories: Dokumentenkategorien enumeration_doc_categories: Dokumentenkategorien
enumeration_activities: Aktivitäten (Zeiterfassung) enumeration_activities: Aktivitäten (Zeiterfassung)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -420,6 +420,8 @@ label_module_plural: Modules ...@@ -420,6 +420,8 @@ label_module_plural: Modules
label_added_time_by: Added by %s %s ago label_added_time_by: Added by %s %s ago
label_updated_time: Updated %s ago label_updated_time: Updated %s ago
label_jump_to_a_project: Jump to a project... label_jump_to_a_project: Jump to a project...
label_file_plural: Files
label_changeset_plural: Changesets
button_login: Login button_login: Login
button_submit: Submit button_submit: Submit
......
...@@ -509,3 +509,5 @@ default_activity_development: Development ...@@ -509,3 +509,5 @@ default_activity_development: Development
enumeration_issue_priorities: Prioridad de las peticiones enumeration_issue_priorities: Prioridad de las peticiones
enumeration_doc_categories: Categorías del documento enumeration_doc_categories: Categorías del documento
enumeration_activities: Activities (time tracking) enumeration_activities: Activities (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -420,6 +420,8 @@ label_module_plural: Modules ...@@ -420,6 +420,8 @@ label_module_plural: Modules
label_added_time_by: Ajouté par %s il y a %s label_added_time_by: Ajouté par %s il y a %s
label_updated_time: Mis à jour il y a %s label_updated_time: Mis à jour il y a %s
label_jump_to_a_project: Aller à un projet... label_jump_to_a_project: Aller à un projet...
label_file_plural: Fichiers
label_changeset_plural: Révisions
button_login: Connexion button_login: Connexion
button_submit: Soumettre button_submit: Soumettre
......
...@@ -509,3 +509,5 @@ default_activity_development: Development ...@@ -509,3 +509,5 @@ default_activity_development: Development
enumeration_issue_priorities: Priorità contesti enumeration_issue_priorities: Priorità contesti
enumeration_doc_categories: Categorie di documenti enumeration_doc_categories: Categorie di documenti
enumeration_activities: Attività (time tracking) enumeration_activities: Attività (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -510,3 +510,5 @@ default_activity_development: 開発作業 ...@@ -510,3 +510,5 @@ default_activity_development: 開発作業
enumeration_issue_priorities: 問題の優先度 enumeration_issue_priorities: 問題の優先度
enumeration_doc_categories: 文書カテゴリ enumeration_doc_categories: 文書カテゴリ
enumeration_activities: 作業分類 (時間トラッキング) enumeration_activities: 作業分類 (時間トラッキング)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -510,3 +510,5 @@ enumeration_issue_priorities: Issue prioriteiten ...@@ -510,3 +510,5 @@ enumeration_issue_priorities: Issue prioriteiten
enumeration_doc_categories: Document categorieën enumeration_doc_categories: Document categorieën
enumeration_activities: Activiteiten (tijd tracking) enumeration_activities: Activiteiten (tijd tracking)
text_comma_separated: Multiple values allowed (comma separated). text_comma_separated: Multiple values allowed (comma separated).
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -509,3 +509,5 @@ label_send_test_email: Send a test email ...@@ -509,3 +509,5 @@ label_send_test_email: Send a test email
button_reset: Reset button_reset: Reset
label_added_time_by: Added by %s %s ago label_added_time_by: Added by %s %s ago
field_estimated_hours: Estimated time field_estimated_hours: Estimated time
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -509,3 +509,5 @@ default_activity_development: Desenvolvimento ...@@ -509,3 +509,5 @@ default_activity_development: Desenvolvimento
enumeration_issue_priorities: Prioridade das tarefas enumeration_issue_priorities: Prioridade das tarefas
enumeration_doc_categories: Categorias de documento enumeration_doc_categories: Categorias de documento
enumeration_activities: Atividades (time tracking) enumeration_activities: Atividades (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -509,3 +509,5 @@ default_activity_development: Desenvolvimento ...@@ -509,3 +509,5 @@ default_activity_development: Desenvolvimento
enumeration_issue_priorities: Prioridade das tarefas enumeration_issue_priorities: Prioridade das tarefas
enumeration_doc_categories: Categorias de documento enumeration_doc_categories: Categorias de documento
enumeration_activities: Atividades (time tracking) enumeration_activities: Atividades (time tracking)
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -510,3 +510,5 @@ enumeration_issue_priorities: Bristprioriteringar ...@@ -510,3 +510,5 @@ enumeration_issue_priorities: Bristprioriteringar
enumeration_doc_categories: Dokumentkategorier enumeration_doc_categories: Dokumentkategorier
enumeration_activities: Aktiviteter (tidsspårning) enumeration_activities: Aktiviteter (tidsspårning)
field_comments: Comment field_comments: Comment
label_file_plural: Files
label_changeset_plural: Changesets
...@@ -512,3 +512,5 @@ enumeration_issue_priorities: 任务优先级 ...@@ -512,3 +512,5 @@ enumeration_issue_priorities: 任务优先级
enumeration_doc_categories: 文档类别 enumeration_doc_categories: 文档类别
enumeration_activities: Activities (time tracking) enumeration_activities: Activities (time tracking)
label_wiki_page: Wiki page label_wiki_page: Wiki page
label_file_plural: Files
label_changeset_plural: Changesets
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment