Feature #4403 » 0100-adstec-copy_and_relate.patch
| redmine/app/controllers/issues_controller.rb 2010-05-05 14:38:11.000000000 +0200 | ||
|---|---|---|
| 288 | 288 | 
    @target_project ||= @project  | 
| 289 | 289 | 
    @trackers = @target_project.trackers  | 
| 290 | 290 | 
    @available_statuses = Workflow.available_statuses(@project)  | 
| 291 | 
    @relations = collection_for_relation_type_select  | 
|
| 291 | 292 | 
    if request.post?  | 
| 292 | 293 | 
    new_tracker = params[:new_tracker_id].blank? ? nil : @target_project.trackers.find_by_id(params[:new_tracker_id])  | 
| 294 | 
    new_relation = params[:new_relation_id].blank? ? nil : params[:new_relation_id]  | 
|
| 295 | 
    logger.info "new relation:"  | 
|
| 296 | 
    logger.info h(new_relation)  | 
|
| 293 | 297 | 
    unsaved_issue_ids = []  | 
| 294 | 298 | 
    moved_issues = []  | 
| 295 | 299 | 
    @issues.each do |issue|  | 
| ... | ... | |
| 302 | 306 | 
    issue.init_journal(User.current)  | 
| 303 | 307 | 
            if r = issue.move_to(@target_project, new_tracker, {:copy => @copy, :attributes => changed_attributes})
   | 
| 304 | 308 | 
    moved_issues << r  | 
| 309 | 
    if not new_relation.nil?  | 
|
| 310 | 
    logger.info "new relation will be generated:"  | 
|
| 311 | 
    relation = IssueRelation.new  | 
|
| 312 | 
    relation.issue_from = issue  | 
|
| 313 | 
    relation.issue_to = r  | 
|
| 314 | 
    relation.relation_type = new_relation  | 
|
| 315 | 
    relation.save  | 
|
| 316 | 
    end  | 
|
| 305 | 317 | 
    else  | 
| 306 | 318 | 
    unsaved_issue_ids << issue.id  | 
| 307 | 319 | 
    end  | 
| redmine/app/views/issues/move.rhtml 2010-05-05 14:38:11.000000000 +0200 | ||
|---|---|---|
| 34 | 34 | 
    </p>  | 
| 35 | 35 | |
| 36 | 36 | 
    <p>  | 
| 37 | 
    <label><%= l(:label_related_issues) %></label>  | 
|
| 38 | 
      <%= select_tag('new_relation_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_for_select(@relations)) %>
   | 
|
| 39 | 
    </p>  | 
|
| 40 | ||
| 41 | 
    <p>  | 
|
| 37 | 42 | 
    <label><%= l(:field_start_date) %></label>  | 
| 38 | 43 | 
      <%= text_field_tag 'start_date', '', :size => 10 %><%= calendar_for('start_date') %>
   | 
| 39 | 44 | 
    </p>  |