#207 locks by deleted users producte internal server error 500

This commit is contained in:
Karel Picman 2014-01-20 13:54:41 +01:00
parent 5c20ae246c
commit e94676b6a4
11 changed files with 27 additions and 10 deletions

View File

@ -38,7 +38,8 @@ Changelog for Redmine DMSF
* New: Issue #200 - Update the french translation for the multi upload module * New: Issue #200 - Update the french translation for the multi upload module
* Fix: Issue #202 - unable to create Custom Field when DMSF plugin installed * Fix: Issue #202 - unable to create Custom Field when DMSF plugin installed
* Fix: Issue #203 - Little typing error in french translation * Fix: Issue #203 - Little typing error in french translation
* Fix: Issue #206 - "Select All" checkbox not functioning
* Fix: Issue #207 - locks by deleted users producte internal server error 500
1.4.6: *2013-10-18* 1.4.6: *2013-10-18*
----------------------- -----------------------

View File

@ -116,9 +116,13 @@
<td class="size"></td> <td class="size"></td>
<td class="modified"><%= format_time(subfolder.updated_at) %> <td class="modified"><%= format_time(subfolder.updated_at) %>
<% if locked_for_user %> <% if locked_for_user %>
<% if subfolder.lock.reverse[0].user %>
<%= link_to(image_tag('locked.png', :plugin => :redmine_dmsf), <%= link_to(image_tag('locked.png', :plugin => :redmine_dmsf),
{ :controller => 'users', :action => 'show', :id => subfolder.lock.reverse[0].user }, { :controller => 'users', :action => 'show', :id => subfolder.lock.reverse[0].user },
:title => l(:title_locked_by_user, :user => subfolder.lock.reverse[0].user.to_s)) %> :title => l(:title_locked_by_user, :user => subfolder.lock.reverse[0].user.to_s)) %>
<% else %>
<%= image_tag('locked.png', :title => l(:notice_account_unknown_email), :plugin => :redmine_dmsf) %>
<% end %>
<% elsif locked %> <% elsif locked %>
<%= image_tag('lockedbycurrent.png', :title => l(:title_locked_by_you), :plugin => :redmine_dmsf) %> <%= image_tag('lockedbycurrent.png', :title => l(:title_locked_by_you), :plugin => :redmine_dmsf) %>
<% end %> <% end %>
@ -201,9 +205,13 @@
<td class="modified"> <td class="modified">
<%= format_time(file.last_revision.updated_at) %> <%= format_time(file.last_revision.updated_at) %>
<% if locked_for_user %> <% if locked_for_user %>
<% if file.lock.reverse[0].user %>
<%= link_to(image_tag('locked.png', :plugin => :redmine_dmsf), <%= link_to(image_tag('locked.png', :plugin => :redmine_dmsf),
{:controller => 'users', :action => 'show', :id => file.lock.reverse[0].user }, {:controller => 'users', :action => 'show', :id => file.lock.reverse[0].user },
:title => l(:title_locked_by_user, :user => file.lock.reverse[0].user.to_s)) %> :title => l(:title_locked_by_user, :user => file.lock.reverse[0].user.to_s)) %>
<% else %>
<%= image_tag('locked.png', :title => l(:notice_account_unknown_email), :plugin => :redmine_dmsf) %>
<% end %>
<% elsif locked %> <% elsif locked %>
<%= image_tag('lockedbycurrent.png', :title => l(:title_locked_by_you), :plugin => :redmine_dmsf) %> <%= image_tag('lockedbycurrent.png', :title => l(:title_locked_by_you), :plugin => :redmine_dmsf) %>
<% end %> <% end %>

View File

@ -38,6 +38,7 @@ cs:
error_folder_is_not_empty: Adresář není prázdný error_folder_is_not_empty: Adresář není prázdný
error_folder_title_is_already_used: Název již existuje error_folder_title_is_already_used: Název již existuje
notice_folder_details_were_saved: Detaily složky byly uloženy notice_folder_details_were_saved: Detaily složky byly uloženy
error_folder_is_locked: Adresář je zamčen
error_file_is_locked: Soubor je zamčen error_file_is_locked: Soubor je zamčen
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

View File

@ -39,6 +39,7 @@ en:
error_folder_is_not_empty: Folder is not empty error_folder_is_not_empty: Folder is not empty
error_folder_title_is_already_used: Title is already used error_folder_title_is_already_used: Title is already used
notice_folder_details_were_saved: Folder details were saved notice_folder_details_were_saved: Folder details were saved
error_folder_is_locked: Folder is locked
error_file_is_locked: File is locked error_file_is_locked: File is locked
notice_file_deleted: File deleted notice_file_deleted: File deleted
error_at_least_one_revision_must_be_present: At least one revision must be present error_at_least_one_revision_must_be_present: At least one revision must be present

View File

