#187 - Approval workflow permissions
This commit is contained in:
parent
28d7b8d07a
commit
b60ba63efe
@ -52,13 +52,14 @@ class DmsfFilesController < ApplicationController
|
||||
begin
|
||||
send_revision
|
||||
rescue ActionController::MissingFile => e
|
||||
logger.error e.message
|
||||
render_404
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
@revision = @file.last_revision
|
||||
# TODO: line bellow is to handle old instalations with errors in data handling
|
||||
# TODO: line bellow is to handle old installations with errors in data handling
|
||||
@revision.name = @file.name
|
||||
|
||||
@revision_pages = Paginator.new self, @file.revisions.visible.count, params['per_page'] ? params['per_page'].to_i : 25, params['page']
|
||||
|
||||
@ -90,10 +90,8 @@ class DmsfMailer < Mailer
|
||||
true
|
||||
when 'selected'
|
||||
notify_member.mail_notification?
|
||||
when 'only_my_events'
|
||||
notify_user.allowed_to?(:file_approval, project) ? true : false
|
||||
when 'only_owner'
|
||||
notify_user.allowed_to?(:file_approval, project) ? true : false
|
||||
when 'only_my_events', 'only_owner'
|
||||
notify_user.allowed_to?(:file_manipulation, project) ? true : false
|
||||
else
|
||||
false
|
||||
end
|
||||
|
||||
@ -39,13 +39,12 @@
|
||||
:title => l(:title_lock_file)) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if User.current.allowed_to?(:file_manipulation, @project) && !@file.locked_for_user? %>
|
||||
<% unless @file.locked_for_user? %>
|
||||
|
||||
<%= link_to_function(image_tag('delete.png', :plugin => 'redmine_dmsf'),
|
||||
"confirmation_link('#{url_for(:action => 'delete', :id => @file)}', '#{l(:question_do_you_really_want_to_delete_this_entry)}')",
|
||||
:title => l(:title_delete)) %>
|
||||
<% end %>
|
||||
<% if User.current.allowed_to?(:file_approval, @project) %>
|
||||
|
||||
<% if @file.notification %>
|
||||
<%= link_to_function(image_tag('notify.png', :plugin => 'redmine_dmsf'),
|
||||
@ -57,7 +56,6 @@
|
||||
:title => l(:title_notifications_not_active_activate)) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to(image_tag('copy.png'), {:controller => :dmsf_files_copy, :action => 'new', :id => @file }, :title => l(:title_copy_or_move)) %>
|
||||
</div>
|
||||
@ -89,7 +87,7 @@
|
||||
<%= link_to(image_tag('rev_download.png', :plugin => 'redmine_dmsf'),
|
||||
{:action => 'show', :id => @file, :download => revision},
|
||||
:title => l(:title_title_version_version_download, :title => h(revision.title), :version => revision.version)) %>
|
||||
<% if User.current.allowed_to?(:file_approval, @project) %>
|
||||
<% if User.current.allowed_to?(:file_manipulation, @project) %>
|
||||
<%= link_to_function(image_tag('rev_delete.png', :plugin => 'redmine_dmsf'),
|
||||
"confirmation_link('#{url_for(:action => 'delete_revision', :id => revision)}', '#{l(:question_do_you_really_want_to_delete_this_revision)}')",
|
||||
:title => l(:title_delete_revision)) %>
|
||||
@ -154,7 +152,7 @@
|
||||
</div>
|
||||
<br/>
|
||||
<div id="<%= "revision_access-#{revision.id}" %>" style="display:none">
|
||||
<%= render(:partial => 'revision_access', :locals => {:revision => revision}) if User.current.allowed_to?(:file_approval, @file.project) %>
|
||||
<%= render(:partial => 'revision_access', :locals => {:revision => revision}) if User.current.allowed_to?(:file_manipulation, @file.project) %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -165,8 +163,8 @@
|
||||
<p class="pagination"><%= pagination_links_full @revision_pages, @file.revisions.visible.count %></p>
|
||||
|
||||
<%
|
||||
sUrl = 'jquery.dataTables/en.json'
|
||||
sUrl = "jquery.dataTables/#{I18n.locale.to_s.downcase}.json" if I18n.locale && !I18n.locale.to_s.match(/^en.*/)
|
||||
url = 'jquery.dataTables/en.json'
|
||||
url = "jquery.dataTables/#{I18n.locale.to_s.downcase}.json" if I18n.locale && !I18n.locale.to_s.match(/^en.*/)
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
@ -200,7 +198,7 @@
|
||||
jQuery('.access-table').dataTable({
|
||||
'bJQueryUI': true,
|
||||
'oLanguage': {
|
||||
'sUrl': '/plugin_assets/<%= :redmine_dmsf %>/javascripts/<%= sUrl%>'
|
||||
'sUrl': '/plugin_assets/<%= :redmine_dmsf %>/javascripts/<%= url %>'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -148,8 +148,8 @@ cs:
|
||||
permission_view_dmsf_files: Zobrazit dokumenty
|
||||
permission_folder_manipulation: Manipulace se složkami
|
||||
permission_file_manipulation: Manipulace se soubory
|
||||
permission_file_approval: Schválení souboru
|
||||
permission_force_file_unlock: Vynucené odemknutí souboru
|
||||
permission_manage_workflows: Spravovat schvalovací procesy
|
||||
label_file: Soubor
|
||||
field_folder: Složka
|
||||
error_create_cycle_in_folder_dependency: vytvořit smyčku v závislostech složky
|
||||
|
||||
@ -148,8 +148,8 @@ de:
|
||||
permission_view_dmsf_files: Betrachte Dateien
|
||||
permission_folder_manipulation: Ordner manipulation
|
||||
permission_file_manipulation: Datei manipulation
|
||||
permission_file_approval: Datei approval
|
||||
permission_force_file_unlock: Erzwinge Aufhebung der Dateisperre
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: Datei
|
||||
field_folder: Ordner
|
||||
error_create_cycle_in_folder_dependency: schaffen Zyklus in Abhängigkeit Ordner
|
||||
|
||||
@ -149,8 +149,8 @@ en:
|
||||
permission_view_dmsf_files: View documents
|
||||
permission_folder_manipulation: Folder manipulation
|
||||
permission_file_manipulation: File manipulation
|
||||
permission_file_approval: File approval
|
||||
permission_force_file_unlock: Force file unlock
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: File
|
||||
field_folder: Folder
|
||||
error_create_cycle_in_folder_dependency: create cycle in folder dependency
|
||||
|
||||
@ -149,8 +149,8 @@ es:
|
||||
permission_view_dmsf_files: View documents
|
||||
permission_folder_manipulation: Folder manipulation
|
||||
permission_file_manipulation: File manipulation
|
||||
permission_file_approval: File approval
|
||||
permission_force_file_unlock: Force file unlock
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: File
|
||||
field_folder: Folder
|
||||
error_create_cycle_in_folder_dependency: create cycle in folder dependency
|
||||
|
||||
@ -147,8 +147,8 @@ fr:
|
||||
permission_view_dmsf_files: Afficher documents
|
||||
permission_folder_manipulation: Gestion des dossiers
|
||||
permission_file_manipulation: Gestion des documents
|
||||
permission_file_approval: Validation du document
|
||||
permission_force_file_unlock: Forcer le déverrouillage du document
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: Fichier
|
||||
field_folder: Dossier
|
||||
error_create_cycle_in_folder_dependency: create cycle in folder dependency
|
||||
|
||||
@ -147,8 +147,8 @@ ja:
|
||||
permission_view_dmsf_files: 文書の表示
|
||||
permission_folder_manipulation: フォルダの操作
|
||||
permission_file_manipulation: ファイルの操作
|
||||
permission_file_approval: ファイルの承認
|
||||
permission_force_file_unlock: ファイルの強制ロック解除
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: ファイル
|
||||
field_folder: フォルダ
|
||||
error_create_cycle_in_folder_dependency: フォルダの依存関係が循環しています
|
||||
|
||||
@ -147,8 +147,8 @@ ru:
|
||||
permission_view_dmsf_files: Просматривать документы
|
||||
permission_folder_manipulation: Управление папками
|
||||
permission_file_manipulation: Управление файлами
|
||||
permission_file_approval: Утверждение файлов
|
||||
permission_force_file_unlock: Разблокировка любых файлов
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: Файл
|
||||
field_folder: Папка
|
||||
error_create_cycle_in_folder_dependency: создать циклическую зависимость в папке
|
||||
|
||||
@ -147,8 +147,8 @@ sl:
|
||||
permission_view_dmsf_files: Preglej dokumente
|
||||
permission_folder_manipulation: Upravljanje z mapami
|
||||
permission_file_manipulation: Upravljanje z datotekami
|
||||
permission_file_approval: Odobritev datotek
|
||||
permission_force_file_unlock: Prisilno odkleni datoteko
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: Datoteka
|
||||
field_folder: Pod mapo
|
||||
error_create_cycle_in_folder_dependency: naredi ciklično odvisnost med mapami
|
||||
|
||||
@ -147,8 +147,8 @@ zh:
|
||||
permission_view_dmsf_files: 查看文档
|
||||
permission_folder_manipulation: 文件夹操作
|
||||
permission_file_manipulation: 文件操作
|
||||
permission_file_approval: 批准文件
|
||||
permission_force_file_unlock: 强制文件解锁
|
||||
permission_manage_workflows: Manage workflows
|
||||
label_file: 文件
|
||||
field_folder: 件夹
|
||||
error_create_cycle_in_folder_dependency: create cycle in folder dependency
|
||||
|
||||
@ -31,7 +31,7 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase
|
||||
@user_non_member = User.find_by_id 3 #Dave Lopper
|
||||
@request.session[:user_id] = @user_member.id
|
||||
@role_manager = Role.where(:name => 'Manager').first
|
||||
@role_manager.add_permission! :file_approval
|
||||
@role_manager.add_permission! :file_manipulation
|
||||
@wfs1 = DmsfWorkflowStep.find_by_id 1 # step 1
|
||||
@wfs2 = DmsfWorkflowStep.find_by_id 2 # step 2
|
||||
@wfs3 = DmsfWorkflowStep.find_by_id 3 # step 1
|
||||
@ -77,7 +77,7 @@ class DmsfWorkflowsControllerTest < RedmineDmsf::Test::TestCase
|
||||
assert_response :forbidden
|
||||
# Without permissions
|
||||
@project5.enable_module!(:dmsf)
|
||||
@role_manager.remove_permission! :file_approval
|
||||
@role_manager.remove_permission! :file_manipulation
|
||||
get :index, :project_id => @project5.id
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user