v1 and v2:
- Use path convertor to consume entire document which MIGHT contain `/`
- Drop string convertor, as it's the default
- Dont merge slashes - avoid consuming something that's part of name
v2:
- `SI/BLAH/BLAH/submit` is not simple to parse without ambiguitity
- `SI/BLAH/BLAH/method/submit` removes ambiguitity for 99.99% cases.
* fix: validation permission on `tag` creation
* refactor: apply checks on all operations
Add/remove both are controlled by update
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* refactor!: Drop handling for SQL queries
This hasn't been supported in really long time, no need to check that
use cases.
It will still fail but with no special error message.
* fix: Catch all import related errors
* fix!: Use last query from hooks
* refactor!: Return search results like any other function
Search results are returned in `results` key which is incosistent from
most other functions
* refactor: simplify search_link
* fix: sync doctype layout on update standard field
When standard field is deleted & it is not updated in the doctype layout,
Error occurs as it will try to render fields that doesn't exist
and layout won't render.
to fix this, sync doctype layout on update standard field
* refactor: use savepoint decorator
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
Meta order in most cases is default "modified" which doesn't quite help.
idx is # of times a document is referred to somewhere else, which is
more likely to be relevant.
When `locate` returns 0 it's shown on top instead it should be shown
last or not shown at all.
This is math hack to avoid using any complex SQL functionality which
isn't allowed in DB query.
There are cases where certain social login keys
- Should not allow signups at all and only allow logins. E.g. social media login keys.
- Should allow signups even if global sign ups are disabled. e.g. internal SSO like setups.
When customizing the **Communication** DocType by setting the property `in_list_view` for the field `_user_tags` to `1`, the *fieldtype* of the `_user_tags` docfield can be mutated to `"Tag"` by the `frappe.format` function called during the list view rendering. Then, when opening a Communication form view, the layout tries to render the `_user_tags` field which has the invalid fieldtype `"Tag"`, which crashes the rendering of the form.