micro-users 1.0.2__tar.gz → 1.0.4__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 (33) hide show
  1. {micro_users-1.0.2 → micro_users-1.0.4}/PKG-INFO +4 -4
  2. {micro_users-1.0.2 → micro_users-1.0.4}/micro_users.egg-info/PKG-INFO +4 -4
  3. {micro_users-1.0.2 → micro_users-1.0.4}/micro_users.egg-info/SOURCES.txt +1 -0
  4. micro_users-1.0.4/micro_users.egg-info/requires.txt +6 -0
  5. {micro_users-1.0.2 → micro_users-1.0.4}/pyproject.toml +4 -4
  6. {micro_users-1.0.2 → micro_users-1.0.4}/setup.py +2 -2
  7. micro_users-1.0.4/users/migrations/0001_initial.py +63 -0
  8. micro_users-1.0.2/micro_users.egg-info/requires.txt +0 -6
  9. {micro_users-1.0.2 → micro_users-1.0.4}/LICENSE +0 -0
  10. {micro_users-1.0.2 → micro_users-1.0.4}/MANIFEST.in +0 -0
  11. {micro_users-1.0.2 → micro_users-1.0.4}/README.md +0 -0
  12. {micro_users-1.0.2 → micro_users-1.0.4}/micro_users.egg-info/dependency_links.txt +0 -0
  13. {micro_users-1.0.2 → micro_users-1.0.4}/micro_users.egg-info/top_level.txt +0 -0
  14. {micro_users-1.0.2 → micro_users-1.0.4}/setup.cfg +0 -0
  15. {micro_users-1.0.2 → micro_users-1.0.4}/users/__init__.py +0 -0
  16. {micro_users-1.0.2 → micro_users-1.0.4}/users/admin.py +0 -0
  17. {micro_users-1.0.2 → micro_users-1.0.4}/users/apps.py +0 -0
  18. {micro_users-1.0.2 → micro_users-1.0.4}/users/filters.py +0 -0
  19. {micro_users-1.0.2 → micro_users-1.0.4}/users/forms.py +0 -0
  20. {micro_users-1.0.2 → micro_users-1.0.4}/users/migrations/__init__.py +0 -0
  21. {micro_users-1.0.2 → micro_users-1.0.4}/users/models.py +0 -0
  22. {micro_users-1.0.2 → micro_users-1.0.4}/users/signals.py +0 -0
  23. {micro_users-1.0.2 → micro_users-1.0.4}/users/static/css/login.css +0 -0
  24. {micro_users-1.0.2 → micro_users-1.0.4}/users/tables.py +0 -0
  25. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/registration/login.html +0 -0
  26. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/user_activity_log.html +0 -0
  27. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/users/manage_users.html +0 -0
  28. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/users/profile.html +0 -0
  29. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/users/profile_edit.html +0 -0
  30. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/users/user_actions.html +0 -0
  31. {micro_users-1.0.2 → micro_users-1.0.4}/users/templates/users/user_form.html +0 -0
  32. {micro_users-1.0.2 → micro_users-1.0.4}/users/urls.py +0 -0
  33. {micro_users-1.0.2 → micro_users-1.0.4}/users/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micro_users
3
- Version: 1.0.2
3
+ Version: 1.0.4
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
@@ -20,10 +20,10 @@ Classifier: Operating System :: OS Independent
20
20
  Requires-Python: >=3.9
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: Django>=5.17
23
+ Requires-Dist: Django>=5.1
24
24
  Requires-Dist: django-crispy-forms>=2.4
25
- Requires-Dist: django-tables2>=2.7.5
26
- Requires-Dist: django-filter>=25.1
25
+ Requires-Dist: django-tables2>=2.7
26
+ Requires-Dist: django-filter>=24.3
27
27
  Requires-Dist: pillow>=11.0
28
28
  Requires-Dist: babel>=2.1
29
29
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micro-users
3
- Version: 1.0.2
3
+ Version: 1.0.4
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
@@ -20,10 +20,10 @@ Classifier: Operating System :: OS Independent
20
20
  Requires-Python: >=3.9
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: Django>=5.17
23
+ Requires-Dist: Django>=5.1
24
24
  Requires-Dist: django-crispy-forms>=2.4
25
- Requires-Dist: django-tables2>=2.7.5
26
- Requires-Dist: django-filter>=25.1
25
+ Requires-Dist: django-tables2>=2.7
26
+ Requires-Dist: django-filter>=24.3
27
27
  Requires-Dist: pillow>=11.0
28
28
  Requires-Dist: babel>=2.1
29
29
 
@@ -18,6 +18,7 @@ users/signals.py
18
18
  users/tables.py
19
19
  users/urls.py
20
20
  users/views.py
