diff --git a/app/models/project.rb b/app/models/project.rb index 0e7f8284c..42f2ddfd9 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -52,12 +52,11 @@ class Project < ActiveRecord::Base attr_protected :status, :enabled_module_names - validates_presence_of :name, :description, :identifier + validates_presence_of :name, :identifier validates_uniqueness_of :name, :identifier validates_associated :custom_values, :on => :update validates_associated :repository, :wiki validates_length_of :name, :maximum => 30 - validates_length_of :description, :maximum => 255 validates_length_of :homepage, :maximum => 60 validates_length_of :identifier, :in => 3..20 validates_format_of :identifier, :with => /^[a-z0-9\-]*$/ @@ -184,6 +183,15 @@ class Project < ActiveRecord::Base name.downcase <=> project.name.downcase end + def to_s + name + end + + # Returns a short description of the projects (first lines) + def short_description(length = 255) + description.gsub(/^(.{#{length}}[^\n]*).*$/m, '\1').strip if description + end + def allows_to?(action) if action.is_a? Hash allowed_actions.include? "#{action[:controller]}/#{action[:action]}" diff --git a/app/views/admin/projects.rhtml b/app/views/admin/projects.rhtml index 3a759ecaa..d35c484b5 100644 --- a/app/views/admin/projects.rhtml +++ b/app/views/admin/projects.rhtml @@ -27,7 +27,7 @@ <% for project in @projects %>
<%= f.select :parent_id, (@root_projects.collect {|p| [p.name, p.id]}), { :include_blank => true } %>
<% end %> -<%= f.text_area :description, :required => true, :cols => 60, :rows => 5 %><%= l(:text_caracters_maximum, 255) %>
-<%= f.text_field :identifier, :required => true, :disabled => @project.identifier_frozen? %>
<%= l(:text_length_between, 3, 20) %> <%= l(:text_project_identifier_info) unless @project.identifier_frozen? %>
<%= f.text_area :description, :rows => 5, :class => 'wiki-edit' %>
+<%= f.text_field :identifier, :required => true, :disabled => @project.identifier_frozen? %>
+<% unless @project.identifier_frozen? %>
+
<%= l(:text_length_between, 3, 20) %> <%= l(:text_project_identifier_info) %>
+<% end %>
<%= f.text_field :homepage, :size => 40 %>
<%= f.check_box :is_public %>
<%= wikitoolbar_for 'project_description' %> diff --git a/app/views/projects/list.rhtml b/app/views/projects/list.rhtml index a18f63e43..15ea06483 100644 --- a/app/views/projects/list.rhtml +++ b/app/views/projects/list.rhtml @@ -2,7 +2,7 @@ <% @project_tree.keys.sort.each do |project| %><%= l(:label_subproject_plural) %>: diff --git a/app/views/welcome/index.rhtml b/app/views/welcome/index.rhtml index 2e7ec2c06..d618fa6e1 100644 --- a/app/views/welcome/index.rhtml +++ b/app/views/welcome/index.rhtml @@ -18,7 +18,7 @@ <% for project in @projects %>