1 package SL::Controller::RequirementSpecOrder;
6 use parent qw(SL::Controller::Base);
10 use SL::DB::RequirementSpec;
11 use SL::DB::RequirementSpecOrder;
12 use SL::Helper::Flash;
13 use SL::Locale::String;
15 use Rose::Object::MakeMethods::Generic
17 'scalar --get_set_init' => [ qw(requirement_spec js all_parts) ],
20 __PACKAGE__->run_before('setup');
30 $self->render('requirement_spec_order/list', { layout => 0 });
33 sub action_edit_assignment {
36 my $html = $self->render('requirement_spec_order/edit_assignment', { output => 0 }, make_part_title => sub { $_[0]->partnumber . ' ' . $_[0]->description });
37 $self->js->html('#ui-tabs-4', $html)
41 sub action_save_assignment {
43 my $sections = $::form->{sections} || [];
44 SL::DB::RequirementSpecItem->new(id => $_->{id})->load->update_attributes(order_part_id => ($_->{order_part_id} || undef)) for @{ $sections };
46 my $html = $self->render('requirement_spec_order/list', { output => 0 });
47 $self->js->html('#ui-tabs-4', $html)
54 my $html = $self->render('requirement_spec_order/list', { output => 0 });
55 $self->js->html('#ui-tabs-4', $html)
66 $::auth->assert('sales_quotation_edit');
67 $::request->{layout}->use_stylesheet("${_}.css") for qw(jquery.contextMenu requirement_spec);
68 $::request->{layout}->use_javascript("${_}.js") for qw(jquery.jstree jquery/jquery.contextMenu client_js requirement_spec);
73 sub init_requirement_spec {
75 $self->requirement_spec(SL::DB::RequirementSpec->new(id => $::form->{requirement_spec_id})->load) if $::form->{requirement_spec_id};
80 $self->js(SL::ClientJS->new);
87 sub init_all_parts { SL::DB::Manager::Part->get_all_sorted }