Certain people add attachment, before filling mandatory fields
which will raise Missing Fields error.
Or any other kind of errors raised by different validators due to which
file is uploaded but doc is not saved.
This will lead to orphaned/mislinked files. ex. new-purchase-receipt-1
This fix changes name of new docs to new-<doctype>-<no>-<10digithash>
after saving the document we can use this new name to find any mislinked
files created in past hour and relink them to the new doc on save.
Right now "doc doesn't exist is thrown, instead we can assume that user
doesn't have permission to this file. User might have access to other
file still.
This is dumb validation to have and it barely improves security, but
eNterPriSe users keep demanding this nonsense hence we are forced to add
this.
Alternate to https://github.com/frappe/frappe/pull/22528
* feat(UX): Add autocomplete for User timezone
* Revert "feat(UX): Add autocomplete for User timezone"
This reverts commit a721b4a1ef8e0e6b656b6795b832324a955b2f7a.
* fix: convert tz to autocomplete
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
Right now if you have if-owner rule on doctype then whatever you change
will only apply to last inserted rule because we don't check if-owner
value
Long term better fix: Identify with perm rule name instead of arbitrary
"primary keys" defined in code.
* Revert "chore: move function to correct file"
This reverts commit ebfdfa283b.
* Revert "refactor!: merge get_site_url into get_url (#22308)"
This reverts commit 2001bc278f.
* fix: Defer module deletion IO post DB commit
Previously, the IO operations for module deletion were executed before the DB commit. If the latter failed, this caused significant inconsistencies. This change ensures that IO operations are deferred until after the DB transaction is successfully committed.
* refactor: module deletion
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* build!: Remove pycryptodome dependencies
This is added for payments app, shouldn't be added here.
ref: https://github.com/frappe/frappe/pull/9955/
* build(deps): update many python dependencies
* feat: communication: override `on_update`
If reference doc has a property, `on_communication_update`, execute it.
Otherwise, continue with default/magic actions
* fix: make sure method is callable
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>