* fix: remove doctypes,workspace blocks, files
* fix: minor python tests and UI tests
* fix: remove blog post from tests
* fix: remove blogger as role for tests
* fix: add check for if doctype exists
* fix: ui test
* fix: more cleanup
* fix: cleanup comments and fix test_query
* fix: resolve conflicts
* fix: add warning and handle comments
* 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
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.
* 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
* refactor: show login with frappe cloud button in login page
instead of throwing the user to site-login page, show them all the options
* fix: use is_frappecloud method to check if site is on fc
since `is_fc_site` checks if the user is a system manager and a guest user is not one
* refactor: use a better fc logo
also show login with fc button only for users coming from new signup flow (for now)
* fix: logo alignment with text
* fix: logout to site login page if the site is on Frappe Cloud
* fix: check if the site user is logged in before rendering trial banner
* fix: show dropdown even if the site is not on trial plan
* refactor: don't expose communication secret in boot
* feat: show install app button for fc sites
* fix: remove auth from desk
we can simplify it and let user do auth in fc
* fix: install app button condition
* refactor: use `is_fc_site` method
* fix: return boolean value for `is_fc_site` function
* fix: add install app button in /apps page
* fix: don't generate otp for login to fc
* fix: remove install app option from desk
* fix: design changes for trial banner
* fix: add more details to the `current_site_info` endpoint
also don't render trial banner if trial end date is passed
* fix: don't route user to welcome page
always put them on the site's dashboard
* fix: override base_url when needed
also remove misleading class
* fix: show banner to normal user to contact system admin for plan upgrade
* refactor: redirect from /login instead of every /logout code
* fix: rename login to fc to manage billing
also move it above the divider
* refactor: separate out site-login url from login.py
- fixed chrome_pdf_backend arg by making it int and using it to properly override which pdf generator (chrome / wkhtmltopdf) to use.
- renamed new_pdf_backend to chrome_pdf_backend.
- added chrome_pdf_backend arg in local.from_dict to avoid passing it 4-5 functions deep
- added flag to read_file to return base64 encoded string
- fixed pdf_header_footer_chrome to remove unused subst function call
- added new_pdf_backend flag to get_print_format_template function
This broke for some cases because people had doc permissions, but `has_website_permission()` returns False
Signed-off-by: Akhil Narang <me@akhilnarang.dev>