Commit graph

2082 commits

Author SHA1 Message Date
Sagar Vora
cb7d25a293
fix(meta): ensure that insert_after is always considered when sorting fields (#18682)
* fix(meta): ensure that `insert_after` is always considered when sorting fields

* test: add nosemgrep to comment

Co-authored-by: Dany Roberts <danyrt@wahni.com>
2022-10-31 15:37:55 +05:30
Ankush Menat
8cca50bf26
refactor: remove naming case feature (#18672)
This has never worked since 2016... which can mean two things:
- No one really uses this.
- If I fix this now suddenly people will find different behaviour in
  naming because `name_case` is selected in some doctypes (but never
  tested)
2022-10-31 11:23:49 +05:30
Sagar Vora
6d45b500a1
perf: load _doc_before_save sooner to avoid DB call in check_if_latest (#18666)
* perf: load `_doc_before_save` sooner to avoid DB calls in `check_if_latest`

* fix: specify `for update` in `load_doc_before_save`
2022-10-29 17:55:57 +05:30
Daizy Modi
fce9ccedaa
fix: only execute generator if value is not found in redis cache (#18472)
* fix: use of generator in

* fix: improve docstring

* fix: improve docstring

* fix: directly assign value to flags

Co-authored-by: Daizy <DaizyModi>
2022-10-20 16:48:03 +05:30
Ankush Menat
20593f155d
fix: delete custom tables when doctype is deleted (#18433)
* fix: delete custom tables when doctype is deleted
2022-10-19 16:45:56 +05:30
Ankush Menat
1bd61d5c25 fix: dont db_set on unsaved document 2022-10-18 17:38:03 +05:30
Anand Baburajan
feb198a019
docs: fix make_autoname example (#18354) 2022-10-10 21:04:35 +05:30
Ankush Menat
64a0e19329 Revert "fix!: Dont update modified by default in db.set_value (#18301)"
This reverts commit 6aaefd6633.
2022-10-06 22:02:31 +05:30
Ankush Menat
6aaefd6633
fix!: Dont update modified by default in db.set_value (#18301) 2022-10-06 16:01:20 +05:30
Ankush Menat
bd21398252
fix: ignore perm level validation if row deleted (#18290) 2022-10-05 11:16:28 +05:30
Ankush Menat
b8ed8d624c fix: ignore child tables when init-ing parent doc 2022-10-04 14:27:25 +05:30
Shariq Ansari
fc1e01555b fix: added missing operators 2022-09-30 17:16:40 +05:30
Ritwik Puri
66a31917f7
refactor(minor): reorder and remove unnecessary branches in set_new_name (#18243) 2022-09-29 16:23:55 +05:30
Ankush Menat
0e0e7f276c
fix: dont assume issingle exists (#18236) 2022-09-29 10:45:37 +05:30
Ankush Menat
2b6fc68088
Revert "fix: drop Meta cache during update" (#18186)
* Revert "fix: drop Meta cache during update (#18182)"

This reverts commit 656f6df257.

* fix: replace meta cache keys

Old keys stored different types of data `dict` changing key to indicate
change in type.
2022-09-19 21:28:45 +05:30
Ankush Menat
656f6df257
fix: drop Meta cache during update (#18182) 2022-09-19 19:24:17 +05:30
Sagar Vora
b529c27cb5 fix: ensure error is thrown 2022-09-19 16:21:11 +05:30
Sagar Vora
6c6a969d3a perf: simpler, faster meta cache 2022-09-19 16:21:11 +05:30
Sagar Vora
df8399f5d3 perf: initialise field map when initialising meta 2022-09-19 16:21:11 +05:30
Sagar Vora
fc3ee12baf
perf: cache FormMeta directly (#18165)
* perf: cache `FormMeta` directly

* perf: check if `dt` is table, use `db.get_value` instead of `get_all`
2022-09-19 16:10:32 +05:30
Saqib Ansari
6997f9e90f
fix: do not rename fieldtype options (#18143) 2022-09-15 17:30:52 +05:30
Shariq Ansari
235171796d
fix: coalesce not in queries (#18099)
* fix: get workspaces with empty module fields

* Revert "fix: get workspaces with empty module fields"

This reverts commit 1f194be2c3642e31ebe2165e461b2f24be8cda4c.

* fix: always coalesce `not in` queries

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-09-13 12:08:07 +05:30
Ankush Menat
49af8f7db1
Merge pull request #18050 from ankush/read_only_maintenance
feat: Zero* downtime migrations
2022-09-09 18:17:57 +05:30
Ankush Menat
e1253e8299 fix: remove ad-hoc maintenance mode implementation 2022-09-09 17:34:46 +05:30
Ankush Menat
55617b9e86 fix: defer logging during read only mode
Deferred:
- Error log
- view log
- web page view

Disable:
- "_seen" tracking used on list view to highlight unseen docs.
- "seen" on error log.
- dashboard chart last ts caching
2022-09-09 17:34:46 +05:30
phot0n
bca63f8e46 chore: remove unused update_log_for_doc_creation flag
* chore: add note/warning for log_types
2022-08-26 18:51:18 +05:30
Ankush Menat
cdb0732646
perf: avoid coalescing wherever possible (#17920) 2022-08-24 10:30:51 +05:30
Sagar Vora
63e760e3ad chore: remove old code where User Permissions were set in tabDefaultValue 2022-08-22 19:03:30 +05:30
Ankush Menat
7b3cc322f1
Merge pull request #17891 from ankush/misc_fixes
perf: ~45% faster Desk first response
2022-08-22 11:45:20 +05:30
Ankush Menat
2eec621e95 chore: db.get_all -> get_all
Reduces 1 pointless function call.
Function calls are also not "super cheap" in python.
2022-08-22 11:35:14 +05:30
Ankush Menat
61a9349789 perf: use is_virtual_doctype and remove limit
This reduces 1 query for each child table read

Removed limit cause with 1000+ doctypes in frappe+erpnext this cache
will just keep getting trashed for no reason. There's clear upper bound
on size so no need to limit it here.
2022-08-21 17:37:40 +05:30
Faris Ansari
82fef72ce1
fix(db-query): parenttype condition on child table left join (#17865)
joining only on name is incorrect because parent primary keys are not unique across tables

How was this working all this time? 🥲
2022-08-18 09:04:40 +00:00
Faris Ansari
d11692c52f fix: has_content check for fieldtype TextEditor
When a TextEditor field contains only an image, while checking for
content, HTML tags are stripped off including the only image.
This change adds a loose but explicit check for img tag.
2022-08-17 14:40:40 +05:30
Sagar Vora
c82b6e758e
Merge pull request #17681 from resilient-tech/fix-child-perm
refactor: improved child table permission check
2022-08-09 10:15:36 +00:00
Sagar Vora
7129d6128f chore: lazier import; improved docstrings 2022-08-09 11:50:15 +05:30
gavin
2735d1c558
Merge branch 'develop' into refactor-oauth-tests 2022-08-05 15:37:41 +05:30
Sagar Vora
f9bfbfec98
perf: reduce DB calls made in get_fetch_values (#17671)
* perf: reduce DB calls made in `get_fetch_values`

* fix: ensure return value is same as before

* test: add test for `frappe.model.utils.get_fetch_values`
2022-08-05 11:52:37 +05:30
Gavin D'souza
b14f8f4e03 feat(minor): Expose force to doc.delete 2022-08-02 17:30:07 +05:30
Gavin D'souza
d6ba7caf92 chore: Add typing for Document.doc_before_save 2022-08-02 17:30:07 +05:30
Sagar Sharma
d88d9f5186
fix: max_positive_value for Integer types (#17712)
* fix: max_positive_value for Integer types

* style: formatting

Co-authored-by: Ankush Menat <ankushmenat@gmail.com>
2022-08-02 15:48:54 +05:30
Ankush Menat
2e85a49fd2
refactor: remove test doctype from core (#17598)
This was commited by mistake, instead of using the test doctype, create
it on demand for tests.
2022-08-01 19:05:13 +05:30
Sagar Vora
d6aa17cc14 chore: add deprecation warning everywhere verbose is used 2022-07-31 00:24:21 +05:30
Sagar Vora
2b873b34dd refactor: remove verbose parameter; add user parameter to Meta.get_permlevel_access 2022-07-30 23:52:20 +05:30
Ankush Menat
d83712d553 feat: delete support for virtual doctypes from desk 2022-07-22 15:42:04 +05:30
Ankush Menat
4c877258f0 test: add tests for virtual doctype desk interactions 2022-07-22 15:34:54 +05:30
Ankush Menat
f1d638473f refactor: add reload function back
Assigning a function to a different name breaks inheritance model.

E.g. doc.reload() won't call virtual doctype's load_from_db but call
original load_from_db
2022-07-22 14:50:13 +05:30
Ankush Menat
e8efd64dbc refactor!: better API contracts for virtual doctype
Current APIs implement class methods as instance method, which is
problamamtic while implementing methods. E.g. If load_from_db doesn't
like empty docname then all class method will stop working.

This change while breaking is essential for usability of virtual
doctype.
2022-07-22 14:26:02 +05:30
Ankush Menat
e88bc35cae refactor: move is_virtual_doctype to relevant file 2022-07-22 14:25:48 +05:30
Gavin D'souza
1dbc0b4d3c fix(db*): Use common fallback Datetime str
There existed inconsistencies between db_query & db's fallback for min
datetime in str format - missing decimal seconds places. Now, we're
storing the default string once and re-using it to reduce
inconsistencies or room for human errors.
2022-07-22 13:19:25 +05:30
gavin
d285ce910f
Merge branch 'develop' into mariadb-client-refactor 2022-07-22 12:11:54 +05:30