X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FRequirementSpecVersion.pm;h=e225d77b388c37c250c4d62fc82db77ebb3f9ce0;hb=11aeaa07186197c61dfe610d2a5c981754fd2e9d;hp=97b5bf3194d8c44e2f9799736e0ff84d637ae366;hpb=013804fdf4b69b04889d8bf8af182eda9e9d95a5;p=kivitendo-erp.git diff --git a/SL/Controller/RequirementSpecVersion.pm b/SL/Controller/RequirementSpecVersion.pm index 97b5bf319..e225d77b3 100644 --- a/SL/Controller/RequirementSpecVersion.pm +++ b/SL/Controller/RequirementSpecVersion.pm @@ -7,7 +7,6 @@ use parent qw(SL::Controller::Base); use Carp; use List::MoreUtils qw(any); -use SL::ClientJS; use SL::DB::Customer; use SL::DB::Project; use SL::DB::RequirementSpec; @@ -17,7 +16,7 @@ use SL::Locale::String; use Rose::Object::MakeMethods::Generic ( - 'scalar --get_set_init' => [ qw(requirement_spec version js versioned_copies) ], + 'scalar --get_set_init' => [ qw(requirement_spec version) ], ); __PACKAGE__->run_before('check_auth'); @@ -38,7 +37,6 @@ sub action_new { $self->version(SL::DB::RequirementSpecVersion->new); my $previous_version = $self->requirement_spec->highest_version; - $::lxdebug->message(0, "vers num " . $previous_version->version->version_number . " id " . $previous_version->version_id); if (!$previous_version) { $self->version->description(t8('Initial version.')); @@ -61,7 +59,7 @@ sub action_new { $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 { @@ -70,22 +68,25 @@ sub action_create { my %attributes = %{ delete($::form->{rs_version}) || {} }; my @errors = SL::DB::RequirementSpecVersion->new(%attributes, version_number => 1)->validate; - return $self->js->error(@errors)->render($self) if @errors; + return $self->js->error(@errors)->render if @errors; my $db = $self->requirement_spec->db; - my @result = $self->version($self->requirement_spec->create_version(%attributes)); + my @result = $self->requirement_spec->create_version(%attributes); if (!@result) { $::lxdebug->message(LXDebug::WARN(), "Error: " . $db->error); - 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; } - my $html = $self->render('requirement_spec/_version', { output => 0 }, requirement_spec => $self->requirement_spec); + $self->version($result[0]); + 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) - ->jqmClose('.jqmWindow') - ->render($self); + ->html('#requirement_spec_version', $version_info_html) + ->html('#versioned_copies_list', $version_list_html) + ->dialog->close('#jqueryui_popup_dialog') + ->render; } # @@ -94,7 +95,7 @@ sub action_create { sub check_auth { my ($self, %params) = @_; - $::auth->assert('sales_quotation_edit'); + $::auth->assert('requirement_spec_edit'); } # @@ -111,18 +112,6 @@ sub init_version { $self->version(SL::DB::RequirementSpecVersion->new(id => $::form->{id})->load) if $::form->{id}; } -sub init_js { - my ($self, %params) = @_; - $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;