You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
4.1 KiB
153 lines
4.1 KiB
package NGCP::Panel::Form::Contract::CustomerAPI;
|
|
|
|
use HTML::FormHandler::Moose;
|
|
extends 'NGCP::Panel::Form::Contract::BaseAPI';
|
|
|
|
has_field 'billing_profile_definition' => (
|
|
type => 'Select',
|
|
options => [
|
|
{ value => 'id', label => 'single: by \'billing_profile_id\' field' },
|
|
{ value => 'profiles', label => 'schedule: by \'billing_profiles\' field' },
|
|
{ value => 'package', label => 'package: by \'profile_package_id\' field' },
|
|
],
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Explicitly declare the way how you want to set billing profiles for this API call.']
|
|
},
|
|
);
|
|
|
|
has_field 'billing_profiles.network_id' => (
|
|
type => 'PosInteger',
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The billing network id this profile is restricted to.']
|
|
},
|
|
);
|
|
|
|
has_field 'profile_package_id' => (
|
|
type => 'PosInteger',
|
|
required => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The profile package\'s id, whose initial profile/networks are to be used to charge this contract. This field is required if the \'package\' profile definition mode is used.']
|
|
},
|
|
);
|
|
|
|
has_field 'max_subscribers' => (
|
|
type => 'PosInteger',
|
|
required => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Optionally set the maximum number of subscribers for this contract. Leave empty for unlimited.']
|
|
},
|
|
);
|
|
|
|
has_field 'type' => (
|
|
type => 'Select',
|
|
options => [
|
|
{ value => "sipaccount", label => "sipaccount"},
|
|
{ value => "pbxaccount", label => "pbxaccount"},
|
|
],
|
|
required => 1,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Either "sipaccount" or "pbxaccount".']
|
|
},
|
|
);
|
|
|
|
has_field 'subscriber_email_template_id' => (
|
|
type => 'PosInteger',
|
|
required => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The email template used to notify users about subscriber creation.']
|
|
},
|
|
);
|
|
|
|
has_field 'passreset_email_template_id' => (
|
|
type => 'PosInteger',
|
|
required => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The email template used to notify users about password reset.']
|
|
},
|
|
);
|
|
|
|
has_field 'invoice_email_template_id' => (
|
|
type => 'PosInteger',
|
|
required => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The email template used to notify users about invoice.']
|
|
},
|
|
);
|
|
has_field 'invoice_template_id' => (
|
|
type => 'PosInteger',
|
|
required => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The invoice template for invoice generation. If none is assigned, no invoice will be generated for this customer.']
|
|
},
|
|
);
|
|
|
|
has_field 'vat_rate' => (
|
|
type => 'Integer',
|
|
range_start => 0,
|
|
range_end => 100,
|
|
default => 0,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['The VAT rate in percentage (e.g. 20).']
|
|
},
|
|
);
|
|
|
|
has_field 'add_vat' => (
|
|
type => 'Boolean',
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Whether to charge VAT in invoices.']
|
|
},
|
|
default => 0,
|
|
);
|
|
|
|
has_field 'create_timestamp' => (
|
|
type => '+NGCP::Panel::Field::DateTime',
|
|
required => 0,
|
|
readonly => 1,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Readonly. The datetime (YYYY-MM-DD HH:mm:ss) of the creation.']
|
|
},
|
|
);
|
|
|
|
has_field 'activate_timestamp' => (
|
|
type => '+NGCP::Panel::Field::DateTime',
|
|
required => 0,
|
|
readonly => 1,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Readonly. The datetime (YYYY-MM-DD HH:mm:ss) of the activation.']
|
|
},
|
|
);
|
|
|
|
has_field 'modify_timestamp' => (
|
|
type => '+NGCP::Panel::Field::DateTime',
|
|
required => 0,
|
|
readonly => 1,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Readonly. The datetime (YYYY-MM-DD HH:mm:ss) of the modification.']
|
|
},
|
|
);
|
|
|
|
has_field 'terminate_timestamp' => (
|
|
type => '+NGCP::Panel::Field::DateTime',
|
|
required => 0,
|
|
readonly => 1,
|
|
element_attr => {
|
|
rel => ['tooltip'],
|
|
title => ['Readonly. The datetime (YYYY-MM-DD HH:mm:ss) of the termination.']
|
|
},
|
|
);
|
|
|
|
1; |