* 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
* fix: remove doctypes,workspace blocks, files
* fix: minor python tests and UI tests
* fix: remove blog post from tests
* fix: remove blogger as role for tests
* fix: add check for if doctype exists
* fix: ui test
* fix: more cleanup
* fix: cleanup comments and fix test_query
* fix: resolve conflicts
* fix: add warning and handle comments
* fix: update the Integrations workspace
* fix: Remove specific links from Integrations workspace and reindex
* fix: again update the Integrations workspace
* fix: remove patch as per comment
* fix: remove custom button Newsletter from email group doctype
This allows an OAuth client to get metadata about the auth server, i.e.
the frappe bench being used as an OAuth2 auth server.
Metadata includes values for auth server urls and endpoints and
supported types and modes.
* 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
Next to zero adoption after introduction, just noise in codebase.
I don't see any point in arguing about purity of test cases when
existence and quality of test cases is usually the bigger problem.
Dropped using semgrep
* fix: Avoid Snapshot violation
- Main thread created and "read" user
- Other thread modified something
- Main thread wants to delete or "write" to same row.
This violates snapshot isolation.
* fix: treat snapshot violation as deadlock for now
* test: handle snapshot violations
* Don't show repeatable events starting in the future for the past dates
[fix]
* Simplify logic & variables naming for better maintainability, reduce
unnecessary looping, data structures [perf]
* Use standard library when possible [refactor]
(cherry picked from commit 4570758b5fd02e724b8b044abdd1a3817bcef35b)
* Simplify logical flows based on flow of data & transactions
* Reduce indents
* Remove redundant blocks
* Make code less brittle in redirect_uri generation
* Add typing wherever valuable
* Check if sync is enabled before refreshing token & shit - reduce
deletion of event times like a 1000x
* Use cached settings to avoid reading the same thing while operating
on Events or Google Calendar syncs
* fix: logout to site login page if the site is on Frappe Cloud
* fix: check if the site user is logged in before rendering trial banner
* fix: show dropdown even if the site is not on trial plan
* refactor: don't expose communication secret in boot
* feat: show install app button for fc sites
* fix: remove auth from desk
we can simplify it and let user do auth in fc
* fix: install app button condition
* refactor: use `is_fc_site` method
* fix: return boolean value for `is_fc_site` function
* fix: add install app button in /apps page
* fix: don't generate otp for login to fc
* fix: remove install app option from desk
* fix: design changes for trial banner
* fix: add more details to the `current_site_info` endpoint
also don't render trial banner if trial end date is passed
* fix: don't route user to welcome page
always put them on the site's dashboard
* fix: override base_url when needed
also remove misleading class
* fix: show banner to normal user to contact system admin for plan upgrade
* refactor: redirect from /login instead of every /logout code
* fix: rename login to fc to manage billing
also move it above the divider
* refactor: separate out site-login url from login.py