Commit graph

222 commits

Author SHA1 Message Date
Ankush Menat
0e92fc9bf5 fix: Clear cache after role perm manager 2023-06-19 16:29:35 +05:30
Ankush Menat
3005e66e45 refactor!: Drop previously deprecated code 2023-06-13 16:00:43 +05:30
Ankush Menat
98260b3c88
fix(UX): show perm server messages on file uploader (#21331) 2023-06-12 13:53:08 +05:30
Ankush Menat
fa6dc03cc8
refactor: frappe.cache() usage to frappe.cache (#21282) 2023-06-08 11:47:17 +05:30
Ankush Menat
d0a24e66c5
fix: incorrect caching of is_owner permissions (#21048)
- Create a doctype
- Pick any role and only allow owner to create, read, write.
- after_insert hook re-save the document
- This will fail because there's a function call to `frappe.only_has_select_perm` which doesn't pass the is_owner, this is likely acceptable if document is not available.

Fix: cache should be separate for is_owner

Triggered from but not caused by https://github.com/frappe/frappe/pull/20810
2023-05-19 09:34:48 +05:30
Marica
90f8f945b4
feat: Disable Sharing globally (#20318)
* feat: Disable Sharing globally

- Checkbox in System Settings
- If disabled, avoid share UI render
- Share APIs return None (non-obstructing) if share APIs are invoked

* feat: Settings checkbox must toggle share permission globally

- Treat feature like a perm toggler. Essentially noone is allowed to explicity share anything
- Implicit sharing via `ignore_share_permissions` is allowed. Devs can decide where sharing should happen under the hood
- UI is made read only and not hidden. Users must see who doc is already shared with
- Make sure perm APIs used by share feature return false if sharing is disabled
- Rename checkbox to `Disable Document Sharing`

* test: (server side) Impact of disabling sharing on APIs

- Also, fix missed system setting rename in `assign_to`

* fix: Inform assigner if assignee lacks perms and sharing is disabled

- misc: readable conditions

* fix: throw instead of msgprint

* fix: Typo and appropriate message for `throw`

---------

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-03-28 18:13:37 +05:30
Ankush Menat
8446875257
refactor!: Remove "Set user permission" permtype (#20090)
This has never worked and setting user permission requires system
manager role always (because of permissions on list view)
2023-02-20 16:07:49 +05:30
Ankush Menat
3f1deeba67
fix: can't sign out due to missing roles (#19905) 2023-02-02 22:53:24 +05:30
Ankush Menat
1eab4e4253
fix: Convert doctype name to string (#19832) 2023-01-30 14:11:38 +05:30
Ritwik Puri
fabe3906aa
chore: remove deprecated check_admin_or_system_manager function (#19540) 2023-01-09 18:32:09 +05:30
jiangying
f18135b52b
chore: simplify frappe/permissions.py raise_exception condition assignment (#19518)
* simplify frappe/permissions.py raise_exception
2023-01-09 13:03:59 +05:30
Raffael Meyer
77ce90dc63
fix: user perm check message (#19165)
* fix: german translation for perm check message

* fix: all the translations  💬
2022-12-08 18:46:06 +05:30
Sagar Vora
73edbf7ff3 fix: validate parentfield while checking child perms 2022-12-04 20:06:26 +00:00
Sagar Vora
389e675764 fix: ensure correct parenttype when retrieving roles 2022-12-05 00:44:09 +05:30
Ankush Menat
2eec621e95 chore: db.get_all -> get_all
Reduces 1 pointless function call.
Function calls are also not "super cheap" in python.
2022-08-22 11:35:14 +05:30
Sagar Vora
c82b6e758e
Merge pull request #17681 from resilient-tech/fix-child-perm
refactor: improved child table permission check
2022-08-09 10:15:36 +00:00
Sagar Vora
7a19d65ea4 chore: improve docstring 2022-08-09 12:14:26 +05:30
vishdha
9a50c30586 fix: add_user_permission with applicale_for arg set not updating in user permission 2022-08-05 00:27:38 +02:00
Sagar Vora
53118367b2 fix: use warn util 2022-08-02 19:08:02 +05:30
Sagar Vora
56717602b4 fix: reverse logic for failing permission check 2022-08-02 04:09:01 +05:30
Sagar Vora
61ec026712 refactor: improve frappe.only_for 2022-08-01 22:10:25 +00:00
Sagar Vora
d6aa17cc14 chore: add deprecation warning everywhere verbose is used 2022-07-31 00:24:21 +05:30
Sagar Vora
2b873b34dd refactor: remove verbose parameter; add user parameter to Meta.get_permlevel_access 2022-07-30 23:52:20 +05:30
Sagar Vora
a63363d433 refactor: has_child_table_permission => has_child_permission 2022-07-30 21:56:35 +05:30
Sagar Vora
7183efa60d fix: assume parentfield to be set and valid 2022-07-30 21:07:02 +05:30
Sagar Vora
4c4d9ac60e fix: check permlevel only if > 0 2022-07-30 20:49:25 +05:30
Sagar Vora
30175f426e fix: dont init child doc 2022-07-30 20:02:32 +05:30
Sagar Vora
35671295ee fix: handle permlevel 2022-07-30 19:51:28 +05:30
Sagar Vora
05c1cb30c6 fix: get correct doc when checking child table permission 2022-07-30 18:59:51 +05:30
Ankush Menat
b5128a35fd
refactor: simplify fetching of readable records (#17417)
- remove encoding, use cstr directly
- remove falsy values by default None, empty string.
2022-07-07 14:40:59 +05:30
Ankush Menat
9a5d11234c
fix: validate scheduler, hook method names (#17400)
* chore: warn about missing scheduler / doc events

* fix: pass list instead of filter

filter can only be iterated upon once

* refactor: many typehints in __init__.py
2022-07-04 19:29:16 +05:30
Ankush Menat
81b37cb7d2
refactor: clean up code to py310 supported features (#17367)
refactor: clean up code to py39+ supported syntax

- f-strings instead of format
- latest typing support instead of pre 3.9 TitleCase
- remove UTF-8 declarations.
- many more changes

Powered by https://github.com/asottile/pyupgrade/ + manual cleanups
2022-07-01 11:51:05 +05:30
Gavin D'souza
084a1e6c31 refactor: get_permissions
* Show page even if dangling Custom DocPerm records encountered
* Add typing hints
* Cleanup APIs
2022-06-27 15:18:06 +05:30
Suraj Shetty
c0c5b2ebdd
style: format all python files using black (#16453)
Co-authored-by: Frappe Bot <developers@frappe.io>
2022-04-12 10:59:25 +05:30
Shariq Ansari
d97c7e7caf
fix: resolved conflicts in permissions.py 2022-03-21 18:05:01 +05:30
Shariq Ansari
10fbb4330a fix: setting permissions to any role of some doctypes is not working
(cherry picked from commit 6612232babd61852e90ccfc2ca836397d80506cf)

# Conflicts:
#	frappe/permissions.py
2022-03-21 05:50:56 +00:00
barredterra
dac9349aef refactor: use is bool instead of == bool 2022-01-17 15:40:33 +01:00
barredterra
b1383df15a refactor: use is None instead of == None 2022-01-17 10:37:51 +01:00
Ahmad
bc675bab4a fix: Convert user to lower case before equating
Co-authored-by: Sagar Vora <sagar@resilient.tech>
2021-12-13 15:54:14 +05:30
ahmadpak
22b89f2152 fix: method-get_doc_permissions 2021-12-13 15:53:44 +05:30
Suraj Shetty
4e6ea8fdbd fix: Docstring of has_permission & made error title translatable
- doctype -> DocType
- fixed other typo
2021-10-28 15:25:45 +05:30
Suraj Shetty
bf34de1d04 fix: Assume that child doc will have parent references 2021-10-28 15:06:38 +05:30
Suraj Shetty
7670c0430a fix: Simplify code and fix typo 2021-10-28 14:49:52 +05:30
Suraj Shetty
cb76118268 refactor: Check parent validity using parent meta 2021-10-28 13:41:12 +05:30
Suraj Shetty
9ce52fcd18 fix: Properly pass kwargs to has_permission of parent 2021-10-28 11:17:10 +05:30
Suraj Shetty
b68d6fe879 fix: typo 2021-10-27 13:57:44 +05:30
Suraj Shetty
9189c62437 fix: Pass parent_doctype while checking permission for child_table in db_query 2021-10-27 13:52:34 +05:30
Suraj Shetty
64822df6ff
Merge branch 'develop' into fix-has-permission-for-child-doc 2021-10-27 13:07:44 +05:30
Suraj Shetty
0f98b4d174 fix: Make parent_doctype mandatory while accessing child doctype 2021-10-27 12:59:42 +05:30
Suraj Shetty
494cc83bde fix: Return parent doc object for further permission check 2021-10-26 14:30:13 +05:30