@ -37,6 +37,7 @@ es:
error_folder_is_not_empty: La carpeta no está vacía error_folder_is_not_empty: La carpeta no está vacía
error_folder_title_is_already_used: El título ingresado ya está siendo usado por otro documento error_folder_title_is_already_used: El título ingresado ya está siendo usado por otro documento
notice_folder_details_were_saved: Los detalles de la carpeta fueron grabados correctamente notice_folder_details_were_saved: Los detalles de la carpeta fueron grabados correctamente
error_folder_is_locked: Carpeta bloqueado
error_file_is_locked: Archivo bloqueado error_file_is_locked: Archivo bloqueado
notice_file_deleted: Archivo borrado notice_file_deleted: Archivo borrado
error_at_least_one_revision_must_be_present: al menos una revisión debe estar presente error_at_least_one_revision_must_be_present: al menos una revisión debe estar presente

View File

@ -39,6 +39,7 @@ fr:
error_folder_is_not_empty: "Le dossier n'est pas vide" error_folder_is_not_empty: "Le dossier n'est pas vide"
error_folder_title_is_already_used: Le titre du fichier est déjà utilisé error_folder_title_is_already_used: Le titre du fichier est déjà utilisé
notice_folder_details_were_saved: Les détails du dossier ont été enregistrés notice_folder_details_were_saved: Les détails du dossier ont été enregistrés
error_folder_is_locked: Le dossier est verrouillé
error_file_is_locked: Le fichier est verrouillé error_file_is_locked: Le fichier est verrouillé
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

View File

@ -37,6 +37,7 @@ ja:
error_folder_is_not_empty: フォルダが空ではありません error_folder_is_not_empty: フォルダが空ではありません
error_folder_title_is_already_used: タイトルは既に使われています error_folder_title_is_already_used: タイトルは既に使われています
notice_folder_details_were_saved: フォルダの詳細を保存しました notice_folder_details_were_saved: フォルダの詳細を保存しました
error_folder_is_locked: Folder is locked
error_file_is_locked: ファイルはロックされています error_file_is_locked: ファイルはロックされています
notice_file_deleted: ファイルを削除しました notice_file_deleted: ファイルを削除しました
error_at_least_one_revision_must_be_present: 少なくとも1つのリビジョンが必要です error_at_least_one_revision_must_be_present: 少なくとも1つのリビジョンが必要です

View File

@ -37,6 +37,7 @@ ru:
error_folder_is_not_empty: Папка не пустая error_folder_is_not_empty: Папка не пустая
error_folder_title_is_already_used: Название папки уже используется error_folder_title_is_already_used: Название папки уже используется
notice_folder_details_were_saved: Описание папки было сохранено notice_folder_details_were_saved: Описание папки было сохранено
error_folder_is_locked: Папка заблокированa
error_file_is_locked: Файл заблокирован error_file_is_locked: Файл заблокирован
notice_file_deleted: Файл удален notice_file_deleted: Файл удален
error_at_least_one_revision_must_be_present: По крайней мере, одна редакция должна присутствовать error_at_least_one_revision_must_be_present: По крайней мере, одна редакция должна присутствовать

View File

@ -37,7 +37,8 @@ sl:
error_folder_is_not_empty: Mapa ni prazna error_folder_is_not_empty: Mapa ni prazna
error_folder_title_is_already_used: Naslov je že uporabljen error_folder_title_is_already_used: Naslov je že uporabljen
notice_folder_details_were_saved: Podatki o mapi so shranjeni notice_folder_details_were_saved: Podatki o mapi so shranjeni
error_file_is_locked: Datoteka je zaklenjena error_folder_is_locked: Папка заблокированa
error_file_is_locked: Mapa je zaklenjena
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

View File

@ -37,6 +37,7 @@ zh:
error_folder_is_not_empty: 非空文件夹 error_folder_is_not_empty: 非空文件夹
error_folder_title_is_already_used: 标题已经被使用 error_folder_title_is_already_used: 标题已经被使用
notice_folder_details_were_saved: 文件夹详细信息已保存 notice_folder_details_were_saved: 文件夹详细信息已保存
error_file_is_locked: Folder is locked
error_file_is_locked: 文件被锁定 error_file_is_locked: 文件被锁定
notice_file_deleted: 文件已删除 notice_file_deleted: 文件已删除
error_at_least_one_revision_must_be_present: 至少一个修订版本必须存在 error_at_least_one_revision_must_be_present: 至少一个修订版本必须存在

View File

@ -91,7 +91,7 @@ module RedmineDmsf
locks.each {|lock| locks.each {|lock|
next if lock.expired? #Incase we're inbetween updates next if lock.expired? #Incase we're inbetween updates
if (lock.lock_scope == :scope_exclusive && b_shared.nil?) if (lock.lock_scope == :scope_exclusive && b_shared.nil?)
return true if lock.user.id != User.current.id return true if (!lock.user) || (lock.user.id != User.current.id)
else else
b_shared = true if b_shared.nil? b_shared = true if b_shared.nil?
b_shared = false if lock.user.id == User.current.id b_shared = false if lock.user.id == User.current.id
@ -120,7 +120,7 @@ module RedmineDmsf
else else
b_destroyed = false b_destroyed = false
existing.each {|lock| existing.each {|lock|
if (lock.user.id == User.current.id) if (lock.user && (lock.user.id == User.current.id)) || User.current.admin?
lock.destroy lock.destroy
b_destroyed = true b_destroyed = true
break break