ppss-auth 0.11.0.1__tar.gz → 0.11.1.0__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.
Files changed (100) hide show
  1. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/PKG-INFO +9 -3
  2. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/changelog.txt +3 -0
  3. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/__init__.py +5 -0
  4. ppss_auth-0.11.1.0/ppss_auth/templates/layouts/masterlayout.jinja2 +31 -0
  5. ppss_auth-0.11.1.0/ppss_auth/templates/layouts/masterlayout.mako +30 -0
  6. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/layouts/midlayout.jinja2 +4 -8
  7. ppss_auth-0.11.1.0/ppss_auth/templates/layouts/midlayout.mako +33 -0
  8. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth.egg-info/PKG-INFO +10 -4
  9. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth.egg-info/entry_points.txt +0 -1
  10. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth.egg-info/requires.txt +4 -3
  11. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/setup.py +2 -1
  12. ppss_auth-0.11.0.1/ppss_auth/templates/layouts/masterlayout.jinja2 +0 -35
  13. ppss_auth-0.11.0.1/ppss_auth/templates/layouts/masterlayout.mako +0 -34
  14. ppss_auth-0.11.0.1/ppss_auth/templates/layouts/midlayout.mako +0 -37
  15. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/MANIFEST.in +0 -0
  16. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/README.md +0 -0
  17. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/babel.ini +0 -0
  18. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/alembic.ini +0 -0
  19. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/env.py +0 -0
  20. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/script.py.mako +0 -0
  21. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20201026_52f4d4eefdfe_unique_permission_name.py +0 -0
  22. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20201120_6c9e84ab8280_unique_user_name.py +0 -0
  23. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20220329_44fde88fa438_creazione_colonne_per_login_history.py +0 -0
  24. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20220331_6190d529682d_result_reason.py +0 -0
  25. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20231016_3f4032dd2d1b_added_email_to_user.py +0 -0
  26. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20240110_4b95deb2d91c_tabella_reset_token.py +0 -0
  27. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20240209_7d2e85bbf831_add_otp_hash.py +0 -0
  28. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/20240304_483944c8ff05_add_phone.py +0 -0
  29. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/alembic/versions/f724fac25359_creation.py +0 -0
  30. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/constants.py +0 -0
  31. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/locale/en/LC_MESSAGES/ppss_auth.mo +0 -0
  32. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/locale/fr/LC_MESSAGES/ppss_auth.mo +0 -0
  33. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/locale/it/LC_MESSAGES/ppss_auth.mo +0 -0
  34. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/models.py +0 -0
  35. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_static/loader.js +0 -0
  36. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_static/ppssauth.css +0 -0
  37. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_static/ppssauth.js +0 -0
  38. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_static/template.html +0 -0
  39. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_utils/__init__.py +0 -0
  40. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_utils/db.py +0 -0
  41. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_utils/emailclient.py +0 -0
  42. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_utils/i18n.py +0 -0
  43. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_utils/password.py +0 -0
  44. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/ppss_auth_utils/scriptutils.py +0 -0
  45. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/routes.py +0 -0
  46. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/__init__.py +0 -0
  47. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/alchemyutils.py +0 -0
  48. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/cleanup_db.py +0 -0
  49. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/create_user.py +0 -0
  50. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/initialize_db.py +0 -0
  51. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/sayauth.py +0 -0
  52. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/scripts/upgrade_db.py +0 -0
  53. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/change.jinja2 +0 -0
  54. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/change.mako +0 -0
  55. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/confirm_email.jinja2 +0 -0
  56. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/confirm_email.mako +0 -0
  57. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/editgroup.jinja2 +0 -0
  58. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/editgroup.mako +0 -0
  59. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/editperm.jinja2 +0 -0
  60. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/editperm.mako +0 -0
  61. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/edituser.jinja2 +0 -0
  62. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/edituser.mako +0 -0
  63. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/email/activation.jinja2 +0 -0
  64. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/email/activation.mako +0 -0
  65. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/email/recover.jinja2 +0 -0
  66. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/email/recover.mako +0 -0
  67. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/enable2fa.jinja2 +0 -0
  68. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/enable2fa.mako +0 -0
  69. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/layouts/public.jinja2 +0 -0
  70. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/layouts/public.mako +0 -0
  71. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/listgroup.jinja2 +0 -0
  72. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/listgroup.mako +0 -0
  73. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/listperm.jinja2 +0 -0
  74. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/listperm.mako +0 -0
  75. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/listuser.jinja2 +0 -0
  76. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/listuser.mako +0 -0
  77. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/login.jinja2 +0 -0
  78. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/login.mako +0 -0
  79. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/login_nogrid.jinja2 +0 -0
  80. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/login_nogrid.mako +0 -0
  81. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/partials/userblock.jinja2 +0 -0
  82. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/partials/userblock.mako +0 -0
  83. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/partials/usermanage.jinja2 +0 -0
  84. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/partials/usermanage.mako +0 -0
  85. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/recover.jinja2 +0 -0
  86. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/recover.mako +0 -0
  87. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/registeruser.jinja2 +0 -0
  88. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/registeruser.mako +0 -0
  89. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/reset.jinja2 +0 -0
  90. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/reset.mako +0 -0
  91. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/shared/bootstrapcss.html +0 -0
  92. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/verify2fa.jinja2 +0 -0
  93. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/templates/verify2fa.mako +0 -0
  94. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/views/__init__.py +0 -0
  95. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth/views/auth.py +0 -0
  96. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth.egg-info/SOURCES.txt +0 -0
  97. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth.egg-info/dependency_links.txt +0 -0
  98. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/ppss_auth.egg-info/top_level.txt +0 -0
  99. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/readme.txt +0 -0
  100. {ppss_auth-0.11.0.1 → ppss_auth-0.11.1.0}/setup.cfg +0 -0
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ppss_auth
3
- Version: 0.11.0.1
3
+ Version: 0.11.1.0
4
4
  Summary: simple auth scheme for pyramid, based on Mako template and sqlalchemy backend
