diff --git a/app/models/web.rb b/app/models/web.rb
index 59129120..1e1d5585 100644
--- a/app/models/web.rb
+++ b/app/models/web.rb
@@ -47,6 +47,11 @@ class Web < ActiveRecord::Base
WikiFile.find_by_file_name(file_name) != nil
end
+ def description(file_name)
+ file = WikiFile.find_by_file_name(file_name)
+ file.description if file
+ end
+
def markup
read_attribute('markup').to_sym
end
diff --git a/app/views/file/file.rhtml b/app/views/file/file.rhtml
index cbdf0325..37c490b7 100644
--- a/app/views/file/file.rhtml
+++ b/app/views/file/file.rhtml
@@ -9,7 +9,7 @@
{ 'multipart' => true , 'accept-charset' => 'utf-8' }) do %>
<%= hidden_field 'file', 'file_name' %>
-
+
@@ -18,7 +18,7 @@
<%= link_to :back %> and edit the wiki page that refers to the file.
-
+
<%= text_field "file", "description", "size" => 40 %>
diff --git a/lib/url_generator.rb b/lib/url_generator.rb
index b5415e63..995742b7 100644
--- a/lib/url_generator.rb
+++ b/lib/url_generator.rb
@@ -17,15 +17,16 @@ class AbstractUrlGenerator
known_page = web.has_page?(name)
else
known_page = web.has_file?(name)
+ description = web.description(name)
end
case link_type
when :show
page_link(mode, name, text, web.address, known_page)
when :file
- file_link(mode, name, text, web.address, known_page)
+ file_link(mode, name, text, web.address, known_page, description)
when :pic
- pic_link(mode, name, text, web.address, known_page)
+ pic_link(mode, name, text, web.address, known_page, description)
else
raise "Unknown link type: #{link_type}"
end
@@ -37,11 +38,12 @@ class UrlGenerator < AbstractUrlGenerator
private
- def file_link(mode, name, text, web_address, known_file)
+ def file_link(mode, name, text, web_address, known_file, description)
+ title = CGI::escapeHTML(CGI::unescapeHTML( description || text))
case mode
when :export
if known_file
- %{#{text}}
+ %{#{text}}
else
%{#{text}}
end
@@ -49,7 +51,7 @@ class UrlGenerator < AbstractUrlGenerator
if known_file
href = @controller.url_for :controller => 'file', :web => web_address, :action => 'file',
:id => name
- %{#{text}}
+ %{#{text}}
else
%{#{text}}
end
@@ -57,7 +59,7 @@ class UrlGenerator < AbstractUrlGenerator
href = @controller.url_for :controller => 'file', :web => web_address, :action => 'file',
:id => name
if known_file
- %{#{text}}
+ %{#{text}}
else
%{#{text}?}
end
@@ -93,17 +95,18 @@ class UrlGenerator < AbstractUrlGenerator
end
end
- def pic_link(mode, name, text, web_address, known_pic)
+ def pic_link(mode, name, text, web_address, known_pic, description)
+ alt_text = CGI::escapeHTML(CGI::unescapeHTML( description || text))
case mode
when :export
if known_pic
- %{}
+ %{}
else
%{}
end
when :publish
if known_pic
- %{}
+ %{}
else
%{#{text}}
end
@@ -111,7 +114,7 @@ class UrlGenerator < AbstractUrlGenerator
href = @controller.url_for :controller => 'file', :web => web_address, :action => 'file',
:id => name
if known_pic
- %{}
+ %{}
else
%{#{text}?}
end