summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects_controller.rb1
-rw-r--r--app/helpers/settings_helper.rb1
-rw-r--r--app/models/project.rb6
-rw-r--r--app/views/settings/_general.rhtml3
-rw-r--r--app/views/settings/_projects.rhtml12
5 files changed, 20 insertions, 3 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 43d35cf4f..0d83d81b3 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -69,6 +69,7 @@ class ProjectsController < ApplicationController
:order => 'name')
@project = Project.new(params[:project])
if request.get?
+ @project.identifier = Project.next_identifier if Setting.sequential_project_identifiers?
@project.trackers = Tracker.all
@project.is_public = Setting.default_projects_public?
@project.enabled_module_names = Redmine::AccessControl.available_project_modules
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index d88269f7d..47e691334 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -19,6 +19,7 @@ module SettingsHelper
def administration_settings_tabs
tabs = [{:name => 'general', :partial => 'settings/general', :label => :label_general},
{:name => 'authentication', :partial => 'settings/authentication', :label => :label_authentication},
+ {:name => 'projects', :partial => 'settings/projects', :label => :label_project_plural},
{:name => 'issues', :partial => 'settings/issues', :label => :label_issue_tracking},
{:name => 'notifications', :partial => 'settings/notifications', :label => l(:field_mail_notification)},
{:name => 'mail_handler', :partial => 'settings/mail_handler', :label => l(:label_incoming_emails)},
diff --git a/app/models/project.rb b/app/models/project.rb
index 9e4bd6971..adc70c644 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -238,6 +238,12 @@ class Project < ActiveRecord::Base
enabled_modules << EnabledModule.new(:name => name.to_s)
end
end
+
+ # Returns an auto-generated project identifier based on the last identifier used
+ def self.next_identifier
+ p = Project.find(:first, :order => 'created_on DESC')
+ p.nil? ? nil : p.identifier.to_s.succ
+ end
protected
def validate
diff --git a/app/views/settings/_general.rhtml b/app/views/settings/_general.rhtml
index 1d17a003e..bb56c43db 100644
--- a/app/views/settings/_general.rhtml
+++ b/app/views/settings/_general.rhtml
@@ -46,9 +46,6 @@
<p><label><%= l(:setting_feeds_limit) %></label>
<%= text_field_tag 'settings[feeds_limit]', Setting.feeds_limit, :size => 6 %></p>
-
-<p><label><%= l(:setting_default_projects_public) %></label>
-<%= check_box_tag 'settings[default_projects_public]', 1, Setting.default_projects_public? %><%= hidden_field_tag 'settings[default_projects_public]', 0 %></p>
</div>
<%= submit_tag l(:button_save) %>
diff --git a/app/views/settings/_projects.rhtml b/app/views/settings/_projects.rhtml
new file mode 100644
index 000000000..1cd4f6e9b
--- /dev/null
+++ b/app/views/settings/_projects.rhtml
@@ -0,0 +1,12 @@
+<% form_tag({:action => 'edit', :tab => 'projects'}) do %>
+
+<div class="box tabular settings">
+<p><label><%= l(:setting_default_projects_public) %></label>
+<%= check_box_tag 'settings[default_projects_public]', 1, Setting.default_projects_public? %><%= hidden_field_tag 'settings[default_projects_public]', 0 %></p>
+
+<p><label><%= l(:setting_sequential_project_identifiers) %></label>
+<%= check_box_tag 'settings[sequential_project_identifiers]', 1, Setting.sequential_project_identifiers? %><%= hidden_field_tag 'settings[sequential_project_identifiers]', 0 %></p>
+</div>
+
+<%= submit_tag l(:button_save) %>
+<% end %>