Fix faxserversettings PUT/PATCH processing found after faxes tests run
MT#15441 Tests for subscriber number changes
MT#12347 Test framework small fixes and additions
Some format changes and unused library removals
Add put_and_get method as common
Replace request_get & check 200 with check_item_get
Changes for API that doesn't return created object json after POST
Complete base_uri using replacement with normalize_uri
Change-Id: Ia31a97eb9511f1ca1de63c72bcbe380b89dfed34
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
Cli can be edited through subscriberpreferences.
In such case it's value should be preserved on primary_number change.
Change-Id: I6b9d4a8d70e6e85dd9e2bf063cf4c047296deea1
+refactoring recent failing api-balanceintervals.t test to
need only two concurrent transactions (instead of three,
see https://bugtracker.sipwise.com/view.php?id=15277
Change-Id: I4902e616c3adfae81676194fa5e2b99e4b516ed1
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
This plugin is no longer in use, code dependencies were dropped
in commit 6a9f4559 and the Debian package dependency was dropped
in commit 0e1b9ef
Change-Id: Ie674e8b2673b98732f9f09674fe8a642d16d9182
formerly, the contract_balance catchup (and resize) procedures
used contracts.modified_timestamp, whose value was intended to
be set explicitly upon update operations.
it turns out that mysql ON UPDATE current_timestamp columns
effectively ignore the explicit timestamp value, unless it
exactly matches the old timestamp value.
while this is not an issue for the logic in production usage,
this seems to be the reason why the api-balance_intervals.t test
fails occassionally with its time-warp cases.
Change-Id: I504dd98548b88c99079e071598806d884c4422eb
previously all primary numbers have been filtered out.
This is wrong, if the number has been the primary number
of a previous (terminated) subscriber.
Change-Id: Iebbd96898715d86bfd10ac6d2d084c46de08def6
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
This is a patcht introducing a variable to disable
setting profile_package_id's in in the contracts
table. The code should therefore behave as before,
as long rate-o-mat and libswrate are ready.
Not once set to 1 and contract balances are written
to a database once, disabling this constant will
mess up contract_balances!
Change-Id: I080460395627202f3f5a386022de643577f4f3c2
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
Make sure to unbind .add_element click handler over full DOM, then
bind it to all .add_elements again. Unbinding avoids multi-firing
of click events causing addition of multiple fields instead of just
one. New binding makes sure that Add keys within the newly added
repeatable also fire a click event.
Change-Id: Ib2f1e7b3df220559d0f86177ce3b067e557f1632
get it directly without accessing provisioning.voip_subscriber
and notify about terminated subscribers
Change-Id: Ife6d936c052b3dcda0f03013ee53bafa34b9f19b
- set service name for CF to conf, vmu, aa
- fix direction when customer_id is given
- filter out vsc calls
Change-Id: I3130ffda67b49b108a4e9f283c25bb4260918eba
because the HTTP::Tiny and HTTP::Thin libraries on wheezy
are old and create SSL errors
also enable SIP custom headers relaying, which we'll need
to transmit metadata (preserve alphanumeric sip url)
Change-Id: I02e8ffe5881a88ff04d255ada08505c7fe33af47
If no primary number is given but a number range is provided, use
the first of the range as primary number.
Change-Id: I9b3a7bf1d4b1523f9cd0af3a3a7a70c95bb8d3ab
The noupdate flag in the username field of the form causes the
field from not showing up in $form->values, so use $form->params
instead.
Change-Id: I14440ba21f1ae2987d0aca41aa10567ef6cafd5c
- The option to show more entries per site.
- The option to show only outgoing or only incoming calls
(use seach with words outcoming or incoming accordingly)
- Show the subscriber phone number instead of the sip-username
Not instead, but near
- Show the Billing Fee Description of the outgoing calls
Change-Id: I85205afb8735f4a5dec0a95f5d6b13f1890579d4
+error message in test descriptions texts
+with recent changes to "description" fields to "required", the strict_sql_mode flage in api-journals.t has to be set.
+missing cftimestes and cfdestinationsets DELETE methods are now finally "journalized" and tested OK.
+other tests were disabled:
>test_billingzone -> journal settings not in yaml file yet, test_customerpreferences -> a valid ncos level item has to be referred (since today?) - ncos api crud methods not journalized yet
>test_profilepreferences -> a valid rewrite rule set item has to be referred (since today?) - rewrite rule set api crud methods not journalized yet
>test_autoattendants -> journal settings not in yaml file yet
>test_subscriberpreferences -> a valid ncos level item has to be referred (since today?) - ncos api crud methods not journalized yet
Change-Id: I75b24b3eb0758d6e4e248758c7861f93abc791c0
the 'required' option of form handlers with a
"has_field 'description'" is checked and altered, so
it matches the NOT NULL column modifier of the corresponding
table column.
Change-Id: Iad07495b69a7f52c4c8a94e959b7c9d5c9f5f3e5
-enhanced test detail: did not detect missing CRUD operations yet
-query param 'operation' didn't work for 'recent' yournal entry of all API resources so far
-fix of several copy paste errors in existing rest api code
-...
Change-Id: I71b54212d8126b0280fcad2e568fad52a673cbf0