1 package SL::Controller::RequirementSpecOrder;
6 use parent qw(SL::Controller::Base);
11 use SL::DB::RequirementSpec;
12 use SL::DB::RequirementSpecOrder;
13 use SL::Helper::Flash;
14 use SL::Locale::String;
16 use Rose::Object::MakeMethods::Generic
18 'scalar --get_set_init' => [ qw(requirement_spec js all_customers all_parts) ],
21 __PACKAGE__->run_before('setup');
31 $self->render('requirement_spec_order/list', { layout => 0 });
37 my $html = $self->render('requirement_spec_order/new', { output => 0 }, make_part_title => sub { $_[0]->partnumber . ' ' . $_[0]->description });
38 $self->js->html('#ui-tabs-4', $html)
42 sub action_edit_assignment {
45 my $html = $self->render('requirement_spec_order/edit_assignment', { output => 0 }, make_part_title => sub { $_[0]->partnumber . ' ' . $_[0]->description });
46 $self->js->html('#ui-tabs-4', $html)
50 sub action_save_assignment {
52 my $sections = $::form->{sections} || [];
53 SL::DB::RequirementSpecItem->new(id => $_->{id})->load->update_attributes(order_part_id => ($_->{order_part_id} || undef)) for @{ $sections };
55 my $html = $self->render('requirement_spec_order/list', { output => 0 });
56 $self->js->html('#ui-tabs-4', $html)
63 my $html = $self->render('requirement_spec_order/list', { output => 0 });
64 $self->js->html('#ui-tabs-4', $html)
75 $::auth->assert('sales_quotation_edit');
76 $::request->{layout}->use_stylesheet("${_}.css") for qw(jquery.contextMenu requirement_spec);
77 $::request->{layout}->use_javascript("${_}.js") for qw(jquery.jstree jquery/jquery.contextMenu client_js requirement_spec);
82 sub init_requirement_spec {
84 $self->requirement_spec(SL::DB::RequirementSpec->new(id => $::form->{requirement_spec_id})->load) if $::form->{requirement_spec_id};
89 $self->js(SL::ClientJS->new);
96 sub init_all_customers { SL::DB::Manager::Customer->get_all_sorted }
97 sub init_all_parts { SL::DB::Manager::Part->get_all_sorted }