40 lines
1018 B
40 lines
1018 B
package NGCP::Panel::Field::BillingZone;
|
|
use HTML::FormHandler::Moose;
|
|
extends 'HTML::FormHandler::Field::Compound';
|
|
|
|
has_field 'id' => (
|
|
type => '+NGCP::Panel::Field::DataTable',
|
|
label => 'Zone',
|
|
do_label => 0,
|
|
do_wrapper => 0,
|
|
required => 1,
|
|
template => 'helpers/datatables_field.tt',
|
|
ajax_src => '/billing/zones/ajax',
|
|
adjust_datatable_vars => \&adjust_datatable_vars,
|
|
table_titles => ['#', 'Zone', 'Zone Detail'],
|
|
table_fields => ['id', 'zone', 'detail'],
|
|
);
|
|
|
|
has_field 'create' => (
|
|
type => 'Button',
|
|
do_label => 0,
|
|
value => 'Create Zone',
|
|
element_class => [qw/btn btn-tertiary pull-right/],
|
|
);
|
|
|
|
sub adjust_datatable_vars {
|
|
my ($self, $vars) = @_;
|
|
my $form = $self->form;
|
|
my $ctx = $form->ctx;
|
|
return unless $ctx;
|
|
my $billing_profile_id = $ctx->stash->{profile}->{id};
|
|
$vars->{ajax_src} = (
|
|
$ctx->uri_for_action('/billing/zones_ajax', [$billing_profile_id])->as_string
|
|
);
|
|
}
|
|
|
|
no Moose;
|
|
1;
|
|
|
|
# vim: set tabstop=4 expandtab:
|