* feat: add workflow task doctypes
* chore: add Workflow Task to Script Type of Server Scripts
* chore: add description for Workflow Tasks
* feat: fetch dotted paths and corresponding names from hooks
* fix: use Select field instead of Autocomplete
* feat: execute tasks in the background on state transition
* fix: throw error when task not found
* fix: naming for transition task set by user
* fix: child table views
* feat: support for server scripts
* chore: comments and description
* fix: change the casing of docevent options
* fix: change test casing
* feat: Add Workflow Transition field to webhooks
* fix: temporarily remove filter
* feat: add webhooks as workflow actions
* test: test execution of synchronous app-defined methods and server scripts
* chore: shorten the description and change the fieldname of the field 'execute_asynchronously' to 'asynchronous'
* test: server script executipn
* fix: add field to UI
* test: change customer to domain
* test: change Customer to Domain
* fix: patch for change in webhook fields
* chore: fetch only used fields in get_all
* fix: don't run test logic in application code 🙂
* test: separate tests for workflow tasks
* Revert "fix: patch for change in webhook fields"
This reverts commit 2e9c51c43ca2b3698991fbe75cc4032368ab174c.
* chore: break into smaller functions
* test: webhooks with workflow tasks
isolate mock responses to test_sync_tasks
* Revert "fix: change test casing"
This reverts commit e2bad96ed01dea0a26d002ea44a1e0175525ed31.
* Revert "fix: change the casing of docevent options"
This reverts commit ddfc81bf775fad74225f25815b8e3e7b255dc9eb.
* fix: webhook casing
* fix: type hint for doc
* feat: global `frappe.in_test` flag
* feat: helper utility to toggle `frappe.in_test`
* fix: use `toggle_test_mode` util
* fix: use `frappe.in_test`
* chore: add comment explaining global `in_test`
* chore: ignore commit replacing flag usage
* test: temporarily disable `frappe.in_test`
this worked earlier because flag was set in werkzeug.local which was separate for API test client
* test: add comment explaining change
Right now if you do this:
`get_doc(doctype, name, field=value)` then it loads document from DB and
then updates field to value.
This is absurd API and I don't think it was ever done intentionally.
Not all single doctypes are settings, so this is better. Implicit
caching is fine, same is done for `db` APIs on singles. We *should* aim
for 100% correctness of caching implementation, especially for singles.
Thanks to @netchampfaris for the suggestion.
* feat: get_settings
get_cached_value doesn't work well with singles because you either need
to pass `None` or repeat doctype name... both are awekward and easy to
shoot yourself in foot with.
* refactor: Use cached settings