projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PartPicker: javascript direkt im P.part_picker adden.
[kivitendo-erp.git]
/
SL
/
Controller
/
RequirementSpecVersion.pm
diff --git
a/SL/Controller/RequirementSpecVersion.pm
b/SL/Controller/RequirementSpecVersion.pm
index
0588847
..
eab34d6
100644
(file)
--- a/
SL/Controller/RequirementSpecVersion.pm
+++ b/
SL/Controller/RequirementSpecVersion.pm
@@
-17,7
+17,7
@@
use SL::Locale::String;
use Rose::Object::MakeMethods::Generic
(
use Rose::Object::MakeMethods::Generic
(
- 'scalar --get_set_init' => [ qw(requirement_spec version js
versioned_copies
) ],
+ 'scalar --get_set_init' => [ qw(requirement_spec version js) ],
);
__PACKAGE__->run_before('check_auth');
);
__PACKAGE__->run_before('check_auth');
@@
-37,13
+37,14
@@
sub action_new {
$self->version(SL::DB::RequirementSpecVersion->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 {
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};
my @lines;
my $fb_diff = $differences{function_blocks};
@@
-59,7
+60,7
@@
sub action_new {
$self->version->description(@lines ? join("\n", @lines) : t8('No changes since previous version.'));
}
$self->version->description(@lines ? join("\n", @lines) : t8('No changes since previous version.'));
}
- $self->render('requirement_spec_version/new', { layout => 0 }
, title => t8('Create a new version')
);
+ $self->render('requirement_spec_version/new', { layout => 0 });
}
sub action_create {
}
sub action_create {
@@
-78,11
+79,13
@@
sub action_create {
return $self->js->error($::locale->text('Saving failed. Error message from the database: #1'), $db->error)->render($self);
}
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
$self->js
- ->html('#requirement_spec_version', $html)
- ->jqmClose('.jqmWindow')
+ ->html('#requirement_spec_version', $version_info_html)
+ ->html('#versioned_copies_list', $version_list_html)
+ ->dialog->close('#jqueryui_popup_dialog')
->render($self);
}
->render($self);
}
@@
-92,7
+95,7
@@
sub action_create {
sub check_auth {
my ($self, %params) = @_;
sub check_auth {
my ($self, %params) = @_;
- $::auth->assert('
sales_quotation
_edit');
+ $::auth->assert('
requirement_spec
_edit');
}
#
}
#
@@
-114,17
+117,13
@@
sub init_js {
$self->js(SL::ClientJS->new);
}
$self->js(SL::ClientJS->new);
}
-sub init_versioned_copies {
- my ($self) = @_;
- $self->versioned_copies([
- sort { $b->mtime <=> $a->mtime } @{ $self->requirement_spec->versioned_copies }
- ]);
-}
-
sub has_item_changed {
my ($previous, $current) = @_;
croak "Missing previous/current" if !$previous || !$current;
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 {
}
sub has_text_block_changed {