+ api/events resource
+ removing an autoattendant via /api/callforwards: events OK
+ removing an autoattendant via /api/cfdestiantions: OK
+ removing an autoattendant via /api/cfmappings: OK
Change-Id: I4c309753b9338582479dba9951f757bb2ecaad7e
* add a helper module Utils/DeviceFirmware.pm
* device firmware data upload internally splits
the data into 10MB chunks and upload it into
the new autoprov_firmwares_data table
* NGCP::Panel::Utils::insert_firmware_data()
* NGCP::Panel::Utils::download_firmware_data()
Change-Id: I91b2ae3d5b6c2d34c9d540ad816bb7549b4543cb
+1. terminate if terminated contracts or subscribers exists
+2. if active contracts or subscribers -> error
+3. delete otherwise
+customer contact api DELETE
+customer contact testcases
+customer api POST
+customer api PUT/PATCH
+system contact api DELETE
+system contact testcases
+contract api POST
+contract api PUT/PATCH
+panel UI contact delete
+panel UI contract create
no change panel UI contract update
+panel UI customer create
no change panel UI customer update
note contact links like customers.omm_contact or customers.tech_contact
are not considered.
Change-Id: I19ea6e2245282485cc30d3e92d17a2eb603e0c2d
If set and a call is done within a pbx customer, the call is blocked
in blacklist, and is allowed in whitelist.
Change-Id: Ib43e5a45525a69e2b9dd9537dabddf10dfc006d1
Auto-detect CSV separator (requested by customer).
Move reseller id out of CSV into form/api-param.
Fix empty prefix to store as NULL instead of empty string.
Change-Id: Id6776d3cddb6bc1745a23a79e9f590ef934608aa
values is the correct datastructure to be used to update the db
when using HTML::Formhandler. the reason is, it does de-/inflation
such as trim, which removes whitespaces at the beginning and end.
Change-Id: I5570e64b69fd9e8ed1bbbbc9cd880a381ac3cf68
The codebase does not use autodie directly, it does indirectly via
Sipwise::Base, and the autodie module is part of the standard perl
distribution anyway. TryCatch is imported via Sipwise::Base, and
that depends on it. The rest are not used anymore in the codebase.
Change-Id: Ic08e246cc60d7d151381dff39e0eba517a492e06
- the connector name is properly set when creating a reseller
- the network tag defaults to just (sip,xmpp,webrtc,...)
- rtcsessions doesn't accept network tag anymore
- an rtc-account is created for every network of the rtc-user
- the identifier in the rtc-account is set according to the specific connector
- api-rtc-full.t has been simplified for the user (no more need for domain_id)
- update available networks (in reseller api)
Change-Id: I2700c646726a06569cc5a70a5a30d4cb67eb1c80
Authoritative is rejecting call with 404 if number is not assigned
to local subscriber.
Skip Rewrite is skipping lnp rewrite rules.
Change-Id: I106df797a0b6530b4aaa0fc25ce54d3a459cbd97
+creation of profile packages with hour and minute
intervals was disabled in api-balanceintervals.t
Change-Id: Idd18ced9704522bf5d919155d866c91b81526b92
If we have a 20M lnp file to upload, putting everything into the
numbers array is killing the fcgi process on low-mem machines.
Make sure to write each 2k chunk to DB and clear the array
afterwards.
Change-Id: I857be5d6a0195607b1fcb86db3327a9fd10ce5f1
Make LNP number params optional.
Fix clearing optional LNP number params.
Fix rewrite rule inflation, deflation and validation (doesn't seem
related to the lnp rwr changes, just started to not work anymore?).
Change-Id: If2278ad6dceacb84facd0397388ee2895b120b00
Currently I only need to fetch a collection and create a new item
within the collection, no need for update/delete an existing one.
Thus, no AdminsItem.pm yet.
Since we're exposing field names now, rename md5pass to password.
Change-Id: I571a340f89560bc456147b0ec27d3ae737e6dbc3
+input validation for verlapping time ranges
for both weekdays and special. can be disabled.
+root entiy locking
+peektime special is growing and not paginated,
so PUT/PATCH will get slower if special peektimes
are added on a regular basis. they can be removed
using the UI however
+testcase to check overlap detection
Change-Id: I935d943078ab5c81263da88ecd04e004deb26c8b
creating and deleting the entities users and networks
via the rtc api, when a reseller is created or modified
Change-Id: I2e9c785cacec680d1b22827983abca6037cdee3b
CAUTION: uses some optimized bulk-insert and truncate mechanisms
bypassing DBIC to make it reasonably fast (1M rows up in ~20s).
Optimized CSV download also to use partial writes to avoid
gateway timeouts on huge files.
Allows to handle LNP carriers in /api/lnpcarriers/.
Allows to handle LNP numbers and batch uploads in /api/lnpnumbers/.
Change-Id: I2f659bf5ee53270bedd3bb416a011bddc558b9ae
+fix for profile package "initial balance" default value
+fix for clearing the reseller id when editing billing profiles (related to MT#15399)
Change-Id: I53954dd12061fa5ebc4bde7c1769a502e6f862fe
any *attempt* of a top-up request should be
logged.
+create top-up log records for api
in order to record failed top-up requests as well,
the somewhat tricky thing is to have two
separate transactions here
+propery casting of topup request json field
values to numbers etc., so the transaction for
creating the log entry cannot fail and e.g.
requests with subscriber_id='blah' are recorded
correctly
+new "request_token" parameter for /api/topupvoucher
and /api/topupcash, to identify and filter for
particular requests.
+topup log api resource
+topup log api tests
+fix to correctly reject used vouchers
+topup log panel UI
+fix for balanceintervals.t threaded tests
Change-Id: I86eb845f6173803705b12cc7e5cdbac9a3153a0a
in short: whenever the contract_balances "cash_balance" is
about to decrease, it might drop below thresholds defined
by a contract's profile package. in that case, subscribers
are to be locked and/or underrun billing profile sets are
to be applied. this commit also contains some minor fixes:
+when creating/editing profile packages, all billing
profiles of initial, topup, underrun sets must show the
same interval_free_cash and interval_free_time values.
there was also a problem with adding profile sets to
packages that use profile with prepaid = 1 (see ticket
14301)
+when editing packages using the panel UI, the validation
was not properly invoked (!) +the frequency of topups has
to be limited to 1 per second.
+updating the "lock" subscriber prior to editing or viewing
it in the panel UI was added.
+topup cash and topup voucher panel UI added
+when aquiring multiple contract row locks at once, no
joined tables are used any mure. the number of row locks
is therefore minimal now (see ticket 14903)
+rework of updating prepaid subscriber preference
Change-Id: Ideb0fec2404ca10b3ac5d8735f53620d0c3a24ed
MT#14779 Add default value for the q parameter
MT#14891 Consider form validation for the POST request (create location)
MT#14789 Remove user_agent registration parameter
Change-Id: I9f81ec3ec5c308c731b3dfe6aa5f075c7d7b50ab
We rename DataType fields from "name" to "name_id", but still often allow
to pass field as "name". So we need to document both possible params.
In the same time, we can't add "name" field again with required title
or other params.
Change-Id: I63acd6d175517b7f0bba3aedaaff079597e9f7c5
+profile package details view to overlook associations
+voucher count is properly checked before deleting a package
+package_id filters for /api/customers and /api/vouchers
+Fake::Time replaced by Time::Warp for balance_interval tests
+cleanup
Change-Id: Idc34220a9d29c115453eeee2907e70a71cf9f0cc
The prior "topup" start mode for balance intervals
(contract_balances) creates intervals for each
top-up using a voucher, resulting in dynamic length.
This new "topup_interval" start mode will just align
the *first* balance interval upon the topup. Subsequent
intervals use the constant interval unit+count
specified in the profile package.
Melita user story is completely covered now.
Change-Id: I0a8b8d73a7fbf054d0aa8b2b1e73a54609fdeee0
+applying profile package and billing mappings
+testcase in api-balanceintervals.t
+caveats: to meet melita's user story, an additional 'topup_interval' interval start mode will be required. the currently implemented 'topup' start mode restarts intervals upon every topup and therefore does not provide constantinterval lengths.
Change-Id: I0a4898783c023749994e94e6909833a42debe259
+ synchronized contract balance catchup
+ balance interval resizing upon profile package transitions
+ dynamic interval length, interval start, carry-over propagation, ..
+ end-of-month 'preserve' mode correction for strictly aligned month intervals for start_mode=customer "create" timestamp
+ new api/balanceintervals resource to inspect contracts' balance interval histories
+ updated affected panel UI controllers
+ test case with time warps using Time::Fake
caveats:
- creating an invoice for a given 'period' (month) has to be refactored to select a disitnct balance interval. right now it takes the last interval in the month specified.
- generate_invoice.pl is broken and needs a major refactoring
Change-Id: I7bb54a83b76e510b1baa573a986d05400a7fec1e
-properly validate billing mapping intervals
-api/contracts and api/customers complete
+the problem with updating the "prepaid" preference remains at the moment
+billing_mappings field contains future (editable) mappings only, the full schedule is given in a separate field
+hal-links to all occurring billing profiles and networks
-extended tests: api-customer.t and api-contract.t
-api-billingnetworks.t test
-billing networks panel controller
+search by enclosed IP address
-panel UIs for billing networks, customers, contracts
+past billing mapping intervals that cannot be edited are displayed by a seperate hfh "block" part of the billing_profiles repeatable
-profile packages api, UI
+terminating billing profiles (MT#8645) will be broken
+fixed now: profile cannot be terminated unless there are:
-zero non-terminated customers, whose mappings contain the profile with future or open end
-zero profile packages, that link to the profile in either one of their initial-, underrun- or topup profile sets
+panel edit should work, termination wip
+topup_profiles w/o amounts
+contracts/customers API profile_package_id field:
+apply the package's initial profiles
+api/customer and api/contract profile definition modes (id/profiles/package)
+api OK, api-customer.t tests
+customer and contract panel UI with selector to specify actual billing mapping, schedule or profile package (same as api)
+terminate logic harmonized: profiles, networks, packages
+api tests updated
+prepare for merging: cleanup, enable tests
Change-Id: I6c0dec72f490b5731fc673cd393d6aeb08dd8143