* Add updated image upload support on Crowdfund plugin
* Refactor crowdfund image upload fix
* update crowdfund url for greenfield api
* Resolve integration test assertion
* Remove superfluous and unused command argument
* Fix missing validation error
* Minor API controller update
* Property and usage fixes
* Fix test after merge
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Gives the new methods a new name and re-adds the old ones in order to not break plugins. Simple enough backwartds compatible change, makred the old methods as obsolete to make plugin developers aware that new methods are available.
* UI: Move section navigation to sidebar
* Scroll active nav link into view
* Move CTAs to top right
* Server Settings: Make Policies first page
* Responsive table fixes
* Spacing fixes
* Add breadcrumb samples
* store settings fixes
* payment request fixes
* updates pull payment title
* adds invoice detail fix
* updates server settings breadcrumbs + copy fix
* Don't open Server Settings on Plugins page
* Add breadcrumbs to pull payment views
* adds breadcrumbs to account
* server and store breadcrumb fixes
* fixes access tokens
* Fix payment processor breadcrumbs
* fixes webhook 404
* Final touches
* Fix test
* Add breadcrumb for email rules page
* Design system updates
---------
Co-authored-by: dstrukt <gfxdsign@gmail.com>
* Onboarding: Invite new users
- Separates the user self-registration and invite cases
- Adds invitation email for users created by the admin
- Adds invitation tokens to verify user was invited
- Adds handler action for invite links
- Refactors `UserEventHostedService`
- Fixes#5726.
* Add permissioned form tag helper
* Better way of changing a user's role
* Test fixes
Closes#5773.
- Adds seconds to the displayed date and time
- Adds a tooltip that displays the full date and time including milliseconds
- Reintroduced the colored text in case of unusual events/states (this didn't work before)
* 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>
* Quality of life improvements to payout processors
* Allows more fleixble intervals for payout processing from 10-60 mins to 1min-24hours(requested by users)
* Cancel ln payotus that expired (bolt11)
* Allow cancelling of ln payotus that have failed to be paid after x attempts
* Allow conifguring a threshold for when to process on-chain payouts (reduces fees)
# Conflicts:
# BTCPayServer.Tests/SeleniumTests.cs
* Simplify the code
* switch to concurrent dictionary
* Allow ProcessNewPayoutsInstantly
* refactor plugin hook service to have events available and change processor hooks to actions with better args
* add procesor extended tests
* Update BTCPayServer.Tests/GreenfieldAPITests.cs
* fix concurrency issue
* Update BTCPayServer/PayoutProcessors/BaseAutomatedPayoutProcessor.cs
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Introduce very flexible form input system
* Refactorings after rebase
* Test fix
* Update BTCPayServer/Forms/FormDataService.cs
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Renamed "WithdrawAsync" to "WithdrawToStoreWalletAsync"
* WIP
* WIP withdrawal + Refactored Form saving to JObject
* WIP
* Form to fix bad values during withdrawing appears correctly
* WIP
* Lots of cleanup and refactoring + Password field and toggle password view
* Cleanup + Finishing touches on withdrawals
* Added "Destination" dummy text as this is always the destination.
* Fixed broken test
* Added support for withdrawing using qty as a percentage if it ends with "%". Needs more testing.
* Fixed broken build
* Fixed broken build (2)
* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json
Co-authored-by: d11n <mail@dennisreimann.de>
* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json
Co-authored-by: d11n <mail@dennisreimann.de>
* Improved unit tests
* Fixed swagger bug
* Test improvements
Make string conversion of quantity explicitely.
* Fix build warnings
* Swagger: Add missing operationId
* Made change Dennis requested
* Removed unused file
* Removed incorrect comment
* Extra contructor
* Renamed client methods
* Cleanup config before saving
* Fixed broken controller
* Refactor custodian
* Fix build
* Make decimal fields strings to match the rest of Greenfield
* Improve parsing of % quantities
---------
Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Custom Forms
* Update BTCPayServer.Data/Migrations/20230125085242_AddForms.cs
* Cleanups
* Explain public form
* Add store branding
* Add form name to POS form
* add tests
* fix migration
* Minor cleanups
* Code improvements
* Add form validation
Closes#4317.
* Adapt form validation for Bootstrap 5
* update logic for forms
* pr changes
* Minor code cleanup
* Remove unused parameters
* Refactor Form data handling to avoid O(n3) issues
* Rename Hidden to Constant
* Pre-populate FormView from the query string params
* Fix test
---------
Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
A new plugin overriding BaseBTCpayServerPlugin need to override
Identifier, Name, Version, and Description by default.
This information is actually better saved in the .csproj of the plugin.
Using <Title>, <Description> and <Version> properties.
The identifier should match the assembly name as we assume at several
places than a single plugin is a single dll.
* Editorconfig: Add space_before_self_closing setting
This was a difference between the way dotnet-format and Rider format code. See https://www.jetbrains.com/help/rider/EditorConfig_Index.html
* Editorconfig: Keep 4 spaces indentation for Swagger JSON files
They are all formatted that way, let's keep it like that.
* Apply dotnet-format, mostly white-space related changes