Commit graph

144 commits

Author SHA1 Message Date
Ejaaz Khan
b2d4a6f18c
Revert "fix: prevent manual typing of restricted values in Link fields" 2025-10-14 15:29:01 +05:30
UmakanthKaspa
2ad7042cb3 style: format client.py with ruff-format 2025-09-22 11:18:00 +00:00
UmakanthKaspa
a0de7c00ba fix: prevent manual typing of restricted values in Link fields 2025-09-20 11:40:39 +00:00
Ankush Menat
49f582ae57 perf: Use lazy doc in a lot more places 2025-06-11 09:55:45 +05:30
Sagar Vora
83b6231f95 chore: add type hints to whitelisted endpoints 2025-04-21 15:25:55 +05:30
Sagar Vora
5c003b67d9 fix: remove flag to ensure some checks run 2025-03-03 11:53:50 +05:30
Sagar Vora
f4062b4d7a fix: ensure consistent error in response 2025-02-19 12:10:59 +05:30
Ankush Menat
063f2bbc79 fix: only check parent doctype for child doctypes 2025-02-06 13:05:06 +05:30
barredterra
edd4171206 fix: consider parent doctype when validating link to child row 2025-02-05 16:58:43 +01:00
Ankush Menat
5cf5f66fec perf: cache "is_document_amended"
A document that is amended from something stays amended.
2025-01-24 18:58:39 +05:30
Ankush Menat
1470ad2a66 perf: Cache plain link validation for 30 minutes
Very often you're picking same documents again and again, there's no
need to validate them.

Also, document is JUST selected using search_link, so it's 99%
guaranteed to be valid.

The real purpose of this function is to provide "fetch from" feature,
not link validation like the name suggests.

