* Users list: Cleanups
* Policies: Flip registration settings
* Policies: Add RequireUserApproval setting
* Add approval to user
* Require approval on login and for API key
* API handling
* AccountController cleanups
* Test fix
* Apply suggestions from code review
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
* Add missing imports
* Communicate login requirements to user on account creation
* Add login requirements to basic auth handler
* Cleanups and test fix
* Encapsulate approval logic in user service and log approval changes
* Send follow up "Account approved" email
Closes#5656.
* Add notification for admins
* Fix creating a user via the admin view
* Update list: Unify flags into status column, add approve action
* Adjust "Resend email" wording
* Incorporate feedback from code review
* Remove duplicate test server policy reset
---------
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
* Store Email Settings: Improve configuration
This works with the existing settings and provides better guidance about the different store email cases. Closes#5623.
* Split email and notification settings
* Store Branding: Refactoring and logo as favicon
- Encapsulates store branding properties into their own view model
- Uses the logo as favicon on public pages
* Refactorings
* Updates
* Payment Request: Improve public view
Closes#4450.
* Test fix
* Extract Vue utils
* Improve payment history
* Fix amount display
* Unify receipt and payment request tables
* Re-add text confirmation for copying to clipboard
* Minor print optimizations
* Wording: Rename Description to Memo
* Open view links in new window
* View updates
* Invoice: Unify status display and functionality
Consolidates the invoice status display and functionality (mark setted or invalid) across the dashboard, list and details pages.
* Test fix
---------
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
* Checkout v2: Play sound when invoice is paid
Closes#5085.
* Refactoring: Use low-level audio API to play the sound
Allows to play the sound regardless of browser permissions.
* Add audio file detection
* Use model state for file upload errors
* Add default sound and customizing option
* Fix mp3 detection
* Add sounds
* Update defaults
* Add nfcread and error sounds
* Improve label wording
* Replace sound
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Add reporting feature
* Remove nodatime
* Add summaries
* work...
* Add chart title
* Fix error
* Allow to set hour in the field
* UI updates
* Fix fake data
* ViewDefinitions can be dynamic
* Add items sold
* Sticky table headers
* Update JS and remove jQuery usages
* JS click fix
* Handle tag all invoices for app
* fix dup row in items report
* Can cancel invoice request
* Add tests
* Fake data for items sold
* Rename Items to Products, improve navigation F5
* Use bordered table for summaries
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Pluginify on chain wallet setup
This PR fixes a few logical points in the wallet setup flow to allow more extensive plugin flexibility; It also fixes an issue when building plugins that requires an Altcoin config profile. Here is an example showcasing the Liquid+ plugin using this to enforce that it is a hot wallet (a requirement it has) and that import to RPC is always set, and a new option that is used to configure the wallet further https://i.imgur.com/pDPQ73v.gif
* Update BTCPayServer/Controllers/UIStoresController.Onchain.cs
* update nbx
* If loading addresses into the send wallet page using bip21 or address, (or clicking on "Send selected payouts" from the payotus page), existing labels will be pre-populated.
* Add the payout label to the address when the payoutis created instead of to the transaction when it is paid.
* Add the label attachments when adding labels from an address to the transaction.
closes#4830
If users want to deal with expired payout destinations, then they should be able to conifugre it that way. Some wallets simply do not allow customizing the bolt11 expiry and the defaults are much less than a day. I think we should merge #3857 if we introduce this as an automated payotu processor for lightning running every few minutes would work together with this and solve it.
* Wallet transactions: Add label manager
* Update BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Add rich label info
* Fixes
* support labels in wallet send
* add labels to tx info page
* Remove noscript parts
* Allow click on transaction label info
* update psbt info labelstyling
* revert red pixel fix as it broke all
---------
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Adapt cookie auth to work with same API permission system
* Handle unscoped store permission case
* Do not consider Unscoped as a valid policy
* Add tests
* Refactor permissions scopes
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>