use Carp;
use List::MoreUtils qw(any);
-use SL::ClientJS;
use SL::DB::Customer;
use SL::DB::Project;
use SL::DB::RequirementSpec;
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');
$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 {
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;
}
#
sub check_auth {
my ($self, %params) = @_;
- $::auth->assert('sales_quotation_edit');
+ $::auth->assert('requirement_spec_edit');
}
#
$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;