X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/51fec3106e49e1ffc7d6a0a2c577bea8641efbff..1cc65ebc086c1821dfcd08bcc97f8b6255dcec65:/SL/Controller/RequirementSpecVersion.pm diff --git a/SL/Controller/RequirementSpecVersion.pm b/SL/Controller/RequirementSpecVersion.pm index 058884709..1a4557e9b 100644 --- a/SL/Controller/RequirementSpecVersion.pm +++ b/SL/Controller/RequirementSpecVersion.pm @@ -37,13 +37,14 @@ sub action_new { $self->version(SL::DB::RequirementSpecVersion->new); - my $previous_version = $self->requirement_spec->previous_version; - my %differences = $self->calculate_differences(current => $self->requirement_spec, previous => $previous_version); + my $previous_version = $self->requirement_spec->highest_version; if (!$previous_version) { $self->version->description(t8('Initial version.')); } else { + my %differences = $self->calculate_differences(current => $self->requirement_spec, previous => $previous_version); + my @lines; my $fb_diff = $differences{function_blocks}; @@ -78,10 +79,12 @@ sub action_create { return $self->js->error($::locale->text('Saving failed. Error message from the database: #1'), $db->error)->render($self); } - my $html = $self->render('requirement_spec/_version', { output => 0 }, requirement_spec => $self->requirement_spec); + my $version_info_html = $self->render('requirement_spec/_version', { output => 0 }, requirement_spec => $self->requirement_spec); + my $version_list_html = $self->render('requirement_spec_version/list', { output => 0 }); $self->js - ->html('#requirement_spec_version', $html) + ->html('#requirement_spec_version', $version_info_html) + ->html('#versioned_copies_list', $version_list_html) ->jqmClose('.jqmWindow') ->render($self); } @@ -124,7 +127,10 @@ sub init_versioned_copies { sub has_item_changed { my ($previous, $current) = @_; croak "Missing previous/current" if !$previous || !$current; - return any { ($previous->$_ || '') ne ($current->$_ || '') } qw(item_type parent_id fb_number title description complexity_id risk_id time_estimation net_sum); + + return 1 if any { ($previous->$_ || '') ne ($current->$_ || '') } qw(item_type fb_number title description complexity_id risk_id); + return 0 if !$current->parent_id; + return $previous->parent->fb_number ne $current->parent->fb_number; } sub has_text_block_changed {