##// END OF EJS Templates
Fixed 10211 Wiki names can't have periods in them....
Jean-Philippe Lang -
r460:8d7de50ca8f7
parent child
Show More
@@ -20,6 +20,7 class Wiki < ActiveRecord::Base
20 has_many :pages, :class_name => 'WikiPage', :dependent => :destroy
20 has_many :pages, :class_name => 'WikiPage', :dependent => :destroy
21
21
22 validates_presence_of :start_page
22 validates_presence_of :start_page
23 validates_format_of :start_page, :with => /^[^,\.\/\?\;\|]*$/
23
24
24 # find the page with the given title
25 # find the page with the given title
25 # if page doesn't exist, return a new page
26 # if page doesn't exist, return a new page
@@ -36,7 +37,7 class Wiki < ActiveRecord::Base
36 # turn a string into a valid page title
37 # turn a string into a valid page title
37 def self.titleize(title)
38 def self.titleize(title)
38 # replace spaces with _ and remove unwanted caracters
39 # replace spaces with _ and remove unwanted caracters
39 title = title.gsub(/\s+/, '_').delete(',;|') if title
40 title = title.gsub(/\s+/, '_').delete(',./?;|') if title
40 # upcase the first letter
41 # upcase the first letter
41 title = title[0..0].upcase + title[1..-1] if title
42 title = title[0..0].upcase + title[1..-1] if title
42 title
43 title
@@ -20,7 +20,7 class WikiPage < ActiveRecord::Base
20 has_one :content, :class_name => 'WikiContent', :foreign_key => 'page_id', :dependent => :destroy
20 has_one :content, :class_name => 'WikiContent', :foreign_key => 'page_id', :dependent => :destroy
21
21
22 validates_presence_of :title
22 validates_presence_of :title
23 validates_format_of :title, :with => /^[^,\s]*$/
23 validates_format_of :title, :with => /^[^,\.\/\?\;\|\s]*$/
24 validates_uniqueness_of :title, :scope => :wiki_id, :case_sensitive => false
24 validates_uniqueness_of :title, :scope => :wiki_id, :case_sensitive => false
25 validates_associated :content
25 validates_associated :content
26
26
@@ -44,7 +44,7
44 <%= hidden_field_tag "wiki_enabled", 0 %>
44 <%= hidden_field_tag "wiki_enabled", 0 %>
45 <div id="wiki">
45 <div id="wiki">
46 <% fields_for :wiki, @project.wiki, { :builder => TabularFormBuilder, :lang => current_language} do |wiki| %>
46 <% fields_for :wiki, @project.wiki, { :builder => TabularFormBuilder, :lang => current_language} do |wiki| %>
47 <p><%= wiki.text_field :start_page, :size => 60, :required => true %></p>
47 <p><%= wiki.text_field :start_page, :size => 60, :required => true %><br /><em><%= l(:text_unallowed_characters) %>: , . / ? ; |</em></p>
48 <% # content_tag("div", "", :id => "wiki_start_page_auto_complete", :class => "auto_complete") +
48 <% # content_tag("div", "", :id => "wiki_start_page_auto_complete", :class => "auto_complete") +
49 # auto_complete_field("wiki_start_page", { :url => { :controller => 'wiki', :action => 'auto_complete_for_wiki_page', :id => @project } })
49 # auto_complete_field("wiki_start_page", { :url => { :controller => 'wiki', :action => 'auto_complete_for_wiki_page', :id => @project } })
50 %>
50 %>
@@ -407,6 +407,7 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allo
407 text_caracters_maximum: %d characters maximum.
407 text_caracters_maximum: %d characters maximum.
408 text_length_between: Length between %d and %d characters.
408 text_length_between: Length between %d and %d characters.
409 text_tracker_no_workflow: No workflow defined for this tracker
409 text_tracker_no_workflow: No workflow defined for this tracker
410 text_unallowed_characters: Unallowed characters
410
411
411 default_role_manager: Manager
412 default_role_manager: Manager
412 default_role_developper: Developer
413 default_role_developper: Developer
@@ -407,6 +407,7 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allo
407 text_caracters_maximum: %d characters maximum.
407 text_caracters_maximum: %d characters maximum.
408 text_length_between: Length between %d and %d characters.
408 text_length_between: Length between %d and %d characters.
409 text_tracker_no_workflow: No workflow defined for this tracker
409 text_tracker_no_workflow: No workflow defined for this tracker
410 text_unallowed_characters: Unallowed characters
410
411
411 default_role_manager: Manager
412 default_role_manager: Manager
412 default_role_developper: Developer
413 default_role_developper: Developer
@@ -407,6 +407,7 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allo
407 text_caracters_maximum: %d characters maximum.
407 text_caracters_maximum: %d characters maximum.
408 text_length_between: Length between %d and %d characters.
408 text_length_between: Length between %d and %d characters.
409 text_tracker_no_workflow: No workflow defined for this tracker
409 text_tracker_no_workflow: No workflow defined for this tracker
410 text_unallowed_characters: Unallowed characters
410
411
411 default_role_manager: Manager
412 default_role_manager: Manager
412 default_role_developper: Desarrollador
413 default_role_developper: Desarrollador
@@ -407,6 +407,7 text_project_identifier_info: 'Lettres minuscules (a-z), chiffres et tirets auto
407 text_caracters_maximum: %d caractères maximum.
407 text_caracters_maximum: %d caractères maximum.
408 text_length_between: Longueur comprise entre %d et %d caractères.
408 text_length_between: Longueur comprise entre %d et %d caractères.
409 text_tracker_no_workflow: Aucun worflow n'est défini pour ce tracker
409 text_tracker_no_workflow: Aucun worflow n'est défini pour ce tracker
410 text_unallowed_characters: Caractères non autorisés
410
411
411 default_role_manager: Manager
412 default_role_manager: Manager
412 default_role_developper: Développeur
413 default_role_developper: Développeur
@@ -407,6 +407,7 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allo
407 text_caracters_maximum: %d characters maximum.
407 text_caracters_maximum: %d characters maximum.
408 text_length_between: Length between %d and %d characters.
408 text_length_between: Length between %d and %d characters.
409 text_tracker_no_workflow: No workflow defined for this tracker
409 text_tracker_no_workflow: No workflow defined for this tracker
410 text_unallowed_characters: Unallowed characters
410
411
411 default_role_manager: Manager
412 default_role_manager: Manager
412 default_role_developper: Sviluppatore
413 default_role_developper: Sviluppatore
@@ -408,6 +408,7 text_project_identifier_info: '英小文字(a-z)と数字とダッシュ(-)が
408 text_caracters_maximum: 最大 %d 文字です。
408 text_caracters_maximum: 最大 %d 文字です。
409 text_length_between: 長さは %d から %d 文字までです。
409 text_length_between: 長さは %d から %d 文字までです。
410 text_tracker_no_workflow: このトラッカーにワークフローが定義されていません
410 text_tracker_no_workflow: このトラッカーにワークフローが定義されていません
411 text_unallowed_characters: Unallowed characters
411
412
412 default_role_manager: 管理者
413 default_role_manager: 管理者
413 default_role_developper: 開発者
414 default_role_developper: 開発者
@@ -407,6 +407,7 text_project_identifier_info: 'Letras minusculas (a-z), numeros e tracos permiti
407 text_caracters_maximum: %d maximo de caracteres
407 text_caracters_maximum: %d maximo de caracteres
408 text_length_between: Tamanho entre %d e %d caracteres.
408 text_length_between: Tamanho entre %d e %d caracteres.
409 text_tracker_no_workflow: Sem workflow definido para este tipo.
409 text_tracker_no_workflow: Sem workflow definido para este tipo.
410 text_unallowed_characters: Unallowed characters
410
411
411 default_role_manager: Analista de Negocio ou Gerente de Projeto
412 default_role_manager: Analista de Negocio ou Gerente de Projeto
412 default_role_developper: Desenvolvedor
413 default_role_developper: Desenvolvedor
@@ -410,6 +410,7 text_project_identifier_info: 'Lower case letters (a-z), numbers and dashes allo
410 text_caracters_maximum: %d characters maximum.
410 text_caracters_maximum: %d characters maximum.
411 text_length_between: Length between %d and %d characters.
411 text_length_between: Length between %d and %d characters.
412 text_tracker_no_workflow: No workflow defined for this tracker
412 text_tracker_no_workflow: No workflow defined for this tracker
413 text_unallowed_characters: Unallowed characters
413
414
414 default_role_manager: 管理员
415 default_role_manager: 管理员
415 default_role_developper: 开发人员
416 default_role_developper: 开发人员
General Comments 0
You need to be logged in to leave comments. Login now