wbcore 1.61.3__py2.py3-none-any.whl → 1.61.5__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. wbcore/configurations/base.py +2 -2
  2. wbcore/configurations/configurations/apps.py +1 -1
  3. wbcore/configurations/configurations/rest_framework.py +1 -1
  4. wbcore/contrib/agenda/viewsets/menu/calendar_items.py +1 -2
  5. wbcore/contrib/agenda/viewsets/menu/conference_room.py +4 -5
  6. wbcore/contrib/authentication/admin.py +15 -2
  7. wbcore/contrib/authentication/factories/users.py +4 -2
  8. wbcore/contrib/authentication/migrations/0008_user_is_internal.py +18 -0
  9. wbcore/contrib/authentication/models/users.py +16 -6
  10. wbcore/contrib/authentication/serializers/users.py +1 -1
  11. wbcore/contrib/authentication/viewsets/menu/user_activities.py +6 -3
  12. wbcore/contrib/authentication/viewsets/menu/users.py +1 -2
  13. wbcore/contrib/authentication/viewsets/users.py +2 -2
  14. wbcore/contrib/currency/tests/test_serializers.py +3 -1
  15. wbcore/contrib/directory/admin/entries.py +1 -1
  16. wbcore/contrib/directory/models/entries.py +21 -30
  17. wbcore/contrib/directory/tests/test_permissions.py +2 -4
  18. wbcore/contrib/directory/viewsets/endpoints/relationships.py +1 -2
  19. wbcore/contrib/directory/viewsets/entries.py +1 -1
  20. wbcore/contrib/directory/viewsets/menu/contacts.py +2 -3
  21. wbcore/contrib/directory/viewsets/menu/entries.py +5 -14
  22. wbcore/contrib/directory/viewsets/menu/relationships.py +2 -3
  23. wbcore/contrib/directory/viewsets/menu/utils.py +8 -9
  24. wbcore/contrib/documents/models/documents.py +1 -1
  25. wbcore/contrib/documents/viewsets/documents.py +3 -3
  26. wbcore/contrib/geography/viewsets/geography.py +1 -1
  27. wbcore/contrib/permission/apps.py +15 -0
  28. wbcore/contrib/permission/configurations.py +3 -0
  29. wbcore/contrib/{guardian → permission}/filters.py +2 -2
  30. wbcore/contrib/permission/internal/registry.py +43 -0
  31. wbcore/contrib/permission/management/__init__.py +4 -0
  32. wbcore/contrib/permission/migrations/0001_initial.py +54 -0
  33. wbcore/contrib/{guardian → permission}/models/mixins.py +73 -3
  34. wbcore/{permissions → contrib/permission}/permissions.py +1 -3
  35. wbcore/contrib/permission/tasks.py +18 -0
  36. wbcore/{tests/test_permissions → contrib/permission/tests}/test_backend.py +4 -6
  37. wbcore/contrib/{guardian → permission}/tests/test_model_mixins.py +6 -6
  38. wbcore/contrib/{guardian → permission}/tests/test_tasks.py +7 -7
  39. wbcore/contrib/{guardian → permission}/tests/test_utils.py +12 -12
  40. wbcore/contrib/{guardian → permission}/tests/test_viewsets.py +3 -3
  41. wbcore/contrib/{guardian → permission}/urls.py +1 -1
  42. wbcore/contrib/{guardian → permission}/utils.py +32 -4
  43. wbcore/contrib/{guardian → permission}/viewsets/configs/buttons.py +2 -2
  44. wbcore/contrib/{guardian → permission}/viewsets/configs/displays.py +1 -1
  45. wbcore/contrib/{guardian → permission}/viewsets/configs/endpoints.py +3 -3
  46. wbcore/contrib/{guardian → permission}/viewsets/configs/titles.py +1 -1
  47. wbcore/contrib/{guardian → permission}/viewsets/mixins.py +2 -2
  48. wbcore/contrib/{guardian → permission}/viewsets/viewsets.py +2 -2
  49. wbcore/contrib/workflow/viewsets/menu/condition.py +2 -3
  50. wbcore/contrib/workflow/viewsets/menu/data.py +2 -7
  51. wbcore/contrib/workflow/viewsets/menu/process.py +2 -5
  52. wbcore/contrib/workflow/viewsets/menu/step.py +16 -21
  53. wbcore/contrib/workflow/viewsets/menu/transition.py +2 -3
  54. wbcore/contrib/workflow/viewsets/menu/workflow.py +2 -5
  55. wbcore/tests/models.py +1 -1
  56. wbcore/urls.py +2 -2
  57. {wbcore-1.61.3.dist-info → wbcore-1.61.5.dist-info}/METADATA +1 -1
  58. {wbcore-1.61.3.dist-info → wbcore-1.61.5.dist-info}/RECORD +69 -70
  59. wbcore/contrib/guardian/apps.py +0 -6
  60. wbcore/contrib/guardian/configurations.py +0 -3
  61. wbcore/contrib/guardian/migrations/0001_initial.py +0 -103
  62. wbcore/contrib/guardian/tasks.py +0 -12
  63. wbcore/permissions/mixins.py +0 -72
  64. wbcore/permissions/registry.py +0 -33
  65. wbcore/permissions/shortcuts.py +0 -38
  66. wbcore/permissions/utils.py +0 -26
  67. /wbcore/contrib/{guardian → permission}/__init__.py +0 -0
  68. /wbcore/contrib/{guardian/migrations → permission/internal}/__init__.py +0 -0
  69. /wbcore/{permissions → contrib/permission/internal}/backend.py +0 -0
  70. /wbcore/contrib/{guardian/tests → permission/migrations}/__init__.py +0 -0
  71. /wbcore/contrib/{guardian → permission}/models/__init__.py +0 -0
  72. /wbcore/contrib/{guardian → permission}/models/models.py +0 -0
  73. /wbcore/{permissions → contrib/permission/tests}/__init__.py +0 -0
  74. /wbcore/contrib/{guardian → permission}/tests/conftest.py +0 -0
  75. /wbcore/contrib/{guardian → permission}/viewsets/__init__.py +0 -0
  76. /wbcore/contrib/{guardian → permission}/viewsets/configs/__init__.py +0 -0
  77. {wbcore-1.61.3.dist-info → wbcore-1.61.5.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
- from wbcore.contrib.guardian.filters import ObjectPermissionsFilter
1
+ from wbcore.contrib.permission.filters import ObjectPermissionsFilter
2
2
  from wbcore.viewsets.mixins import FilterMixin
3
3
 
4
4
 
5
- class GuardianFilterMixin(FilterMixin):
5
+ class ObjectPermissionFilterMixin(FilterMixin):
6
6
  filter_backends = (ObjectPermissionsFilter, *FilterMixin.filter_backends)
@@ -7,8 +7,8 @@ from rest_framework.exceptions import ValidationError
7
7
  from wbcore import serializers, viewsets
8
8
  from wbcore.contrib.authentication.models.users import Permission, User
9
9
  from wbcore.contrib.authentication.serializers import UserRepresentationSerializer
10
- from wbcore.contrib.guardian.models import UserObjectPermission
11
- from wbcore.contrib.guardian.viewsets.configs import (
10
+ from wbcore.contrib.permission.models import UserObjectPermission
11
+ from wbcore.contrib.permission.viewsets.configs import (
12
12
  PivotUserObjectPermissionButtonViewConfig,
13
13
  PivotUserObjectPermissionDisplayViewConfig,
14
14
  PivotUserObjectPermissionEndpointViewConfig,
@@ -1,19 +1,18 @@
1
1
  from django.utils.translation import gettext as _
2
2
 
3
3
  from wbcore.menus import ItemPermission, MenuItem
4
- from wbcore.permissions.shortcuts import is_internal_user
5
4
 
6
5
  CONDITION_MENUITEM = MenuItem(
7
6
  label=_("Condition"),
8
7
  endpoint="wbcore:workflow:condition-list",
9
8
  permission=ItemPermission(
10
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_condition"]
9
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_condition"]
11
10
  ),
12
11
  add=MenuItem(
13
12
  label=_("Create Condition"),
14
13
  endpoint="wbcore:workflow:condition-list",
15
14
  permission=ItemPermission(
16
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_condition"]
15
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_condition"]
17
16
  ),
18
17
  ),
19
18
  )
@@ -1,19 +1,14 @@
1
1
  from django.utils.translation import gettext as _
2
2
 
3
3
  from wbcore.menus import ItemPermission, MenuItem
4
- from wbcore.permissions.shortcuts import is_internal_user
5
4
 
6
5
  DATA_MENUITEM = MenuItem(
7
6
  label=_("Data"),
8
7
  endpoint="wbcore:workflow:data-list",
9
- permission=ItemPermission(
10
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_data"]
11
- ),
8
+ permission=ItemPermission(method=lambda request: request.user.is_internal, permissions=["workflow.view_data"]),
12
9
  add=MenuItem(
13
10
  label=_("Create Data"),
14
11
  endpoint="wbcore:workflow:data-list",
15
- permission=ItemPermission(
16
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_data"]
17
- ),
12
+ permission=ItemPermission(method=lambda request: request.user.is_internal, permissions=["workflow.add_data"]),
18
13
  ),
19
14
  )
@@ -1,19 +1,16 @@
1
1
  from django.utils.translation import gettext as _
2
2
 
3
3
  from wbcore.menus import ItemPermission, MenuItem
4
- from wbcore.permissions.shortcuts import is_internal_user
5
4
 
6
5
  PROCESS_MENUITEM = MenuItem(
7
6
  label=_("Process"),
8
7
  endpoint="wbcore:workflow:process-list",
9
- permission=ItemPermission(
10
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_process"]
11
- ),
8
+ permission=ItemPermission(method=lambda request: request.user.is_internal, permissions=["workflow.view_process"]),
12
9
  )
13
10
  PROCESSSTEP_MENUITEM = MenuItem(
14
11
  label=_("Process Step"),
15
12
  endpoint="wbcore:workflow:processstep-list",
16
13
  permission=ItemPermission(
17
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_processstep"]
14
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_processstep"]
18
15
  ),
19
16
  )
@@ -1,19 +1,18 @@
1
1
  from django.utils.translation import gettext as _
2
2
 
3
3
  from wbcore.menus import ItemPermission, MenuItem
4
- from wbcore.permissions.shortcuts import is_internal_user
5
4
 
6
5
  STARTSTEP_MENUITEM = MenuItem(
7
6
  label=_("Start Step"),
8
7
  endpoint="wbcore:workflow:startstep-list",
9
8
  permission=ItemPermission(
10
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_startstep"]
9
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_startstep"]
11
10
  ),
12
11
  add=MenuItem(
13
12
  label=_("Create Start Step"),
14
13
  endpoint="wbcore:workflow:startstep-list",
15
14
  permission=ItemPermission(
16
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_startstep"]
15
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_startstep"]
17
16
  ),
18
17
  ),
19
18
  )
@@ -21,14 +20,12 @@ STARTSTEP_MENUITEM = MenuItem(
21
20
  USERSTEP_MENUITEM = MenuItem(
22
21
  label=_("User Step"),
23
22
  endpoint="wbcore:workflow:userstep-list",
24
- permission=ItemPermission(
25
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_userstep"]
26
- ),
23
+ permission=ItemPermission(method=lambda request: request.user.is_internal, permissions=["workflow.view_userstep"]),
27
24
  add=MenuItem(
28
25
  label=_("Create User Step"),
29
26
  endpoint="wbcore:workflow:userstep-list",
30
27
  permission=ItemPermission(
31
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_userstep"]
28
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_userstep"]
32
29
  ),
33
30
  ),
34
31
  )
@@ -37,13 +34,13 @@ DECISIONSTEP_MENUITEM = MenuItem(
37
34
  label=_("Decision Step"),
38
35
  endpoint="wbcore:workflow:decisionstep-list",
39
36
  permission=ItemPermission(
40
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_decisionstep"]
37
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_decisionstep"]
41
38
  ),
42
39
  add=MenuItem(
43
40
  label=_("Create Decision Step"),
44
41
  endpoint="wbcore:workflow:decisionstep-list",
45
42
  permission=ItemPermission(
46
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_decisionstep"]
43
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_decisionstep"]
47
44
  ),
48
45
  ),
49
46
  )
@@ -52,13 +49,13 @@ SPLITSTEP_MENUITEM = MenuItem(
52
49
  label=_("Split Step"),
53
50
  endpoint="wbcore:workflow:splitstep-list",
54
51
  permission=ItemPermission(
55
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_splitstep"]
52
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_splitstep"]
56
53
  ),
57
54
  add=MenuItem(
58
55
  label=_("Create Split Step"),
59
56
  endpoint="wbcore:workflow:splitstep-list",
60
57
  permission=ItemPermission(
61
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_splitstep"]
58
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_splitstep"]
62
59
  ),
63
60
  ),
64
61
  )
@@ -66,14 +63,12 @@ SPLITSTEP_MENUITEM = MenuItem(
66
63
  JOINSTEP_MENUITEM = MenuItem(
67
64
  label=_("Join Step"),
68
65
  endpoint="wbcore:workflow:joinstep-list",
69
- permission=ItemPermission(
70
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_joinstep"]
71
- ),
66
+ permission=ItemPermission(method=lambda request: request.user.is_internal, permissions=["workflow.view_joinstep"]),
72
67
  add=MenuItem(
73
68
  label=_("Create Join Step"),
74
69
  endpoint="wbcore:workflow:joinstep-list",
75
70
  permission=ItemPermission(
76
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_joinstep"]
71
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_joinstep"]
77
72
  ),
78
73
  ),
79
74
  )
@@ -82,13 +77,13 @@ SCRIPTSTEP_MENUITEM = MenuItem(
82
77
  label=_("Script Step"),
83
78
  endpoint="wbcore:workflow:scriptstep-list",
84
79
  permission=ItemPermission(
85
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_scriptstep"]
80
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_scriptstep"]
86
81
  ),
87
82
  add=MenuItem(
88
83
  label=_("Create Script Step"),
89
84
  endpoint="wbcore:workflow:scriptstep-list",
90
85
  permission=ItemPermission(
91
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_scriptstep"]
86
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_scriptstep"]
92
87
  ),
93
88
  ),
94
89
  )
@@ -97,13 +92,13 @@ EMAILSTEP_MENUITEM = MenuItem(
97
92
  label=_("Email Step"),
98
93
  endpoint="wbcore:workflow:emailstep-list",
99
94
  permission=ItemPermission(
100
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_emailstep"]
95
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_emailstep"]
101
96
  ),
102
97
  add=MenuItem(
103
98
  label=_("Create Email Step"),
104
99
  endpoint="wbcore:workflow:emailstep-list",
105
100
  permission=ItemPermission(
106
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_emailstep"]
101
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_emailstep"]
107
102
  ),
108
103
  ),
109
104
  )
@@ -112,13 +107,13 @@ FINISHSTEP_MENUITEM = MenuItem(
112
107
  label=_("Finish Step"),
113
108
  endpoint="wbcore:workflow:finishstep-list",
114
109
  permission=ItemPermission(
115
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_finishstep"]
110
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_finishstep"]
116
111
  ),
117
112
  add=MenuItem(
118
113
  label=_("Create Finish Step"),
119
114
  endpoint="wbcore:workflow:finishstep-list",
120
115
  permission=ItemPermission(
121
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_finishstep"]
116
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_finishstep"]
122
117
  ),
123
118
  ),
124
119
  )
@@ -1,19 +1,18 @@
1
1
  from django.utils.translation import gettext as _
2
2
 
3
3
  from wbcore.menus import ItemPermission, MenuItem
4
- from wbcore.permissions.shortcuts import is_internal_user
5
4
 
6
5
  TRANSITION_MENUITEM = MenuItem(
7
6
  label=_("Transition"),
8
7
  endpoint="wbcore:workflow:transition-list",
9
8
  permission=ItemPermission(
10
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_transition"]
9
+ method=lambda request: request.user.is_internal, permissions=["workflow.view_transition"]
11
10
  ),
12
11
  add=MenuItem(
13
12
  label=_("Create Transition"),
14
13
  endpoint="wbcore:workflow:transition-list",
15
14
  permission=ItemPermission(
16
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_transition"]
15
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_transition"]
17
16
  ),
18
17
  ),
19
18
  )
@@ -1,19 +1,16 @@
1
1
  from django.utils.translation import gettext as _
2
2
 
3
3
  from wbcore.menus import ItemPermission, MenuItem
4
- from wbcore.permissions.shortcuts import is_internal_user
5
4
 
6
5
  WORKFLOW_MENUITEM = MenuItem(
7
6
  label=_("Workflow"),
8
7
  endpoint="wbcore:workflow:workflow-list",
9
- permission=ItemPermission(
10
- method=lambda request: is_internal_user(request.user), permissions=["workflow.view_workflow"]
11
- ),
8
+ permission=ItemPermission(method=lambda request: request.user.is_internal, permissions=["workflow.view_workflow"]),
12
9
  add=MenuItem(
13
10
  label=_("Create Workflow"),
14
11
  endpoint="wbcore:workflow:workflow-list",
15
12
  permission=ItemPermission(
16
- method=lambda request: is_internal_user(request.user), permissions=["workflow.add_workflow"]
13
+ method=lambda request: request.user.is_internal, permissions=["workflow.add_workflow"]
17
14
  ),
18
15
  ),
19
16
  )
wbcore/tests/models.py CHANGED
@@ -1,4 +1,4 @@
1
- from wbcore.contrib.guardian.models.mixins import PermissionObjectModelMixin
1
+ from wbcore.contrib.permission.models.mixins import PermissionObjectModelMixin
2
2
 
3
3
 
4
4
  class PermissionTestModel(PermissionObjectModelMixin):
wbcore/urls.py CHANGED
@@ -105,8 +105,8 @@ urlpatterns = [
105
105
  include(("wbcore.contrib.workflow.urls", "wbcore.contrib.workflow"), namespace="workflow"),
106
106
  ),
107
107
  path(
108
- "guardian/",
109
- include(("wbcore.contrib.guardian.urls", "wbcore.contrib.guardian"), namespace="guardian"),
108
+ "permission/",
109
+ include(("wbcore.contrib.permission.urls", "wbcore.contrib.permission"), namespace="permission"),
110
110
  ),
111
111
  path("clear_cache/<str:cache_key>/", clear_cache, name="clear_cache"),
112
112
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wbcore
3
- Version: 1.61.3
3
+ Version: 1.61.5
4
4
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
5
5
  Requires-Dist: celery[redis]==5.*
6
6
  Requires-Dist: croniter==2.*