From dbad36a1bab225b0ab2bac114cb4df52078b22d6 Mon Sep 17 00:00:00 2001 From: et Date: Thu, 15 Jul 2010 01:17:10 -0400 Subject: [PATCH] Add support for a default target version for a project (#1828) --- app/models/project.rb | 2 ++ app/views/issues/_attributes.rhtml | 2 +- app/views/projects/_form.rhtml | 5 +++++ config/locales/bg.yml | 1 + config/locales/bs.yml | 1 + config/locales/ca.yml | 1 + config/locales/cs.yml | 1 + config/locales/da.yml | 1 + config/locales/de.yml | 1 + config/locales/el.yml | 1 + config/locales/en.yml | 1 + config/locales/es.yml | 1 + config/locales/eu.yml | 1 + config/locales/fi.yml | 1 + config/locales/fr.yml | 1 + config/locales/gl.yml | 1 + config/locales/he.yml | 1 + config/locales/hr.yml | 1 + config/locales/hu.yml | 1 + config/locales/id.yml | 1 + config/locales/it.yml | 1 + config/locales/ja.yml | 1 + config/locales/ko.yml | 1 + config/locales/lt.yml | 1 + config/locales/mn.yml | 1 + config/locales/nl.yml | 1 + config/locales/no.yml | 1 + config/locales/pl.yml | 1 + config/locales/pt-BR.yml | 1 + config/locales/pt.yml | 1 + config/locales/ro.yml | 1 + config/locales/ru.yml | 1 + config/locales/sk.yml | 1 + config/locales/sl.yml | 1 + config/locales/sr.yml | 1 + config/locales/sv.yml | 1 + config/locales/th.yml | 1 + config/locales/tr.yml | 1 + config/locales/uk.yml | 1 + config/locales/vi.yml | 1 + config/locales/zh-TW.yml | 1 + config/locales/zh.yml | 1 + db/migrate/109_add_default_version_to_project.rb | 9 +++++++++ test/fixtures/projects.yml | 7 ++++++- test/functional/issues_controller_test.rb | 11 +++++++++++ 45 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 db/migrate/109_add_default_version_to_project.rb diff --git a/app/models/project.rb b/app/models/project.rb index 8d63032..fb33684 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -20,6 +20,8 @@ class Project < ActiveRecord::Base STATUS_ACTIVE = 1 STATUS_ARCHIVED = 9 + belongs_to :default_version, :class_name => 'Version', :foreign_key => 'default_version_id' + # Specific overidden Activities has_many :time_entry_activities has_many :members, :include => [:user, :roles], :conditions => "#{User.table_name}.type='User' AND #{User.table_name}.status=#{User::STATUS_ACTIVE}" diff --git a/app/views/issues/_attributes.rhtml b/app/views/issues/_attributes.rhtml index 455eb77..59bba5a 100644 --- a/app/views/issues/_attributes.rhtml +++ b/app/views/issues/_attributes.rhtml @@ -19,7 +19,7 @@ :tabindex => 199) if authorize_for('issue_categories', 'new') %>

<% end %> <% unless @issue.assignable_versions.empty? %> -

<%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true %> +

<%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.new_record? ? @project.default_version : @issue.fixed_version), :include_blank => true %> <%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), l(:label_version_new), 'version[name]', diff --git a/app/views/projects/_form.rhtml b/app/views/projects/_form.rhtml index 30848e4..246684e 100644 --- a/app/views/projects/_form.rhtml +++ b/app/views/projects/_form.rhtml @@ -15,6 +15,11 @@ <% end %>

<%= f.text_field :homepage, :size => 60 %>

<%= f.check_box :is_public %>

+ +<% if Project.exists?(@project) && !@project.shared_versions.empty? %> +

<%= f.select :default_version_id, version_options_for_select(@project.shared_versions, @project.default_version), :include_blank => true %>

