Index: . =================================================================== --- . (revision 16) +++ . (working copy) Property changes on: . ___________________________________________________________________ Added: svn:mergeinfo ## -0,0 +0,1 ## Merged /branches/start_date:r9-16 Index: app/controllers/sprints_controller.rb =================================================================== --- app/controllers/sprints_controller.rb (revision 16) +++ app/controllers/sprints_controller.rb (working copy) @@ -98,6 +98,18 @@ @issue.init_journal(User.current) @issue.status = IssueStatus.find(params[:status].to_i) raise 'New status is not allowed' unless @issue.new_statuses_allowed_to.include?(@issue.status) + if (@issue.start_date.nil?) and + @issue.status != @old_status and + !(Scrum::Setting.status_id_set_startdate.nil?) and + @issue.status.id == Scrum::Setting.status_id_set_startdate.to_i + @issue.start_date = Date.today + end + if (@issue.due_date.nil?) and + @issue.status != @old_status and + !(Scrum::Setting.status_id_set_enddate.nil?) and + @issue.status.id == Scrum::Setting.status_id_set_enddate.to_i + @issue.due_date = Date.today + end @issue.save! respond_to do |format| format.js { render 'scrum/update_task' } Index: app/views/settings/_scrum_settings.html.erb =================================================================== --- app/views/settings/_scrum_settings.html.erb (revision 16) +++ app/views/settings/_scrum_settings.html.erb (working copy) @@ -55,6 +55,18 @@ Scrum::Setting.auto_update_pbi_status) %> <%= l(:label_setting_auto_update_pbi_status_explanation) %>

+

+ + <%- statuses = IssueStatus.all.collect{|s| [s.name, s.id]} -%> + <%- options = options_for_select(statuses, Scrum::Setting.status_id_set_startdate) -%> + <%= select_tag 'settings[status_id_set_startdate]', options, :include_blank => true %> +

+

+ + <%- statuses = IssueStatus.all.collect{|s| [s.name, s.id]} -%> + <%- options = options_for_select(statuses, Scrum::Setting.status_id_set_enddate) -%> + <%= select_tag 'settings[status_id_set_enddate]', options, :include_blank => true %> +

Index: config/locales/en.yml =================================================================== --- config/locales/en.yml (revision 16) +++ config/locales/en.yml (working copy) @@ -97,6 +97,8 @@ label_setting_story_points_custom_field: "Story points custom field" label_setting_task_statuses: "Task statuses for Sprint board" label_setting_verification_activities: "Verification activities" + label_setting_status_set_startdate: "Status that set the start date of the task" + label_setting_status_set_enddate: "Status that set the end date of the task" label_scrum: "Scrum" label_sprint: "Sprint" label_sprint_board: "Sprint board" Index: config/locales/fr.yml =================================================================== --- config/locales/fr.yml (revision 16) +++ config/locales/fr.yml (working copy) @@ -87,6 +87,8 @@ label_setting_story_points_custom_field: "Champ personnalisé des points scrum" label_setting_task_statuses: "Statut des tâches pour le tableau de bord" label_setting_verification_activities: "Vérification des activités" + label_setting_status_set_startdate: "Statut qui ecrit la date de debut" + label_setting_status_set_enddate: "Statut qui ecrit la date de fin" label_scrum: "Scrum" label_sprint: "Sprint" label_sprint_board: "Tableau de bord du Sprint" Index: init.rb =================================================================== --- init.rb (revision 16) +++ init.rb (working copy) @@ -107,6 +107,8 @@ :lowest_speed => 70, :low_speed => 80, :high_speed => 140, - :render_plugin_tips => '1'}, + :render_plugin_tips => '1', + :status_id_set_startdate => nil, + :status_id_set_enddate => nil}, :partial => 'settings/scrum_settings' end Index: lib/scrum/setting.rb =================================================================== --- lib/scrum/setting.rb (revision 16) +++ lib/scrum/setting.rb (working copy) @@ -64,6 +64,16 @@ class_eval src, __FILE__, __LINE__ end + %w(status_id_set_startdate + status_id_set_enddate).each do |setting| + src = <<-END_SRC + def self.#{setting} + ::Setting.plugin_scrum[:#{setting}] + end + END_SRC + class_eval src, __FILE__, __LINE__ + end + module TrackerFields FIELDS = 'fields' CUSTOM_FIELDS = 'custom_fields'