* feat(safe_exec): allow usage of `print()`
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* refactor(system_console): update description to mention `print()` instead of `log()`
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* feat: unconditionally add debug logs to response if present
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* chore(safe_exec): add in a test for running `print()` within safe_exec
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* fix(safe_exec): ignore warning
RestrictedPython warns us if we call `print()` don't use their `printed` variable
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* feat: store debug logs from scheduled jobs
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
* fix: avoid ignoring warnings, disabled in prod anyway
* chore: remove unnecessary logging
This can be moved to level 2 when required
---------
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix: attempt to not pass an empty string to `json.loads`
* fix: ignore all falsy fields
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
(cherry picked from commit 6a8cf0689ae8e70f99ffd6957603d6583b4bdf92)
Co-authored-by: Arjun <contact@arjunchoudhary.com>
* chore!: remove redundant translation
* refactor!: remove "get_translated_dict" hook
Instead, include the results from
`frappe.geo.country_info.get_translated_dict` in `get_all_translations`.
* test: money_in_words uses translated currency
... and now we have translations.
* Revert "test: money_in_words uses translated currency"
This reverts commit e07d594ac1ce4b120c0fceb5d23377cb981fe820.
* refactor!: stop translating timezone and currency
* refactor: rename `get_translated_dict`
... to `get_translated_countries`
* fix: Ignore permissions while assigning if flag set
* fix: Avoid double permission checks on assignment rule
When it's triggered via doc events either:
- Permission check is done or
- Permission checks are not applicable
changed check for __islocal as well in savedocs
As new route ends with random hash instead of numbers,
updated cypress test to just check start of data-route instead of entire path
* fix: validation permission on `tag` creation
* refactor: apply checks on all operations
Add/remove both are controlled by update
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* refactor!: Drop handling for SQL queries
This hasn't been supported in really long time, no need to check that
use cases.
It will still fail but with no special error message.
* fix: Catch all import related errors
* fix!: Use last query from hooks
* refactor!: Return search results like any other function
Search results are returned in `results` key which is incosistent from
most other functions
* refactor: simplify search_link
Meta order in most cases is default "modified" which doesn't quite help.
idx is # of times a document is referred to somewhere else, which is
more likely to be relevant.
When `locate` returns 0 it's shown on top instead it should be shown
last or not shown at all.
This is math hack to avoid using any complex SQL functionality which
isn't allowed in DB query.
Certain people add attachment, before filling mandatory fields
which will raise Missing Fields error.
Or any other kind of errors raised by different validators due to which
file is uploaded but doc is not saved.
This will lead to orphaned/mislinked files. ex. new-purchase-receipt-1
This fix changes name of new docs to new-<doctype>-<no>-<10digithash>
after saving the document we can use this new name to find any mislinked
files created in past hour and relink them to the new doc on save.
* fix: Set system timezone for Administrator and Guest users.
* refactor: use constant instead of duplicating
[skip ci]
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>