* refactor: Deduplicate setup_perms_for
`setup_perms_for` has two identical definitions in
frappe/utils/reset_doc.py and
frappe/patches/v7_2/setup_custom_perms.py
Remove definition from setup_custom_perms.py, use import instead
* refactor: Deduplicate get_parent_doc and set_timeline_doc
`get_parent_doc` and `set_timeline_doc` are accidentally defined twice in
frappe/core/utils.py and
frappe/core/doctype/communication/communication.py
Remove definition from communication.py, use import instead
* fix(python3): Replace urlopen import with six.moves.urllib.request.urlopen
Before, 'window.history.back()' was getting executed for all reroutes,
instead of rerouting to the route specified by
frappe.re_route[window.location.hash].
This fix causes 'window.history.back()' to only execute for the special
case where a document is renamed and then the back button is pressed
(as intended). All other reroutes will forward to the appropriate route
specified in frappe.re_route.
The email recieved template was in unsubscribe email. Hence it
didn't used to function in case the emails were sent from DocTypes
like Issue, wherein the unsubscribe email template is not used.
Moved it to email_footer template.
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
* Fix post and post comment permissions
- User should be able to edit only his post/comment
- other post should and comment should be readonly
* Separate scroll to section function
* Add a test fix
* Hide activity on mobile view for now
* fix: Return early if no session user
* chore: Remove empty test files
* Add semicolon
* Return if doc.owner is not present
* fix(Quill): Set value using simple innerHTML assignment
- earlier it used to focus the editor
* fix(Event Emitter): Make EventEmitterMixin
* fix(EmailComposer): Delete draft mail when email is sent
* fix: Override comment area value in Email Composer
* fix(Quill): Enable attaching GIF to editor
* fix: Missing semicolon