micro-users 1.4.0__tar.gz → 1.4.1__tar.gz

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.

Potentially problematic release.


This version of micro-users might be problematic. Click here for more details.

Files changed (36) hide show
  1. {micro_users-1.4.0 → micro_users-1.4.1}/PKG-INFO +2 -1
  2. {micro_users-1.4.0 → micro_users-1.4.1}/README.md +2 -1
  3. {micro_users-1.4.0 → micro_users-1.4.1}/micro_users.egg-info/PKG-INFO +2 -1
  4. {micro_users-1.4.0 → micro_users-1.4.1}/pyproject.toml +1 -1
  5. {micro_users-1.4.0 → micro_users-1.4.1}/setup.py +1 -1
  6. {micro_users-1.4.0 → micro_users-1.4.1}/users/forms.py +9 -1
  7. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/user_detail.html +1 -1
  8. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/widgets/grouped_permissions.html +7 -7
  9. {micro_users-1.4.0 → micro_users-1.4.1}/LICENSE +0 -0
  10. {micro_users-1.4.0 → micro_users-1.4.1}/MANIFEST.in +0 -0
  11. {micro_users-1.4.0 → micro_users-1.4.1}/micro_users.egg-info/SOURCES.txt +0 -0
  12. {micro_users-1.4.0 → micro_users-1.4.1}/micro_users.egg-info/dependency_links.txt +0 -0
  13. {micro_users-1.4.0 → micro_users-1.4.1}/micro_users.egg-info/requires.txt +0 -0
  14. {micro_users-1.4.0 → micro_users-1.4.1}/micro_users.egg-info/top_level.txt +0 -0
  15. {micro_users-1.4.0 → micro_users-1.4.1}/setup.cfg +0 -0
  16. {micro_users-1.4.0 → micro_users-1.4.1}/users/__init__.py +0 -0
  17. {micro_users-1.4.0 → micro_users-1.4.1}/users/admin.py +0 -0
  18. {micro_users-1.4.0 → micro_users-1.4.1}/users/apps.py +0 -0
  19. {micro_users-1.4.0 → micro_users-1.4.1}/users/filters.py +0 -0
  20. {micro_users-1.4.0 → micro_users-1.4.1}/users/migrations/0001_initial.py +0 -0
  21. {micro_users-1.4.0 → micro_users-1.4.1}/users/migrations/0002_alter_useractivitylog_action.py +0 -0
  22. {micro_users-1.4.0 → micro_users-1.4.1}/users/migrations/__init__.py +0 -0
  23. {micro_users-1.4.0 → micro_users-1.4.1}/users/models.py +0 -0
  24. {micro_users-1.4.0 → micro_users-1.4.1}/users/signals.py +0 -0
  25. {micro_users-1.4.0 → micro_users-1.4.1}/users/static/css/login.css +0 -0
  26. {micro_users-1.4.0 → micro_users-1.4.1}/users/static/img/default_profile.webp +0 -0
  27. {micro_users-1.4.0 → micro_users-1.4.1}/users/tables.py +0 -0
  28. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/registration/login.html +0 -0
  29. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/user_activity_log.html +0 -0
  30. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/manage_users.html +0 -0
  31. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/profile.html +0 -0
  32. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/profile_edit.html +0 -0
  33. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/user_actions.html +0 -0
  34. {micro_users-1.4.0 → micro_users-1.4.1}/users/templates/users/user_form.html +0 -0
  35. {micro_users-1.4.0 → micro_users-1.4.1}/users/urls.py +0 -0
  36. {micro_users-1.4.0 → micro_users-1.4.1}/users/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micro_users
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Arabic Django user management app with abstract user, permissions, and activity logging
5
5
  Home-page: https://github.com/debeski/micro-users
6
6
  Author: DeBeski
@@ -282,3 +282,4 @@ users/
282
282
  | v1.3.1 | • Corrected a misplaced code that caused a crash when editing profile |
283
283
  | v1.3.2 | • Minor table modifications |
284
284
  | v1.4.0 | • Redesigned Permissions UI (Grouped by App/Action) <br> • Added Global Bulk Permission Selectors <br> • Improved Arabic Localization for Permissions <br> • Optimized printing (hidden forms/buttons) <br> • Fixed various bugs and crashes |
285
+ | v1.4.1 | • Changed "Administrative User" translation to "Responsible User" (مستخدم مسؤول) <br> • Enforced custom sorting order for Permissions (View -> Add -> Change -> Other) |
@@ -250,4 +250,5 @@ users/
250
250
  | v1.3.0 | • Patched a critical security permission issue<br> • Disabled ADMIN from being viewed/edited from all other members<br> • Fixed a crash when sorting with full_name<br> • Enabled Logging for all actions |
251
251
  | v1.3.1 | • Corrected a misplaced code that caused a crash when editing profile |
252
252
  | v1.3.2 | • Minor table modifications |
253
- | v1.4.0 | • Redesigned Permissions UI (Grouped by App/Action) <br> • Added Global Bulk Permission Selectors <br> • Improved Arabic Localization for Permissions <br> • Optimized printing (hidden forms/buttons) <br> • Fixed various bugs and crashes |
253
+ | v1.4.0 | • Redesigned Permissions UI (Grouped by App/Action) <br> • Added Global Bulk Permission Selectors <br> • Improved Arabic Localization for Permissions <br> • Optimized printing (hidden forms/buttons) <br> • Fixed various bugs and crashes |
254
+ | v1.4.1 | • Changed "Administrative User" translation to "Responsible User" (مستخدم مسؤول) <br> • Enforced custom sorting order for Permissions (View -> Add -> Change -> Other) |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micro-users
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Arabic Django user management app with abstract user, permissions, and activity logging
5
5
  Home-page: https://github.com/debeski/micro-users