21
+ users/migrations/0001_initial.py
21
22
  users/migrations/__init__.py
22
23
  users/static/css/login.css
23
24
  users/templates/user_activity_log.html
@@ -0,0 +1,6 @@
1
+ Django>=5.1
2
+ django-crispy-forms>=2.4
3
+ django-tables2>=2.7
4
+ django-filter>=24.3
5
+ pillow>=11.0
6
+ babel>=2.1
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
8
8
 
9
9
  [project]
10
10
  name = "micro_users"
11
- version = "1.0.2"
11
+ version = "1.0.4"
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.9"
@@ -20,10 +20,10 @@ keywords = ["django", "users", "permissions", "authentication"]
20
20
 
21
21
  # Dependencies
22
22
  dependencies = [
23
- "Django>=5.17",
23
+ "Django>=5.1",
24
24
  "django-crispy-forms>=2.4",
25
- "django-tables2>=2.7.5",
26
- "django-filter>=25.1",
25
+ "django-tables2>=2.7",
26
+ "django-filter>=24.3",
27
27
  "pillow>=11.0",
28
28
  "babel>=2.1",
29
29
  ]
@@ -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.0.2",
8
+ version="1.0.4",
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",
@@ -28,7 +28,7 @@ setup(
28
28
  ],
29
29
  python_requires=">=3.9",
30
30
  install_requires=[
31
- "Django>=5.17",
31
+ "Django>=5.1",
32
32
  "django-crispy-forms>=2.4",
33
33
  "django-tables2>=2.7",
34
34
  "django-filter>=24.3",
@@ -0,0 +1,63 @@
1
+ # Generated by Django 5.2.8 on 2025-12-03 15:01
2
+
3
+ import django.contrib.auth.models
4
+ import django.contrib.auth.validators
5
+ import django.db.models.deletion
6
+ import django.utils.timezone
7
+ from django.conf import settings
8
+ from django.db import migrations, models
9
+
10
+
11
+ class Migration(migrations.Migration):
12
+
13
+ initial = True
14
+
15
+ dependencies = [
16
+ ('auth', '0012_alter_user_first_name_max_length'),
17
+ ]
18
+
19
+ operations = [
20
+ migrations.CreateModel(
21
+ name='CustomUser',
22
+ fields=[
23
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
24
+ ('password', models.CharField(max_length=128, verbose_name='password')),
25
+ ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
26
+ ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
27
+ ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
28
+ ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
29
+ ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
30
+ ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
31
+ ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
32
+ ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
33
+ ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
34
+ ('phone', models.CharField(blank=True, max_length=15, null=True, verbose_name='رقم الهاتف')),
35
+ ('occupation', models.CharField(blank=True, max_length=100, null=True, verbose_name='جهة العمل')),
36
+ ('profile_picture', models.ImageField(blank=True, null=True, upload_to='profile_pictures/')),
37
+ ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
38
+ ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
39
+ ],
40
+ options={
41
+ 'verbose_name': 'user',
42
+ 'verbose_name_plural': 'users',
43
+ 'abstract': False,
44
+ },
45
+ managers=[
46
+ ('objects', django.contrib.auth.models.UserManager()),
47
+ ],
48
+ ),
49
+ migrations.CreateModel(
50
+ name='UserActivityLog',
51
+ fields=[
52
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
53
+ ('action', models.CharField(choices=[('LOGIN', 'تسجيل دخـول'), ('LOGOUT', 'تسجيل خـروج'), ('CREATE', 'انشـاء'), ('UPDATE', 'تعديـل'), ('DELETE', 'حــذف'), ('VIEW', 'عـرض'), ('DOWNLOAD', 'تحميل'), ('CONFIRM', 'تأكيـد'), ('REJECT', 'رفــض')], max_length=10, verbose_name='العملية')),
54
+ ('model_name', models.CharField(blank=True, max_length=100, null=True, verbose_name='القسم')),
55
+ ('object_id', models.IntegerField(blank=True, null=True, verbose_name='ID')),
56
+ ('number', models.CharField(blank=True, max_length=50, null=True, verbose_name='المستند')),
57
+ ('ip_address', models.GenericIPAddressField(blank=True, null=True, verbose_name='عنوان IP')),
58
+ ('user_agent', models.TextField(blank=True, null=True, verbose_name='agent')),
59
+ ('timestamp', models.DateTimeField(auto_now_add=True, verbose_name='الوقت')),
60
+ ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='اسم المستخدم')),
61
+ ],
62
+ ),
63
+ ]
@@ -1,6 +0,0 @@
1
- Django>=5.17
2
- django-crispy-forms>=2.4
3
- django-tables2>=2.7.5
4
- django-filter>=25.1
5
- pillow>=11.0
6
- babel>=2.1
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
File without changes
File without changes