* 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>
* 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`
This PR switches the loop in the `validate_receiver_nos` function in the SMS Settings Doctype from `break` to `continue`.
The prior functionality would throw an error if any recipients on the receiver_list were invalid, which created an issue with SMS notifications that send to a user role, since any user without a valid mobile phone number would prevent the notification sending to any users (even those with valid mobile numbers).
By switching the loop from `break` to `continue`, the function still eliminates invalid entries and enforces the existence of at least one valid phone number, but doesn't break sending based on a single absent or invalid recipient entry.
[skip ci]