5
5
  Home-page: https://bitbucket.org/pingpongstars/ppss_auth/src/master/
6
6
  Author: pdepmcp
7
7
  Author-email: d.cariboni@pingpongstars.it
8
8
  License: MIT
9
9
  Keywords: pyramid module authentication accelerator
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 4 - Beta
12
11
  Classifier: Intended Audience :: Developers
13
12
  Classifier: Operating System :: OS Independent
@@ -16,6 +15,14 @@ Classifier: Topic :: Internet :: WWW/HTTP :: Session
16
15
  Classifier: Programming Language :: Python :: 3.6
17
16
  Requires-Python: >=3.6
18
17
  Description-Content-Type: text/markdown
18
+ Requires-Dist: SQLAlchemy==1.4.51
19
+ Requires-Dist: pyramid_mako
20
+ Requires-Dist: pyramid_beaker
21
+ Requires-Dist: pyramid_jinja2
22
+ Requires-Dist: alembic
23
+ Requires-Dist: cryptography
24
+ Requires-Dist: pyotp
25
+ Requires-Dist: qrcode
19
26
 
20
27
  This package aims to give and easy pluggable module to provide authentication and user maintennance in a Pyramid web application.
21
28
  It relies the Pyramid+SQLAlchemy+Mako stack. Implementation for other template languages is on the roadmap.
@@ -365,4 +372,3 @@ tables = module_db_version
365
372
  pattern = ppss*
366
373
  *auth*
367
374
  ```
368
-
@@ -1,3 +1,6 @@
1
+ ## v0.11.1
2
+ - update js dependencies
3
+
1
4
  ## v0.11.0
2
5
  - 2FA with OTP
3
6
 
@@ -10,6 +10,7 @@ from pyramid.i18n import get_localizer
10
10
 
11
11
  from pyramid.authorization import ACLAuthorizationPolicy
12
12
  from pyramid.authentication import SessionAuthenticationPolicy
13
+ from pyramid.threadlocal import get_current_request
13
14
  from .constants import Conf
14
15
  from .models import initdb,PPSsuser
15
16
  from .routes import configRoutes
@@ -67,6 +68,10 @@ def getLoggedUser(request,addinsession=False):
67
68
  def add_renderer_globals(event):
68
69
  # ...
69
70
  request = event['request']
71
+ if request is None:
72
+ request = get_current_request()
73
+ if request is None:
74
+ return
70
75
  event['_'] = request.translate
71
76
  event['_p'] = request.pluralize
72
77
  event['localizer'] = request.localizer
@@ -0,0 +1,31 @@
1
+ <html>
2
+ <head>
3
+ <meta charset="UTF-8">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
+ <title>Login page</title>
6
+ {%- block bootstrapcss %}
7
+ {% include "../shared/bootstrapcss.html" %}
8
+ {%- endblock %}
9
+ {% block ppssauth_css %}
10
+ <link type="text/css" rel="stylesheet" href="{{ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }}"/>
11
+ {% endblock %}
12
+
13
+ {% block ppssauth_headerjs %}
14
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
15
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js" integrity="sha512-E1dSFxg+wsfJ4HKjutk/WaCzK7S2wv1POn1RRPGh8ZK+ag9l244Vqxji3r6wgz9YBf6+vhQEYJZpSjqWFPg9gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
16
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
17
+ {% endblock %}
18
+
19
+ </head>
20
+ <body class="ppss_auth">
21
+ {% block ppssauth_container %}
22
+ {% endblock ppssauth_container %}
23
+
24
+
25
+ {% block ppssauth_footerjs %}
26
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.5.3/js/bootstrap.min.js" integrity="sha512-8qmis31OQi6hIRgvkht0s6mCOittjMa9GMqtK9hes5iEQBQE/Ca6yGE5FsW36vyipGoWQswBj/QBm2JR086Rkw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
27
+ {% endblock %}
28
+
29
+ </body>
30
+
31
+ </html>
@@ -0,0 +1,30 @@
1
+ <html>
2
+ <head>
3
+ <title>Login page</title>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <%block name="bootstrapcss">
7
+ <%include file="../shared/bootstrapcss.html"/>
8
+ </%block>
9
+ <%block name="ppssauth_css">
10
+ <link rel="stylesheet" href="${ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }"/>
11
+ </%block>
12
+
13
+ <%block name="ppssauth_headerjs">
14
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
15
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js" integrity="sha512-E1dSFxg+wsfJ4HKjutk/WaCzK7S2wv1POn1RRPGh8ZK+ag9l244Vqxji3r6wgz9YBf6+vhQEYJZpSjqWFPg9gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
16
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
17
+ </%block>
18
+
19
+ </head>
20
+ <body class="ppss_auth">
21
+ ${next.body()}
22
+
23
+
24
+ <%block name="ppssauth_footerjs">
25
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.5.3/js/bootstrap.min.js" integrity="sha512-8qmis31OQi6hIRgvkht0s6mCOittjMa9GMqtK9hes5iEQBQE/Ca6yGE5FsW36vyipGoWQswBj/QBm2JR086Rkw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
26
+ </%block>
27
+
28
+ </body>
29
+
30
+ </html>
@@ -4,17 +4,13 @@
4
4
  <link rel="stylesheet" href="{{ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }}"/>
5
5
  {% endblock %}
6
6
  {% block ppssauth_footerjs %}
7
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
7
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.5.3/js/bootstrap.min.js" integrity="sha512-8qmis31OQi6hIRgvkht0s6mCOittjMa9GMqtK9hes5iEQBQE/Ca6yGE5FsW36vyipGoWQswBj/QBm2JR086Rkw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
8
8
  {% endblock %}
9
9
 
10
10
  {% block ppssauth_headerjs %}
11
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
12
- <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.0/handlebars.min.js"></script>
13
- <script
14
- src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
15
- integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
16
- crossorigin="anonymous"
17
- ></script>
11
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
12
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js" integrity="sha512-E1dSFxg+wsfJ4HKjutk/WaCzK7S2wv1POn1RRPGh8ZK+ag9l244Vqxji3r6wgz9YBf6+vhQEYJZpSjqWFPg9gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
13
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
18
14
  {% endblock %}
19
15
 
20
16
 
@@ -0,0 +1,33 @@
1
+ <%inherit file="${context['supertpl']}" />
2
+ <%block name="ppssauth_css">
3
+ <link rel="stylesheet" href="${ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }"/>
4
+ </%block>
5
+
6
+ <%block name="ppssauth_headerjs">
7
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
8
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js" integrity="sha512-E1dSFxg+wsfJ4HKjutk/WaCzK7S2wv1POn1RRPGh8ZK+ag9l244Vqxji3r6wgz9YBf6+vhQEYJZpSjqWFPg9gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
9
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
10
+ </%block>
11
+
12
+ <%block name="ppssauth_footerjs">
13
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.5.3/js/bootstrap.min.js" integrity="sha512-8qmis31OQi6hIRgvkht0s6mCOittjMa9GMqtK9hes5iEQBQE/Ca6yGE5FsW36vyipGoWQswBj/QBm2JR086Rkw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
14
+ </%block>
15
+
16
+
17
+ <div class="usermenu">
18
+ <ul>
19
+ % if request.ppssauthconf.backfromppssauth:
20
+ <li><a href="${request.route_url(request.ppssauthconf.backfromppssauth)}"> < </a></li>
21
+ % endif
22
+ <li class="${'active' if activemenu=='user' else ''}"><a href="${request.route_url('ppss:user:list')}">${_('Users', domain='ppss_auth')}</a></li>
23
+ <li class="${'active' if activemenu=='group' else ''}"><a href="${request.route_url('ppss:group:list')}">${_('Groups', domain='ppss_auth')}</a></li>
24
+ <li class="${'active' if activemenu=='perm' else ''}"><a href="${request.route_url('ppss:perm:list')}">${_('Permissions', domain='ppss_auth')}</a></li>
25
+ </ul>
26
+
27
+ </div>
28
+ <div>
29
+
30
+
31
+ ${next.body()}
32
+ </div>
33
+
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.1
2
- Name: ppss-auth
3
- Version: 0.11.0.1
2
+ Name: ppss_auth
3
+ Version: 0.11.1.0
4
4
  Summary: simple auth scheme for pyramid, based on Mako template and sqlalchemy backend
5
5
  Home-page: https://bitbucket.org/pingpongstars/ppss_auth/src/master/
6
6
  Author: pdepmcp
7
7
  Author-email: d.cariboni@pingpongstars.it
8
8
  License: MIT
9
9
  Keywords: pyramid module authentication accelerator
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 4 - Beta
12
11
  Classifier: Intended Audience :: Developers
13
12
  Classifier: Operating System :: OS Independent
@@ -16,6 +15,14 @@ Classifier: Topic :: Internet :: WWW/HTTP :: Session
16
15
  Classifier: Programming Language :: Python :: 3.6
17
16
  Requires-Python: >=3.6
18
17
  Description-Content-Type: text/markdown
18
+ Requires-Dist: SQLAlchemy==1.4.51
19
+ Requires-Dist: pyramid_mako
20
+ Requires-Dist: pyramid_beaker
21
+ Requires-Dist: pyramid_jinja2
22
+ Requires-Dist: alembic
23
+ Requires-Dist: cryptography
24
+ Requires-Dist: pyotp
25
+ Requires-Dist: qrcode
19
26
 
20
27
  This package aims to give and easy pluggable module to provide authentication and user maintennance in a Pyramid web application.
21
28
  It relies the Pyramid+SQLAlchemy+Mako stack. Implementation for other template languages is on the roadmap.
@@ -365,4 +372,3 @@ tables = module_db_version
365
372
  pattern = ppss*
366
373
  *auth*
367
374
  ```
368
-
@@ -5,4 +5,3 @@ ppss_auth_create_user = ppss_auth.scripts.create_user:create
5
5
  ppss_auth_update_user = ppss_auth.scripts.create_user:update
6
6
  ppss_auth_upgrade_db = ppss_auth.scripts.upgrade_db:main
7
7
  sayauth = ppss_auth.scripts.sayauth:sayitnow
8
-
@@ -1,7 +1,8 @@
1
+ SQLAlchemy==1.4.51
2
+ pyramid_mako
3
+ pyramid_beaker
4
+ pyramid_jinja2
1
5
  alembic
2
6
  cryptography
3
7
  pyotp
4
- pyramid_beaker
5
- pyramid_jinja2
6
- pyramid_mako
7
8
  qrcode
@@ -9,7 +9,7 @@ changelog = open(os.path.join(here, "README.md"), "r").read()
9
9
 
10
10
  setup(
11
11
  name="ppss_auth",
12
- version="0.11.0.1",
12
+ version="0.11.1.0",
13
13
  description="simple auth scheme for pyramid, based on Mako template and sqlalchemy backend",
14
14
  long_description=readme + "\n\n\n" + changelog,
15
15
  long_description_content_type="text/markdown",
@@ -28,6 +28,7 @@ setup(
28
28
  python_requires=">=3.6",
29
29
  url="https://bitbucket.org/pingpongstars/ppss_auth/src/master/",
30
30
  install_requires=[
31
+ "SQLAlchemy==1.4.51",
31
32
  "pyramid_mako",
32
33
  "pyramid_beaker",
33
34
  "pyramid_jinja2",
@@ -1,35 +0,0 @@
1
- <html>
2
- <head>
3
- <meta charset="UTF-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
- <title>Login page</title>
6
- {%- block bootstrapcss %}
7
- {% include "../shared/bootstrapcss.html" %}
8
- {%- endblock %}
9
- {% block ppssauth_css %}
10
- <link type="text/css" rel="stylesheet" href="{{ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }}"/>
11
- {% endblock %}
12
-
13
- {% block ppssauth_headerjs %}
14
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
15
- <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.0/handlebars.min.js"></script>
16
- <script
17
- src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
18
- integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
19
- crossorigin="anonymous"
20
- ></script>
21
- {% endblock %}
22
-
23
- </head>
24
- <body class="ppss_auth">
25
- {% block ppssauth_container %}
26
- {% endblock ppssauth_container %}
27
-
28
-
29
- {% block ppssauth_footerjs %}
30
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
31
- {% endblock %}
32
-
33
- </body>
34
-
35
- </html>
@@ -1,34 +0,0 @@
1
- <html>
2
- <head>
3
- <title>Login page</title>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <%block name="bootstrapcss">
7
- <%include file="../shared/bootstrapcss.html"/>
8
- </%block>
9
- <%block name="ppssauth_css">
10
- <link rel="stylesheet" href="${ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }"/>
11
- </%block>
12
-
13
- <%block name="ppssauth_headerjs">
14
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
15
- <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.0/handlebars.min.js"></script>
16
- <script
17
- src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
18
- integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
19
- crossorigin="anonymous"
20
- ></script>
21
- </%block>
22
-
23
- </head>
24
- <body class="ppss_auth">
25
- ${next.body()}
26
-
27
-
28
- <%block name="ppssauth_footerjs">
29
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
30
- </%block>
31
-
32
- </body>
33
-
34
- </html>
@@ -1,37 +0,0 @@
1
- <%inherit file="${context['supertpl']}" />
2
- <%block name="ppssauth_css">
3
- <link rel="stylesheet" href="${ request.static_url('ppss_auth:ppss_auth_static/ppssauth.css') }"/>
4
- </%block>
5
-
6
- <%block name="ppssauth_headerjs">
7
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
8
- <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.0/handlebars.min.js"></script>
9
- <script
10
- src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
11
- integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
12
- crossorigin="anonymous"
13
- ></script>
14
- </%block>
15
-
16
- <%block name="ppssauth_footerjs">
17
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
18
- </%block>
19
-
20
-
21
- <div class="usermenu">
22
- <ul>
23
- % if request.ppssauthconf.backfromppssauth:
24
- <li><a href="${request.route_url(request.ppssauthconf.backfromppssauth)}"> < </a></li>
25
- % endif
26
- <li class="${'active' if activemenu=='user' else ''}"><a href="${request.route_url('ppss:user:list')}">${_('Users', domain='ppss_auth')}</a></li>
27
- <li class="${'active' if activemenu=='group' else ''}"><a href="${request.route_url('ppss:group:list')}">${_('Groups', domain='ppss_auth')}</a></li>
28
- <li class="${'active' if activemenu=='perm' else ''}"><a href="${request.route_url('ppss:perm:list')}">${_('Permissions', domain='ppss_auth')}</a></li>
29
- </ul>
30
-
31
- </div>
32
- <div>
33
-
34
-
35
- ${next.body()}
36
- </div>
37
-
File without changes
File without changes
File without changes
File without changes
File without changes