+<% end %> + <%= wikitoolbar_for 'project_description' %> <% @project.custom_field_values.each do |value| %> diff --git a/config/locales/bg.yml b/config/locales/bg.yml index d90447b..1152dca 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -206,6 +206,7 @@ bg: field_new_password: Нова парола field_password_confirmation: Потвърждение field_version: Версия + field_default_version: Default version field_type: Тип field_host: Хост field_port: Порт diff --git a/config/locales/bs.yml b/config/locales/bs.yml index c747bf2..f47e55e 100644 --- a/config/locales/bs.yml +++ b/config/locales/bs.yml @@ -240,6 +240,7 @@ bs: field_new_password: Nova lozinka field_password_confirmation: Potvrda field_version: Verzija + field_default_version: Default version field_type: Tip field_host: Host field_port: Port diff --git a/config/locales/ca.yml b/config/locales/ca.yml index f3ae162..74b5da9 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -222,6 +222,7 @@ ca: field_new_password: Contrasenya nova field_password_confirmation: Confirmació field_version: Versió + field_default_version: Default version field_type: Tipus field_host: Ordinador field_port: Port diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 1676607..2cc7672 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -221,6 +221,7 @@ cs: field_new_password: Nové heslo field_password_confirmation: Potvrzení field_version: Verze + field_default_version: Default version field_type: Typ field_host: Host field_port: Port diff --git a/config/locales/da.yml b/config/locales/da.yml index d3a1590..257aef2 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -238,6 +238,7 @@ da: field_new_password: Nyt kodeord field_password_confirmation: Bekræft field_version: Version + field_default_version: Default version field_type: Type field_host: Vært field_port: Port diff --git a/config/locales/de.yml b/config/locales/de.yml index 84d26cd..5ad7e03 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -263,6 +263,7 @@ de: field_new_password: Neues Kennwort field_password_confirmation: Bestätigung field_version: Version + field_default_version: Default version field_type: Typ field_host: Host field_port: Port diff --git a/config/locales/el.yml b/config/locales/el.yml index b3fe230..0c0bd6d 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -231,6 +231,7 @@ el: field_new_password: Νέος κωδικός πρόσβασης field_password_confirmation: Επιβεβαίωση field_version: Έκδοση + field_default_version: Default version field_type: Τύπος field_host: Κόμβος field_port: Θύρα diff --git a/config/locales/en.yml b/config/locales/en.yml index 351de3b..314d1dd 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -241,6 +241,7 @@ en: field_new_password: New password field_password_confirmation: Confirmation field_version: Version + field_default_version: Default version field_type: Type field_host: Host field_port: Port diff --git a/config/locales/es.yml b/config/locales/es.yml index ddb8e05..65e842e 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -326,6 +326,7 @@ es: field_user: Usuario field_value: Valor field_version: Versión + field_default_version: Versión por defecto general_csv_decimal_separator: ',' general_csv_encoding: ISO-8859-15 general_csv_separator: ';' diff --git a/config/locales/eu.yml b/config/locales/eu.yml index cb020c8..f6f8245 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -241,6 +241,7 @@ eu: field_new_password: Pasahitz berria field_password_confirmation: Berrespena field_version: Bertsioa + field_default_version: Default version field_type: Mota field_host: Ostalaria field_port: Portua diff --git a/config/locales/fi.yml b/config/locales/fi.yml index fa0723a..103182a 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -251,6 +251,7 @@ fi: field_new_password: Uusi salasana field_password_confirmation: Vahvistus field_version: Versio + field_default_version: Default version field_type: Tyyppi field_host: Verkko-osoite field_port: Portti diff --git a/config/locales/fr.yml b/config/locales/fr.yml index fa6de9a..2e08961 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -260,6 +260,7 @@ fr: field_new_password: Nouveau mot de passe field_password_confirmation: Confirmation field_version: Version + field_default_version: Default version field_type: Type field_host: Hôte field_port: Port diff --git a/config/locales/gl.yml b/config/locales/gl.yml index f66f55a..444c34e 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -303,6 +303,7 @@ gl: field_user: Usuario field_value: Valor field_version: Versión + field_default_version: Default version general_csv_decimal_separator: ',' general_csv_encoding: ISO-8859-15 general_csv_separator: ';' diff --git a/config/locales/he.yml b/config/locales/he.yml index 6d81878..ad009cf 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -218,6 +218,7 @@ he: field_new_password: סיסמה חדשה field_password_confirmation: אישור field_version: גירסא + field_default_version: Default version field_type: סוג field_host: שרת field_port: פורט diff --git a/config/locales/hr.yml b/config/locales/hr.yml index a4c435d..42d1266 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -237,6 +237,7 @@ hr: field_new_password: Nova zaporka field_password_confirmation: Potvrda zaporke field_version: Verzija + field_default_version: Default version field_type: Tip field_host: Host field_port: Port diff --git a/config/locales/hu.yml b/config/locales/hu.yml index dd44612..5d4a578 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -247,6 +247,7 @@ field_new_password: Új jelszó field_password_confirmation: Megerősítés field_version: Verzió + field_default_version: Default version field_type: Típus field_host: Kiszolgáló field_port: Port diff --git a/config/locales/id.yml b/config/locales/id.yml index 8daacfc..5e50d6b 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -239,6 +239,7 @@ id: field_new_password: Kata sandi baru field_password_confirmation: Konfirmasi field_version: Versi + field_default_version: Default version field_type: Tipe field_host: Host field_port: Port diff --git a/config/locales/it.yml b/config/locales/it.yml index 80c6512..d03cca6 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -219,6 +219,7 @@ it: field_new_password: Nuova password field_password_confirmation: Conferma field_version: Versione + field_default_version: Default version field_type: Tipo field_host: Host field_port: Porta diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 5d1a204..75e952a 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -272,6 +272,7 @@ ja: field_new_password: 新しいパスワード field_password_confirmation: パスワードの確認 field_version: バージョン + field_default_version: Default version field_type: タイプ field_host: ホスト field_port: ポート diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 1c0519a..267f7ec 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -287,6 +287,7 @@ ko: field_new_password: 새 비밀번호 field_password_confirmation: 비밀번호 확인 field_version: 버전 + field_default_version: Default version field_type: 방식 field_host: 호스트 field_port: 포트 diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 2745bae..a12c151 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -298,6 +298,7 @@ lt: field_new_password: Naujas slaptažodis field_password_confirmation: Patvirtinimas field_version: Versija + field_default_version: Default version field_type: Tipas field_host: Pagrindinis kompiuteris field_port: Prievadas diff --git a/config/locales/mn.yml b/config/locales/mn.yml index ec7d0de..d5c5500 100644 --- a/config/locales/mn.yml +++ b/config/locales/mn.yml @@ -236,6 +236,7 @@ mn: field_new_password: Шннэ нууц үг field_password_confirmation: Баталгаажуулах field_version: Хувилбар + field_default_version: Default version field_type: Төрөл field_host: Хост field_port: Порт diff --git a/config/locales/nl.yml b/config/locales/nl.yml index ad0a341..14fea86 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -265,6 +265,7 @@ nl: field_user: Gebruiker field_value: Waarde field_version: Versie + field_default_version: Default version general_csv_decimal_separator: '.' general_csv_encoding: ISO-8859-1 general_csv_separator: ',' diff --git a/config/locales/no.yml b/config/locales/no.yml index 937c07c..d9513b2 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -219,6 +219,7 @@ field_new_password: Nytt passord field_password_confirmation: Bekreft passord field_version: Versjon + field_default_version: Default version field_type: Type field_host: Vert field_port: Port diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 32458fd..b66a4a5 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -290,6 +290,7 @@ pl: field_user: Użytkownik field_value: Wartość field_version: Wersja + field_default_version: Default version field_vf_personnel: Personel field_vf_watcher: Obserwator general_csv_decimal_separator: '.' diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index aeb5b83..73165bf 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -252,6 +252,7 @@ pt-BR: field_new_password: Nova senha field_password_confirmation: Confirmação field_version: Versão + field_default_version: Default version field_type: Tipo field_host: Servidor field_port: Porta diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 935a241..4c310bb 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -237,6 +237,7 @@ pt: field_new_password: Nova palavra-chave field_password_confirmation: Confirmação field_version: Versão + field_default_version: Default version field_type: Tipo field_host: Servidor field_port: Porta diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 2dc040f..95cb60a 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -220,6 +220,7 @@ ro: field_new_password: Parola nouă field_password_confirmation: Confirmare field_version: Versiune + field_default_version: Default version field_type: Tip field_host: Gazdă field_port: Port diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 6597bed..9f07e56 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -375,6 +375,7 @@ ru: field_user: Пользователь field_value: Значение field_version: Версия + field_default_version: Default version field_watcher: Наблюдатель general_csv_decimal_separator: '.' diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 0017260..d3d1f70 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -219,6 +219,7 @@ sk: field_new_password: Nové heslo field_password_confirmation: Potvrdenie field_version: Verzia + field_default_version: Default version field_type: Typ field_host: Host field_port: Port diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 2817893..5c0ac3c 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -223,6 +223,7 @@ sl: field_new_password: Novo geslo field_password_confirmation: Potrditev field_version: Verzija + field_default_version: Default version field_type: Tip field_host: Gostitelj field_port: Vrata diff --git a/config/locales/sr.yml b/config/locales/sr.yml index bc16a61..b76fa6c 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -230,6 +230,7 @@ field_new_password: Nova lozinka field_password_confirmation: Potvrda field_version: Verzija + field_default_version: Default version field_type: Tip field_host: Host field_port: Port diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 482e765..2497612 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -288,6 +288,7 @@ sv: field_new_password: Nytt lösenord field_password_confirmation: Bekräfta lösenord field_version: Version + field_default_version: Default version field_type: Typ field_host: Värddator field_port: Port diff --git a/config/locales/th.yml b/config/locales/th.yml index 81fce87..d35b2e5 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -217,6 +217,7 @@ th: field_new_password: รหัสผ่านใหม่ field_password_confirmation: ยืนยันรหัสผ่าน field_version: รุ่น + field_default_version: Default version field_type: ชนิด field_host: โฮสต์ field_port: พอร์ต diff --git a/config/locales/tr.yml b/config/locales/tr.yml index f30f736..673b27b 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -248,6 +248,7 @@ tr: field_new_password: Yeni Parola field_password_confirmation: Onay field_version: Versiyon + field_default_version: Default version field_type: Tip field_host: Host field_port: Port diff --git a/config/locales/uk.yml b/config/locales/uk.yml index cb83099..c8875ba 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -211,6 +211,7 @@ uk: field_new_password: Новий пароль field_password_confirmation: Підтвердження field_version: Версія + field_default_version: Default version field_type: Тип field_host: Машина field_port: Порт diff --git a/config/locales/vi.yml b/config/locales/vi.yml index d40ad82..1b8b8ff 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -282,6 +282,7 @@ vi: field_new_password: Mật mã mới field_password_confirmation: Khẳng định lại field_version: Phiên bản + field_default_version: Default version field_type: Kiểu field_host: Host field_port: Port diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 31f85e2..0c0a043 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -332,6 +332,7 @@ field_new_password: 新密碼 field_password_confirmation: 確認新密碼 field_version: 版本 + field_default_version: Default version field_type: Type field_host: Host field_port: 連接埠 diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 88b15f9..b4825c4 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -260,6 +260,7 @@ zh: field_new_password: 新密码 field_password_confirmation: 确认 field_version: 版本 + field_default_version: Default version field_type: 类型 field_host: 主机 field_port: 端口 diff --git a/db/migrate/109_add_default_version_to_project.rb b/db/migrate/109_add_default_version_to_project.rb new file mode 100644 index 0000000..dcf7c36 --- /dev/null +++ b/db/migrate/109_add_default_version_to_project.rb @@ -0,0 +1,9 @@ +class AddDefaultVersionToProject < ActiveRecord::Migration + def self.up + add_column :projects, :default_version_id, :integer, :default => nil + end + + def self.down + remove_column :projects, :default_version_id + end +end diff --git a/test/fixtures/projects.yml b/test/fixtures/projects.yml index 6ecc8ad..5e83945 100644 --- a/test/fixtures/projects.yml +++ b/test/fixtures/projects.yml @@ -11,6 +11,7 @@ projects_001: parent_id: lft: 1 rgt: 10 + default_version_id: projects_002: created_on: 2006-07-19 19:14:19 +02:00 name: OnlineStore @@ -23,6 +24,7 @@ projects_002: parent_id: lft: 11 rgt: 12 + default_version_id: 7 projects_003: created_on: 2006-07-19 19:15:21 +02:00 name: eCookbook Subproject 1 @@ -35,6 +37,7 @@ projects_003: parent_id: 1 lft: 6 rgt: 7 + default_version_id: projects_004: created_on: 2006-07-19 19:15:51 +02:00 name: eCookbook Subproject 2 @@ -47,6 +50,7 @@ projects_004: parent_id: 1 lft: 8 rgt: 9 + default_version_id: projects_005: created_on: 2006-07-19 19:15:51 +02:00 name: Private child of eCookbook @@ -59,6 +63,7 @@ projects_005: parent_id: 1 lft: 2 rgt: 5 + default_version_id: projects_006: created_on: 2006-07-19 19:15:51 +02:00 name: Child of private child @@ -71,4 +76,4 @@ projects_006: parent_id: 5 lft: 3 rgt: 4 - \ No newline at end of file + default_version_id: diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 3a39887..2b3e20e 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -396,6 +396,17 @@ class IssuesControllerTest < ActionController::TestCase :value => 'Default string' } end + def test_get_new_with_default_version + @request.session[:user_id] = 2 + get :new, :project_id => 2, :tracker_id => 1 + assert_response :success + assert_template 'new' + + assert_tag :select, :attributes => { :name => 'issue[fixed_version_id]' }, + :child => { :tag => 'option', :attributes => { :selected => 'selected'}, + :content => 'Systemwide visible version'} + end + def test_get_new_without_tracker_id @request.session[:user_id] = 2 get :new, :project_id => 1 -- 1.6.5.2