6
6
  Author: DeBeski
@@ -282,3 +282,4 @@ users/
282
282
  | v1.3.1 | • Corrected a misplaced code that caused a crash when editing profile |
283
283
  | v1.3.2 | • Minor table modifications |
284
284
  | v1.4.0 | • Redesigned Permissions UI (Grouped by App/Action) <br> • Added Global Bulk Permission Selectors <br> • Improved Arabic Localization for Permissions <br> • Optimized printing (hidden forms/buttons) <br> • Fixed various bugs and crashes |
285
+ | v1.4.1 | • Changed "Administrative User" translation to "Responsible User" (مستخدم مسؤول) <br> • Enforced custom sorting order for Permissions (View -> Add -> Change -> Other) |
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
8
8
 
9
9
  [project]
10
10
  name = "micro_users"
11
- version = "1.4.0"
11
+ version = "1.4.1"
12
12
  description = "Arabic Django user management app with abstract user, permissions, and activity logging"
13
13
  readme = "README.md"
14
14
  requires-python = ">=3.11"
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="micro_users",
8
- version="1.4.0",
8
+ version="1.4.1",
9
9
  author="DeBeski",
10
10
  author_email="debeski1@gmail.com",
11
11
  description="Arabic django user management app with abstract user, permissions, and activity logging",
@@ -60,8 +60,8 @@ class GroupedPermissionWidget(ChoiceWidget):
60
60
  action = 'other'
61
61
  codename = perm.codename
62
62
  if codename.startswith('view_'): action = 'view'
63
- elif codename.startswith('change_'): action = 'change'
64
63
  elif codename.startswith('add_'): action = 'add'
64
+ elif codename.startswith('change_'): action = 'change'
65
65
  elif codename.startswith('delete_'): action = 'delete'
66
66
 
67
67
  # Build option dict
@@ -85,6 +85,14 @@ class GroupedPermissionWidget(ChoiceWidget):
85
85
  }
86
86
 
87
87
  grouped_perms[app_label]['actions'].setdefault(action, []).append(option)
88
+
89
+ # Sort actions within each app: View -> Add -> Change -> Delete -> Other
90
+ action_order = {'view': 1, 'add': 2, 'change': 3, 'delete': 4, 'other': 5}
91
+ for app_label, app_data in grouped_perms.items():
92
+ app_data['actions'] = dict(sorted(
93
+ app_data['actions'].items(),
94
+ key=lambda item: action_order.get(item[0], 99)
95
+ ))
88
96
 
89
97
  context['widget']['grouped_perms'] = grouped_perms
90
98
  return context
@@ -21,7 +21,7 @@
21
21
  {% if object.is_superuser %}
22
22
  مدير النظام
23
23
  {% elif object.is_staff %}
24
- مستخدم اداري
24
+ مستخدم مسؤول
25
25
  {% else %}
26
26
  مستخدم عادي
27
27
  {% endif %}
@@ -8,22 +8,22 @@
8
8
  <input class="form-check-input global-select" type="checkbox" id="{{ id }}_global_view" data-action-target="view">
9
9
  <label class="form-check-label fw-bold" for="{{ id }}_global_view">عرض الكل</label>
10
10
  </div>
11
- <div class="form-check form-check-inline">
12
- <input class="form-check-input global-select" type="checkbox" id="{{ id }}_global_change" data-action-target="change">
13
- <label class="form-check-label fw-bold" for="{{ id }}_global_change">تعديل الكل</label>
14
- </div>
15
11
  <div class="form-check form-check-inline">
16
12
  <input class="form-check-input global-select" type="checkbox" id="{{ id }}_global_add" data-action-target="add">
17
13
  <label class="form-check-label fw-bold" for="{{ id }}_global_add">إضافة الكل</label>
18
14
  </div>
15
+ <div class="form-check form-check-inline">
16
+ <input class="form-check-input global-select" type="checkbox" id="{{ id }}_global_change" data-action-target="change">
17
+ <label class="form-check-label fw-bold" for="{{ id }}_global_change">تعديل الكل</label>
18
+ </div>
19
19
  <div class="form-check form-check-inline">
20
20
  <input class="form-check-input global-select" type="checkbox" id="{{ id }}_global_other" data-action-target="other">
21
- <label class="form-check-label fw-bold" for="{{ id }}_global_other">الأخرى</label>
21
+ <label class="form-check-label fw-bold" for="{{ id }}_global_other">الـأخرى</label>
22
22
  </div>
23
23
 
24
24
  <button type="button" class="btn btn-outline-primary ms-auto" data-bs-toggle="collapse"
25
25
  data-bs-target="#{{ id }}_detailed_list" aria-expanded="false" aria-controls="{{ id }}_detailed_list">
26
- <i class="bi bi-list-check"></i> إظهار التفاصيل
26
+ <i class="bi bi-list-check"></i> إظهار كل الصلاحيات
27
27
  </button>
28
28
  </div>
29
29
  </div>
@@ -45,7 +45,7 @@
45
45
  data-group-target="{{ id }}_{{ app_label }}_{{ action_name }}_group">
46
46
  <label class="form-check-label fw-bold" for="{{ id }}_{{ app_label }}_{{ action_name }}_all">
47
47
  {% if action_name == 'view' %}
48
- مشاهدة الكل ({{ options|length }})
48
+ عرض الكل ({{ options|length }})
49
49
  {% elif action_name == 'change' %}
50
50
  تعديل الكل ({{ options|length }})
51
51
  {% elif action_name == 'add' %}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes