Commit graph

2457 commits

Author SHA1 Message Date
Ankush Menat
005e74b20d
perf: Avoid coalesce for between filters (#26531)
- Avoid on `between` + date
- Avoid on timestamp fields
- Avoid on `>` and `>=` comparisons
2024-05-22 09:32:59 +00:00
Ankush Menat
025727674f
fix: scheduled type syncing (#26490)
- Scheduled Job sync when type was changed from scheduled to some other
  type didn't work.
- It updates on every save with message, bad DX IMO (can't save script
  and edit without dismissing)
- This was because of complex walrus which was triggering rest of code
  even when nothing changed. Maybe walrus opponents were onto something.
- `Truthy` couples two different operations and hence makes code
  complicated. In most cases where these checks are required it's not
  performance critical, we can do 1 more function call to avoid this
  coupling of change + actual value.
2024-05-20 13:43:20 +00:00
Ankush Menat
803f7b3990
fix: Don't fiddle with child table indexes (#26450)
- Link fields when referred to increase idx
- This is used in search.py to rank most referred documents higher than
- This doesn't make for child table links at all.
2024-05-16 17:09:56 +05:30
Ankush Menat
bbf18d39cc
Merge pull request #26369 from gavindsouza/refactor-scheduled-server_script
refactor!: Server Script (Scheduler Event) & misc APIs
2024-05-13 20:25:29 +05:30
Raffael Meyer
da740081c6
fix: make rename_doc work pre_model_sync (#26419) 2024-05-13 13:32:23 +05:30
Ankush Menat
53517630ae
fix: Increase folder link field size (#26381)
* fix: increase folder length to 255

File `name` is 255 because it's bootstrapped using mariadb.sql, so users
can create 255 char long folders but can't store anything in it.

* fix(UX): slightly better character len message

Highlight field by making it bold.
2024-05-09 12:10:21 +05:30
Gavin D'souza
ffbf7fb9d1
fix!: Document.has_value_changed returns Truthy or False
- Return changed value to avoid re-accessing previous object & it's
   attribute
 - Wrap returned value as Truthy to avoid breaking change in API
2024-05-07 17:29:48 +02:00
Ankush Menat
ff31290d33
Merge pull request #25971 from rutwikhdev/discard-transactions
feat: Discard transactions
2024-04-29 16:08:37 +05:30
Ankush Menat
7b0074e059
refactor!: override_doctype -> Must extend base class (#26152)
* fix: pointless conditions about systemd/supervisor

What does this have to do with hostname?

* fix!: Overriden doctypes must inherit same base class

There is almost never a real need to completely override a class. After
this change we'll only allow extending and not overriding completely.
2024-04-29 10:21:53 +00:00
Ankush Menat
1e4c182b52
fix: retry count per doc instead of global (#26159) 2024-04-25 09:34:52 +00:00
Rutwik Hiwalkar
657faea60d chore: drop dead comment 2024-04-23 21:11:55 +05:30
Rutwik Hiwalkar
fa18de6302 chore: check_if_latest for discard action 2024-04-23 20:35:36 +05:30
Kareem Kouddous
27948bccc7
fix: Renaming when doctype is used as a virtual link docfield fails (#26025) 2024-04-23 11:35:30 +00:00
Rutwik Hiwalkar
5335d6c19c chore: revert transition rule for 0 to 2
doing explicit transition check for discard because,
* there's only one transition check that is required
* draft(0) > cancelled(2) and submitted(1) > cancelled(2) are valid
  checkes for save so it doesn't make sense editing
  check_docstatus_transition
2024-04-17 20:51:04 +05:30
Rutwik Hiwalkar
82d61b32e4 fix: misc fixes for discard action
* use write perms instead of cancel
* update docstring
* remove discard from global namespace
2024-04-17 12:32:34 +05:30
Rutwik Hiwalkar
b274c45992 feat: discard draft transactions 2024-04-16 19:46:34 +05:30
Akhil Narang
23be301046
Merge pull request #25902 from akhilnarang/minor-cleanup
chore: minor code cleanup
2024-04-12 11:21:38 +05:30
Akhil Narang
306c923986
chore: minor code cleanup
- Use walrus operator where possible
- Drop redundant checks - we anyway can't iterate over an empty list

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2024-04-10 17:22:45 +05:30
Ankush Menat
caf7aec286
feat(APIv2): Add comment via REST API (#25889)
```
POST /document/Sales Order/S0-123/add_comment
{
    text: "Comment"
}
```
2024-04-10 10:53:22 +00:00
Revant Nandgaonkar
7e16e902d9
feat: allow wildcard for doctype in permission hooks (#25729)
* feat: allow wildcard for doctype in permission hooks

* fix: pass doctype to permission query

* fix: combine methods instead of alternate

* test: wildcard has_permssion hook

* test: wildcard has_permssion make note public

* fix: fetch list of hooks once
2024-04-10 11:44:37 +05:30
Ankush Menat
b493bfe7c2 fix(DX): annotate chainable methods with Self return 2024-04-06 11:04:55 +05:30
Ankush Menat
30f00fd5f3 fix: invlaid integer validations for biging
closes https://github.com/frappe/frappe/issues/25566
2024-04-06 11:04:55 +05:30
Ankush Menat
1ec4d658fc fix: Allow setting UUID to application code 2024-03-29 19:02:28 +05:30
Ankush Menat
6c79a13641 feat: UUID naming support 2024-03-29 19:02:28 +05:30
Ankush Menat
87ffe25e71
fix: reserved keywords as col name (#25718) 2024-03-29 15:43:33 +05:30
Ankush Menat
23204c0c05
Merge pull request #25256 from ankush/no_commit_doc_events
fix: disable transaction commits during doc events
2024-03-28 12:28:12 +05:30
Ankush Menat
f66b23b96d fix: handle nested event calls
Treat disable_transaction_control as a stack incr/decr when moving in
and out of context.
2024-03-28 11:27:24 +05:30
Ankush Menat
432c8cf48c
Merge pull request #25624 from ankush/creation
fix!: Switch to `creation` as default sort order
2024-03-27 13:25:53 +05:30
Ankush Menat
ff1f8ddbda
fix: allow any sequence container (#25664) 2024-03-27 06:31:15 +00:00
Ankush Menat
dbcf7ad30c refactor: update usage of modified everywhere 2024-03-27 11:23:13 +05:30
Ankush Menat
071e269548 fix!: Switch to creation as default sort order 2024-03-27 11:18:28 +05:30
Dany Robert
6e02df7ea2
fix: ordered fields on get_list returning list (#25663)
* fix: ordered `fields` on get_list returning list

* chore: linters
2024-03-27 05:11:09 +00:00
Ankush Menat
76096f5fb8
perf: use meta for virtual and single checks (#25620)
RQ workers spawn a new process for every job so site_cache does
nothing to prevent repeated queries.
2024-03-26 13:10:15 +05:30
Ankush Menat
a12fc118f4
perf: remove useless sorting on docstatus (#25571) 2024-03-21 06:17:23 +00:00
Ankush Menat
f642b1881f fix: invalid select star expansions 2024-03-20 16:31:02 +05:30
Ankush Menat
065674236c refactor: duplicate check for * 2024-03-20 12:29:58 +05:30
Ankush Menat
5eca52b2c7 fix: only trim tab if it starts with tab 2024-03-20 12:29:58 +05:30
Ankush Menat
ea193ecd48 Revert "Revert "fix: search_link fails when txt contains parentheses (#22892)""
This reverts commit c0cf13b8e8.
2024-03-20 12:29:57 +05:30
Ankush Menat
8a7beebf30
fix: handle distinct for fieldname (#25511)
`distinct count(fieldname)` is supported well but `count(distinct fieldname)` fails if fieldname contains full field with table name included. This PR just adds basic handling for it.

Needs to be rewritten entirely in QB __some day__.
2024-03-18 13:38:29 +00:00
Ankush Menat
adf24b24d4
perf: use base32 space for random names instead of base16 (#25497) 2024-03-17 20:02:57 +05:30
Ankush Menat
ce124d8ec2
fix: Skip virtual doctype rename for dynamic links (#25479) 2024-03-15 14:01:40 +00:00
Ankush Menat
b28db475fd
fix: Skip virtual doctypes while renaming (#25473) 2024-03-15 18:56:22 +05:30
Ankush Menat
f6e58f229c
fix: child table rating fields (#25433) 2024-03-14 09:19:29 +00:00
Ankush Menat
8a3dd85503
Merge pull request #25295 from ankush/virtual-doctype-dx
fix(DX)!: virtual doctype APIs
2024-03-11 18:37:20 +05:30
Ankush Menat
f7c0dd66fd refactor: migrate virtual doctypes to new API 2024-03-11 18:25:05 +05:30
Ankush Menat
b8c4eff68a fix: Skip child table management for children of virt doctypes 2024-03-11 18:15:25 +05:30
Ankush Menat
a28921750d fix(DX): Avoid use of args in virtual doctype 2024-03-11 15:20:35 +05:30
Ankush Menat
68a78d33d3 fix!: Enqueue action after commit 2024-03-11 14:19:59 +05:30
Ankush Menat
495273dcf9 fix: faster change of hash prefix 2024-03-10 21:48:56 +05:30
Ankush Menat
665f1fdf79 perf: optimize hash naming for MySQL storage
Random names can send rows all over the place, typically documents
created closer in time should live closer on mysql pages too.
2024-03-10 21:22:36 +05:30