* feat: consistent, translatable timeline messages
* fix: save only filename for attachment comments
The rest of the comment will be added and translated ad-hoc by form_timeline.js
* patch: clean up Comments of type "Attachment"
* feat: further message types
* style: format with prettier
* test: cypress timeline
Timeline now correctly displays "You ..." instead of "{User} ..."
* feat: german transations for timeline comments
* fix: enable auto_commit_on_many_writes
* fix: don't update modified timestamp in patch
The implementation of syncing unique and non-unique index depended on
index names which used to be different before because of that there's
tendency to incorrectly identify index.
This PR adds a separate util for checking if a column has index without
relying on naming convention. It just goes and checks if there's any
index with that column in it, hence far more reliable.
Currently we are doing aggregation of remaining slices manually BUT this
breaks basic principle of DRY:
- dashboard chart decides how many groups to consider
- frappe charts has different maxSlices config
This results in mess like frappe computing "Other" and Frappe charts
computing "rest" separately.
Fix: Just pass all data to charts and let it figure out the "Rest".
* feat: Added Subscription Banner for remotely logging into FrappeCloud dashboard from site (#18263)
* feat: added Subscription Banner and Manage Subscription button
* feat[patch]: added a patch for adding `Manage Subscription` button in
navbar_settings
* chore: removed console ;)
* refactor: make the `Manage Subscription` navbar item optional
* keep it hidden by default, only show when the site configs are present
* style: prettier, isort and stuff
* chore: handling null responses, translation and refactored patch
* fix: correct index reset
* perf: reduce network/db calls
If not sys manager then why make a request?
* fix: removed network call and added subscription_expiry to boot process
* chore: added enable_manage_susbcriptions as daily background job and refactored patch
* chore: added hook to hooks.py
* this looks clean enough, also don't have insert for child tables ;)
Co-authored-by: Ankush Menat <ankush@frappe.io>
(cherry picked from commit 68f315d372cc8c6e41f2aabda61eba0d42dcf6e4)
# Conflicts:
# frappe/patches.txt
* chore: conflicts
* style: format
[skip ci]
Co-authored-by: Rutwik Hiwalkar <50401596+rutwikhdev@users.noreply.github.com>