diff --git a/app/models/dmsf_file_revision.rb b/app/models/dmsf_file_revision.rb index 98f5de0e..f3f6f54f 100644 --- a/app/models/dmsf_file_revision.rb +++ b/app/models/dmsf_file_revision.rb @@ -37,10 +37,10 @@ class DmsfFileRevision < ActiveRecord::Base :datetime => Proc.new {|o| o.updated_at }, :description => Proc.new {|o| o.comment }, :author => Proc.new {|o| o.user } - acts_as_activity_provider :type => 'dmsf_files', + acts_as_activity_provider :type => 'dmsf_file_revisions', :timestamp => "#{DmsfFileRevision.table_name}.updated_at", :author_key => "#{DmsfFileRevision.table_name}.user_id", - :permission => :view_dmsf_files, + :permission => :view_dmsf_file_revisions, :find_options => {:select => "#{DmsfFileRevision.table_name}.*", :joins => "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + diff --git a/app/models/dmsf_file_revision_access.rb b/app/models/dmsf_file_revision_access.rb index 4b12bc72..126b77d4 100644 --- a/app/models/dmsf_file_revision_access.rb +++ b/app/models/dmsf_file_revision_access.rb @@ -20,8 +20,27 @@ class DmsfFileRevisionAccess < ActiveRecord::Base unloadable belongs_to :revision, :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_revision_id' belongs_to :user + delegate :project, :to => :revision, :allow_nil => false + delegate :file, :to => :revision, :allow_nil => false DownloadAction = 0 EmailAction = 1 + acts_as_event :title => Proc.new {|o| "#{l(:label_dmsf_downloaded)}: #{o.file.dmsf_path_str}"}, + :url => Proc.new {|o| {:controller => 'dmsf_files', :action => 'show', :id => o.file}}, + :datetime => Proc.new {|o| o.updated_at }, + :description => Proc.new {|o| o.revision.comment }, + :author => Proc.new {|o| o.user } + acts_as_activity_provider :type => 'dmsf_file_revision_accesses', + :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", + :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", + :permission => :view_dmsf_file_revision_accesses, + :find_options => {:select => "#{DmsfFileRevisionAccess.table_name}.*", + :joins => + "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + + "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + + "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id", + :conditions => ["#{DmsfFile.table_name}.deleted = :false", {:false => false}] + } + end \ No newline at end of file diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 74ee8236..d5568d4f 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -21,6 +21,8 @@ cs: dmsf: DMSF label_dmsf_file_plural: Dmsf soubory + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: Není nic vybráno error_email_to_must_be_entered: Musí být zadán adresát warning_file_already_locked: Soubor už je zamčen @@ -138,6 +140,8 @@ cs: heading_uploaded_files: Nahrané soubory submit_commit: Potvrdit link_documents: Dokumenty + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Procházet dokumenty permission_user_preferences: Nastavení uživatele permission_view_dmsf_files: Zobrazit dokumenty @@ -172,6 +176,7 @@ cs: heading_access_first: První heading_access_last: Poslední label_dmsf_updated: DMSF změněno + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Celková velikost všech souborů v adresáři project_module_dmsf: DMSF warning_no_project_to_copy_file_to: Neexistuje projekt, do kterého můžete kopírovat diff --git a/config/locales/de.yml b/config/locales/de.yml index dead846f..8fa9e9c9 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -138,6 +138,8 @@ de: heading_uploaded_files: Hochgeladene Dateien submit_commit: OK link_documents: Dateien + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Durchforste Dateien permission_user_preferences: Benutzereinstellungen permission_view_dmsf_files: Betrachte Dateien diff --git a/config/locales/en.yml b/config/locales/en.yml index 853b29cb..38dd42e7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -21,6 +21,8 @@ en: dmsf: DMSF label_dmsf_file_plural: Dmsf files + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: No entries selected error_email_to_must_be_entered: Email To must be entered warning_file_already_locked: File already locked @@ -171,7 +173,8 @@ en: heading_access_downloads_emails: Downloads/Emails heading_access_first: First heading_access_last: Last - label_dmsf_updated: DMSF updated + label_dmsf_updated: DMSF document updated + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Total size of all files under this folder project_module_dmsf: DMSF warning_no_project_to_copy_file_to: No project to copy file to diff --git a/config/locales/es.yml b/config/locales/es.yml index d5cc819a..aa9b48d7 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -21,6 +21,8 @@ es: dmsf: DMSF label_dmsf_file_plural: DMSF Archivos + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: No ha seleccionado ningún ítem error_email_to_must_be_entered: Ingrese un email warning_file_already_locked: El archivo ya está bloqueado @@ -138,6 +140,8 @@ es: heading_uploaded_files: Uploaded Files submit_commit: Commit link_documents: Documents + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Browse documents permission_user_preferences: User preferences permission_view_dmsf_files: View documents @@ -172,6 +176,7 @@ es: heading_access_first: First heading_access_last: Last label_dmsf_updated: DMSF updated + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Total size of all files under this folder project_module_dmsf: DMSF warning_no_project_to_copy_file_to: No project to copy file to diff --git a/config/locales/fr.yml b/config/locales/fr.yml index d4ce5aea..c32a288e 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -21,6 +21,8 @@ fr: dmsf: DMSF label_dmsf_file_plural: Fichiers DMSF + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: Aucun fichier sélectionné error_email_to_must_be_entered: "La saisie d'une adresse mail est obligatoire" warning_file_already_locked: Fichier déjà verrouillé @@ -138,6 +140,8 @@ fr: heading_uploaded_files: Document(s) transmis submit_commit: Appliquer link_documents: Documents + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Parcourir les documents permission_user_preferences: Préférences utilisateur permission_view_dmsf_files: Afficher documents @@ -172,6 +176,7 @@ fr: heading_access_first: Premier heading_access_last: Dernier label_dmsf_updated: Dépôt ou mise à jour du document + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Taille totale des fichiers de ce dossier project_module_dmsf: DMSF warning_no_project_to_copy_file_to: "Le projet de destination n'est pas défini" diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 16025aaa..bbb356b6 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -21,6 +21,8 @@ ja: dmsf: DMSF label_dmsf_file_plural: Dmsf ファイル + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: エントリーが選ばれていません error_email_to_must_be_entered: 電子メールの To 先は省略できません warning_file_already_locked: ファイルは既にロックされています @@ -138,6 +140,8 @@ ja: heading_uploaded_files: アップロードされたファイル submit_commit: コミット link_documents: 文書 + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: 文書の一覧 permission_user_preferences: ユーザ設定 permission_view_dmsf_files: 文書の表示 @@ -172,6 +176,7 @@ ja: heading_access_first: 初回アクセス heading_access_last: 最終アクセス label_dmsf_updated: DMSF updated + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: このフォルダにある全ファイルの合計サイズ project_module_dmsf: DMSF warning_no_project_to_copy_file_to: ファイルをコピーするプロジェクトがありません diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 18a28990..0e20df6a 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -22,6 +22,8 @@ pl: dmsf: DMSF label_dmsf_file_plural: Pliki Dmsf + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: Nie zaznaczono żadnych wierszy error_email_to_must_be_entered: Musisz podać adres email warning_file_already_locked: Plik jest już zablokowany @@ -139,6 +141,8 @@ pl: heading_uploaded_files: Przesłane pliki submit_commit: Zatwierdź link_documents: Dokumenty + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Przeglądaj dokumenty permission_user_preferences: Preferencje użytkownika permission_view_dmsf_files: Podgląd dokumentów @@ -173,6 +177,7 @@ pl: heading_access_first: Pierwszy heading_access_last: Ostatni label_dmsf_updated: DMSF został zaktualizowany + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Łączny rozmiar plików w folderze project_module_dmsf: DMSF warning_no_project_to_copy_file_to: Brak projektu do skopiowania pliku diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 280a23f6..426fb039 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -21,6 +21,8 @@ ru: dmsf: DMSF label_dmsf_file_plural: Файлы DMSF + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: Файлы не выбраны error_email_to_must_be_entered: Нужно указать, на какую почту отправить письмо warning_file_already_locked: Файл уже заблокирован @@ -138,6 +140,8 @@ ru: heading_uploaded_files: Загруженные файлы submit_commit: Зафиксировать link_documents: Документы + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Просматривать папки permission_user_preferences: Настройки пользователя permission_view_dmsf_files: Просматривать документы @@ -172,6 +176,7 @@ ru: heading_access_first: Первый heading_access_last: Последний label_dmsf_updated: Документ обновлен + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Общий размер всех файлов в этой папке project_module_dmsf: DMSF warning_no_project_to_copy_file_to: Не выбран проект, в который нужно скопировать файл diff --git a/config/locales/sl.yml b/config/locales/sl.yml index b1c1ec83..e2ab19ff 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -21,6 +21,8 @@ sl: dmsf: Arhiv label_dmsf_file_plural: Arhivske datoteke + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: Ničesar niste izbrali error_email_to_must_be_entered: Email Naslovnik mora bit izbran warning_file_already_locked: Datoteka že zaklenjena @@ -138,6 +140,8 @@ sl: heading_uploaded_files: Naložene datoteke submit_commit: Shrani link_documents: Dokumentacija + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: Brskanje po dokumentih permission_user_preferences: Uporabniške nastavitve permission_view_dmsf_files: Preglej dokumente @@ -172,6 +176,7 @@ sl: heading_access_first: Prvi heading_access_last: Zadnji label_dmsf_updated: Arhiv posodobljen + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: Skupna velikost vseh datotek v tej mapi project_module_dmsf: Arhiv warning_no_project_to_copy_file_to: Ni projekta kamor bi kopiral datoteko diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 40dbf744..ecf7a0db 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -22,6 +22,8 @@ "zh-TW": dmsf: 文件總管 label_dmsf_file_plural: 文件檔案 + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: 尚未選取任何項目 error_email_to_must_be_entered: 請輸入收件者的電子郵件 warning_file_already_locked: 檔案己經鎖定 @@ -141,6 +143,8 @@ heading_uploaded_files: 上傳檔案 submit_commit: 提交 link_documents: 文件檔案 + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: 瀏覽文件檔案 permission_user_preferences: 使用者偏好設定 permission_view_dmsf_files: 查看文件檔案 @@ -174,6 +178,7 @@ heading_access_first: First heading_access_last: Last label_dmsf_updated: DMSF updated + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: 資料夾所有檔案的檔案大小 project_module_dmsf: 文件總管 warning_no_project_to_copy_file_to: No project to copy file to diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 4213463e..43549acd 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -21,6 +21,8 @@ zh: dmsf: 文档管家 label_dmsf_file_plural: Dmsf files + label_dmsf_file_revision_plural: Dmsf document revisions + label_dmsf_file_revision_access_plural: Dmsf document accesses warning_no_entries_selected: 未选择任何条目 error_email_to_must_be_entered: 请输入电子邮件 warning_file_already_locked: 文件已经锁定 @@ -138,6 +140,8 @@ zh: heading_uploaded_files: 上传文件 submit_commit: 提交 link_documents: 文档 + permission_view_dmsf_file_revision_accesses: View downloads in Activity stream + permission_view_dmsf_file_revisions: View revisions in Activity stream permission_view_dmsf_folders: 浏览文档 permission_user_preferences: 用户偏好设定 permission_view_dmsf_files: 查看文档 @@ -172,6 +176,7 @@ zh: heading_access_first: 首次 heading_access_last: 末次 label_dmsf_updated: DMSF updated + label_dmsf_downloaded: DMSF document downloaded title_total_size_of_all_files: 文件夹所有文件总大小 project_module_dmsf: 文档管家 warning_no_project_to_copy_file_to: No project to copy file to diff --git a/init.rb b/init.rb index d99226bb..f3d76219 100644 --- a/init.rb +++ b/init.rb @@ -47,10 +47,15 @@ Redmine::Plugin.register :redmine_dmsf do } menu :project_menu, :dmsf, { :controller => 'dmsf', :action => 'show' }, :caption => :menu_dmsf, :before => :documents, :param => :id - - activity_provider :dmsf_files, :class_name => 'DmsfFileRevision', :default => true + + Redmine::Activity.register :dmsf_file_revision_accesses, :default => false + Redmine::Activity.register :dmsf_file_revisions project_module :dmsf do + permission :view_dmsf_file_revision_accesses, + :read => true + permission :view_dmsf_file_revisions, + :read => true permission :view_dmsf_folders, {:dmsf => [:show], :dmsf_folders_copy => [:new, :copy_to, :move_to]},