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: