slthcore 0.3.8__tar.gz → 0.3.9__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 slthcore might be problematic. Click here for more details.
- {slthcore-0.3.8/slthcore.egg-info → slthcore-0.3.9}/PKG-INFO +1 -1
- {slthcore-0.3.8 → slthcore-0.3.9}/setup.py +1 -1
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/auth.py +31 -21
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/user.py +1 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/models.py +2 -1
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/static/css/slth.css +1 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/static/js/slth.min.js +16 -16
- {slthcore-0.3.8 → slthcore-0.3.9/slthcore.egg-info}/PKG-INFO +1 -1
- {slthcore-0.3.8 → slthcore-0.3.9}/MANIFEST.in +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/setup.cfg +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/apps.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/configure/__main__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/__main__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/__pycache__/__main__.cpython-312.pyc +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/.DS_Store +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/.gitignore +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/asgi.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/endpoints/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/models.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/settings.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/tests.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/urls.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/api/wsgi.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/application.yml +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/entrypoint.sh +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/manage.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/backend/requirements.txt +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/base.env +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/docker-compose.yml +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/frontend/package.json +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/frontend/src/main.jsx +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/frontend/vite.config.js +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/local.env +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/run.sh +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/selenium/run.sh +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/cmd/init/boilerplate/test.sh +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/components.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/db/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/db/generic.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/db/models.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/deletion.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/dev.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/email.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/job.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/log.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/profile.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/pushsubscription.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/report.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/role.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/task.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/endpoints/timezone.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/exceptions.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/factory.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/forms.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/management/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/management/commands/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/management/commands/integration_test.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/management/commands/sync.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/management/commands/worker.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/middleware/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/middleware/timezone.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0001_initial.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0002_email_role_pushsubscription_error.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0003_rename_photo_profile_alter_profile_options.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0004_alter_profile_photo.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0005_alter_profile_photo.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0006_user.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0007_deletion_log.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0008_alter_deletion_datetime_alter_log_datetime.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0009_remove_email_from_email_email_action_email_attempt_and_more.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0010_email_key_alter_email_action_alter_email_attempt_and_more.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0011_usertimezone.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/0012_timezone_remove_usertimezone_key_and_more.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/migrations/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/notifications.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/oauth.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/pdf/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/pdf/tests.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/permissions.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/printer.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/queryset.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/roles.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/selenium/__init__.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/selenium/browser.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/serializer.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/static/.DS_Store +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/static/css/.DS_Store +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/static/js/index.min.js +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/static/js/react.min.js +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/statistics.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/tasks.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/templates/email.html +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/templates/index.html +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/templates/report.html +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/templates/service-worker.js +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/templates/signature.html +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/tests.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/threadlocal.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/tz.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/urls.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/utils.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slth/views.py +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slthcore.egg-info/SOURCES.txt +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slthcore.egg-info/dependency_links.txt +0 -0
- {slthcore-0.3.8 → slthcore-0.3.9}/slthcore.egg-info/top_level.txt +0 -0
|
@@ -6,9 +6,25 @@ from django.contrib.auth import authenticate
|
|
|
6
6
|
from ..models import Token, UserTimeZone, TimeZone
|
|
7
7
|
from ..components import Response
|
|
8
8
|
from .. import oauth
|
|
9
|
-
from . import PublicEndpoint, Endpoint
|
|
9
|
+
from . import PublicEndpoint, Endpoint, ChildInstanceEndpoint
|
|
10
10
|
from django.utils import timezone
|
|
11
11
|
|
|
12
|
+
def login_response(user, redirect='/api/dashboard/'):
|
|
13
|
+
token = Token.objects.create(user=user)
|
|
14
|
+
current_timezone = timezone.get_current_timezone()
|
|
15
|
+
timezone_instance = TimeZone.objects.get_or_create(name=current_timezone.__str__())[0]
|
|
16
|
+
user_timezone = UserTimeZone.objects.filter(user=user).first()
|
|
17
|
+
if user_timezone is None:
|
|
18
|
+
UserTimeZone.objects.create(user=user, timezone=timezone_instance)
|
|
19
|
+
else:
|
|
20
|
+
user_timezone.key = current_timezone.__str__()
|
|
21
|
+
user_timezone.save()
|
|
22
|
+
return Response(
|
|
23
|
+
message="Bem-vindo!",
|
|
24
|
+
redirect=redirect,
|
|
25
|
+
store=dict(token=token.key, application=None),
|
|
26
|
+
)
|
|
27
|
+
|
|
12
28
|
|
|
13
29
|
class Login(PublicEndpoint):
|
|
14
30
|
username = forms.CharField(label="Username", mask=getattr(settings, 'USERNAME_MASK', None))
|
|
@@ -24,12 +40,7 @@ class Login(PublicEndpoint):
|
|
|
24
40
|
if code:
|
|
25
41
|
user = oauth.authenticate(code)
|
|
26
42
|
if user:
|
|
27
|
-
|
|
28
|
-
return Response(
|
|
29
|
-
message="Bem-vindo!",
|
|
30
|
-
redirect="/api/dashboard/",
|
|
31
|
-
store=dict(token=token.key, application=None),
|
|
32
|
-
)
|
|
43
|
+
return login_response(user)
|
|
33
44
|
return self.formfactory().fields("username", "password")
|
|
34
45
|
|
|
35
46
|
def post(self):
|
|
@@ -39,20 +50,7 @@ class Login(PublicEndpoint):
|
|
|
39
50
|
password=self.cleaned_data.get("password"),
|
|
40
51
|
)
|
|
41
52
|
if user:
|
|
42
|
-
|
|
43
|
-
current_timezone = timezone.get_current_timezone()
|
|
44
|
-
timezone_instance = TimeZone.objects.get_or_create(name=current_timezone.__str__())[0]
|
|
45
|
-
user_timezone = UserTimeZone.objects.filter(user=user).first()
|
|
46
|
-
if user_timezone is None:
|
|
47
|
-
UserTimeZone.objects.create(user=user, timezone=timezone_instance)
|
|
48
|
-
else:
|
|
49
|
-
user_timezone.key = current_timezone.__str__()
|
|
50
|
-
user_timezone.save()
|
|
51
|
-
return Response(
|
|
52
|
-
message="Bem-vindo!",
|
|
53
|
-
redirect=self.request.GET.get("next", "/api/dashboard/"),
|
|
54
|
-
store=dict(token=token.key, application=None),
|
|
55
|
-
)
|
|
53
|
+
return login_response(user)
|
|
56
54
|
else:
|
|
57
55
|
raise ValidationError("Login e senha não conferem")
|
|
58
56
|
|
|
@@ -71,3 +69,15 @@ class Logout(Endpoint):
|
|
|
71
69
|
|
|
72
70
|
def check_permission(self):
|
|
73
71
|
return self.request.user.is_authenticated
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class LoginAs(ChildInstanceEndpoint):
|
|
75
|
+
class Meta:
|
|
76
|
+
icon = "user-secret"
|
|
77
|
+
verbose_name = "Login As"
|
|
78
|
+
|
|
79
|
+
def get(self):
|
|
80
|
+
return self.formfactory().fields().info("Você acessará o sistema com o usuário {}.".format(self.source))
|
|
81
|
+
|
|
82
|
+
def post(self):
|
|
83
|
+
return login_response(self.source)
|
|
@@ -37,6 +37,7 @@ class UserQuerySet(BaseUserManager):
|
|
|
37
37
|
"user.delete",
|
|
38
38
|
"user.sendpushnotification",
|
|
39
39
|
"user.changepassword",
|
|
40
|
+
"auth.loginas",
|
|
40
41
|
)
|
|
41
42
|
)
|
|
42
43
|
|
|
@@ -81,7 +82,7 @@ class User(User):
|
|
|
81
82
|
@meta('Fuso Horário')
|
|
82
83
|
def get_timezone(self):
|
|
83
84
|
user_timezone = self.usertimezone_set.first()
|
|
84
|
-
return user_timezone.
|
|
85
|
+
return user_timezone.timezone.name if user_timezone else None
|
|
85
86
|
|
|
86
87
|
|
|
87
88
|
|