@@ -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