Andreas Granig
45a42b9b61
MT#6479 API: Allow resellers to access some funcs.
11 years ago
Andreas Granig
7cbb8633ab
MT#6461 Let admin rebrand reseller.
...
Reseller rebranding itself not yet there.
11 years ago
Andreas Granig
32f704451a
MT#6459 Fix peering contract and peer auth pref.
...
- Properly call localization functions on error when changing
peering contract.
- Properly handle preference update in case of empty value.
Reported by Marc Storck on spce-users.
11 years ago
Irina Peshinskaya
bd7d18c49b
Merge branch 'master' of git.mgm.sipwise.com:ngcp-panel
11 years ago
Gerhard Jungwirth
d313bc7559
MT#4369 callflow: count total correctly
...
this group_by is ok, because it is optimized by mysql and the index on
call_id is still used
11 years ago
Gerhard Jungwirth
6f368e820f
MT#6195 API: rewriterule/rewriteruleset: DELETE
...
and remove some redundant checks (done by formhandler)
11 years ago
Gerhard Jungwirth
31e6c5fa71
MT#6195 API: ability to handle rules directly in rewriteruleset
11 years ago
Gerhard Jungwirth
c7c1e012a9
MT#6195 API: adapt RewriteRules to search framework
...
see MT#6283
11 years ago
Gerhard Jungwirth
ede3d43a42
MT#6195 API: rewriterule/rewriteruleset: POST
11 years ago
Gerhard Jungwirth
11e421dc08
MT#6195 API: rename rewrite -> rewriterulesets
11 years ago
Gerhard Jungwirth
83fa4552f2
MT#4369 use min_timestamp
...
to really display the time, the call started
11 years ago
Gerhard Jungwirth
720e70b939
MT#4369 optimize callflow using a custom query
...
we need to disable the sorting option on the columns though
11 years ago
Gerhard Jungwirth
72ae4a5471
MT#4369 optimize mysql performance on callflow page
...
distinct is faster than group by here
drawback: we cannot select min(timestamp) anymore
query is still very slow, when filter is used
11 years ago
Irina Peshinskaya
34f77792c9
Merge branch 'master' of git.mgm.sipwise.com:ngcp-panel
...
Conflicts:
lib/NGCP/Panel/Role/API/Customers.pm
11 years ago
Andreas Granig
259cff4f18
MT#4235 Fix some Jitsi provisioning options.
11 years ago
Andreas Granig
11d83a7ead
MT#6283 Implement search-framework.
...
- let custom roles "derive" from main api role
- have an item_rs in each role
- call search logic after each item_rs call automatically
- render search query doc dynamically
11 years ago
Irina Peshinskaya
f0263620e4
Merge branch 'master' of git.mgm.sipwise.com:ngcp-panel
11 years ago
Gerhard Jungwirth
36f2be7689
MT#6195 API: rewrite: GET, PUT and PATCH implemented
11 years ago
Irina Peshinskaya
8508efc754
Merge branch 'master' of git.mgm.sipwise.com:ngcp-panel
11 years ago
Alexander Lutay
1c8ff01cc1
MT#5083 Fixes for several SendFax WEB interface issues
11 years ago
Irina Peshinskaya
f5b02e48f0
Merge branch 'master' of git.mgm.sipwise.com:ngcp-panel
11 years ago
Irka
3e393f1f5d
MT#5879 Now Preview works correct. Time to implement saving passed template.
11 years ago
Irka
631a069a02
MT#5879 Very basic logic without storing to db. But seems as will be able to make it generic against template types.
11 years ago
Andreas Granig
315fe4bce9
MT#6047 Implement system-wide field dev overview.
...
- Allows to search for macs
- Allows to delete devices on a global level, if needed
11 years ago
Andreas Granig
9b9b4c0628
MT#5601 Update field-device lines on model updates
...
- Update line ranges on model edit instead of re-creating them
to avoid dropping line range assignments of field devices
- Remove field device assignments which are out of key ranges
or use a unsupported feature after the model update.
11 years ago
Andreas Granig
432080d384
MT#5929 More external_id fixes.
...
Set external_id to NULL in db if it's empty.
Properly clear ext_xxx_id preferences if external_id gets unset.
11 years ago
Andreas Granig
4456bd02e4
MT#5929 Fix ext_subscriber_id handling.
...
When created via customer view, use external_id from form.
11 years ago
Irka
fb891ee0ed
Save state with incorrect, but fast svg template apply
11 years ago
Andreas Granig
74aeb7938d
MT#5929 Fix lock, ext_xxx_id and dbalias handling.
...
- ext_subscriber_id and ext_contract_id preferences weren't populated correctly.
- subscriber lock preference wasn't populated correctly
- old dbalias entries weren't cleared correctly for API calls
11 years ago
Irka
e923b71022
Merge remote-tracking branch 'origin' into ipeshinskaya/InvoiceTemplate2
11 years ago
Andreas Granig
c61b9eec5d
MT#3933 API: Handle subscriber lock/termination
11 years ago
Andreas Granig
71b8d2e957
MT#5967 Validate (man_)allowed_ip input.
...
Check for valid v4/v6 address and optional netmask.
11 years ago
Andreas Granig
da79426c00
MT#3933 API: Implement subscriber preferences.
...
While at it, combine preference handling for subscribers, domains
and peers into a single role.
11 years ago
Andreas Granig
eb1464f558
MT#3925 Return json error for 403/404 on /api/.+
...
Return as usual a json struct with code and message under the /api/ path.
Otherwise an API client would get the html pages, which is
pretty pointless.
11 years ago
Andreas Granig
2f749a341a
MT#3933 API: add subscriber editing via PUT/PATCH
11 years ago
Andreas Granig
bc08567683
MT#5811 Properly set websocket paths.
...
To work around ssl certificate issues with wss connections, use
a single entry point for wss to the system and let nginx do the
internal proxying to the correct addresses.
11 years ago
Irka
77136247f0
Invoices - a little bit more clean. But still DB is fake, and columns titles are interesting to think about more.
11 years ago
Irka
5818d51230
test commit
11 years ago
Andreas Granig
0218de9cc0
MT#5833 Update italian translation.
11 years ago
Andreas Granig
0f26d8fcbe
MT#3961 Update German localization.
11 years ago
Andreas Granig
1f9e407377
MT#3925 API: more doc and description fixes.
11 years ago
Andreas Granig
2c49abb49e
MT#3925 Add more field descriptions to forms.
11 years ago
Andreas Granig
c799df3ebd
MT#3925 API: dynamically render API documentation.
11 years ago
Andreas Granig
9587330201
MT#5251 Optimize billing fees upload.
...
Bring down upload time from 180s to 16s by optimizing purge of existing
ones (one query instead of one-by-one deletion) and optimizing upload
in batch (one query instead of one-by-one deletion).
11 years ago
Gerhard Jungwirth
f99ce65102
MT#5859 let subscriber change his webpassword
11 years ago
Andreas Granig
8c3a279247
MT#5473 Fix deleting peering groups.
...
Properly propagate deletion of hosts and their prefs, as triggers
don't hit in if they are deleted via constraints, so they leave
orphaned entries in the kamailio db.
11 years ago
Gerhard Jungwirth
360d622bcc
MT#3961 check language before login, map en to i-default
...
otherwise a priority of en is not considered
11 years ago
Andreas Granig
b88d36bdf0
MT#5083 Implement sendfax in ngcp-panel.
11 years ago
Andreas Granig
eaad8dfda5
MT#3961 Rework German localization.
...
Some fixes along the path where strings where not prepared for
localization yet, or element widths were too small.
11 years ago
Andreas Granig
33001ef88a
MT#5811 Prettify roster and add chat window
11 years ago
Andreas Granig
d1bcc66639
MT#5811 Basic framework for sip/xmpp via WS
11 years ago
Andreas Granig
d508a519c8
MT#3933 API: tighten subscriber creation.
11 years ago
Andreas Granig
aef3a499a3
MT#5797 Skip Link hdrs for fetching collections.
...
Too many headers break web servers (and probably UAs).
11 years ago
Gerhard Jungwirth
d989abc8f9
MT#3961 Translate everything
11 years ago
Gerhard Jungwirth
9040831ecd
MT#3961 more translations
11 years ago
Gerhard Jungwirth
1f37a80b84
MT#3961 Provide Dropdown to change the language
...
We save this setting in a session variable and a cookie
valid for 3 months
11 years ago
Gerhard Jungwirth
1bf73a7bb6
MT#3961 Prepare for localization
11 years ago
Gerhard Jungwirth
029c51fad1
MT#5661 change selection of customers when bprof is updated
...
only those customers which have this billing profile
currently active are considered
this concerns the change of the prepaid flag
11 years ago
Andreas Granig
f31c2fcc88
MT#5661 Update prepaid pref on bilprof change
...
If prepaid flag is changed in billing profile, all subscribers
of all contracts currently having this profile are updated.
If customer changes from prepaid profile to postpaid and vice versa,
all subscribers of this contract are updated.
If subscriber is created either in subscriber or customer view,
the prepaid pref is set if billing profile of its customer is
prepaid.
11 years ago
Andreas Granig
6e60f43306
MT#5599 Fix pwd-based api auth.
12 years ago
Andreas Granig
71658e12a7
MT#5599 Rework auth/authz for pwd-based API access
...
Cleanup unnecessary realms.
Use roles instead of realms for authz.
HTTP basic auth for api access.
Use admin/reseller roles instead of api_admin/api_reseller.
Fix API::Root invalid_user detaching.
12 years ago
Andreas Granig
0fd10e018a
MT#5575 Clear audio cache only on specific service
...
Use appserver for system sets and pbx for customer sets.
12 years ago
Andreas Granig
b098c10f87
MT#5575 Properly clear pbx audio cache for moh/pbx
12 years ago
Andreas Granig
de9fc52c64
MT#5575 Clear audio cache on sems-pbx too.
12 years ago
Andreas Granig
ce01267079
MT#3933 API: Check for max_subscribers on create
12 years ago
Andreas Granig
aa5eee69a0
MT#5575 Migrate clear_audio_cache to Sems helper.
12 years ago
Andreas Granig
9651c81852
MT#3933 API: fetch and create subscriber. WIP.
...
Doesn't handle PBX stuff yet, only basic subscriber stuff.
12 years ago
Gerhard Jungwirth
ef6bfee65b
MT#4967 update cloud_pbx_base_cli and other settings on cloudpbx-subscribers
...
This includes: primary_number, dbaliases, cfs
12 years ago
Gerhard Jungwirth
ef80d1967e
MT#4967 change primary number of extension-subscribers by extension
...
see comment 4967#c31031
12 years ago
Gerhard Jungwirth
b0d1d25301
MT#4967 update all cloudpbx-subscribers on change of head one
...
see comment 4967#c31031
12 years ago
Andreas Granig
5929bcdc06
MT#5349 API: add method to fetch dompref meta data
12 years ago
Andreas Granig
e8fa8b2f9c
MT#5349 API: Implement domain preferences. WIP.
...
Missing sanity checks and special handling for certain preferences.
12 years ago
Andreas Granig
1d873fce27
MT#4229 Remove dump from logfile.
...
The stack-trace is undecodeable from syslog, and it usually doesn't
provide any additional infos on top of the actual error message.
12 years ago
Andreas Granig
329b831918
MT#5199 Offer API CA Cert for download too.
12 years ago
Andreas Granig
883cd9a8b3
MT#5199 Store client cert in DB and offer P12 fmt.
...
For browser imports, you need a PKCS12 format, so offer the cert
in that format for download also.
12 years ago
Gerhard Jungwirth
f316797857
MT#4967 "Unsteal" number on subadmin terminate
...
When a subscriberadmin terminates a subscriber, the alias_numbers should
move back to the subscriberadmin
12 years ago
Gerhard Jungwirth
dfe18e5648
MT#4967 Do not show password on edit
...
but update it, if one is supplied
sub edit_master is now explicitly denied to subscribers, as there is already
a lot of conditional logic there, we should consider to handle a logged in
subscriber separately. (This option is not exposed to subscribers anyway.)
See also 4967#c28533
12 years ago
Gerhard Jungwirth
9fed07646d
MT#4967 Disallow subscriberadmin to change status
...
see 4967#c28533
12 years ago
Gerhard Jungwirth
2c7a0c4e6b
MT#4967 Let subadmins steal numbers
...
A subadmin can use the field alias_select to select any number of alias
numbers, which he is allowed to manage. If he selects one, it moves
to this subscribers alias_numbers. If he unselects one, it moves to his
own alias numbers.
12 years ago
Andreas Granig
7e3a2997f4
MT#5355 Implement peer_auth api calls to sems.
12 years ago
Andreas Granig
58adac5da9
MT#5349 API: Implement GET/DELETE for domain item.
...
There is no PUT/PATCH as we are not allowed to change the domain itself.
TODO: relations to preferences!
12 years ago
Andreas Granig
9592c6b3b7
MT#5349 API: Implement collection part for doms
12 years ago
Andreas Granig
456df97df0
MT#3931 API: implement customer contract handling.
12 years ago
Andreas Granig
3db6117dfd
MT#3931 API: Implement customer contacts.
...
Move update parts into role.
Implement customer contacts.
12 years ago
Andreas Granig
5c5668da28
MT#3949 API: Implement reseller resource handling.
12 years ago
Andreas Granig
c0a6264507
MT#5299 API: Implement implicit zone def for fees
12 years ago
Andreas Granig
b3de58ff9c
MT#5299 API: Implement billing zone handling.
12 years ago
Andreas Granig
bdb129ec67
MT#5299 API: Add billing fee handling.
12 years ago
Andreas Granig
cd2d9e47aa
MT#5255 Fix boolean handling and HFH validation
12 years ago
Andreas Granig
829b432b47
MT#5299 API: PUT/PATCH/GET billingprofiles item
12 years ago
Andreas Granig
3ce79d6703
MT#5299 API: GET and POST billing profiles.
12 years ago
Andreas Granig
45a460a1ce
MT#3949 API: implement contracts handling.
12 years ago
Andreas Granig
14d9374e8c
MT#3949 API: move common contract stuff to role.
12 years ago
Andreas Granig
b64266b969
MT#3949 API: Implement base-line for sys contracts
...
Allows to post, put, patch and get peering and reseller contracts.
Needs tests.
12 years ago
Andreas Granig
7a782eb4fb
MT#5255 API: Create roles for resources.
...
Collections and Items have common functions (e.g. hal_from_xxx),
so move them into separate roles.
12 years ago
Andreas Granig
458852f70e
MT#5255 API: use local time for timestamps.
12 years ago
Andreas Granig
02998dd688
MT#3949 API: base-line for system contracts.
12 years ago
Andreas Granig
6bb57f08f2
MT#3997 Finish API skeleton.
...
We should now have working baselines for
- collections (SystemContacts)
- items (SystemContactsItem)
with support for
- collections: OPTIONS, HEAD, GET, POST
- items: OPTIONS, HEAD, GET, PUT, PATCH, DELETE
covered by according tests and with a proper API documentation.
12 years ago
Andreas Granig
f4a9e39a8a
MT#5255 API: move contacts to systemcontacts.
...
Clearly distinguish between systemcontacts (those without reseller) from
customercontacts (those with resellers). Separating them frees us from
having to handle reseller_id magic.
12 years ago
Andreas Granig
beb93987eb
MT#3997 API: move req/res log functions to Role.
12 years ago
Andreas Granig
a135c00190
MT#5255 API: prevent DELETE of used contact
12 years ago
Andreas Granig
a6c3ecb580
MT#5255 API: Implement DELETE for contacts
12 years ago
Andreas Granig
2c51cbd0fb
MT#3997 Fix PUT with reseller_id=null for contact
12 years ago
Andreas Granig
9aa1560619
MT#3997 Dynamically return collections relations.
12 years ago
Andreas Granig
7b8092f702
MT#3997 Get rid of the remaining tt xml responses
12 years ago
Andreas Granig
5e3b642107
MT#5215 Replace NoPassword cred handler
...
In our catalyst version, there is no NoPassword credentials handler,
so use the Password handler instead.
12 years ago
Andreas Granig
515990623f
MT#3997 Fix general collection/item handling.
...
Use paging.
Start adding tests for contacts/ collection.
Move more common functions to Role.
Use proper forms for field checking.
12 years ago
Andreas Granig
a4a9f703bd
MT#3997 Remove QueryParameter dependency.
12 years ago
Andreas Granig
fd19cf79c1
MT#3997 Return JSON on precondition failures.
12 years ago
Andreas Granig
0fb58d2668
MT#3997 Use JSON in OPTIONS methods.
12 years ago
Andreas Granig
40ecb1e91d
MT#3997 Distinguish collection and item in URI
...
Use /api/foo/ for collections and /api/foo/{:id} for items to easily
distinguish between them. Also, we want to use query params for limiting
the collections, e.g. /api/foo/?name={:name}&something={:else}, which in
turn returns a filtered collection again. This makes it difficult then to
fetch items via /api/foo/?id={:id}, so use /api/foo/{:id} instead.
Also move rest of common functions into API Role.
12 years ago
Andreas Granig
6d3fa76e7f
MT#5173 Very basic support for polycom prov
...
Bootstrap Params: 447=2,445=[% server.uri %],264=2
Bootstrap Method: POST
Bootstrap URI: http://[% client.ip %]/form-submit
12 years ago
Gerhard Jungwirth
6524548201
MT#4129 Validate update customer with wrong resellers
...
The reseller of the old billing_profile was tested instead of the new one
(see 4129#c29575)
12 years ago
Andreas Granig
2bff65040d
MT#5103 Add date picker to call distribution graph
12 years ago
Andreas Granig
b84bc50b14
MT#5131 Make CSV fee parsing more tight.
12 years ago
Andreas Granig
2ef9dc16b5
MT#4565 Fix read-only permissions.
...
Properly deny write ops for read-only admins and resellers.
12 years ago
Andreas Granig
59a75ed63e
MT#5103 Add basic call distribution graph.
...
Still needs date picker to limit range.
12 years ago
Gerhard Jungwirth
342ba867d7
MT#4967 Show primary number in subscriber list
...
The wrong relation was used here. Discovered during testing for ticket
MT#4967.
12 years ago
Andreas Granig
c88c69d322
MT#4235 Implement static Jitsi provisioning.
...
Should be reworked in a next step to use the dynamic configuration
management, but currently you'd need a PBX device for that, so keep
it static for now.
12 years ago
Andreas Granig
2258395ed7
MT#5009 Properly free voip_numbers on termination.
...
Don't delete voip_numbers (which was forgotten if the status
got set to terminated anyways), rather than free them by
undef'ing the subscriber_id and reseller_id.
12 years ago
Andreas Granig
059607a8c7
MT#4955 Only allow one ss, set dom-pref np-display
...
If a sound set is contract default and you create another default one,
the old gets non-default.
Properly handle contract default setting also when editing sound sets.
And while at it, set np-display as outbound-from-display-name dom-pref
when creating a PBX domain.
12 years ago
Gerhard Jungwirth
2ada158ac6
MT#4967 Let admin/reseller always change subscriber numbers
...
When editing a subscriber as admin, you possibly got a stripped version of the
form, where you cannot change e164 or alias_numbers anymore.
12 years ago
Andreas Granig
332ad0ca3a
MT#4949 Use pbx-1 suffix for callflows.
12 years ago
Andreas Granig
e2ccdf3442
MT#4955 Introduce customer default sound sets.
...
If a new contract sound set is marked as contract_default, use this
for every existing subscriber in contract_sound_set prefs if no
other set is specified yet.
If a new subscriber is created and such a sound set exists, also
use this one.
This prevents having to go over each single subscriber to assign
the contract_sound_set preference.
12 years ago
Andreas Granig
36f6756079
MT#4955 Use cseq_method for subscriber captures.
12 years ago
Andreas Granig
097af29cb2
MT#4229 Still log the error causing a 500.
12 years ago
Gerhard Jungwirth
3279897a1b
MT#4707 log IP on failed login
12 years ago
Andreas Granig
9c69626385
MT#4543 Also set cloud_pbx_base_cli pref for admin
...
Otherwise rewrite rules where this is used will not work, so admin
can't dial only the extension.
12 years ago
Andrew Pogrebennyk
76bf4a12c3
MT#4863 Grant access to Customer Settings for administrative subscribers.
12 years ago
Andreas Granig
7c0b691a53
MT#4017 Fix subscriber->device mapping in config.
...
When fetching the field device config, only select the correct
subscribers for the line ranges which actually belong to the
field device.
12 years ago
Gerhard Jungwirth
10cd46219c
MT#4369 Disable Timestamp search on Callflows
...
this created "min(timestamp) LIKE %search%" which is not valid SQL
12 years ago
Andreas Granig
10ddf43147
MT#4787 Send browser to PBX device when syncing
12 years ago
Andreas Granig
57bc4218e7
MT#4685 Export latest firmware version for model.
...
This can be used in config scripts to check whether to do an upgrade.
12 years ago
Gerhard Jungwirth
938798943c
MT#4667 validate contact on contract create
...
On one hand, dont allow (peering,reseller)-contracts to
be created with a wrong contact (which has a reseller id).
On the other hand, dont preselect wrong contacts in the first
place (from created_objects)
12 years ago
Andreas Granig
d69d7bb8fb
MT#4685 Don't tie firmware to profile.
...
That way, you can upload multiple firmwares, and ngcp-panel
will serve the next or latest one, depending on the currently
running one.
12 years ago
Gerhard Jungwirth
f16c1cfb5e
MT#4129 fix operator precedence
...
Check for diverging resellers when creating a customer
fails because == is evaluated before //
12 years ago
Gerhard Jungwirth
77698535e6
MT#4129 prohibit customer with diverging resellers
...
that is, a customer where billing_profile has one
reseller and contact has a different one
12 years ago
Gerhard Jungwirth
fa3c979fda
MT#4659 preserve product, when not set by form
12 years ago
Andreas Granig
96edceda6d
MT#4655 Show reseller name in device mgm.
12 years ago
Lars Dieckow
e215422b89
MT#4609 extend checks when editing the own admin user to prevent locking oneself out
12 years ago
Andreas Granig
8ad33c7f35
MT#4607 Replace UNION by simple OR
...
MySQL 5.5 handles OR properly in terms of indices, no need for a UNION,
which is completely broken with DBIx::Class anyways, killing the performance.
12 years ago
Andreas Granig
0feebeb8a5
MT#4533 Don't transcode MOH files for PBX.
12 years ago
Andreas Granig
a6f3117595
MT#3977 Set proper config.url parameter.
12 years ago
Andreas Granig
0f99b45042
MT#3977 Fix syntax error.
12 years ago
Andreas Granig
816b1d0755
MT#3977 Also set config.url for autoprov config.
12 years ago
Gerhard Jungwirth
ec34c1d1dd
MT#3855 Fix empty contract tab on Reseller details
...
When the reseller has a wrong contract assigned to
him, this contract is not shown because it has already
been filtered out in the Contract controller. In favor
of usability now show it anyway.
Also only present correct contracts on edit/create
resellers in the first place.
See (Mantis:3855#c25797)
12 years ago
Gerhard Jungwirth
e184e00f86
MT#4289 contracts: filter by product and separate terminate
...
Only show reseller and peering contracts in the
Contracts controller. Also remove the generic create
in favour of the peering/create and reseller/create.
Customer controller now has its own terminate routine to be really
independent from the Contract controller.
Now we can expose the Contract controller in the menu.
12 years ago
Gerhard Jungwirth
35c82cca7f
MT#4289 move /contract/customer/edit to /customer/edit
...
So finally, there is no customer-specific stuff left in the Contract controller.
12 years ago
Gerhard Jungwirth
49037844bc
MT#4289 separate customer-/contract- create and ajax_reseller_filter
...
Mantis: 4289#c25035
12 years ago
Gerhard Jungwirth
21482c00ec
MT#4289 separate customer/ajax and contract/ajax
...
This is the first step towards separating the
tight coupling of the Customer and Contract Controllers.
Mantis: 4289#c25035
12 years ago