Commit graph

1767 commits

Author SHA1 Message Date
diptanilsaha
f07c36d423 fix: use slug and quoted utils for URL encoding in get_desk_link 2026-02-21 01:46:04 +05:30
Akhil Narang
cda5b6bda0
fix: restrict the allowed characters in site names (#35134)
Currently you could be left with unusable sites

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2026-02-20 09:17:01 +00:00
Ejaaz Khan
7d9fa49227
Merge pull request #36731 from frappe/fix-get-desk-link
fix: get_desk_link function
2026-02-17 11:32:58 +05:30
Ankush Menat
c9cdacb4ce
feat: Optionally force type checking on whitelisted methods (#36744) 2026-02-05 16:20:41 +05:30
Mihir Kandoi
1a8182b4a4 fix: get_desk_link function 2026-02-05 11:23:52 +05:30
Akhil Narang
c63391b6a7
fix: init proper empty session
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2026-01-15 13:03:07 +05:30
Ankush Menat
6eea3b517b build: Update development version 2026-01-13 12:02:31 +05:30
Akhil Narang
f7feeea0a0
fix: ruff "unsafe" fixes
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-12-22 21:06:48 +05:30
Akhil Narang
8723a2b6ee
fix: ruff fixes
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-12-22 21:06:48 +05:30
sokumon
dd2dc053ca chore: more renames to /desk 2025-12-18 20:45:04 +05:30
Sagar Vora
22899d08de
fix: set default session.user (#35274) 2025-12-16 15:46:33 +05:30
Akhil Narang
5d3f7aaab9
refactor: use qb_query for get_list
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-11-19 21:15:57 +05:30
Diptanil Saha
395af8aa04
fix: clear doc_events_hooks cache during uninstallation of app (#34321)
* fix: clear doc_events_hooks cache during uninstallation of app

* refactor: somewhat cleaner None check

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
2025-10-13 10:30:35 +00:00
Rehan Ansari
f775b0b88e
fix: broken links in get_desk_link with special chars (#33730)
* fix: broken links in get_desk_link with special chars

* fix: pass both encoded_name (for href) and name (for display)

---------

Co-authored-by: rehansari26 <rehan.ansari@cloverinfotech.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2025-08-26 18:05:46 +05:30
rohitwaghchaure
b47e5d47c2
chore: fix issue 2025-08-20 17:37:39 +05:30
rohitwaghchaure
f66121e752
chore: fix conflicts 2025-08-20 17:02:16 +05:30
Rohit Waghchaure
6d1517e7fb fix: only consider the Frappe and ERPNext apps for setup completion checks
(cherry picked from commit d5e1bf06b2b42cea72ee827582831e79edefee66)

# Conflicts:
#	frappe/__init__.py
2025-08-20 10:53:32 +00:00
Ejaaz Khan
da27174935
Merge pull request #33103 from GoravG/feat/desk_link_in_new_tab
feat: Add flag for opening desk links in new tab
2025-07-15 13:41:33 +05:30
Abdeali Chharchhoda
116aebb56f fix: add module information to property setter 2025-07-14 16:51:23 +05:30
Ankush Menat
b74b8f16b7
refactor: slim down init.py further (#33284)
* refactor: move document utils

* test: rewrite init.py test

The LOC is 1000 less than what it used to be.
2025-07-11 15:34:50 +05:30
Ankush Menat
afb720e003
refactor: move stuff away from init.py (#33283)
* chore: Drop unused imports

* refactor: split translation utils from init.py

* refactor: move sendmail from init.py

* refactor: move prints to attach_print
2025-07-11 07:18:16 +00:00
GoravG
d2b3264757 feat(get_desk_link): add flag to open link in new tab 2025-07-08 22:11:33 +05:30
Sagar Vora
56b7786599
fix: drop method-related code from whitelist (#33225) 2025-07-04 09:31:23 +05:30
Sagar Vora
28f8ed0fbd perf: remove unnecessary hasattr call 2025-06-30 23:51:45 +05:30
Sagar Vora
76276566bd test: remove in_test exception in only_for 2025-06-27 13:56:07 +05:30
Sagar Vora
b857a4099a perf: use orjson for faster request processing 2025-06-26 17:37:51 +05:30
Sagar Vora
b3e1eda4c8
feat: global frappe.in_test flag (#32960)
* feat: global `frappe.in_test` flag

* feat: helper utility to toggle `frappe.in_test`

* fix: use `toggle_test_mode` util

* fix: use `frappe.in_test`

* chore: add comment explaining global `in_test`

* chore: ignore commit replacing flag usage

* test: temporarily disable `frappe.in_test`

this worked earlier because flag was set in werkzeug.local which was separate for API test client

* test: add comment explaining change
2025-06-17 19:19:31 +05:30
Sagar Vora
cb0d06455b chore: use frappe._dev_server instead of local.dev_server 2025-06-17 12:03:08 +05:30
Ankush Menat
beefdb9a1f perf: use lazy doc for permission checks 🚀
Co-Authored-By: Sagar Vora <sagar@resilient.tech>
2025-06-11 09:55:45 +05:30
Ankush Menat
4d7348d3c0 refactor: avoid code duplication 2025-06-11 09:55:36 +05:30
Ankush Menat
eb77ddab69 feat: Lazy loaded documents
https://docs.python.org/3/howto/descriptor.html#invocation-from-an-instance

After first invokation, object's __dict__ will be used... then we can
assume rest of the code works as expected (?)
2025-06-11 09:55:01 +05:30
Ankush Menat
12ab20f705 fix: Change local variable name
Shouldn't be same as function name
2025-06-10 23:52:27 +05:30
RitvikSardana
c193aad863
feat: add custom headers to any email in frappe.sendmail (#32820)
* feat: add custom headers to any email in frappe.sendmail

* fix: add headers only when it is provided

* fix: prepend headers with 'X='
2025-06-10 12:38:02 +05:30
Ankush Menat
f9ff807e4c
refactor: Rename get_settings -> get_single_value (#32840)
Not all single doctypes are settings, so this is better. Implicit
caching is fine, same is done for `db` APIs on singles. We *should* aim
for 100% correctness of caching implementation, especially for singles.

Thanks to @netchampfaris for the suggestion.
2025-06-09 04:20:29 +00:00
Ankush Menat
caf415f13e
feat: get_settings (#32821)
* feat: get_settings

get_cached_value doesn't work well with singles because you either need
to pass `None` or repeat doctype name... both are awekward and easy to
shoot yourself in foot with.

* refactor: Use cached settings
2025-06-06 18:34:17 +05:30
Ankush Menat
f1a03200ab fix: clear db.value_cache when clearing doctype cache 2025-06-05 14:46:03 +05:30
rohitwaghchaure
5c6b2b5bec
refactor: track completed app setup wizards and re-run the setup wizard upon new app installation. (#32640) 2025-06-03 12:36:22 +05:30
sokumon
28947b33dd fix: add informative guest message 2025-05-05 16:45:50 +05:30
Ankush Menat
360d19741e fix(recorder): patch replica DB connection 2025-04-24 11:02:03 +05:30
Akhil Narang
294013955e
chore: linting
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:17 +05:30
Akhil Narang
ad32216040
fix: support sqlite
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:16 +05:30
Akhil Narang
0b5e245507
feat: init sqlite
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-04-15 13:59:16 +05:30
jll-02
89ed7c90a7
feat: addes x-priority option to email header and the frappe.sendmail function (#31966)
creating the option to give the email an importance.
1 = Highest, 3 = Normal, 5 = Lowest
commonly used to flag the importance of emails

Co-authored-by: Jan Lukas Liesen <=>
2025-04-11 16:18:19 +05:30
rohitwaghchaure
d69a364e10
fix: item code not showing in the error message (#32028) 2025-04-08 14:20:35 +00:00
Sagar Vora
bd844579d2 refactor: trim frappe.__init__ 2025-04-06 10:30:23 +05:30
Sagar Vora
d82a1a443c perf: reduce attribute access in setup_module_map 2025-03-20 08:28:33 +05:30
Sagar Vora
f51f175ad2 chore: remove invalid type hint 2025-03-20 08:27:29 +05:30
Sagar Vora
41a8b708d1 perf(DX): store hooks in site cache 2025-03-20 07:43:08 +05:30
Sagar Vora
15d753ea52
Merge pull request #31811 from sagarvora/cache-params-directly
perf: cache signature params instead of signature
2025-03-20 01:06:25 +05:30
Sagar Vora
6435a77e41 perf: cache signature params instead of signature 2025-03-20 00:55:52 +05:30