Changeset 80

Show
Ignore:
Timestamp:
02/07/08 14:34:03 (10 months ago)
Author:
jweiss
Message:

Better handling of repeat task by also repeating the description

Location:
trunk
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • trunk/CHANGELOG.txt

    r78 r80  
    11 
    22* SVN * 
     3 
     4* Better handling of `repeat` task by also repeating the description 
    35 
    46* Moved ActionController session key to webistrano_config.rb 
  • trunk/app/controllers/deployments_controller.rb

    r73 r80  
    3131    @deployment = @stage.deployments.new 
    3232    @deployment.task = params[:task] 
     33     
     34    if params[:repeat] 
     35      @original = @stage.deployments.find(params[:repeat]) 
     36      @deployment = @original.repeat 
     37    end 
    3338  end 
    3439 
  • trunk/app/models/deployment.rb

    r51 r80  
    102102    end 
    103103  end 
     104   
     105  # returns an unsaved, new deployment with the same task/stage/description 
     106  def repeat 
     107    returning Deployment.new do |d| 
     108      d.stage = self.stage 
     109      d.task = self.task 
     110      d.description = "Repetition of deployment #{self.id}:\n\n"  
     111      d.description += self.description 
     112    end 
     113  end 
    104114end 
  • trunk/app/views/deployments/_status.html.erb

    r73 r80  
    3535        <% if @deployment.completed? %> 
    3636        <p> 
    37           <%= link_to "Repeat", new_project_stage_deployment_path(current_project, current_stage) + '?task=' + h(@deployment.task), :class => 'arrow_link'  %> 
     37          <%= link_to "Repeat", new_project_stage_deployment_path(current_project, current_stage) + '?repeat=' + h(@deployment.id), :class => 'arrow_link'  %> 
    3838        </p> 
    3939        <% end %> 
  • trunk/app/views/projects/dashboard.html.erb

    r73 r80  
    3030        <td> 
    3131          <% if deployment.completed? %> 
    32             <%= link_to "Repeat", new_project_stage_deployment_path(deployment.stage.project, deployment.stage) + '?task=' + h(deployment.task)  %> 
     32            <%= link_to "Repeat", new_project_stage_deployment_path(deployment.stage.project, deployment.stage) + '?repeat=' + h(deployment.id)  %> 
    3333          <% end %> 
    3434        </td> 
  • trunk/app/views/stages/_deployments.html.erb

    r73 r80  
    2121      <td> 
    2222        <% if deployment.completed? %> 
    23           <%= link_to "Repeat", new_project_stage_deployment_path(current_project, @stage) + '?task=' + h(deployment.task)  %> 
     23          <%= link_to "Repeat", new_project_stage_deployment_path(current_project, @stage) + '?repeat=' + h(deployment.id)  %> 
    2424        <% end %> 
    2525      </td> 
  • trunk/app/views/users/_deployments.html.erb

    r73 r80  
    2424      <td> 
    2525        <% if deployment.completed? %> 
    26           <%= link_to "Repeat", new_project_stage_deployment_path(deployment.stage.project, deployment.stage) + '?task=' + h(deployment.task)  %> 
     26          <%= link_to "Repeat", new_project_stage_deployment_path(deployment.stage.project, deployment.stage) + '?repeat=' + h(deployment.id)  %> 
    2727        <% end %> 
    2828      </td> 
  • trunk/test/unit/deployment_test.rb

    r42 r80  
    218218  end 
    219219   
     220  def test_repeat 
     221    original = create_new_deployment(:stage => @stage, :description => 'this is foo', :task => 'foo:bar') 
     222     
     223    repeater = original.repeat 
     224     
     225    assert_equal original.task, repeater.task 
     226    assert_equal "Repetition of deployment #{original.id}:\n\n#{original.description}", repeater.description 
     227  end 
     228   
    220229end