Possibility of Obsolete an Approved Version of a Document #798
This commit is contained in:
parent
3814501601
commit
e677057a50
@ -40,8 +40,8 @@ def init
|
|||||||
:dmsf_folders_copy => [:new, :copy, :move],
|
:dmsf_folders_copy => [:new, :copy, :move],
|
||||||
:dmsf_context_menus => [:dmsf]}
|
:dmsf_context_menus => [:dmsf]}
|
||||||
pmap.permission :file_manipulation,
|
pmap.permission :file_manipulation,
|
||||||
{:dmsf_files => [:create_revision, :lock, :unlock, :delete_revision, :obsolete_revision, :notify_activate,
|
{:dmsf_files => [:create_revision, :lock, :unlock, :delete_revision, :obsolete_revision,
|
||||||
:notify_deactivate, :restore],
|
:notify_activate, :notify_deactivate, :restore],
|
||||||
:dmsf_upload => [:upload_files, :upload_file, :upload, :commit_files, :commit,
|
:dmsf_upload => [:upload_files, :upload_file, :upload, :commit_files, :commit,
|
||||||
:delete_dmsf_attachment, :delete_dmsf_link_attachment],
|
:delete_dmsf_attachment, :delete_dmsf_link_attachment],
|
||||||
:dmsf_links => [:new, :create, :destroy, :restore, :autocomplete_for_project,
|
:dmsf_links => [:new, :create, :destroy, :restore, :autocomplete_for_project,
|
||||||
|
|||||||
@ -248,7 +248,6 @@ class DmsfFilesController < ApplicationController
|
|||||||
if @revision
|
if @revision
|
||||||
if @revision.obsolete()
|
if @revision.obsolete()
|
||||||
flash[:notice] = l(:notice_revision_obsoleted)
|
flash[:notice] = l(:notice_revision_obsoleted)
|
||||||
log_activity('obsoleted')
|
|
||||||
else
|
else
|
||||||
flash[:error] = @revision.errors.full_messages.join(', ')
|
flash[:error] = @revision.errors.full_messages.join(', ')
|
||||||
end
|
end
|
||||||
|
|||||||
@ -114,7 +114,6 @@ class DmsfFileRevision < ActiveRecord::Base
|
|||||||
errors[:base] << l(:error_file_is_locked)
|
errors[:base] << l(:error_file_is_locked)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
self.workflow = DmsfWorkflow::STATE_OBSOLETE
|
self.workflow = DmsfWorkflow::STATE_OBSOLETE
|
||||||
save
|
save
|
||||||
end
|
end
|
||||||
|
|||||||
@ -119,7 +119,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
<% classes = 'dmsf_gray hascontextmenu' %>
|
<% classes = 'dmsf_gray hascontextmenu' %>
|
||||||
<% @file_links.each do |link| %>
|
<% @file_links.each do |link| %>
|
||||||
<% unless link.target_file.last_revision %>
|
<% unless link.target_file && link.target_file.last_revision %>
|
||||||
<% Rails.logger.error "Error: dmsf_file id #{link.target_id} has no revision!" %>
|
<% Rails.logger.error "Error: dmsf_file id #{link.target_id} has no revision!" %>
|
||||||
<% next %>
|
<% next %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
<% html_title(l(:dmsf)) %>
|
<% html_title(l(:dmsf)) %>
|
||||||
|
|
||||||
<div class="contextual">
|
<div class="contextual">
|
||||||
<% if User.current.allowed_to?(:file_manipulation, @project) %>
|
<% if @file_manipulation_allowed %>
|
||||||
<% unless @file.locked_for_user? %>
|
<% unless @file.locked_for_user? %>
|
||||||
<% unless @file.locked? %>
|
<% unless @file.locked? %>
|
||||||
<%= link_to(l(:button_lock), lock_dmsf_files_path(:id => @file),
|
<%= link_to(l(:button_lock), lock_dmsf_files_path(:id => @file),
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<%= render(:partial => '/dmsf/path',
|
<%= render(:partial => '/dmsf/path',
|
||||||
:locals => {:folder => @file.dmsf_folder, :filename => @file.title, :title => nil}) %>
|
:locals => {:folder => @file.dmsf_folder, :filename => @file.title, :title => nil}) %>
|
||||||
|
|
||||||
<% if User.current.allowed_to?(:file_manipulation, @file.project) && !@file.locked_for_user? %>
|
<% if @file_manipulation_allowed && !@file.locked_for_user? %>
|
||||||
<%= error_messages_for('file') %>
|
<%= error_messages_for('file') %>
|
||||||
<%= error_messages_for('revision') %>
|
<%= error_messages_for('revision') %>
|
||||||
<%= render(:partial => 'file_new_revision') %>
|
<%= render(:partial => 'file_new_revision') %>
|
||||||
@ -94,7 +94,7 @@
|
|||||||
<%= link_to image_tag('/../../plugin_assets/redmine_dmsf/images/obsolete.png'),
|
<%= link_to image_tag('/../../plugin_assets/redmine_dmsf/images/obsolete.png'),
|
||||||
obsolete_revision_path(revision),
|
obsolete_revision_path(revision),
|
||||||
:data => {:confirm => l(:text_are_you_sure)},
|
:data => {:confirm => l(:text_are_you_sure)},
|
||||||
:title => l(:title_obsolete_revision) if @file_delete_allowed && (revision.workflow == DmsfWorkflow::STATE_APPROVED) %>
|
:title => l(:title_obsolete_revision) if @file_manipulation_allowed && (revision.workflow == DmsfWorkflow::STATE_APPROVED) %>
|
||||||
</div>
|
</div>
|
||||||
<i><%= l(:info_revision, :rev => revision.id) %></i>
|
<i><%= l(:info_revision, :rev => revision.id) %></i>
|
||||||
<%= (revision.source_revision.nil? ? l(:label_created) : l(:label_changed)).downcase %>
|
<%= (revision.source_revision.nil? ? l(:label_created) : l(:label_changed)).downcase %>
|
||||||
@ -174,7 +174,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="<%= "revision_access-#{revision.id}" %>" style="display:none">
|
<div id="<%= "revision_access-#{revision.id}" %>" style="display:none">
|
||||||
<%= render(:partial => 'revision_access', :locals => {:revision => revision}) if User.current.allowed_to?(:file_manipulation, @file.project) %>
|
<%= render(:partial => 'revision_access', :locals => {:revision => revision}) if @file_manipulation_allowed %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -48,6 +48,7 @@ cs:
|
|||||||
notice_file_deleted: Soubor byl smazán
|
notice_file_deleted: Soubor byl smazán
|
||||||
error_at_least_one_revision_must_be_present: Musí existovat alespoň jedna revize
|
error_at_least_one_revision_must_be_present: Musí existovat alespoň jedna revize
|
||||||
notice_revision_deleted: Revize byla smazána
|
notice_revision_deleted: Revize byla smazána
|
||||||
|
notice_revision_obsoleted: Revize je zastaralá
|
||||||
warning_one_of_files_locked: Jeden ze souborů je zamčen
|
warning_one_of_files_locked: Jeden ze souborů je zamčen
|
||||||
notice_file_revision_created: vytvořena nová revize
|
notice_file_revision_created: vytvořena nová revize
|
||||||
notice_your_preferences_were_saved: Vaše nastavení bylo uloženo
|
notice_your_preferences_were_saved: Vaše nastavení bylo uloženo
|
||||||
@ -115,6 +116,7 @@ cs:
|
|||||||
heading_revisions: Revize
|
heading_revisions: Revize
|
||||||
title_download: Stáhnout
|
title_download: Stáhnout
|
||||||
title_delete_revision: Smazat revizi
|
title_delete_revision: Smazat revizi
|
||||||
|
title_obsolete_revision: Označit revizi jako zastaralou
|
||||||
label_created: Vytvořeno
|
label_created: Vytvořeno
|
||||||
label_changed: Změněno
|
label_changed: Změněno
|
||||||
info_changed_by_user: "%{changed} uživatelem"
|
info_changed_by_user: "%{changed} uživatelem"
|
||||||
@ -269,6 +271,7 @@ cs:
|
|||||||
title_assigned: Přiřazený
|
title_assigned: Přiřazený
|
||||||
title_approval: Schválený
|
title_approval: Schválený
|
||||||
title_rejected: Zamítnutý
|
title_rejected: Zamítnutý
|
||||||
|
title_obsolete: Zastaralá
|
||||||
dmsf_and: A
|
dmsf_and: A
|
||||||
dmsf_or: NEBO
|
dmsf_or: NEBO
|
||||||
dmsf_new_step: Nový krok
|
dmsf_new_step: Nový krok
|
||||||
|
|||||||
@ -48,6 +48,7 @@ de:
|
|||||||
notice_file_deleted: Datei gelöscht
|
notice_file_deleted: Datei gelöscht
|
||||||
error_at_least_one_revision_must_be_present: Es muss mindestens eine Version existieren
|
error_at_least_one_revision_must_be_present: Es muss mindestens eine Version existieren
|
||||||
notice_revision_deleted: Version gelöscht
|
notice_revision_deleted: Version gelöscht
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Eine der Dateien ist gesperrt
|
warning_one_of_files_locked: Eine der Dateien ist gesperrt
|
||||||
notice_file_revision_created: Dateiversion erstellt
|
notice_file_revision_created: Dateiversion erstellt
|
||||||
notice_your_preferences_were_saved: Deine Einstellungen wurden gespeichert
|
notice_your_preferences_were_saved: Deine Einstellungen wurden gespeichert
|
||||||
@ -115,6 +116,7 @@ de:
|
|||||||
heading_revisions: Versionen
|
heading_revisions: Versionen
|
||||||
title_download: Download
|
title_download: Download
|
||||||
title_delete_revision: Lösche Version
|
title_delete_revision: Lösche Version
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Erstellt
|
label_created: Erstellt
|
||||||
label_changed: Geändert
|
label_changed: Geändert
|
||||||
info_changed_by_user: "%{changed} von"
|
info_changed_by_user: "%{changed} von"
|
||||||
@ -269,6 +271,7 @@ de:
|
|||||||
title_assigned: Zugewiesen
|
title_assigned: Zugewiesen
|
||||||
title_approval: Genehmigt
|
title_approval: Genehmigt
|
||||||
title_rejected: Abgelehnt
|
title_rejected: Abgelehnt
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: UND
|
dmsf_and: UND
|
||||||
dmsf_or: ODER
|
dmsf_or: ODER
|
||||||
dmsf_new_step: Neuer Schritt
|
dmsf_new_step: Neuer Schritt
|
||||||
|
|||||||
@ -166,7 +166,6 @@ en:
|
|||||||
permission_display_system_folders: Display system folders
|
permission_display_system_folders: Display system folders
|
||||||
permission_file_approval: File approval
|
permission_file_approval: File approval
|
||||||
permission_email_documents: Email documents
|
permission_email_documents: Email documents
|
||||||
|
|
||||||
label_file: File
|
label_file: File
|
||||||
field_folder: Folder
|
field_folder: Folder
|
||||||
error_create_cycle_in_folder_dependency: create cycle in folder dependency
|
error_create_cycle_in_folder_dependency: create cycle in folder dependency
|
||||||
|
|||||||
@ -48,6 +48,7 @@ fr:
|
|||||||
notice_file_deleted: Le fichier a été supprimé
|
notice_file_deleted: Le fichier a été supprimé
|
||||||
error_at_least_one_revision_must_be_present: Au moins une révision est requise
|
error_at_least_one_revision_must_be_present: Au moins une révision est requise
|
||||||
notice_revision_deleted: Révision supprimée
|
notice_revision_deleted: Révision supprimée
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Un des fichiers sélectionnés est verrouillé
|
warning_one_of_files_locked: Un des fichiers sélectionnés est verrouillé
|
||||||
notice_file_revision_created: La révision du fichier a été ajoutée
|
notice_file_revision_created: La révision du fichier a été ajoutée
|
||||||
notice_your_preferences_were_saved: Vos paramètres ont été enregistrés
|
notice_your_preferences_were_saved: Vos paramètres ont été enregistrés
|
||||||
@ -115,6 +116,7 @@ fr:
|
|||||||
heading_revisions: Révisions
|
heading_revisions: Révisions
|
||||||
title_download: Télécharger
|
title_download: Télécharger
|
||||||
title_delete_revision: Supprimer la révision
|
title_delete_revision: Supprimer la révision
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Créé
|
label_created: Créé
|
||||||
label_changed: Modifié
|
label_changed: Modifié
|
||||||
info_changed_by_user: "%{changed} par"
|
info_changed_by_user: "%{changed} par"
|
||||||
@ -269,6 +271,7 @@ fr:
|
|||||||
title_assigned: Assigné
|
title_assigned: Assigné
|
||||||
title_approval: Approbation
|
title_approval: Approbation
|
||||||
title_rejected: Rejeté
|
title_rejected: Rejeté
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: ET
|
dmsf_and: ET
|
||||||
dmsf_or: OU
|
dmsf_or: OU
|
||||||
dmsf_new_step: Nouvelle étape
|
dmsf_new_step: Nouvelle étape
|
||||||
|
|||||||
@ -48,6 +48,7 @@ hu:
|
|||||||
notice_file_deleted: Törölt fájl
|
notice_file_deleted: Törölt fájl
|
||||||
error_at_least_one_revision_must_be_present: Legalább egy verziónak szükséges lennie
|
error_at_least_one_revision_must_be_present: Legalább egy verziónak szükséges lennie
|
||||||
notice_revision_deleted: Verzió törölve
|
notice_revision_deleted: Verzió törölve
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Az egyik fájl zárolva van
|
warning_one_of_files_locked: Az egyik fájl zárolva van
|
||||||
notice_file_revision_created: Fájl verzió létrehozva
|
notice_file_revision_created: Fájl verzió létrehozva
|
||||||
notice_your_preferences_were_saved: A preferenciái mentése kerültek
|
notice_your_preferences_were_saved: A preferenciái mentése kerültek
|
||||||
@ -115,6 +116,7 @@ hu:
|
|||||||
heading_revisions: Verziók
|
heading_revisions: Verziók
|
||||||
title_download: Letöltés
|
title_download: Letöltés
|
||||||
title_delete_revision: Verzió törlése
|
title_delete_revision: Verzió törlése
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Létrehozott
|
label_created: Létrehozott
|
||||||
label_changed: Változtatott
|
label_changed: Változtatott
|
||||||
info_changed_by_user: "%{changed} általa"
|
info_changed_by_user: "%{changed} általa"
|
||||||
@ -269,6 +271,7 @@ hu:
|
|||||||
title_assigned: Kiosztott
|
title_assigned: Kiosztott
|
||||||
title_approval: Jóváhagyás
|
title_approval: Jóváhagyás
|
||||||
title_rejected: Visszautasított
|
title_rejected: Visszautasított
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: ÉS
|
dmsf_and: ÉS
|
||||||
dmsf_or: VAGY
|
dmsf_or: VAGY
|
||||||
dmsf_new_step: Új lépés
|
dmsf_new_step: Új lépés
|
||||||
|
|||||||
@ -48,6 +48,7 @@ it: # Italian strings thx 2 Matteo Arceci!
|
|||||||
notice_file_deleted: Il documento è stato cancellato
|
notice_file_deleted: Il documento è stato cancellato
|
||||||
error_at_least_one_revision_must_be_present: Deve essere presente almeno una revisione
|
error_at_least_one_revision_must_be_present: Deve essere presente almeno una revisione
|
||||||
notice_revision_deleted: Revisione cancellata
|
notice_revision_deleted: Revisione cancellata
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Uno dei documenti è bloccato
|
warning_one_of_files_locked: Uno dei documenti è bloccato
|
||||||
notice_file_revision_created: Revisione del documento creata
|
notice_file_revision_created: Revisione del documento creata
|
||||||
notice_your_preferences_were_saved: Le tue preferenze sono state salvate
|
notice_your_preferences_were_saved: Le tue preferenze sono state salvate
|
||||||
@ -115,6 +116,7 @@ it: # Italian strings thx 2 Matteo Arceci!
|
|||||||
heading_revisions: Revisioni
|
heading_revisions: Revisioni
|
||||||
title_download: Download
|
title_download: Download
|
||||||
title_delete_revision: Cancella revisione
|
title_delete_revision: Cancella revisione
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Creato
|
label_created: Creato
|
||||||
label_changed: Modificato
|
label_changed: Modificato
|
||||||
info_changed_by_user: "%{changed} da"
|
info_changed_by_user: "%{changed} da"
|
||||||
@ -269,6 +271,7 @@ it: # Italian strings thx 2 Matteo Arceci!
|
|||||||
title_assigned: Assegnato
|
title_assigned: Assegnato
|
||||||
title_approval: Approvazione
|
title_approval: Approvazione
|
||||||
title_rejected: Rifiutato
|
title_rejected: Rifiutato
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: Nuovo passo
|
dmsf_new_step: Nuovo passo
|
||||||
|
|||||||
@ -49,6 +49,7 @@ ja:
|
|||||||
error_at_least_one_revision_must_be_present: 少なくとも1つのリビジョンが必要です
|
error_at_least_one_revision_must_be_present: 少なくとも1つのリビジョンが必要です
|
||||||
notice_revision_deleted: リビジョンを削除しました
|
notice_revision_deleted: リビジョンを削除しました
|
||||||
warning_one_of_files_locked: ファイルのうちの1つがロックされています
|
warning_one_of_files_locked: ファイルのうちの1つがロックされています
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
notice_file_revision_created: ファイルのリビジョンを作成しました
|
notice_file_revision_created: ファイルのリビジョンを作成しました
|
||||||
notice_your_preferences_were_saved: あなたの設定を保存しました
|
notice_your_preferences_were_saved: あなたの設定を保存しました
|
||||||
notice_your_preferences_were_not_saved: Your preferences were not saved
|
notice_your_preferences_were_not_saved: Your preferences were not saved
|
||||||
@ -115,6 +116,7 @@ ja:
|
|||||||
heading_revisions: リビジョン
|
heading_revisions: リビジョン
|
||||||
title_download: ダウンロードします
|
title_download: ダウンロードします
|
||||||
title_delete_revision: リビジョンを削除します
|
title_delete_revision: リビジョンを削除します
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: 作成者/日時
|
label_created: 作成者/日時
|
||||||
label_changed: 更新者/日時
|
label_changed: 更新者/日時
|
||||||
info_changed_by_user: "/ %{changed}"
|
info_changed_by_user: "/ %{changed}"
|
||||||
@ -269,6 +271,7 @@ ja:
|
|||||||
title_assigned: アサイン
|
title_assigned: アサイン
|
||||||
title_approval: 承認
|
title_approval: 承認
|
||||||
title_rejected: 否認
|
title_rejected: 否認
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: 新規ステップ
|
dmsf_new_step: 新規ステップ
|
||||||
|
|||||||
@ -49,6 +49,7 @@ ko:
|
|||||||
error_at_least_one_revision_must_be_present: 적어도 한개의 수정사항이 있어야 합니다
|
error_at_least_one_revision_must_be_present: 적어도 한개의 수정사항이 있어야 합니다
|
||||||
notice_revision_deleted: 수정사항 삭제됨
|
notice_revision_deleted: 수정사항 삭제됨
|
||||||
warning_one_of_files_locked: 파일 중 한개가 잠겨있습니다
|
warning_one_of_files_locked: 파일 중 한개가 잠겨있습니다
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
notice_file_revision_created: 수정된 파일이 생성되었습니다
|
notice_file_revision_created: 수정된 파일이 생성되었습니다
|
||||||
notice_your_preferences_were_saved: 사용자의 선호도가 저장되었습니다
|
notice_your_preferences_were_saved: 사용자의 선호도가 저장되었습니다
|
||||||
notice_your_preferences_were_not_saved: 사용자의 선호도는 저장되지 않았습니다
|
notice_your_preferences_were_not_saved: 사용자의 선호도는 저장되지 않았습니다
|
||||||
@ -115,6 +116,7 @@ ko:
|
|||||||
heading_revisions: 수정
|
heading_revisions: 수정
|
||||||
title_download: 다운로드
|
title_download: 다운로드
|
||||||
title_delete_revision: 수정사항 삭제
|
title_delete_revision: 수정사항 삭제
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: 생성됨
|
label_created: 생성됨
|
||||||
label_changed: 변경됨
|
label_changed: 변경됨
|
||||||
info_changed_by_user: "가 %{changed}함"
|
info_changed_by_user: "가 %{changed}함"
|
||||||
@ -269,6 +271,7 @@ ko:
|
|||||||
title_assigned: 할당됨
|
title_assigned: 할당됨
|
||||||
title_approval: 승인
|
title_approval: 승인
|
||||||
title_rejected: 반려
|
title_rejected: 반려
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: 및
|
dmsf_and: 및
|
||||||
dmsf_or: 혹은
|
dmsf_or: 혹은
|
||||||
dmsf_new_step: 새로운 스텝
|
dmsf_new_step: 새로운 스텝
|
||||||
|
|||||||
@ -48,6 +48,7 @@ nl:
|
|||||||
notice_file_deleted: Map verwijderd
|
notice_file_deleted: Map verwijderd
|
||||||
error_at_least_one_revision_must_be_present: Er moet ten minste een revisie aanwezig zijn
|
error_at_least_one_revision_must_be_present: Er moet ten minste een revisie aanwezig zijn
|
||||||
notice_revision_deleted: Revisie verwijderd
|
notice_revision_deleted: Revisie verwijderd
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Een van de bestanden vergrendeld
|
warning_one_of_files_locked: Een van de bestanden vergrendeld
|
||||||
notice_file_revision_created: Bestandsrevisie aangemaakt
|
notice_file_revision_created: Bestandsrevisie aangemaakt
|
||||||
notice_your_preferences_were_saved: Uw voorkeuren zijn opgeslagen
|
notice_your_preferences_were_saved: Uw voorkeuren zijn opgeslagen
|
||||||
@ -115,6 +116,7 @@ nl:
|
|||||||
heading_revisions: Revisies
|
heading_revisions: Revisies
|
||||||
title_download: Downloaden
|
title_download: Downloaden
|
||||||
title_delete_revision: Verwijder revisie
|
title_delete_revision: Verwijder revisie
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Aangemaakt
|
label_created: Aangemaakt
|
||||||
label_changed: Gewijzigd
|
label_changed: Gewijzigd
|
||||||
info_changed_by_user: "%{changed} door"
|
info_changed_by_user: "%{changed} door"
|
||||||
@ -269,6 +271,7 @@ nl:
|
|||||||
title_assigned: Toegewezen
|
title_assigned: Toegewezen
|
||||||
title_approval: Goedkeuring
|
title_approval: Goedkeuring
|
||||||
title_rejected: Afgewezen
|
title_rejected: Afgewezen
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: EN
|
dmsf_and: EN
|
||||||
dmsf_or: OF
|
dmsf_or: OF
|
||||||
dmsf_new_step: Nieuwe stap
|
dmsf_new_step: Nieuwe stap
|
||||||
|
|||||||
@ -48,6 +48,7 @@ pl:
|
|||||||
notice_file_deleted: Plik został usunięty
|
notice_file_deleted: Plik został usunięty
|
||||||
error_at_least_one_revision_must_be_present: Musi istnieć co najmniej jedna wersja
|
error_at_least_one_revision_must_be_present: Musi istnieć co najmniej jedna wersja
|
||||||
notice_revision_deleted: Wersja usunięta
|
notice_revision_deleted: Wersja usunięta
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Jeden z plików jest zablokowany
|
warning_one_of_files_locked: Jeden z plików jest zablokowany
|
||||||
notice_file_revision_created: Utworzono wersję pliku
|
notice_file_revision_created: Utworzono wersję pliku
|
||||||
notice_your_preferences_were_saved: Twoje preferencje zostały zapisane
|
notice_your_preferences_were_saved: Twoje preferencje zostały zapisane
|
||||||
@ -115,6 +116,7 @@ pl:
|
|||||||
heading_revisions: Wersje
|
heading_revisions: Wersje
|
||||||
title_download: Pobierz
|
title_download: Pobierz
|
||||||
title_delete_revision: Usuń wersję
|
title_delete_revision: Usuń wersję
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Utworzono
|
label_created: Utworzono
|
||||||
label_changed: Zmieniono
|
label_changed: Zmieniono
|
||||||
info_changed_by_user: "%{changed} przez"
|
info_changed_by_user: "%{changed} przez"
|
||||||
@ -269,6 +271,7 @@ pl:
|
|||||||
title_assigned: Przydzielony
|
title_assigned: Przydzielony
|
||||||
title_approval: Akceptacja
|
title_approval: Akceptacja
|
||||||
title_rejected: Odrzucony
|
title_rejected: Odrzucony
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: Nowy krok
|
dmsf_new_step: Nowy krok
|
||||||
|
|||||||
@ -48,6 +48,7 @@ pt-BR:
|
|||||||
notice_file_deleted: Arquivo excluído
|
notice_file_deleted: Arquivo excluído
|
||||||
error_at_least_one_revision_must_be_present: Deve existir pelo menos uma revisão
|
error_at_least_one_revision_must_be_present: Deve existir pelo menos uma revisão
|
||||||
notice_revision_deleted: Revisão excluída
|
notice_revision_deleted: Revisão excluída
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Um dos arquivos bloqueados
|
warning_one_of_files_locked: Um dos arquivos bloqueados
|
||||||
notice_file_revision_created: Revisão do arquivo criado
|
notice_file_revision_created: Revisão do arquivo criado
|
||||||
notice_your_preferences_were_saved: Suas atualizações foram salvas
|
notice_your_preferences_were_saved: Suas atualizações foram salvas
|
||||||
@ -115,6 +116,7 @@ pt-BR:
|
|||||||
heading_revisions: Revisões
|
heading_revisions: Revisões
|
||||||
title_download: Download
|
title_download: Download
|
||||||
title_delete_revision: Revisão excluída
|
title_delete_revision: Revisão excluída
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Criado
|
label_created: Criado
|
||||||
label_changed: Alterado
|
label_changed: Alterado
|
||||||
info_changed_by_user: "%{changed} por"
|
info_changed_by_user: "%{changed} por"
|
||||||
@ -269,6 +271,7 @@ pt-BR:
|
|||||||
title_assigned: Atribuído
|
title_assigned: Atribuído
|
||||||
title_approval: Aprovado
|
title_approval: Aprovado
|
||||||
title_rejected: Rejeitado
|
title_rejected: Rejeitado
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: E
|
dmsf_and: E
|
||||||
dmsf_or: OU
|
dmsf_or: OU
|
||||||
dmsf_new_step: Novo passo
|
dmsf_new_step: Novo passo
|
||||||
|
|||||||
@ -48,6 +48,7 @@ ru:
|
|||||||
notice_file_deleted: Файл удален
|
notice_file_deleted: Файл удален
|
||||||
error_at_least_one_revision_must_be_present: По крайней мере, одна редакция должна присутствовать
|
error_at_least_one_revision_must_be_present: По крайней мере, одна редакция должна присутствовать
|
||||||
notice_revision_deleted: Редакция удалена
|
notice_revision_deleted: Редакция удалена
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Один из файлов заблокирован
|
warning_one_of_files_locked: Один из файлов заблокирован
|
||||||
notice_file_revision_created: Редакция файла создана
|
notice_file_revision_created: Редакция файла создана
|
||||||
notice_your_preferences_were_saved: Ваши настройки были сохранены
|
notice_your_preferences_were_saved: Ваши настройки были сохранены
|
||||||
@ -115,6 +116,7 @@ ru:
|
|||||||
heading_revisions: Редакции
|
heading_revisions: Редакции
|
||||||
title_download: Скачать
|
title_download: Скачать
|
||||||
title_delete_revision: Удалить редакцию
|
title_delete_revision: Удалить редакцию
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Создан
|
label_created: Создан
|
||||||
label_changed: Изменен
|
label_changed: Изменен
|
||||||
info_changed_by_user: "%{changed} пользователем"
|
info_changed_by_user: "%{changed} пользователем"
|
||||||
@ -269,6 +271,7 @@ ru:
|
|||||||
title_assigned: Назначен
|
title_assigned: Назначен
|
||||||
title_approval: Согласован
|
title_approval: Согласован
|
||||||
title_rejected: Отклонен
|
title_rejected: Отклонен
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: Новый шаг
|
dmsf_new_step: Новый шаг
|
||||||
|
|||||||
@ -48,6 +48,7 @@ sl:
|
|||||||
notice_file_deleted: Datoteka izbrisana
|
notice_file_deleted: Datoteka izbrisana
|
||||||
error_at_least_one_revision_must_be_present: Vsaj ena verzija mora obstajati
|
error_at_least_one_revision_must_be_present: Vsaj ena verzija mora obstajati
|
||||||
notice_revision_deleted: Verzija izbrisana
|
notice_revision_deleted: Verzija izbrisana
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: Ena od datotek je zaklenjena
|
warning_one_of_files_locked: Ena od datotek je zaklenjena
|
||||||
notice_file_revision_created: Verzija datoteke kreirana
|
notice_file_revision_created: Verzija datoteke kreirana
|
||||||
notice_your_preferences_were_saved: Vaše nastavitve so shranjene
|
notice_your_preferences_were_saved: Vaše nastavitve so shranjene
|
||||||
@ -115,6 +116,7 @@ sl:
|
|||||||
heading_revisions: Verzije
|
heading_revisions: Verzije
|
||||||
title_download: Prenesi dol
|
title_download: Prenesi dol
|
||||||
title_delete_revision: Izbriši verzijo
|
title_delete_revision: Izbriši verzijo
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: Narejeno
|
label_created: Narejeno
|
||||||
label_changed: Spremenjeno
|
label_changed: Spremenjeno
|
||||||
info_changed_by_user: "%{changed} po"
|
info_changed_by_user: "%{changed} po"
|
||||||
@ -269,6 +271,7 @@ sl:
|
|||||||
title_assigned: Assigned
|
title_assigned: Assigned
|
||||||
title_approval: Approval
|
title_approval: Approval
|
||||||
title_rejected: Rejected
|
title_rejected: Rejected
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: New step
|
dmsf_new_step: New step
|
||||||
|
|||||||
@ -48,6 +48,7 @@ zh-TW:
|
|||||||
notice_file_deleted: 檔案己經被刪除了
|
notice_file_deleted: 檔案己經被刪除了
|
||||||
error_at_least_one_revision_must_be_present: 至少要有一個修訂版本存在
|
error_at_least_one_revision_must_be_present: 至少要有一個修訂版本存在
|
||||||
notice_revision_deleted: 修訂版本己經被刪除
|
notice_revision_deleted: 修訂版本己經被刪除
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: 其中一個檔案被鎖定了
|
warning_one_of_files_locked: 其中一個檔案被鎖定了
|
||||||
notice_file_revision_created: 檔案修訂版本己建立
|
notice_file_revision_created: 檔案修訂版本己建立
|
||||||
notice_your_preferences_were_saved: 您的偏好設定己經儲存
|
notice_your_preferences_were_saved: 您的偏好設定己經儲存
|
||||||
@ -115,6 +116,7 @@ zh-TW:
|
|||||||
heading_revisions: 修訂版本
|
heading_revisions: 修訂版本
|
||||||
title_download: 下載
|
title_download: 下載
|
||||||
title_delete_revision: 刪除此修訂版本
|
title_delete_revision: 刪除此修訂版本
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: 建立者/時間
|
label_created: 建立者/時間
|
||||||
label_changed: 修改者/時間
|
label_changed: 修改者/時間
|
||||||
info_changed_by_user: "%{changed} by"
|
info_changed_by_user: "%{changed} by"
|
||||||
@ -269,6 +271,7 @@ zh-TW:
|
|||||||
title_assigned: Assigned
|
title_assigned: Assigned
|
||||||
title_approval: Approval
|
title_approval: Approval
|
||||||
title_rejected: Rejected
|
title_rejected: Rejected
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: New step
|
dmsf_new_step: New step
|
||||||
|
|||||||
@ -48,6 +48,7 @@ zh:
|
|||||||
notice_file_deleted: 文件已删除
|
notice_file_deleted: 文件已删除
|
||||||
error_at_least_one_revision_must_be_present: 至少一个修订版本必须存在
|
error_at_least_one_revision_must_be_present: 至少一个修订版本必须存在
|
||||||
notice_revision_deleted: 修订版本已删除
|
notice_revision_deleted: 修订版本已删除
|
||||||
|
notice_revision_obsoleted: Revision obsoleted
|
||||||
warning_one_of_files_locked: 其中一个文件被锁定
|
warning_one_of_files_locked: 其中一个文件被锁定
|
||||||
notice_file_revision_created: 文件修订版本已创建
|
notice_file_revision_created: 文件修订版本已创建
|
||||||
notice_your_preferences_were_saved: 您的偏好设定已保存
|
notice_your_preferences_were_saved: 您的偏好设定已保存
|
||||||
@ -115,6 +116,7 @@ zh:
|
|||||||
heading_revisions: 修订版本
|
heading_revisions: 修订版本
|
||||||
title_download: 下载
|
title_download: 下载
|
||||||
title_delete_revision: 删除此修订
|
title_delete_revision: 删除此修订
|
||||||
|
title_obsolete_revision: Obsolete revision
|
||||||
label_created: 创建
|
label_created: 创建
|
||||||
label_changed: 修改
|
label_changed: 修改
|
||||||
info_changed_by_user: "%{changed} by"
|
info_changed_by_user: "%{changed} by"
|
||||||
@ -269,6 +271,7 @@ zh:
|
|||||||
title_assigned: Assigned
|
title_assigned: Assigned
|
||||||
title_approval: Approval
|
title_approval: Approval
|
||||||
title_rejected: Rejected
|
title_rejected: Rejected
|
||||||
|
title_obsolete: Obsolete
|
||||||
dmsf_and: AND
|
dmsf_and: AND
|
||||||
dmsf_or: OR
|
dmsf_or: OR
|
||||||
dmsf_new_step: New step
|
dmsf_new_step: New step
|
||||||
|
|||||||
@ -92,4 +92,15 @@ class DmsfFilesControllerTest < RedmineDmsf::Test::TestCase
|
|||||||
assert_equal 0, flash[:error].size
|
assert_equal 0, flash[:error].size
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_obsolete_revision_ok
|
||||||
|
@role.add_permission! :file_manipulation
|
||||||
|
get :obsolete_revision, :id => @file.last_revision.id
|
||||||
|
assert_redirected_to :action => 'show', :id => @file
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_obsolete_revision_missing_permissions
|
||||||
|
get :obsolete_revision, :id => @file.last_revision.id
|
||||||
|
assert :forbiden
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -21,6 +21,8 @@
|
|||||||
require File.expand_path('../../test_helper', __FILE__)
|
require File.expand_path('../../test_helper', __FILE__)
|
||||||
|
|
||||||
class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
|
class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
|
||||||
|
include Redmine::I18n
|
||||||
|
|
||||||
fixtures :projects, :users, :email_addresses, :dmsf_folders, :dmsf_files, :dmsf_file_revisions, :roles, :members,
|
fixtures :projects, :users, :email_addresses, :dmsf_folders, :dmsf_files, :dmsf_file_revisions, :roles, :members,
|
||||||
:member_roles, :enabled_modules, :enumerations, :dmsf_locks, :dmsf_workflows, :dmsf_workflow_steps,
|
:member_roles, :enabled_modules, :enumerations, :dmsf_locks, :dmsf_workflows, :dmsf_workflow_steps,
|
||||||
:dmsf_workflow_step_assignments, :dmsf_workflow_step_actions
|
:dmsf_workflow_step_assignments, :dmsf_workflow_step_actions
|
||||||
@ -31,6 +33,8 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
|
|||||||
@revision5 = DmsfFileRevision.find_by_id 5
|
@revision5 = DmsfFileRevision.find_by_id 5
|
||||||
@revision8 = DmsfFileRevision.find_by_id 8
|
@revision8 = DmsfFileRevision.find_by_id 8
|
||||||
@wf1 = DmsfWorkflow.find_by_id 1
|
@wf1 = DmsfWorkflow.find_by_id 1
|
||||||
|
@admin = User.find_by_id 1
|
||||||
|
@jsmith = User.find_by_id 2
|
||||||
Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path '../../fixtures/files', __FILE__
|
Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path '../../fixtures/files', __FILE__
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -40,6 +44,8 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
|
|||||||
assert_kind_of DmsfFileRevision, @revision5
|
assert_kind_of DmsfFileRevision, @revision5
|
||||||
assert_kind_of DmsfFileRevision, @revision8
|
assert_kind_of DmsfFileRevision, @revision8
|
||||||
assert_kind_of DmsfWorkflow, @wf1
|
assert_kind_of DmsfWorkflow, @wf1
|
||||||
|
assert_kind_of User, @admin
|
||||||
|
assert_kind_of User, @jsmith
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_delete_restore
|
def test_delete_restore
|
||||||
@ -223,4 +229,18 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
|
|||||||
assert_equal 'ms-excel', @revision1.protocol
|
assert_equal 'ms-excel', @revision1.protocol
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_obsolete
|
||||||
|
assert @revision1.obsolete
|
||||||
|
assert_equal DmsfWorkflow::STATE_OBSOLETE, @revision1.workflow
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_obsolete_locked
|
||||||
|
User.current = @admin
|
||||||
|
@revision1.dmsf_file.lock!
|
||||||
|
User.current = @jsmith
|
||||||
|
assert !@revision1.obsolete
|
||||||
|
assert_equal 1, @revision1.errors.count
|
||||||
|
@revision1.errors.full_messages.to_sentence.include?(l(:error_file_is_locked))
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
Loading…
x
Reference in New Issue
Block a user