Sprache auf ungültig setzen im Admin-Bereich
[kivitendo-erp.git] / SL / Controller / RequirementSpecVersion.pm
index 1a4557e..e225d77 100644 (file)
@@ -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');
@@ -60,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 {
@@ -69,24 +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;
   }
 
+  $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', $version_info_html)
     ->html('#versioned_copies_list',    $version_list_html)
-    ->jqmClose('.jqmWindow')
-    ->render($self);
+    ->dialog->close('#jqueryui_popup_dialog')
+    ->render;
 }
 
 #
@@ -95,7 +95,7 @@ sub action_create {
 
 sub check_auth {
   my ($self, %params) = @_;
-  $::auth->assert('sales_quotation_edit');
+  $::auth->assert('requirement_spec_edit');
 }
 
 #
@@ -112,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;