phanterpwa 13.15.1__tar.gz → 13.16.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.
- {phanterpwa-13.15.1/phanterpwa.egg-info → phanterpwa-13.16.0}/PKG-INFO +1 -1
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/__init__.py +1 -1
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/admin.py +108 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/auth.py +218 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/cas.py +18 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/credentials.py +90 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/errors.py +18 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/i18n_server.py +18 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/internal_messages.py +36 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/oauth.py +36 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0/phanterpwa.egg-info}/PKG-INFO +1 -1
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/LICENSE +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/MANIFEST.in +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/README.md +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/__main__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/dataforms.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/decorators.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/auth.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/cas.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/credentials.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/extra_validations.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/gallery.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/pydal/internal_messages.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/websocket.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/welcome.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/security.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/captcha.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/captchadata.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/recipes/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/recipes/circle.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/recipes/heart.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/recipes/octagon.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/recipes/square.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/recipes/star.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/sass/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/sass/captcha.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/animal/butterfly.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/animal/crab.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/animal/pig.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/animal/rabbit.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/animal/rooster.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/arrow/down.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/arrow/left.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/arrow/right.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/arrow/up.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/letter/a.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/letter/b.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/letter/c.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/letter/d.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/mean_of_transport/airplane.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/mean_of_transport/car.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/mean_of_transport/motorcycle.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/mean_of_transport/ship.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/number/four.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/number/one.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/number/three.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/captchasvg/vectors/number/two.recs +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/compiler.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/inputs.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/left_bar.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/materialize.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/phanterpwagallery.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/android.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/android.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/discs.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/discs.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/explosion.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/explosion.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/run_points.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/run_points.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/square.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/square.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/squares.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/components/preloaders/squares.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/configer.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/application.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/admin.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/auth_user.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/datetimepicker.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/events.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/gallery.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/left_bar.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/modal.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/pagination.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/snippets.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/top_slide.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/components/widgets.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/decorators.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/fmasks.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/forms.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/gallery.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/gatehandler.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/helpers.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/i18n.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/initializer.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/plugins/client.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/preloaders.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/progressbar.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/selects.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/server.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/validations.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/frontend/websocket.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/gallery/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/gallery/cutter.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/gallery/integrationDAL.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/helpers.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/i18n/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/LICENSE +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/controllers/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/controllers/developer.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/controllers/welcome.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_activity.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_group.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_auth_user_phanterpwagallery.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_captcha.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_client.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_csrf.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_email_user_list.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_google_captcha.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_phanterpwagallery.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_social_auth.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/c8b669d15150d7109e5f7ab36744a5b7_two_factor_login.table +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/readme.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/sql.log +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/databases/storage.sqlite +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/handlers.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/admin/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/admin/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/captcha/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/captcha/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/email/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/email/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/languages/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/models/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/statics/images/user.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/statics/images/warning.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/backapps/api/uploads/readme.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/core.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/handlers.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/languages/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/languages/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/application.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/extends/capcha_preload.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/extends/logo.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/extends/phanterpwa-logo.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/extends/run_points.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/gates/components.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/gates/developer.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/styles/gates/main.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/button_preloader.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/captcha_preload.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/css_head.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/favicons.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/fontawesome.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/javascript_head.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/logo.svg +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/extends/svg_logo.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/index.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/loads/fontawesome.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/loads/phanterpwa_logo.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/templates/loads/svg_logo.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/application.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/auto/config.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/cmps.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/developer.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/errors.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/examples.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/ext_examples/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/ext_examples/inputs.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/ext_examples/menus.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/ext_examples/selects.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/fontawesome.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/home.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/project.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/reqs.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/gatehandlers/testsp.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/sources/transcrypts/plugins/codemirror.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/css/all.min.css +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/css/normalize.css +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/css/phanterpwa.css +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/android-chrome-144x144.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/android-chrome-192x192.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/android-chrome-256x256.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/android-chrome-512x512.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/apple-touch-icon.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/browserconfig.xml +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/favicon-16x16.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/favicon-32x32.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/favicon.ico +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/manifest.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/mstile-150x150.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/favicons/site.webmanifest +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/88bdc70ec292cc29451932f9875b378a.eot +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/88bdc70ec292cc29451932f9875b378a.svg +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/88bdc70ec292cc29451932f9875b378a.ttf +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/88bdc70ec292cc29451932f9875b378a.woff +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/88bdc70ec292cc29451932f9875b378a.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/L0x5DF4xlVMF-BfR8bXMIjhFq3-OXg.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/L0x5DF4xlVMF-BfR8bXMIjhLq38.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/Roboto-Thin.eot +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/Roboto-Thin.ttf +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/Roboto-Thin.woff +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/Roboto-Thin.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/d6lIkaiiRdih4SpP_SQvzA.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/d6lIkaiiRdih4SpP_SovzAbt.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/roboto-v20-latin-regular.eot +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/roboto-v20-latin-regular.svg +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/roboto-v20-latin-regular.ttf +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/roboto-v20-latin-regular.woff +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/fonts/roboto-v20-latin-regular.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/images/background.jpg +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/images/user.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/images/warning.png +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/js/hammer.min.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/js/hammer.min.js.map +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/js/jquery.hammer.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/js/jquery.min.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/js/jquery.min.map +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/js/touch-emulator.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/json/manifest.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/json/manifest.webmanifest +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/lib/codemirror.css +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/lib/codemirror.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/mode/python/index.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/mode/python/python.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/mode/python/test.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-brands-400.eot +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-brands-400.ttf +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-brands-400.woff +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-brands-400.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-regular-400.eot +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-regular-400.ttf +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-regular-400.woff +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-regular-400.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-solid-900.eot +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-solid-900.ttf +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-solid-900.woff +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/frontapps/admin/statics/webfonts/fa-solid-900.woff2 +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/logs/api.log +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/logs/app.log +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/logs/readme.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/production.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/run.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/_compiler_sass_temp_file.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/extends_mtime_admin.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/extends_mtime_components.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/extends_mtime_scaffold_app.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/extends_mtime_sindfa.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/phanterpwa_modules_mtime.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/readme.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/statics_mtime_admin.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/statics_mtime_components.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/statics_mtime_scaffold_app.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/statics_mtime_sindfa.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/styles_mtime_admin.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/styles_mtime_components.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/styles_mtime_scaffold_app.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/styles_mtime_sindfa.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/templates_mtime_admin.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/templates_mtime_components.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/templates_mtime_scaffold_app.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/templates_mtime_sindfa.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/transcrypts_mtime_admin.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/transcrypts_mtime_components.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/transcrypts_mtime_scaffold_app.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/temp/transcrypts_mtime_sindfa.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/Admin/trash/readme.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/admin_tk.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/cli.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/grafics/icon.ico +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/grafics/on.jpg +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/graphic.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/langs/English.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/langs/Portuguese.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/interface/langs/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/mail.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/reversexml.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/about_cli +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/about_graphic +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/art +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/art_cli +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/email.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/email_activation_code.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/email_password.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/email_two_factor_code.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/project_config_sample.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/sms_activation_code.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/sms_password.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/samples/sms_two_factor_code.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/scaffolds/Scaffold_PhanterPWA_TM.ppwa +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/scaffolds/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/server.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/sms.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/helpers_out/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/helpers_out/my_sass.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/helpers_out/new_sass.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/path_of_languages/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/path_of_languages/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/path_of_languages/es.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/path_of_languages/fr.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/path_of_languages/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/path_of_languages/pt-PT.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/test_components_preloaders_android.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/test_components_preloaders_discs.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/test_components_preloaders_explosion.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/test_components_preloaders_run_points.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/test_components_preloaders_square.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/preloaders/test_components_preloaders_squares.html +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/static/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/static/jquery.min.js +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/static/jquery.min.map +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/not_project/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/not_project/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/project-invalid-name/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/project-invalid-name/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/project01/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/project01/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/project02/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/project02/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_cli_projects/without_configjson/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_components_preloaders.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/fake_project/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project-invalid-name/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/backapps/api/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/backend/api/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/frontapps/app01/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/frontapps/app02/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/frontend/app01/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/frontend/app02/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project01/project.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project02/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project02/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_confgjson_and_with_ini/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_confgjson_and_with_ini/backend/api/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_confgjson_and_with_ini/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_confgjson_and_with_ini/frontend/app01/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_confgjson_and_with_ini/frontend/app02/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_confgjson_and_with_ini/project.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_ini/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_ini/backend/api/app.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_ini/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_configer_path/project_without_ini/project.ini +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_folder/cfg.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_folder/cfgij.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_folder/config.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_helpers.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_helpers_languages/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_helpers_languages/en-US.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_helpers_languages/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_helpers_languages/glingon.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_helpers_languages/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_i18n.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_i18n_languages/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_i18n_languages/en-US.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_i18n_languages/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_i18n_languages/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_i18n_languages/pt-PT.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_reversexml.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_tools.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_tools_humanize_seconds/entries.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/test_tools_humanize_seconds/pt-BR.json +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tests/tests.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/third_parties/__init__.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/third_parties/xss.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/tools.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/trash/readme.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/alert_top_activation.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/breascrumbs.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/buttons.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/capcha_preload.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/captcha.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/captcha_preload_image_3x4.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/card.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/cmp_auth_user.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/datetimepicker.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/developer.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/easy.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/flash.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/forms.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/messages.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/modal.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/modal_login.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/phanterpwa_gallery.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/phanterpwa_gallery_cutter.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/phanterpwa_panel_control.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/progressbar.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/pseudomodal.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/run_points.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/sections.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/snippet.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/widgets.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/components/xtable.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/display/grid.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/display/media_print.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/events/waves.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/extends/capcha_preload.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/extends/logo.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/extends/run_points.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/gates/componentes.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/gates/main.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/phanterpwa.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/plugins/codemirror.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/android.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/discs.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/explosion.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/indefined_text.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/run_points.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/square.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/preloaders/squares.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/usual_sass/variables.sass +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/xmlconstructor.py +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa.egg-info/SOURCES.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa.egg-info/dependency_links.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa.egg-info/entry_points.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa.egg-info/not-zip-safe +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa.egg-info/requires.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa.egg-info/top_level.txt +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/setup.cfg +0 -0
- {phanterpwa-13.15.1 → phanterpwa-13.16.0}/setup.py +0 -0
|
@@ -92,6 +92,24 @@ class UserManager(web.RequestHandler):
|
|
|
92
92
|
def check_origin(self, origin):
|
|
93
93
|
return True
|
|
94
94
|
|
|
95
|
+
def _request_summary(self) -> str:
|
|
96
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
97
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
98
|
+
self.request.remote_ip
|
|
99
|
+
summary = "{0} {1} ({2})".format(
|
|
100
|
+
self.request.method,
|
|
101
|
+
self.request.uri,
|
|
102
|
+
client_ip,
|
|
103
|
+
)
|
|
104
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
105
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
106
|
+
self.request.method,
|
|
107
|
+
self.request.uri,
|
|
108
|
+
client_ip,
|
|
109
|
+
self.phanterpwa_current_user.email
|
|
110
|
+
)
|
|
111
|
+
return summary
|
|
112
|
+
|
|
95
113
|
def options(self, *args):
|
|
96
114
|
self.set_status(200)
|
|
97
115
|
self.write({"status": "OK"})
|
|
@@ -686,6 +704,24 @@ class UserImage(web.RequestHandler):
|
|
|
686
704
|
def check_origin(self, origin):
|
|
687
705
|
return True
|
|
688
706
|
|
|
707
|
+
def _request_summary(self) -> str:
|
|
708
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
709
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
710
|
+
self.request.remote_ip
|
|
711
|
+
summary = "{0} {1} ({2})".format(
|
|
712
|
+
self.request.method,
|
|
713
|
+
self.request.uri,
|
|
714
|
+
client_ip,
|
|
715
|
+
)
|
|
716
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
717
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
718
|
+
self.request.method,
|
|
719
|
+
self.request.uri,
|
|
720
|
+
client_ip,
|
|
721
|
+
self.phanterpwa_current_user.email
|
|
722
|
+
)
|
|
723
|
+
return summary
|
|
724
|
+
|
|
689
725
|
def options(self, *args):
|
|
690
726
|
self.set_status(200)
|
|
691
727
|
return self.write({"status": "OK"})
|
|
@@ -778,6 +814,24 @@ class RoleManager(web.RequestHandler):
|
|
|
778
814
|
def check_origin(self, origin):
|
|
779
815
|
return True
|
|
780
816
|
|
|
817
|
+
def _request_summary(self) -> str:
|
|
818
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
819
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
820
|
+
self.request.remote_ip
|
|
821
|
+
summary = "{0} {1} ({2})".format(
|
|
822
|
+
self.request.method,
|
|
823
|
+
self.request.uri,
|
|
824
|
+
client_ip,
|
|
825
|
+
)
|
|
826
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
827
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
828
|
+
self.request.method,
|
|
829
|
+
self.request.uri,
|
|
830
|
+
client_ip,
|
|
831
|
+
self.phanterpwa_current_user.email
|
|
832
|
+
)
|
|
833
|
+
return summary
|
|
834
|
+
|
|
781
835
|
def options(self, *args):
|
|
782
836
|
self.set_status(200)
|
|
783
837
|
self.write({"status": "OK"})
|
|
@@ -1121,6 +1175,24 @@ class Impersonate(web.RequestHandler):
|
|
|
1121
1175
|
def check_origin(self, origin):
|
|
1122
1176
|
return True
|
|
1123
1177
|
|
|
1178
|
+
def _request_summary(self) -> str:
|
|
1179
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1180
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1181
|
+
self.request.remote_ip
|
|
1182
|
+
summary = "{0} {1} ({2})".format(
|
|
1183
|
+
self.request.method,
|
|
1184
|
+
self.request.uri,
|
|
1185
|
+
client_ip,
|
|
1186
|
+
)
|
|
1187
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1188
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1189
|
+
self.request.method,
|
|
1190
|
+
self.request.uri,
|
|
1191
|
+
client_ip,
|
|
1192
|
+
self.phanterpwa_current_user.email
|
|
1193
|
+
)
|
|
1194
|
+
return summary
|
|
1195
|
+
|
|
1124
1196
|
def options(self, *args):
|
|
1125
1197
|
self.set_status(200)
|
|
1126
1198
|
self.write({"status": "OK"})
|
|
@@ -1188,6 +1260,24 @@ class RequestAccount(web.RequestHandler):
|
|
|
1188
1260
|
def check_origin(self, origin):
|
|
1189
1261
|
return True
|
|
1190
1262
|
|
|
1263
|
+
def _request_summary(self) -> str:
|
|
1264
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1265
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1266
|
+
self.request.remote_ip
|
|
1267
|
+
summary = "{0} {1} ({2})".format(
|
|
1268
|
+
self.request.method,
|
|
1269
|
+
self.request.uri,
|
|
1270
|
+
client_ip,
|
|
1271
|
+
)
|
|
1272
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1273
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1274
|
+
self.request.method,
|
|
1275
|
+
self.request.uri,
|
|
1276
|
+
client_ip,
|
|
1277
|
+
self.phanterpwa_current_user.email
|
|
1278
|
+
)
|
|
1279
|
+
return summary
|
|
1280
|
+
|
|
1191
1281
|
def get(self, *args, **kargs):
|
|
1192
1282
|
self.set_status(200)
|
|
1193
1283
|
self.write({"status": "OK"})
|
|
@@ -1377,6 +1467,24 @@ class ChangePassword(web.RequestHandler):
|
|
|
1377
1467
|
def check_origin(self, origin):
|
|
1378
1468
|
return True
|
|
1379
1469
|
|
|
1470
|
+
def _request_summary(self) -> str:
|
|
1471
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1472
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1473
|
+
self.request.remote_ip
|
|
1474
|
+
summary = "{0} {1} ({2})".format(
|
|
1475
|
+
self.request.method,
|
|
1476
|
+
self.request.uri,
|
|
1477
|
+
client_ip,
|
|
1478
|
+
)
|
|
1479
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1480
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1481
|
+
self.request.method,
|
|
1482
|
+
self.request.uri,
|
|
1483
|
+
client_ip,
|
|
1484
|
+
self.phanterpwa_current_user.email
|
|
1485
|
+
)
|
|
1486
|
+
return summary
|
|
1487
|
+
|
|
1380
1488
|
@requires_authentication(roles_name="root")
|
|
1381
1489
|
@check_private_csrf_token(form_identify=["phanterpwa-form-auth_user"])
|
|
1382
1490
|
def post(self):
|
|
@@ -43,6 +43,7 @@ from phanterpwa.gallery.integrationDAL import PhanterpwaGalleryUserImage
|
|
|
43
43
|
from tornado import (
|
|
44
44
|
web
|
|
45
45
|
)
|
|
46
|
+
from tornado.log import access_log
|
|
46
47
|
from phanterpwa.backend.security import (
|
|
47
48
|
Serialize,
|
|
48
49
|
SignatureExpired,
|
|
@@ -283,6 +284,7 @@ class Auth(web.RequestHandler):
|
|
|
283
284
|
self.Translator_email = Translator_email
|
|
284
285
|
self.i18nTranslator = i18nTranslator
|
|
285
286
|
self.SMSSender = SMSSender
|
|
287
|
+
self.logger_api = access_log
|
|
286
288
|
if logger_api:
|
|
287
289
|
self.logger_api = logger_api
|
|
288
290
|
if i18nTranslator:
|
|
@@ -315,6 +317,24 @@ class Auth(web.RequestHandler):
|
|
|
315
317
|
def check_origin(self, origin):
|
|
316
318
|
return True
|
|
317
319
|
|
|
320
|
+
def _request_summary(self) -> str:
|
|
321
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
322
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
323
|
+
self.request.remote_ip
|
|
324
|
+
summary = "{0} {1} ({2})".format(
|
|
325
|
+
self.request.method,
|
|
326
|
+
self.request.uri,
|
|
327
|
+
client_ip,
|
|
328
|
+
)
|
|
329
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
330
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
331
|
+
self.request.method,
|
|
332
|
+
self.request.uri,
|
|
333
|
+
client_ip,
|
|
334
|
+
self.phanterpwa_current_user.email
|
|
335
|
+
)
|
|
336
|
+
return summary
|
|
337
|
+
|
|
318
338
|
def options(self, *args):
|
|
319
339
|
self.set_status(200)
|
|
320
340
|
self.write({"status": "OK"})
|
|
@@ -1139,6 +1159,24 @@ class Activity(web.RequestHandler):
|
|
|
1139
1159
|
def check_origin(self, origin):
|
|
1140
1160
|
return True
|
|
1141
1161
|
|
|
1162
|
+
def _request_summary(self) -> str:
|
|
1163
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1164
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1165
|
+
self.request.remote_ip
|
|
1166
|
+
summary = "{0} {1} ({2})".format(
|
|
1167
|
+
self.request.method,
|
|
1168
|
+
self.request.uri,
|
|
1169
|
+
client_ip,
|
|
1170
|
+
)
|
|
1171
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1172
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1173
|
+
self.request.method,
|
|
1174
|
+
self.request.uri,
|
|
1175
|
+
client_ip,
|
|
1176
|
+
self.phanterpwa_current_user.email
|
|
1177
|
+
)
|
|
1178
|
+
return summary
|
|
1179
|
+
|
|
1142
1180
|
def options(self, *args):
|
|
1143
1181
|
self.set_status(200)
|
|
1144
1182
|
self.write({"status": "OK"})
|
|
@@ -1206,6 +1244,24 @@ class TwoFactor(web.RequestHandler):
|
|
|
1206
1244
|
def check_origin(self, origin):
|
|
1207
1245
|
return True
|
|
1208
1246
|
|
|
1247
|
+
def _request_summary(self) -> str:
|
|
1248
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1249
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1250
|
+
self.request.remote_ip
|
|
1251
|
+
summary = "{0} {1} ({2})".format(
|
|
1252
|
+
self.request.method,
|
|
1253
|
+
self.request.uri,
|
|
1254
|
+
client_ip,
|
|
1255
|
+
)
|
|
1256
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1257
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1258
|
+
self.request.method,
|
|
1259
|
+
self.request.uri,
|
|
1260
|
+
client_ip,
|
|
1261
|
+
self.phanterpwa_current_user.email
|
|
1262
|
+
)
|
|
1263
|
+
return summary
|
|
1264
|
+
|
|
1209
1265
|
def options(self, *args):
|
|
1210
1266
|
self.set_status(200)
|
|
1211
1267
|
self.write({"status": "OK"})
|
|
@@ -1440,6 +1496,24 @@ class LockUser(web.RequestHandler):
|
|
|
1440
1496
|
def check_origin(self, origin):
|
|
1441
1497
|
return True
|
|
1442
1498
|
|
|
1499
|
+
def _request_summary(self) -> str:
|
|
1500
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1501
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1502
|
+
self.request.remote_ip
|
|
1503
|
+
summary = "{0} {1} ({2})".format(
|
|
1504
|
+
self.request.method,
|
|
1505
|
+
self.request.uri,
|
|
1506
|
+
client_ip,
|
|
1507
|
+
)
|
|
1508
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1509
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1510
|
+
self.request.method,
|
|
1511
|
+
self.request.uri,
|
|
1512
|
+
client_ip,
|
|
1513
|
+
self.phanterpwa_current_user.email
|
|
1514
|
+
)
|
|
1515
|
+
return summary
|
|
1516
|
+
|
|
1443
1517
|
@check_client_token()
|
|
1444
1518
|
@check_user_token()
|
|
1445
1519
|
def get(self):
|
|
@@ -1498,6 +1572,24 @@ class ImageUser(web.RequestHandler):
|
|
|
1498
1572
|
def check_origin(self, origin):
|
|
1499
1573
|
return True
|
|
1500
1574
|
|
|
1575
|
+
def _request_summary(self) -> str:
|
|
1576
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1577
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1578
|
+
self.request.remote_ip
|
|
1579
|
+
summary = "{0} {1} ({2})".format(
|
|
1580
|
+
self.request.method,
|
|
1581
|
+
self.request.uri,
|
|
1582
|
+
client_ip,
|
|
1583
|
+
)
|
|
1584
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1585
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1586
|
+
self.request.method,
|
|
1587
|
+
self.request.uri,
|
|
1588
|
+
client_ip,
|
|
1589
|
+
self.phanterpwa_current_user.email
|
|
1590
|
+
)
|
|
1591
|
+
return summary
|
|
1592
|
+
|
|
1501
1593
|
@check_url_token(ignore_user_agent=True)
|
|
1502
1594
|
def get(self, *args, **kargs):
|
|
1503
1595
|
"""
|
|
@@ -1601,6 +1693,24 @@ class ChangeAccount(web.RequestHandler):
|
|
|
1601
1693
|
def check_origin(self, origin):
|
|
1602
1694
|
return True
|
|
1603
1695
|
|
|
1696
|
+
def _request_summary(self) -> str:
|
|
1697
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
1698
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
1699
|
+
self.request.remote_ip
|
|
1700
|
+
summary = "{0} {1} ({2})".format(
|
|
1701
|
+
self.request.method,
|
|
1702
|
+
self.request.uri,
|
|
1703
|
+
client_ip,
|
|
1704
|
+
)
|
|
1705
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
1706
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
1707
|
+
self.request.method,
|
|
1708
|
+
self.request.uri,
|
|
1709
|
+
client_ip,
|
|
1710
|
+
self.phanterpwa_current_user.email
|
|
1711
|
+
)
|
|
1712
|
+
return summary
|
|
1713
|
+
|
|
1604
1714
|
@check_private_csrf_token(form_identify=["phanterpwa-form-profile", "phanterpwa-form-change_account"])
|
|
1605
1715
|
def put(self, *args, **kargs):
|
|
1606
1716
|
|
|
@@ -2012,6 +2122,24 @@ class CreateAccount(web.RequestHandler):
|
|
|
2012
2122
|
def check_origin(self, origin):
|
|
2013
2123
|
return True
|
|
2014
2124
|
|
|
2125
|
+
def _request_summary(self) -> str:
|
|
2126
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
2127
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
2128
|
+
self.request.remote_ip
|
|
2129
|
+
summary = "{0} {1} ({2})".format(
|
|
2130
|
+
self.request.method,
|
|
2131
|
+
self.request.uri,
|
|
2132
|
+
client_ip,
|
|
2133
|
+
)
|
|
2134
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
2135
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
2136
|
+
self.request.method,
|
|
2137
|
+
self.request.uri,
|
|
2138
|
+
client_ip,
|
|
2139
|
+
self.phanterpwa_current_user.email
|
|
2140
|
+
)
|
|
2141
|
+
return summary
|
|
2142
|
+
|
|
2015
2143
|
@requires_no_authentication()
|
|
2016
2144
|
@check_public_csrf_token(form_identify="phanterpwa-form-register")
|
|
2017
2145
|
def post(self):
|
|
@@ -2277,6 +2405,24 @@ class RequestAccount(web.RequestHandler):
|
|
|
2277
2405
|
def check_origin(self, origin):
|
|
2278
2406
|
return True
|
|
2279
2407
|
|
|
2408
|
+
def _request_summary(self) -> str:
|
|
2409
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
2410
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
2411
|
+
self.request.remote_ip
|
|
2412
|
+
summary = "{0} {1} ({2})".format(
|
|
2413
|
+
self.request.method,
|
|
2414
|
+
self.request.uri,
|
|
2415
|
+
client_ip,
|
|
2416
|
+
)
|
|
2417
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
2418
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
2419
|
+
self.request.method,
|
|
2420
|
+
self.request.uri,
|
|
2421
|
+
client_ip,
|
|
2422
|
+
self.phanterpwa_current_user.email
|
|
2423
|
+
)
|
|
2424
|
+
return summary
|
|
2425
|
+
|
|
2280
2426
|
@requires_no_authentication()
|
|
2281
2427
|
@check_public_csrf_token(form_identify="phanterpwa-form-request_password")
|
|
2282
2428
|
def post(self, *args, **kargs):
|
|
@@ -2647,6 +2793,24 @@ class ActiveAccount(web.RequestHandler):
|
|
|
2647
2793
|
def check_origin(self, origin):
|
|
2648
2794
|
return True
|
|
2649
2795
|
|
|
2796
|
+
def _request_summary(self) -> str:
|
|
2797
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
2798
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
2799
|
+
self.request.remote_ip
|
|
2800
|
+
summary = "{0} {1} ({2})".format(
|
|
2801
|
+
self.request.method,
|
|
2802
|
+
self.request.uri,
|
|
2803
|
+
client_ip,
|
|
2804
|
+
)
|
|
2805
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
2806
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
2807
|
+
self.request.method,
|
|
2808
|
+
self.request.uri,
|
|
2809
|
+
client_ip,
|
|
2810
|
+
self.phanterpwa_current_user.email
|
|
2811
|
+
)
|
|
2812
|
+
return summary
|
|
2813
|
+
|
|
2650
2814
|
@check_user_token(ignore_activation=True)
|
|
2651
2815
|
def get(self, *args, **kargs):
|
|
2652
2816
|
now = datetime.now()
|
|
@@ -3140,6 +3304,24 @@ class ChangePassword(web.RequestHandler):
|
|
|
3140
3304
|
def check_origin(self, origin):
|
|
3141
3305
|
return True
|
|
3142
3306
|
|
|
3307
|
+
def _request_summary(self) -> str:
|
|
3308
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
3309
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
3310
|
+
self.request.remote_ip
|
|
3311
|
+
summary = "{0} {1} ({2})".format(
|
|
3312
|
+
self.request.method,
|
|
3313
|
+
self.request.uri,
|
|
3314
|
+
client_ip,
|
|
3315
|
+
)
|
|
3316
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
3317
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
3318
|
+
self.request.method,
|
|
3319
|
+
self.request.uri,
|
|
3320
|
+
client_ip,
|
|
3321
|
+
self.phanterpwa_current_user.email
|
|
3322
|
+
)
|
|
3323
|
+
return summary
|
|
3324
|
+
|
|
3143
3325
|
@check_private_csrf_token(form_identify="phanterpwa-form-change_password")
|
|
3144
3326
|
def post(self):
|
|
3145
3327
|
dict_arguments = {k: self.request.arguments.get(k)[0].decode('utf-8') for k in self.request.arguments}
|
|
@@ -3310,6 +3492,24 @@ class SMSGateway(web.RequestHandler):
|
|
|
3310
3492
|
def check_origin(self, origin):
|
|
3311
3493
|
return True
|
|
3312
3494
|
|
|
3495
|
+
def _request_summary(self) -> str:
|
|
3496
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
3497
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
3498
|
+
self.request.remote_ip
|
|
3499
|
+
summary = "{0} {1} ({2})".format(
|
|
3500
|
+
self.request.method,
|
|
3501
|
+
self.request.uri,
|
|
3502
|
+
client_ip,
|
|
3503
|
+
)
|
|
3504
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
3505
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
3506
|
+
self.request.method,
|
|
3507
|
+
self.request.uri,
|
|
3508
|
+
client_ip,
|
|
3509
|
+
self.phanterpwa_current_user.email
|
|
3510
|
+
)
|
|
3511
|
+
return summary
|
|
3512
|
+
|
|
3313
3513
|
def options(self, *args):
|
|
3314
3514
|
self.set_status(200)
|
|
3315
3515
|
self.write({"status": "OK"})
|
|
@@ -3495,6 +3695,24 @@ class AuthUserAutoComplete(web.RequestHandler):
|
|
|
3495
3695
|
def check_origin(self, origin):
|
|
3496
3696
|
return True
|
|
3497
3697
|
|
|
3698
|
+
def _request_summary(self) -> str:
|
|
3699
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
3700
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
3701
|
+
self.request.remote_ip
|
|
3702
|
+
summary = "{0} {1} ({2})".format(
|
|
3703
|
+
self.request.method,
|
|
3704
|
+
self.request.uri,
|
|
3705
|
+
client_ip,
|
|
3706
|
+
)
|
|
3707
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
3708
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
3709
|
+
self.request.method,
|
|
3710
|
+
self.request.uri,
|
|
3711
|
+
client_ip,
|
|
3712
|
+
self.phanterpwa_current_user.email
|
|
3713
|
+
)
|
|
3714
|
+
return summary
|
|
3715
|
+
|
|
3498
3716
|
def options(self, *args):
|
|
3499
3717
|
self.set_status(200)
|
|
3500
3718
|
self.write({"status": "OK"})
|
|
@@ -94,6 +94,24 @@ class CAS(web.RequestHandler):
|
|
|
94
94
|
def check_origin(self, origin):
|
|
95
95
|
return True
|
|
96
96
|
|
|
97
|
+
def _request_summary(self) -> str:
|
|
98
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
99
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
100
|
+
self.request.remote_ip
|
|
101
|
+
summary = "{0} {1} ({2})".format(
|
|
102
|
+
self.request.method,
|
|
103
|
+
self.request.uri,
|
|
104
|
+
client_ip,
|
|
105
|
+
)
|
|
106
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
107
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
108
|
+
self.request.method,
|
|
109
|
+
self.request.uri,
|
|
110
|
+
client_ip,
|
|
111
|
+
self.phanterpwa_current_user.email
|
|
112
|
+
)
|
|
113
|
+
return summary
|
|
114
|
+
|
|
97
115
|
def options(self, *args):
|
|
98
116
|
self.set_status(200)
|
|
99
117
|
self.write({"status": "OK"})
|
{phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/credentials.py
RENAMED
|
@@ -70,6 +70,24 @@ class SignClient(web.RequestHandler):
|
|
|
70
70
|
def check_origin(self, origin):
|
|
71
71
|
return True
|
|
72
72
|
|
|
73
|
+
def _request_summary(self) -> str:
|
|
74
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
75
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
76
|
+
self.request.remote_ip
|
|
77
|
+
summary = "{0} {1} ({2})".format(
|
|
78
|
+
self.request.method,
|
|
79
|
+
self.request.uri,
|
|
80
|
+
client_ip,
|
|
81
|
+
)
|
|
82
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
83
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
84
|
+
self.request.method,
|
|
85
|
+
self.request.uri,
|
|
86
|
+
client_ip,
|
|
87
|
+
self.phanterpwa_current_user.email
|
|
88
|
+
)
|
|
89
|
+
return summary
|
|
90
|
+
|
|
73
91
|
@check_application()
|
|
74
92
|
def get(self, *args, **kargs):
|
|
75
93
|
expire_date = datetime.now() - timedelta(seconds=self.projectConfig['BACKEND'][self.app_name]['default_time_client_token_expire'])
|
|
@@ -423,6 +441,24 @@ class SignForms(web.RequestHandler):
|
|
|
423
441
|
def check_origin(self, origin):
|
|
424
442
|
return True
|
|
425
443
|
|
|
444
|
+
def _request_summary(self) -> str:
|
|
445
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
446
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
447
|
+
self.request.remote_ip
|
|
448
|
+
summary = "{0} {1} ({2})".format(
|
|
449
|
+
self.request.method,
|
|
450
|
+
self.request.uri,
|
|
451
|
+
client_ip,
|
|
452
|
+
)
|
|
453
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
454
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
455
|
+
self.request.method,
|
|
456
|
+
self.request.uri,
|
|
457
|
+
client_ip,
|
|
458
|
+
self.phanterpwa_current_user.email
|
|
459
|
+
)
|
|
460
|
+
return summary
|
|
461
|
+
|
|
426
462
|
@check_user_token(ignore_activation=True)
|
|
427
463
|
def get(self, *args, **kargs):
|
|
428
464
|
"""
|
|
@@ -527,6 +563,24 @@ class SignLockForm(web.RequestHandler):
|
|
|
527
563
|
def check_origin(self, origin):
|
|
528
564
|
return True
|
|
529
565
|
|
|
566
|
+
def _request_summary(self) -> str:
|
|
567
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
568
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
569
|
+
self.request.remote_ip
|
|
570
|
+
summary = "{0} {1} ({2})".format(
|
|
571
|
+
self.request.method,
|
|
572
|
+
self.request.uri,
|
|
573
|
+
client_ip,
|
|
574
|
+
)
|
|
575
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
576
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
577
|
+
self.request.method,
|
|
578
|
+
self.request.uri,
|
|
579
|
+
client_ip,
|
|
580
|
+
self.phanterpwa_current_user.email
|
|
581
|
+
)
|
|
582
|
+
return summary
|
|
583
|
+
|
|
530
584
|
@check_client_token()
|
|
531
585
|
def get(self, *args, **kargs):
|
|
532
586
|
"""
|
|
@@ -636,6 +690,24 @@ class SignCaptchaForms(web.RequestHandler):
|
|
|
636
690
|
def check_origin(self, origin):
|
|
637
691
|
return True
|
|
638
692
|
|
|
693
|
+
def _request_summary(self) -> str:
|
|
694
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
695
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
696
|
+
self.request.remote_ip
|
|
697
|
+
summary = "{0} {1} ({2})".format(
|
|
698
|
+
self.request.method,
|
|
699
|
+
self.request.uri,
|
|
700
|
+
client_ip,
|
|
701
|
+
)
|
|
702
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
703
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
704
|
+
self.request.method,
|
|
705
|
+
self.request.uri,
|
|
706
|
+
client_ip,
|
|
707
|
+
self.phanterpwa_current_user.email
|
|
708
|
+
)
|
|
709
|
+
return summary
|
|
710
|
+
|
|
639
711
|
@check_client_token()
|
|
640
712
|
def get(self, *args, **kargs):
|
|
641
713
|
"""
|
|
@@ -848,6 +920,24 @@ class ReSing(web.RequestHandler):
|
|
|
848
920
|
def check_origin(self, origin):
|
|
849
921
|
return True
|
|
850
922
|
|
|
923
|
+
def _request_summary(self) -> str:
|
|
924
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
925
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
926
|
+
self.request.remote_ip
|
|
927
|
+
summary = "{0} {1} ({2})".format(
|
|
928
|
+
self.request.method,
|
|
929
|
+
self.request.uri,
|
|
930
|
+
client_ip,
|
|
931
|
+
)
|
|
932
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
933
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
934
|
+
self.request.method,
|
|
935
|
+
self.request.uri,
|
|
936
|
+
client_ip,
|
|
937
|
+
self.phanterpwa_current_user.email
|
|
938
|
+
)
|
|
939
|
+
return summary
|
|
940
|
+
|
|
851
941
|
@check_user_token()
|
|
852
942
|
def get(self, *args, **kargs):
|
|
853
943
|
q_client = self.DALDatabase(self.DALDatabase.client.token == self.phanterpwa_client_token).select().first()
|
|
@@ -73,6 +73,24 @@ class Errors(web.RequestHandler):
|
|
|
73
73
|
def check_origin(self, origin):
|
|
74
74
|
return True
|
|
75
75
|
|
|
76
|
+
def _request_summary(self) -> str:
|
|
77
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
78
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
79
|
+
self.request.remote_ip
|
|
80
|
+
summary = "{0} {1} ({2})".format(
|
|
81
|
+
self.request.method,
|
|
82
|
+
self.request.uri,
|
|
83
|
+
client_ip,
|
|
84
|
+
)
|
|
85
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
86
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
87
|
+
self.request.method,
|
|
88
|
+
self.request.uri,
|
|
89
|
+
client_ip,
|
|
90
|
+
self.phanterpwa_current_user.email
|
|
91
|
+
)
|
|
92
|
+
return summary
|
|
93
|
+
|
|
76
94
|
def options(self, *args):
|
|
77
95
|
self.set_status(200)
|
|
78
96
|
self.write({"status": "OK"})
|
{phanterpwa-13.15.1 → phanterpwa-13.16.0}/phanterpwa/backend/request_handlers/i18n_server.py
RENAMED
|
@@ -38,6 +38,24 @@ class I18N(web.RequestHandler):
|
|
|
38
38
|
def check_origin(self, origin):
|
|
39
39
|
return True
|
|
40
40
|
|
|
41
|
+
def _request_summary(self) -> str:
|
|
42
|
+
client_ip = self.request.headers.get('X-Real-IP') or\
|
|
43
|
+
self.request.headers.get('X-Forwarded-For', '').split(',')[0].strip() or\
|
|
44
|
+
self.request.remote_ip
|
|
45
|
+
summary = "{0} {1} ({2})".format(
|
|
46
|
+
self.request.method,
|
|
47
|
+
self.request.uri,
|
|
48
|
+
client_ip,
|
|
49
|
+
)
|
|
50
|
+
if hasattr(self, "phanterpwa_current_user") and self.phanterpwa_current_user is not None:
|
|
51
|
+
summary = "{0} {1} ({2} - {3})".format(
|
|
52
|
+
self.request.method,
|
|
53
|
+
self.request.uri,
|
|
54
|
+
client_ip,
|
|
55
|
+
self.phanterpwa_current_user.email
|
|
56
|
+
)
|
|
57
|
+
return summary
|
|
58
|
+
|
|
41
59
|
def options(self, *args):
|
|
42
60
|
self.set_status(200)
|
|
43
61
|
return self.write({"status": "OK"})
|