diff --git a/app/controllers/dmsf_detail_controller.rb b/app/controllers/dmsf_detail_controller.rb index f895cac8..197694f3 100644 --- a/app/controllers/dmsf_detail_controller.rb +++ b/app/controllers/dmsf_detail_controller.rb @@ -36,15 +36,20 @@ class DmsfDetailController < ApplicationController else failed_entries = [] deleted_files = [] + deleted_folders = [] unless selected_folders.nil? if User.current.allowed_to?(:folder_manipulation, @project) selected_folders.each do |subfolderid| subfolder = DmsfFolder.find(subfolderid) next if subfolder.nil? - failed_entries.push(subfolder) if subfolder.project != @project || !subfolder.delete + if subfolder.project != @project || !subfolder.delete + failed_entries.push(subfolder) + else + deleted_folders.push(subfolder) + end end else - flash[:error] = l(:error_user_has_no_rights_delete_folder) + flash[:error] = l(:error_user_has_not_right_delete_folder) end end unless selected_files.nil? @@ -59,12 +64,16 @@ class DmsfDetailController < ApplicationController end end else - flash[:error] = l(:error_user_has_no_rights_delete_file) + flash[:error] = l(:error_user_has_not_right_delete_file) end end + unless deleted_folders.empty? + Rails.logger.info "#{Time.now} from #{request.remote_ip}/#{request.env["HTTP_X_FORWARDED_FOR"]}: #{User.current.login} deleted folders from project #{@project.identifier}:" + deleted_folders.each {|f| Rails.logger.info "\t#{f.dmsf_path_str}:"} + end unless deleted_files.empty? - Rails.logger.info "#{Time.now} from #{request.remote_ip}/#{request.env["HTTP_X_FORWARDED_FOR"]}: #{User.current.login} deleted from project #{@project.identifier}:" - deleted_files.each {|file| Rails.logger.info "\t#{file.dmsf_path_str}:"} + Rails.logger.info "#{Time.now} from #{request.remote_ip}/#{request.env["HTTP_X_FORWARDED_FOR"]}: #{User.current.login} deleted files from project #{@project.identifier}:" + deleted_files.each {|f| Rails.logger.info "\t#{f.dmsf_path_str}:"} DmsfMailer.deliver_files_deleted(User.current, deleted_files) end if failed_entries.empty? @@ -121,8 +130,7 @@ class DmsfDetailController < ApplicationController def delete_folder check_project(@delete_folder = DmsfFolder.find(params[:delete_folder_id])) if !@delete_folder.nil? - if @delete_folder.subfolders.empty? && @delete_folder.files.empty? - @delete_folder.destroy + if @delete_folder.delete flash[:notice] = l(:notice_folder_deleted) Rails.logger.info "#{Time.now} from #{request.remote_ip}/#{request.env["HTTP_X_FORWARDED_FOR"]}: #{User.current.login} deleted folder #{@project.identifier}://#{@delete_folder.dmsf_path_str}" else diff --git a/app/views/dmsf/index.html.erb b/app/views/dmsf/index.html.erb index 8ae28bd0..7d274ea6 100644 --- a/app/views/dmsf/index.html.erb +++ b/app/views/dmsf/index.html.erb @@ -190,7 +190,7 @@ form_tag({:action => "entries_operation", :id => @project, :folder_id => @folder }) jQuery("#entries_delete_button").click(function(event) { - if(window.confirm("<%= l(:question_do_you_really_want_to_delete_these_entries) %>")) { + if(window.confirm("<%= l(:question_do_you_really_want_to_delete_entries) %>")) { jQuery("#entries_form").attr("action", "<%= url_for(:controller => 'dmsf_detail', :action => 'delete_entries', :id => @project, :folder_id => @folder) %>"); jQuery("#entries_form").submit(); } diff --git a/assets/stylesheets/dmsf.css b/assets/stylesheets/dmsf.css index fa519da8..97f49bb5 100644 --- a/assets/stylesheets/dmsf.css +++ b/assets/stylesheets/dmsf.css @@ -1,3 +1,9 @@ +button { + vertical-align: middle; + margin-top: 1px; + margin-bottom: 1px; +} + /* DMSF entries list */ table.entries tbody td, table.entries tbody tr:hover td { border: solid 1px #D7D7D7; diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 29e5152b..9ee5a8c2 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -141,4 +141,10 @@ cs: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/de.yml b/config/locales/de.yml index 8fca80d5..739ac731 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -137,4 +137,10 @@ de: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index c5c889dc..f4bf1054 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -137,4 +137,10 @@ en-GB: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index c2e69621..d956207d 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -141,4 +141,10 @@ en: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/es.yml b/config/locales/es.yml index 5a886faf..49efe871 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -139,4 +139,10 @@ es: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 7a2b9136..c57bd7a4 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -137,4 +137,10 @@ fr: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/ja.yml b/config/locales/ja.yml index c2e69621..d956207d 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -141,4 +141,10 @@ en: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 2e503063..4b508d73 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -137,4 +137,10 @@ ru: :error_contains_invalid_character: "contains invalid character(s)" :error_file_commit_require_uploaded_file: "File commit require uploaded file" :warning_some_files_were_not_commited: "Some files were not commited due to validation errors: %{files}" + :error_user_has_not_right_delete_folder: "User hasn't right to delete forders" + :error_user_has_not_right_delete_file: "User hasn't right to delete file" + :notice_entries_deleted: "Entries deleted" + :warning_some_entries_were_not_deleted: "Some entries weren't deleted: %{entries}" + :question_do_you_really_want_to_delete_entries: "Do you really want to delete checked entries?" + :title_delete_checked: "Delete checked" \ No newline at end of file