Commit graph

39374 commits

Author SHA1 Message Date
Rushabh Mehta
65f5910dc3 fix(minor): missing parameter 2022-06-09 12:07:04 +05:30
Rushabh Mehta
3ceafc42fd fix(minor): fewer emojis 2022-06-09 12:07:04 +05:30
Rushabh Mehta
378b44a382 fix(minor): fix flaky test 2022-06-09 12:07:04 +05:30
Rushabh Mehta
17d537517b chore: remove console.log 2022-06-09 12:07:04 +05:30
Rushabh Mehta
cc10479e11 fix(minor): fix for customize form 2022-06-09 12:07:04 +05:30
Rushabh Mehta
9bbc592ed4 chore: add semis 2022-06-09 12:07:04 +05:30
Rushabh Mehta
dd14ac5f93 feat(minor): add custom formatters for text type controls 2022-06-09 12:07:04 +05:30
Gavin D'souza
13b18a9118 fix: Regex compilation in boilerplate utils
Flagged via tests in frappe.tests.test_boilerplate
2022-06-09 12:05:07 +05:30
Suraj Shetty
3a2e0ec2a0
Merge pull request #17122 from surajshetty3416/fix-comment-tag-extractor 2022-06-09 11:48:45 +05:30
Ankush Menat
fb4c53908a
Merge branch 'develop' into fix-comment-tag-extractor 2022-06-09 11:32:51 +05:30
Ankush Menat
5b0312c258 Revert "ci: correct last commit for patch test (#17113)"
This reverts commit 4c8787d523.
2022-06-09 11:13:31 +05:30
Ankush Menat
4c8787d523
ci: correct last commit for patch test (#17113) 2022-06-09 10:58:03 +05:30
Suraj Shetty
27b49743e3 fix: Comment tag extractor code 2022-06-09 09:22:07 +05:30
Suraj Shetty
394c0b5eb7
Merge pull request #17121 from frappe/surajshetty3416-patch-1
fix: Erroneous regex usage
2022-06-09 07:12:58 +05:30
Suraj Shetty
8e2555f510
fix: Erroneous regex usage
Fixes: https://github.com/frappe/frappe/pull/17111#issuecomment-1150118499

Issue introduce via: https://github.com/frappe/frappe/pull/17111
2022-06-09 07:12:04 +05:30
naveen
e150d99ff0 chore: Included githubactions in the dependabot config
This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.

Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot

GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-09 01:29:31 +00:00
Deepesh Garg
b86744da83
fix: Customize Form button in Menu Item (#17062)
Users having the ability (permissions) to create Custom Field and Property Setter can do everything that a Customize Form can do, irrespective of whether the user has the System Manager role. So the button in the "Menu" should be visible based on permission instead of Role
2022-06-08 14:56:39 +00:00
Gavin D'souza
32b4983197 fix(re): Pass flags on instantiation 2022-06-08 16:31:58 +05:30
Sagar Vora
df28f32b8b
perf: ~90% faster frappe.get_cached_doc (#17107) 2022-06-08 15:49:11 +05:30
gavin
6f6ded256f
Merge pull request #17111 from gavindsouza/refactor-re
perf: Pre-compile and re-use regexp pattern
2022-06-08 15:05:59 +05:30
Vishal Dhayagude
b04af618f2
fix: fix ux for print preview page (#17087)
Co-authored-by: Shariq Ansari <sharique.rik@gmail.com>
2022-06-08 14:58:06 +05:30
Jannat Patel
d9f9ef28de
fix: translatable web templates (#17086) 2022-06-08 14:48:56 +05:30
Tom-Finke
1b5750f0df
feat(UI): Add beforeunload Listener for 'Leave Site' Dialog to dirty forms (#17059) 2022-06-08 14:42:29 +05:30
gavin
0649d7ce19
Merge branch 'develop' into refactor-re 2022-06-08 14:42:24 +05:30
Gavin D'souza
b696fa6da5 perf: Pre-compile and re-use regexp pattern
Converted all possible usages of re.* that weren't compiling the regex
separately and re-using it. Separated out the compiled patterns as
global variables. Repetitive patterns could be made DRY-er.

Would be nicer to have all regexes in a single module so that we could
re-use better, keep track of outdated, and keep checks for possible
reDos' etc
2022-06-08 14:07:38 +05:30
Maharshi Patel
a79a572f65
fix: print & breadcrumbs for forward slash (#17095) 2022-06-08 13:59:52 +05:30
gavin
67736ef727
Merge pull request #16289 from gavindsouza/refactor-file
refactor: File
2022-06-08 13:15:46 +05:30
gavin
d279f1bb87
Merge pull request #17103 from ruthra-kumar/run_tests_on_module_def
feat: run tests on Module Def
2022-06-08 12:45:39 +05:30
gavin
44dba28159
Merge branch 'develop' into refactor-file 2022-06-08 12:43:35 +05:30
Gavin D'souza
b189672307 test: Skip test_multiple_doctypes_sync for Postgres tests 2022-06-08 12:42:34 +05:30
Ankush Menat
b418aea169
Merge pull request #17097 from mmdanny89/mmdanny89-dev
fix: infinite loop graphic bar
2022-06-08 12:09:49 +05:30
Gavin D'souza
e22ab86651 fix: Show img even if URL ending is unknown - let html handle the stuff
it knows

* Hide Preview if request is errored. EAFP.
* Set file attachment limit based on how many attachments have already
  been added. If 1 attachment exists and the limit is 3, File uploader
will allow you to select only 2 more files.
2022-06-08 12:05:06 +05:30
Gavin D'souza
56d97da32e fix: commit after processing request of "unsafe" http method
ref: https://developer.mozilla.org/en-US/docs/Glossary/safe
2022-06-08 12:03:38 +05:30
Naveen
fd8af163ba
ci: Set permissions for GitHub actions (#17102)
chore: Set permissions for GitHub actions

 Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-08 11:55:16 +05:30
ruthra kumar
a202f1a621 feat: run tests all doctypes in module def 2022-06-08 11:54:36 +05:30
Ankush Menat
59a9be4caf refactor: simplify timegrain conditions
All special handling for timegrains is same as general handling, no idea why it's done
like this.
2022-06-08 11:53:14 +05:30
Suraj Shetty
43bb6ee9ac
Merge pull request #17104 from surajshetty3416/fix-user-role 2022-06-08 10:28:12 +05:30
Suraj Shetty
fca0853ebd fix: Avoid unnecessary "Not Found" error message 2022-06-08 09:54:30 +05:30
Suraj Shetty
0c28820bcc fix: Reset role editor while loading new user form 2022-06-08 09:41:35 +05:30
Ankush Menat
eac73f6765
fix: better error logging for setup exceptions (#17096)
fix: better error loggin for setup failure
2022-06-07 19:05:30 +05:30
mmdanny89
4850c0d4fe
infinite loop graphic bar
When Period is Yearly and Date Range is Last Year in Graphic Bar
2022-06-07 09:12:23 -04:00
Gavin D'souza
9c02205fc1 perf: Cache is_virtual_doctype with maxsize 128 2022-06-07 18:36:38 +05:30
Gavin D'souza
f03a7162ed feat(site_cache): Add maxsize to site_cache, defaults to None 2022-06-07 18:35:46 +05:30
Gavin D'souza
9f2d3bf33e fix: Clear site_cache, request_cache on clear_cache 2022-06-07 18:17:44 +05:30
Gavin D'souza
39fe348ee9 perf: frappe.get_hooks
From 115 µs ± 2.31 µs to 2.69 µs ± 27 ns per call

Changes:
* Use request_cache over get_installed_apps, _load_app_hooks
* Refactor logic for default - so that None is an acceptable value
* Remove handling of webnotes app in get_hooks - 8yo code ^_^
2022-06-07 18:09:57 +05:30
Gavin D'souza
b04e1908f1 perf: Speed up request_cache
Sped up request_cache access times multi-fold with the help of a
benchmarking script. Access times for this generic cache is comparable
to specific caches written (eg: get_meta's local cache) by an additional
overhead of 15% as compared to implementing it in each function separately

* Got rid of logging
* Optimized bits with the help of benchmarking script against
  frappe.get_meta's performance
* Use hash instead of json.dumps
2022-06-07 15:56:26 +05:30
Gavin D'souza
958745fbc0 refactor(minor): Website Settings 2022-06-07 15:56:26 +05:30
Gavin D'souza
9afe5e9490 test: Added tests for site_cache, request_cache 2022-06-07 15:56:26 +05:30
Gavin D'souza
061703ab17 feat(site_cache): Allow 'time to live' param for cache
Want to automatically expire your cache every 60s? site_cache has got you.
2022-06-07 15:56:26 +05:30
gavin
3be3b83c4f feat: frappe.utils.caching.site_cache
Decorator to cache method calls across requests. The cache is stored in
frappe.utils.caching._SITE_CACHE. The cache persists on the parent process.
It offers a light-weight cache for the current process without the additional
overhead of serializing / deserializing Python objects.

Note: This cache isn't shared among workers. If you need to share data across
workers, use redis (frappe.cache API) instead.

Usage:
    from frappe.utils.caching import site_cache

    @site_cache
    def calculate_pi():
        import math, time
        precision = get_precision("Math Constant", "Pi") # depends on
        site data
	return round(math.pi, precision)

    calculate_pi(10) # will calculate value
    calculate_pi(10) # will return value from cache
    calculate_pi.clear_cache() # clear this function's cache for all sites
    calculate_pi(10) # will calculate value
2022-06-07 15:56:26 +05:30