It will get validated server side anyway.
2025-01-24 18:58:36 +05:30
David Arnold
8cfeb156df
devx: add deprecation dumpster (#27887)
* feat: Add deprecation_dumpster.py file

* docs: add jovial and jocose docstring for frappe/deprecation_dumpster.py

* refactor: fill the dumpster with its own kind

* refactor: move to the deprecation dumpster

* chore: color coding class

* fix: only check import error when import errors
2024-10-08 18:56:10 +02:00
Hussain Nagaria
caae0bacc9 docs: add missing full stop 2023-12-18 19:09:45 +05:30
Hussain Nagaria
8d2137c265 docs: consistent doc strings 2023-12-18 18:27:39 +05:30
Md Hussain Nagaria
cfc781e5b6
fix(Virtual DocType): don't call db get_value in link field validation (#23620)
* fix(Virtual DocType): use get_doc to validate link field instead of db get_value

* refactor: use is_virtual_doctype util & always return a dict
2023-12-07 21:58:05 +05:30
rohitwaghchaure
aa0f0d51e7
fix: group by didn't work for the frappe.client.get_value (#22969) 2023-10-30 15:15:56 +05:30
Ankush Menat
824229ce0a refactor: no need to cast bools manually 2023-10-16 18:13:50 +05:30
Ankush Menat
bf037acb5b chore: deprecate get_js
Pointless function for loading public JS files
2023-09-23 15:30:23 +05:30
barredterra
88c8baa9ee refactor: for append to extend, merge list extend
Replace a for append loop with list extend.
Create the list with values instead of creating
an empty list and extending it with another list.
2023-08-09 13:25:39 +02:00
Gavin D'souza
84ccf3d128 fix: Apply field permlevel for doc GET via REST 2023-01-09 15:47:21 +05:30
marination
d6bdd636dc fix: Check Reference Doctype perms & control indicator change
- Don’t change indicator on filter change if user can’t write to board. They can’t save filters
- Invoke `update_order` on Kanban board init() only if user has `write` access to reference doctype (non-deliberate invocation)
- All deliberate invocations of `update_order` via UI actions are blocked/hidden without `write` access
- Remove elements with no access instead of hiding to avoid inspect element hacks
- Card Actions: Block card dragging if no `write` access to reference doctype
- Card Actions: Block card adding  if no `create` access to reference doctype
2022-11-25 12:13:49 +05:30
marination
299831d209 fix: server method to return evaluated dict of perms for a document 2022-11-16 19:24:12 +05:30
Raffael Meyer
09d35c74eb
fix: remove redundant translation (#18775) 2022-11-06 17:27:02 +05:30
Faris Ansari
aa8957e785
fix(insert_many): list instead of set to maintain order (#18641) 2022-10-28 14:37:17 +05:30
Faris Ansari
8acbc38670 fix: raise error if child doc not found 2022-10-18 13:46:57 +05:30
Faris Ansari
55bc60433f fix(frappe.client): delete child doc via parent
so that parent's on_update is called
no change for deletion of normal doctype
2022-10-18 01:23:37 +05:30
Ankush Menat
0686097de2
fix: get single doc using client.get (#17817) 2022-08-13 14:38:06 +05:30
Sagar Vora
ebb0cd13fe
perf: reduce DB call in frappe.client.get (#17665) 2022-08-02 15:38:39 +05:30
Sagar Vora
9a7f92ca1d fix!: allow system managers to toggle email queue 2022-07-18 16:53:49 +00:00
Sagar Vora
6597dedaed
chore!: remove unused APIs from frappe.client (#17446)
chore: remove unused APIs from `frappe.client`
2022-07-08 10:49:39 +05:30
Ankush Menat
81b37cb7d2
refactor: clean up code to py310 supported features (#17367)
refactor: clean up code to py39+ supported syntax

- f-strings instead of format
- latest typing support instead of pre 3.9 TitleCase
- remove UTF-8 declarations.
- many more changes

Powered by https://github.com/asottile/pyupgrade/ + manual cleanups
2022-07-01 11:51:05 +05:30
Sagar Vora
217644ac07
fix!: remove unnecessary get_default API (#17295) 2022-06-27 01:01:03 +05:30
Raffael Meyer
7b67e1f847
fix: translate doctype in error messages (#17239) 2022-06-20 10:35:57 +05:30
Ankush Menat
5affa2248d
fix: pass parent doctype on client.get_value (#17196) 2022-06-15 14:59:25 +05:30
Gavin D'souza
5ec2690160 Merge branch 'develop' into refactor-file 2022-06-01 15:47:55 +05:30
phot0n
b1a2007024 fix: use set instead of list in insert_many client function 2022-05-11 23:41:47 +05:30
phot0n
98c60dbb1f chore: remove else condition, improve formatting & comment in insert_doc 2022-05-06 23:59:11 +05:30
phot0n
534911a1b4 refactor(minor): move out common functionality in insert and insert_many client functions
to a separate function
2022-05-06 00:27:09 +05:30
Faris Ansari
95816f0340 fix: better validation for child insert 2022-04-24 10:38:58 +05:30
Gavin D'souza
4b51b72119 Merge branch 'develop' of github.com:frappe/frappe into refactor-file 2022-04-18 17:28:56 +05:30
Gavin D'souza
42a020978d refactor(minor): frappe.client.attach_file
* Use standard doc.check_permission instead
* Don't re-check for http method type inside API
* Cleanup variable naming
* Return file object - let the API layer manage marshalling /
  serialization
2022-04-18 12:04:02 +05:30
Faris Ansari
7233c257c7 fix: handle filters passed as dict to client.get 2022-04-16 05:45:15 +05:30
Suraj Shetty
c0c5b2ebdd
style: format all python files using black (#16453)
Co-authored-by: Frappe Bot <developers@frappe.io>
2022-04-12 10:59:25 +05:30
phot0n
b31f3c24f6 refactor: remove parent, parenttype, parentfield, idx columns from non-child table doctypes
* feat: add parent, parenttype, idx, parentfield columns to doctypes when transitioning from normal -> child table

* fix: remove parent, parenttype, parentfield, idx from DocType DocType
2022-02-07 15:12:37 +05:30
Gavin D'souza
d81fe8699c feat: frappe.db.set_single_value
Alias to frappe.db.set_value without having to pass the doctype name
twice or teh second one as None

Other changes:
* set/get db APIs for single DocTypes
* Make use of redundant cache key in frappe.db.get_single_value
2022-01-10 21:03:14 +05:30
Gavin D'souza
3b7b555148 fix: Pass parent_doctype required for DatabaseQuery perm checks
has_child_table_permission would throw 'Parent DocType Required: Please
specify a valid parent DocType for {TEST DOCTYPE}' after the previous
commit 33b7d7d74f. Passing parent_doctype
solves this
2021-12-24 13:57:07 +05:30
Ankush Menat
b1d0e574a0 feat(REST): OR filters in REST API 2021-11-27 17:17:05 +05:30
Sagar Vora
0b0f896258 fix: cleaner implementation for link validation 2021-11-12 10:36:21 +05:30
Sagar Vora
af41d9f8a5 fix: stricter validation 2021-11-11 12:29:49 +05:30
Sagar Vora
9503e7788a fix: restore validate_link 2021-11-11 12:24:22 +05:30