workers-control 0.2.3__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {workers_control-0.2.3/src/workers_control.egg-info → workers_control-0.2.4}/PKG-INFO +4 -4
- {workers_control-0.2.3 → workers_control-0.2.4}/pyproject.toml +4 -4
- workers_control-0.2.3/src/workers_control/core/services/plan_details.py → workers_control-0.2.4/src/workers_control/core/interactors/get_plan_details.py +37 -25
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/accountant/routes.py +0 -29
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/company/routes.py +8 -8
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/member/routes.py +0 -8
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/user/routes.py +6 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/my_cooperations.html +20 -0
- {workers_control-0.2.3/src/workers_control/flask/templates/accountant → workers_control-0.2.4/src/workers_control/flask/templates/user}/plan_details.html +1 -2
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/url_index.py +2 -10
- workers_control-0.2.4/src/workers_control/flask/views/end_plan_cooperation_view.py +39 -0
- workers_control-0.2.3/src/workers_control/flask/views/get_plan_details_company_view.py → workers_control-0.2.4/src/workers_control/flask/views/get_plan_details_view.py +5 -5
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/url_index.py +1 -24
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/end_cooperation_presenter.py +1 -18
- workers_control-0.2.4/src/workers_control/web/www/presenters/end_plan_cooperation_presenter.py +29 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_company_summary_presenter.py +3 -4
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_coop_summary_presenter.py +2 -3
- workers_control-0.2.3/src/workers_control/web/formatters/plan_details_formatter.py → workers_control-0.2.4/src/workers_control/web/www/presenters/get_plan_details_presenter.py +24 -6
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_plan_for_review_presenter.py +1 -2
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_plans_with_pending_review_presenter.py +1 -2
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/private_consumption_details_presenter.py +1 -2
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/productive_consumption_details_presenter.py +1 -2
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/query_offers_presenter.py +2 -3
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/review_registered_consumptions_presenter.py +1 -4
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_my_cooperations_presenter.py +7 -10
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_my_plans_presenter.py +13 -6
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_payout_factor_details_presenter.py +1 -6
- {workers_control-0.2.3 → workers_control-0.2.4/src/workers_control.egg-info}/PKG-INFO +4 -4
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control.egg-info/SOURCES.txt +5 -10
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control.egg-info/requires.txt +3 -3
- workers_control-0.2.3/src/workers_control/core/interactors/get_plan_details.py +0 -26
- workers_control-0.2.3/src/workers_control/flask/templates/company/plan_details.html +0 -57
- workers_control-0.2.3/src/workers_control/flask/templates/member/plan_details.html +0 -26
- workers_control-0.2.3/src/workers_control/flask/views/get_plan_details_member_view.py +0 -33
- workers_control-0.2.3/src/workers_control/web/www/presenters/get_plan_details_accountant_presenter.py +0 -35
- workers_control-0.2.3/src/workers_control/web/www/presenters/get_plan_details_company_presenter.py +0 -78
- workers_control-0.2.3/src/workers_control/web/www/presenters/get_plan_details_member_presenter.py +0 -39
- {workers_control-0.2.3 → workers_control-0.2.4}/LICENSE +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/MANIFEST.in +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/README.rst +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/build_support/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/build_support/babel.cfg +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/build_support/backend.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/build_support/project.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/build_support/translations.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/setup.cfg +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/accountant_notifications.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/anonymization.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/control_thresholds.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/datetime_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/decimal.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/email.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/email_notifications.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/injector.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/accept_cooperation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/accept_coordination_transfer.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/answer_company_work_invite.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/approve_plan.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/cancel_cooperation_solicitation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/change_user_email_address.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/change_user_name.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/change_user_password.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/confirm_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/confirm_member.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/create_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/create_cooperation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/create_draft_from_plan.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/create_plan_draft.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/deactivate_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/delete_draft.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/deny_cooperation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/edit_draft.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/end_cooperation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/file_plan_with_accounting.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_accountant_dashboard.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_company_dashboard.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_company_summary.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_coop_summary.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_coordination_transfer_request_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_draft_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_member_dashboard.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_plan_for_review.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_private_consumption_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_productive_consumption_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_statistics.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/get_user_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/hide_plan.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/invite_worker_to_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_active_plans_of_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_all_cooperations.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_available_languages.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_basic_services_of_worker.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_coordinations_of_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_coordinations_of_cooperation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_my_cooperating_plans.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_pending_work_invites.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_plans_with_pending_review.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_registered_hours_worked.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_transfers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/list_workers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/log_in_accountant.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/log_in_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/log_in_member.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/preview_private_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/query_companies.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/query_company_consumptions.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/query_offers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/query_private_consumptions.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_accountant.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_hours_worked.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_member.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_private_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_private_consumption_of_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_productive_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/register_productive_consumption_of_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/reject_plan.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/remove_worker_from_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/request_cooperation.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/request_coordination_transfer.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/request_email_address_change.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/request_user_password_reset.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/resend_confirmation_mail.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/resend_work_invite.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/review_registered_consumptions.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/revoke_plan_filing.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/select_private_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/select_private_consumption_of_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/select_productive_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/select_productive_consumption_of_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/send_accountant_registration_token.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_a_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_company_accounts.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_company_cooperations.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_company_work_invite_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_member_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_my_plans.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_p_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_payout_factor_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_prd_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_psf_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/interactors/show_r_account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/password_hasher.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/records.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/repositories.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/services/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/services/account_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/services/compensation_transfers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/services/payout_factor.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/services/price_calculator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/services/psf_balance.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/core/transfers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/db.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/alembic.ini +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/env.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/script.py.mako +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/17911726c134_add_deactivated_on_to_basic_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/399a221ebea4_add_private_consumption_of_basic_.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/480a749375de_drop_transaction_table.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/4fd90069eb82_remove_social_accounting_account.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/686f2af1cbfe_add_basic_service_transfer_types.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/68ac7ccf6086_create_table_emailoutbox.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/7a4d0412c2a7_add_productive_consumption_of_basic_.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/a3e7b2c1d4f5_use_native_uuid_column_types.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/b40539bf0293_add_basic_service_table.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/c5e8a9d0f1b2_add_taxes_to_basic_service_consumptions.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/c9f2e1a4b8d7_add_outbox_status_columns.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/migrations/versions/f4a9c2e1b6d3_replace_plan_review_with_plan_rejection.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/models.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/db/repositories.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/email_sending_worker/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/email_sending_worker/interface.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/email_sending_worker/smtp_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/email_sending_worker/worker.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/babel.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/class_based_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/commands.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/config/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/config/checks.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/config/loader.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/config/options.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/config/production_defaults.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/context_processors.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/control_thresholds.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/database.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/datetime.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/dependency_injection.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/email_configuration.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/extensions.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/filters.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/flask_colors.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/flask_request.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/flask_session.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/forms.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/language_repository.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/logging_config.json +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/mail_sender/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/mail_service/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/mail_service/interface.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/mail_service/mail_storage_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/notifications.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/password_hasher.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/payout_factor.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/plotter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/profiling.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/accountant/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/accountant/blueprint.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/auth/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/auth/routes.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/company/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/company/blueprint.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/healthcheck/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/healthcheck/blueprint.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/member/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/member/blueprint.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/plots/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/plots/routes.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/user/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/user/blueprint.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/static/bulma.css +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/static/colors.css +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/static/favicon.ico +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/static/main.css +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/static/main.js +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/static/main.module.js +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/accountant/dashboard.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/accountant/notification-about-new-plan.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/accountant/plans-to-review-list.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/accountant/review_plan.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/accountant_invitation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/activate.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/help.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/login_accountant.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/login_company.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/login_member.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/password_reset_confirmation_email.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/request_password_reset.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/reset_password.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/reset_password_email.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/reset_password_invalid.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/signup_accountant.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/signup_company.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/signup_member.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/start.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/unconfirmed_company.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/auth/unconfirmed_member.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/base.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/consumption_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/create_cooperation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/create_draft.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/dashboard.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/draft_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/invite_worker_to_company.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/list_pending_work_invites.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/list_registered_hours_worked.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/my_consumptions.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/my_plans.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/register_hours_worked.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/register_productive_consumption.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/register_productive_consumption_of_basic_service.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/rejected_plan_notification.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/remove_worker_from_company.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/request_cooperation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/request_coordination_transfer.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/review_registered_consumptions.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/company/show_coordination_transfer_request.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/at.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/basket-shopping.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/book.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/calendar.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/chart-line.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/chart-pie.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/check.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/copy.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/credit-card.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/edit.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/envelope.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/exchange-alt.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/exclamation-triangle.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/eye-slashed.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/eye.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/file-circle-plus.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/file.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/hands-helping.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/hourglass.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/industry.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/info-circle.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/key.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/list.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/oil-can.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/redo.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/square-arrow-up-right.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/times.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/trash.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/user.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/icons/users.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/company_summary.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/copy_toggle.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/draft_form.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/form_field_error.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/language_selection.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/navbar.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/navigation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/pagination.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/plan_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/show_notifications.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/tooltips.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/macros/transfers.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/basic_services.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/consumption_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/consumptions.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/create_basic_service.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/dashboard.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/my_account.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/notification-about-work-invitation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/register_private_consumption.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/register_private_consumption_of_basic_service.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/member/show_company_work_invite_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/account_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/account_psf.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/change_user_name.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/company_account_a.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/company_account_p.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/company_account_prd.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/company_account_r.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/company_accounts.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/company_summary.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/confirm_email_address_change.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/coop_summary.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/http_error.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/list_all_cooperations.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/list_coordinations_of_cooperation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/list_transfers.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/name_change_confirmation.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/query_companies.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/query_offers.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/request_email_address_change.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/request_email_change_notification.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/request_email_change_warning.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/show_basic_service.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/show_payout_factor_details.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/templates/user/statistics.html +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/text_renderer.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/token.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/translations/de/LC_MESSAGES/messages.po +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/translations/en/LC_MESSAGES/messages.po +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/translations/es/LC_MESSAGES/messages.po +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/translations/messages.pot +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/translator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/types.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/accept_cooperation_request_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/accountant_invitation_email_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/cancel_cooperation_request_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/change_email_address_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/change_user_name_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/company_dashboard_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/company_work_invite_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/coop_summary_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/create_basic_service_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/create_cooperation_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/create_draft_from_plan_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/create_draft_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/deactivate_basic_service_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/delete_draft_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/deny_cooperation_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/draft_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/end_cooperation_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/file_plan_with_accounting_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/get_private_consumption_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/get_productive_consumption_details.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/get_statistics_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/healthcheck_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/hide_plan_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/http_error_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/invite_worker_to_company.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/list_all_cooperations_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/list_basic_services_of_worker_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/list_coordinators_of_cooperation_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/list_pending_work_invites_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/list_registered_hours_worked_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/list_transfers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/log_in_accountant_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/log_in_company_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/log_in_member_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/member_dashboard_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/query_companies.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/query_company_consumptions_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/query_offers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/query_private_consumptions.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/register_hours_worked_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/register_private_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/register_private_consumption_of_basic_service_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/register_productive_consumption.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/register_productive_consumption_of_basic_service_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/remove_worker_from_company_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/request_cooperation_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/request_coordination_transfer_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/request_email_address_change_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/request_password_reset_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/resend_confirmation_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/reset_password_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/review_plan_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/review_registered_consumptions_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/revoke_plan_filing_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_a_account_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_basic_service_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_company_accounts_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_coordination_transfer_request_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_member_account_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_my_cooperations_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_my_plans_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_p_account_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_payout_factor_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_prd_account_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_psf_account_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/show_r_account_details_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/signup_accountant_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/signup_company_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/views/signup_member_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/wsgi.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/colors.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/accountant_invitation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/company_notifier.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/cooperation_request_email_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/email_change_confirmation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/email_change_warning_view.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/email_sender.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/invite_worker_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/name_change_confirmation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/notify_about_worker_removal_from_company_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/notify_accountant_about_new_plan_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/registration_email_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/request_coordination_transfer_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/email/reset_password_email_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/formatters/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/formatters/datetime_formatter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/forms/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/forms/fields.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/forms/formfield_parsers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/json.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/language_service.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/malformed_input_data.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/notification.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/pagination.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/request.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/session.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/text_renderer.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/token.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/translator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/authentication.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/accept_coordination_transfer_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/answer_company_work_invite_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/approve_plan_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/change_user_email_address_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/change_user_name_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/confirm_company_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/confirm_member_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/create_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/create_draft_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/create_draft_from_plan_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/deactivate_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/delete_draft_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/draft_form_validator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/edit_draft_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/end_cooperation_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/file_plan_with_accounting_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/get_private_consumption_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/get_productive_consumption_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/invite_worker_to_company_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/list_basic_services_of_worker_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/list_pending_work_invites_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/list_registered_hours_worked_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/list_transfers_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/list_workers_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/log_in_accountant_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/query_companies_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/query_offers_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/query_private_consumptions_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_accountant_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_company_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_hours_worked_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_member_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_private_consumption_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_private_consumption_form_validator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_private_consumption_of_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_private_consumption_of_basic_service_form_validator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_productive_consumption_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_productive_consumption_of_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/register_productive_consumption_of_basic_service_form_validator.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/reject_plan_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/remove_worker_from_company_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/request_cooperation_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/request_coordination_transfer_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/request_email_address_change_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/request_password_reset_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/resend_work_invite_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/reset_password_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/review_plan_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/review_registered_consumptions_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/revoke_plan_filing_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/select_private_consumption_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/select_private_consumption_of_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/select_productive_consumption_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/select_productive_consumption_of_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_a_account_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_basic_service_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_company_accounts_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_company_work_invite_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_p_account_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_prd_account_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/show_r_account_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/controllers/user_account_details_controller.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/navbar.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/__init__.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/accept_cooperation_request_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/accept_coordination_transfer_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/answer_company_work_invite_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/approve_plan_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/cancel_cooperation_request_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/change_user_email_address_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/change_user_name_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/company_consumptions_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/create_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/create_cooperation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/create_draft_from_plan_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/create_draft_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/deactivate_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/delete_draft_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/deny_cooperation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/edit_draft_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/file_plan_with_accounting_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_accountant_dashboard_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_company_dashboard_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_coordination_transfer_request_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_draft_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_member_dashboard_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/get_statistics_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/hide_plan_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/invite_worker_to_company_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_all_cooperations_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_available_languages_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_basic_services_of_worker_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_coordinations_of_cooperation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_pending_work_invites_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_plans_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_registered_hours_worked_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_transfers_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/list_workers_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/log_in_accountant_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/log_in_company_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/log_in_member_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/private_consumptions_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/query_companies_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_accountant_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_company_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_hours_worked_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_member_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_private_consumption_of_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_private_consumption_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_productive_consumption_of_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/register_productive_consumption_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/reject_plan_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/remove_worker_from_company_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/request_cooperation_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/request_coordination_transfer_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/request_email_address_change_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/request_password_reset_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/resend_work_invite_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/reset_password_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/revoke_plan_filing_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/select_private_consumption_of_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/select_private_consumption_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/select_productive_consumption_of_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/select_productive_consumption_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_a_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_basic_service_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_company_accounts_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_company_work_invite_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_member_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_p_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_prd_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_psf_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/show_r_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/transfers.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/presenters/user_account_details_presenter.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/web/www/response.py +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control.egg-info/dependency_links.txt +0 -0
- {workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: workers-control
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: A flask app for labour time accounting.
|
|
5
5
|
License-Expression: AGPL-3.0-or-later
|
|
6
6
|
Project-URL: Source, https://github.com/ida-arbeitszeit/workers-control
|
|
@@ -13,14 +13,14 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
13
13
|
Requires-Python: >=3.13
|
|
14
14
|
Description-Content-Type: text/x-rst
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: alembic
|
|
17
|
-
Requires-Dist: email-validator
|
|
16
|
+
Requires-Dist: alembic==1.18.1
|
|
17
|
+
Requires-Dist: email-validator==2.3.0
|
|
18
18
|
Requires-Dist: flask==3.1.2
|
|
19
19
|
Requires-Dist: flask-babel==4.0.0
|
|
20
20
|
Requires-Dist: flask-talisman==1.1.0
|
|
21
21
|
Requires-Dist: flask-login==0.6.3
|
|
22
22
|
Requires-Dist: flask-wtf==1.2.2
|
|
23
|
-
Requires-Dist: matplotlib<=3.
|
|
23
|
+
Requires-Dist: matplotlib<=3.11.0,>=3.10.9
|
|
24
24
|
Provides-Extra: profiling
|
|
25
25
|
Requires-Dist: flask_profiler; extra == "profiling"
|
|
26
26
|
Dynamic: license-file
|
|
@@ -5,7 +5,7 @@ backend-path = ["."]
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "workers-control"
|
|
8
|
-
version = "0.2.
|
|
8
|
+
version = "0.2.4"
|
|
9
9
|
description = "A flask app for labour time accounting."
|
|
10
10
|
license = "AGPL-3.0-or-later"
|
|
11
11
|
requires-python = ">=3.13"
|
|
@@ -19,14 +19,14 @@ readme = "README.rst"
|
|
|
19
19
|
|
|
20
20
|
dependencies = [
|
|
21
21
|
# Pin to exact versions, if possible.
|
|
22
|
-
"alembic
|
|
23
|
-
"email-validator
|
|
22
|
+
"alembic==1.18.1",
|
|
23
|
+
"email-validator==2.3.0",
|
|
24
24
|
"flask==3.1.2",
|
|
25
25
|
"flask-babel==4.0.0",
|
|
26
26
|
"flask-talisman==1.1.0",
|
|
27
27
|
"flask-login==0.6.3",
|
|
28
28
|
"flask-wtf==1.2.2",
|
|
29
|
-
"matplotlib>=3.10.
|
|
29
|
+
"matplotlib>=3.10.9, <=3.11.0" # different versions in stable/unstable nixpkgs
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
[project.optional-dependencies]
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
from dataclasses import dataclass
|
|
2
4
|
from datetime import datetime
|
|
3
5
|
from decimal import Decimal
|
|
@@ -35,16 +37,24 @@ class PlanDetails:
|
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
@dataclass
|
|
38
|
-
class
|
|
40
|
+
class GetPlanDetailsInteractor:
|
|
41
|
+
@dataclass
|
|
42
|
+
class Request:
|
|
43
|
+
plan_id: UUID
|
|
44
|
+
|
|
45
|
+
@dataclass
|
|
46
|
+
class Response:
|
|
47
|
+
plan_details: PlanDetails
|
|
48
|
+
|
|
39
49
|
database_gateway: DatabaseGateway
|
|
40
50
|
price_calculator: PriceCalculator
|
|
41
51
|
datetime_service: DatetimeService
|
|
42
52
|
|
|
43
|
-
def
|
|
53
|
+
def get_plan_details(self, request: Request) -> Optional[Response]:
|
|
44
54
|
now = self.datetime_service.now()
|
|
45
55
|
plan_and_cooperation = (
|
|
46
56
|
self.database_gateway.get_plans()
|
|
47
|
-
.with_id(plan_id)
|
|
57
|
+
.with_id(request.plan_id)
|
|
48
58
|
.joined_with_cooperation()
|
|
49
59
|
.first()
|
|
50
60
|
)
|
|
@@ -54,26 +64,28 @@ class PlanDetailsService:
|
|
|
54
64
|
price_per_unit = self.price_calculator.calculate_price(plan.id)
|
|
55
65
|
planner = self.database_gateway.get_companies().with_id(plan.planner).first()
|
|
56
66
|
assert planner
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
return self.Response(
|
|
68
|
+
plan_details=PlanDetails(
|
|
69
|
+
plan_id=plan.id,
|
|
70
|
+
is_active=plan.is_active_as_of(now),
|
|
71
|
+
planner_id=planner.id,
|
|
72
|
+
planner_name=planner.name,
|
|
73
|
+
product_name=plan.prd_name,
|
|
74
|
+
description=plan.description,
|
|
75
|
+
timeframe=plan.timeframe,
|
|
76
|
+
active_days=plan.active_days(now) or 0,
|
|
77
|
+
production_unit=plan.prd_unit,
|
|
78
|
+
amount=plan.prd_amount,
|
|
79
|
+
means_cost=plan.production_costs.means_cost,
|
|
80
|
+
resources_cost=plan.production_costs.resource_cost,
|
|
81
|
+
labour_cost=plan.production_costs.labour_cost,
|
|
82
|
+
is_public_service=plan.is_public_service,
|
|
83
|
+
price_per_unit=price_per_unit,
|
|
84
|
+
cost_per_unit=plan.cost_per_unit(),
|
|
85
|
+
is_cooperating=bool(cooperation),
|
|
86
|
+
cooperation=cooperation.id if cooperation else None,
|
|
87
|
+
creation_date=plan.plan_creation_date,
|
|
88
|
+
approval_date=plan.approval_date,
|
|
89
|
+
expiration_date=plan.expiration_date,
|
|
90
|
+
)
|
|
79
91
|
)
|
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
from uuid import UUID
|
|
2
|
-
|
|
3
|
-
from flask import Response as FlaskResponse
|
|
4
1
|
from flask import render_template
|
|
5
2
|
|
|
6
3
|
from workers_control.core.interactors.get_accountant_dashboard import (
|
|
7
4
|
GetAccountantDashboardInteractor,
|
|
8
5
|
)
|
|
9
|
-
from workers_control.core.interactors.get_plan_details import GetPlanDetailsInteractor
|
|
10
6
|
from workers_control.core.interactors.list_plans_with_pending_review import (
|
|
11
7
|
ListPlansWithPendingReviewInteractor,
|
|
12
8
|
)
|
|
13
9
|
from workers_control.flask.class_based_view import as_flask_view
|
|
14
10
|
from workers_control.flask.flask_session import FlaskSession
|
|
15
11
|
from workers_control.flask.types import Response
|
|
16
|
-
from workers_control.flask.views.http_error_view import http_404
|
|
17
12
|
from workers_control.flask.views.review_plan_view import ReviewPlanView
|
|
18
13
|
from workers_control.web.www.presenters.get_accountant_dashboard_presenter import (
|
|
19
14
|
GetAccountantDashboardPresenter,
|
|
20
15
|
)
|
|
21
|
-
from workers_control.web.www.presenters.get_plan_details_accountant_presenter import (
|
|
22
|
-
GetPlanDetailsAccountantPresenter,
|
|
23
|
-
)
|
|
24
16
|
from workers_control.web.www.presenters.list_plans_with_pending_review_presenter import (
|
|
25
17
|
ListPlansWithPendingReviewPresenter,
|
|
26
18
|
)
|
|
@@ -61,24 +53,3 @@ def list_plans_with_pending_review(
|
|
|
61
53
|
@AccountantRoute("/accountant/plans/<uuid:plan_id>/review", methods=["GET", "POST"])
|
|
62
54
|
@as_flask_view()
|
|
63
55
|
class review_plan(ReviewPlanView): ...
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
@AccountantRoute("/accountant/plan_details/<uuid:plan_id>")
|
|
67
|
-
def plan_details(
|
|
68
|
-
plan_id: UUID,
|
|
69
|
-
interactor: GetPlanDetailsInteractor,
|
|
70
|
-
presenter: GetPlanDetailsAccountantPresenter,
|
|
71
|
-
) -> Response:
|
|
72
|
-
interactor_request = GetPlanDetailsInteractor.Request(plan_id)
|
|
73
|
-
interactor_response = interactor.get_plan_details(interactor_request)
|
|
74
|
-
if interactor_response:
|
|
75
|
-
view_model = presenter.present(interactor_response)
|
|
76
|
-
return FlaskResponse(
|
|
77
|
-
render_template(
|
|
78
|
-
"accountant/plan_details.html",
|
|
79
|
-
view_model=view_model,
|
|
80
|
-
navbar_items=presenter.create_navbar_items(),
|
|
81
|
-
)
|
|
82
|
-
)
|
|
83
|
-
else:
|
|
84
|
-
return http_404()
|
{workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/company/routes.py
RENAMED
|
@@ -19,12 +19,12 @@ from workers_control.flask.views.create_draft_view import CreateDraftView
|
|
|
19
19
|
from workers_control.flask.views.delete_draft_view import DeleteDraftView
|
|
20
20
|
from workers_control.flask.views.deny_cooperation_view import DenyCooperationView
|
|
21
21
|
from workers_control.flask.views.draft_details_view import DraftDetailsView
|
|
22
|
+
from workers_control.flask.views.end_plan_cooperation_view import (
|
|
23
|
+
EndPlanCooperationView,
|
|
24
|
+
)
|
|
22
25
|
from workers_control.flask.views.file_plan_with_accounting_view import (
|
|
23
26
|
FilePlanWithAccountingView,
|
|
24
27
|
)
|
|
25
|
-
from workers_control.flask.views.get_plan_details_company_view import (
|
|
26
|
-
GetPlanDetailsCompanyView,
|
|
27
|
-
)
|
|
28
28
|
from workers_control.flask.views.get_productive_consumption_details import (
|
|
29
29
|
GetProductiveConsumptionDetailsView,
|
|
30
30
|
)
|
|
@@ -147,11 +147,6 @@ class register_productive_consumption_of_basic_service(
|
|
|
147
147
|
): ...
|
|
148
148
|
|
|
149
149
|
|
|
150
|
-
@CompanyRoute("/plan_details/<uuid:plan_id>")
|
|
151
|
-
@as_flask_view()
|
|
152
|
-
class plan_details(GetPlanDetailsCompanyView): ...
|
|
153
|
-
|
|
154
|
-
|
|
155
150
|
@CompanyRoute(
|
|
156
151
|
"/cooperation_summary/<uuid:coop_id>/request_coordination_transfer",
|
|
157
152
|
methods=["GET", "POST"],
|
|
@@ -218,6 +213,11 @@ class list_pending_work_invites(ListPendingWorkInvitesView): ...
|
|
|
218
213
|
class end_cooperation(EndCooperationView): ...
|
|
219
214
|
|
|
220
215
|
|
|
216
|
+
@CompanyRoute("/end_plan_cooperation", methods=["POST"])
|
|
217
|
+
@as_flask_view()
|
|
218
|
+
class end_plan_cooperation(EndPlanCooperationView): ...
|
|
219
|
+
|
|
220
|
+
|
|
221
221
|
@CompanyRoute("/review_registered_consumptions")
|
|
222
222
|
@as_flask_view()
|
|
223
223
|
class review_registered_consumptions(ReviewRegisteredConsumptionsView): ...
|
{workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/member/routes.py
RENAMED
|
@@ -10,9 +10,6 @@ from workers_control.flask.views.create_basic_service_view import (
|
|
|
10
10
|
from workers_control.flask.views.deactivate_basic_service_view import (
|
|
11
11
|
DeactivateBasicServiceView,
|
|
12
12
|
)
|
|
13
|
-
from workers_control.flask.views.get_plan_details_member_view import (
|
|
14
|
-
GetPlanDetailsMemberView,
|
|
15
|
-
)
|
|
16
13
|
from workers_control.flask.views.get_private_consumption_details import (
|
|
17
14
|
GetPrivateConsumptionDetailsView,
|
|
18
15
|
)
|
|
@@ -77,11 +74,6 @@ class dashboard(MemberDashboardView): ...
|
|
|
77
74
|
class my_account(ShowMemberAccountDetailsView): ...
|
|
78
75
|
|
|
79
76
|
|
|
80
|
-
@MemberRoute("/plan_details/<uuid:plan_id>")
|
|
81
|
-
@as_flask_view()
|
|
82
|
-
class plan_details(GetPlanDetailsMemberView): ...
|
|
83
|
-
|
|
84
|
-
|
|
85
77
|
@MemberRoute("/invite_details/<uuid:invite_id>", methods=["GET", "POST"])
|
|
86
78
|
@as_flask_view()
|
|
87
79
|
class show_company_work_invite(CompanyWorkInviteView): ...
|
{workers_control-0.2.3 → workers_control-0.2.4}/src/workers_control/flask/routes/user/routes.py
RENAMED
|
@@ -15,6 +15,7 @@ from workers_control.flask.views import QueryCompaniesView, QueryOffersView
|
|
|
15
15
|
from workers_control.flask.views.change_email_address_view import ChangeEmailAddressView
|
|
16
16
|
from workers_control.flask.views.change_user_name_view import ChangeUserNameView
|
|
17
17
|
from workers_control.flask.views.coop_summary_view import CoopSummaryView
|
|
18
|
+
from workers_control.flask.views.get_plan_details_view import GetPlanDetailsView
|
|
18
19
|
from workers_control.flask.views.get_statistics_view import GetStatisticsView
|
|
19
20
|
from workers_control.flask.views.http_error_view import http_404
|
|
20
21
|
from workers_control.flask.views.list_all_cooperations_view import (
|
|
@@ -182,3 +183,8 @@ class show_payout_factor_details(ShowPayoutFactorDetailsView): ...
|
|
|
182
183
|
@AuthenticatedUserRoute("/basic_service/<uuid:basic_service_id>")
|
|
183
184
|
@as_flask_view()
|
|
184
185
|
class show_basic_service(ShowBasicServiceView): ...
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
@AuthenticatedUserRoute("/plan_details/<uuid:plan_id>")
|
|
189
|
+
@as_flask_view()
|
|
190
|
+
class plan_details(GetPlanDetailsView): ...
|
|
@@ -21,6 +21,14 @@
|
|
|
21
21
|
<div class="subtitle"></div>
|
|
22
22
|
</div>
|
|
23
23
|
</a>
|
|
24
|
+
<div class="pt-3"></div>
|
|
25
|
+
<a href="{{ url_for('main_company.request_cooperation') }}">
|
|
26
|
+
<div class="box has-background-primary-light">
|
|
27
|
+
<h1 class="title is-5"><span class="icon">{{ "envelope"|icon }}</span>
|
|
28
|
+
{{ gettext("Request cooperation") }}</h1>
|
|
29
|
+
<div class="subtitle"></div>
|
|
30
|
+
</div>
|
|
31
|
+
</a>
|
|
24
32
|
</div>
|
|
25
33
|
</div>
|
|
26
34
|
<div class="section has-text-centered">
|
|
@@ -175,6 +183,18 @@
|
|
|
175
183
|
</p>
|
|
176
184
|
</div>
|
|
177
185
|
</div>
|
|
186
|
+
<div class="media-right">
|
|
187
|
+
<form action="{{ url_for('main_company.end_plan_cooperation') }}" method="post">
|
|
188
|
+
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
|
189
|
+
<input type="hidden" name="plan_id" value="{{ plan.plan_id }}">
|
|
190
|
+
<input type="hidden" name="cooperation_id" value="{{ plan.coop_id }}">
|
|
191
|
+
<button class="button large-button is-danger"
|
|
192
|
+
type="submit"
|
|
193
|
+
title="{{ gettext('End cooperation') }}">
|
|
194
|
+
{{ "times"|icon }}
|
|
195
|
+
</button>
|
|
196
|
+
</form>
|
|
197
|
+
</div>
|
|
178
198
|
</article>
|
|
179
199
|
{% endfor %}
|
|
180
200
|
{% else %}
|
|
@@ -5,19 +5,11 @@ from uuid import UUID
|
|
|
5
5
|
from flask import url_for
|
|
6
6
|
|
|
7
7
|
from workers_control.core.records import ConsumptionType
|
|
8
|
-
from workers_control.web.session import UserRole
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
class GeneralUrlIndex:
|
|
12
|
-
def get_plan_details_url(self,
|
|
13
|
-
|
|
14
|
-
return url_for("main_company.plan_details", plan_id=plan_id)
|
|
15
|
-
elif user_role == UserRole.member:
|
|
16
|
-
return url_for("main_member.plan_details", plan_id=plan_id)
|
|
17
|
-
elif user_role == UserRole.accountant:
|
|
18
|
-
return url_for("main_accountant.plan_details", plan_id=plan_id)
|
|
19
|
-
else:
|
|
20
|
-
raise ValueError(f"Plan summary url is unsupported for {user_role}")
|
|
11
|
+
def get_plan_details_url(self, plan_id: UUID) -> str:
|
|
12
|
+
return url_for("main_user.plan_details", plan_id=plan_id)
|
|
21
13
|
|
|
22
14
|
def get_accountant_invitation_url(self, token: str) -> str:
|
|
23
15
|
return url_for("auth.signup_accountant", token=token)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from uuid import UUID
|
|
3
|
+
|
|
4
|
+
import flask
|
|
5
|
+
|
|
6
|
+
from workers_control.core.interactors.end_cooperation import (
|
|
7
|
+
EndCooperationInteractor,
|
|
8
|
+
EndCooperationRequest,
|
|
9
|
+
)
|
|
10
|
+
from workers_control.db import commit_changes
|
|
11
|
+
from workers_control.flask.flask_session import FlaskSession
|
|
12
|
+
from workers_control.flask.types import Response
|
|
13
|
+
from workers_control.web.www.presenters.end_plan_cooperation_presenter import (
|
|
14
|
+
EndPlanCooperationPresenter,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@dataclass
|
|
19
|
+
class EndPlanCooperationView:
|
|
20
|
+
interactor: EndCooperationInteractor
|
|
21
|
+
presenter: EndPlanCooperationPresenter
|
|
22
|
+
flask_session: FlaskSession
|
|
23
|
+
|
|
24
|
+
@commit_changes
|
|
25
|
+
def POST(self) -> Response:
|
|
26
|
+
form = flask.request.form
|
|
27
|
+
current_user = self.flask_session.get_current_user()
|
|
28
|
+
assert current_user
|
|
29
|
+
cooperation_id = UUID(form["cooperation_id"].strip())
|
|
30
|
+
plan_id = UUID(form["plan_id"].strip())
|
|
31
|
+
response = self.interactor.execute(
|
|
32
|
+
EndCooperationRequest(
|
|
33
|
+
requester_id=current_user,
|
|
34
|
+
plan_id=plan_id,
|
|
35
|
+
cooperation_id=cooperation_id,
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
view_model = self.presenter.render_response(response)
|
|
39
|
+
return flask.redirect(view_model.redirection_url)
|
|
@@ -6,15 +6,15 @@ from flask import render_template
|
|
|
6
6
|
from workers_control.core.interactors.get_plan_details import GetPlanDetailsInteractor
|
|
7
7
|
from workers_control.flask.types import Response
|
|
8
8
|
from workers_control.flask.views.http_error_view import http_404
|
|
9
|
-
from workers_control.web.www.presenters.
|
|
10
|
-
|
|
9
|
+
from workers_control.web.www.presenters.get_plan_details_presenter import (
|
|
10
|
+
GetPlanDetailsPresenter,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
@dataclass
|
|
15
|
-
class
|
|
15
|
+
class GetPlanDetailsView:
|
|
16
16
|
interactor: GetPlanDetailsInteractor
|
|
17
|
-
presenter:
|
|
17
|
+
presenter: GetPlanDetailsPresenter
|
|
18
18
|
|
|
19
19
|
def GET(self, plan_id: UUID) -> Response:
|
|
20
20
|
interactor_request = GetPlanDetailsInteractor.Request(plan_id)
|
|
@@ -23,7 +23,7 @@ class GetPlanDetailsCompanyView:
|
|
|
23
23
|
return http_404()
|
|
24
24
|
view_model = self.presenter.present(interactor_response)
|
|
25
25
|
return render_template(
|
|
26
|
-
"
|
|
26
|
+
"user/plan_details.html",
|
|
27
27
|
view_model=view_model,
|
|
28
28
|
navbar_items=self.presenter.create_navbar_items(),
|
|
29
29
|
)
|
|
@@ -7,21 +7,17 @@ need different urls for different roles include the user role in the
|
|
|
7
7
|
arguments of the declared method.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
-
from dataclasses import dataclass
|
|
11
10
|
from decimal import Decimal
|
|
12
11
|
from typing import Optional, Protocol
|
|
13
12
|
from uuid import UUID
|
|
14
13
|
|
|
15
14
|
from workers_control.core.records import ConsumptionType
|
|
16
|
-
from workers_control.web.session import Session, UserRole
|
|
17
15
|
|
|
18
16
|
|
|
19
17
|
class UrlIndex(Protocol):
|
|
20
18
|
def get_member_dashboard_url(self) -> str: ...
|
|
21
19
|
|
|
22
|
-
def get_plan_details_url(
|
|
23
|
-
self, *, user_role: Optional[UserRole], plan_id: UUID
|
|
24
|
-
) -> str: ...
|
|
20
|
+
def get_plan_details_url(self, plan_id: UUID) -> str: ...
|
|
25
21
|
|
|
26
22
|
def get_work_invite_url(self, invite_id: UUID) -> str: ...
|
|
27
23
|
|
|
@@ -183,22 +179,3 @@ class UrlIndex(Protocol):
|
|
|
183
179
|
def get_basic_service_url(self, basic_service_id: UUID) -> str: ...
|
|
184
180
|
|
|
185
181
|
def get_deactivate_basic_service_url(self, basic_service_id: UUID) -> str: ...
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
@dataclass
|
|
189
|
-
class UserUrlIndex:
|
|
190
|
-
"""This class is not an interface and therefore should not be
|
|
191
|
-
implemented by the web framework. It is merely used internally as
|
|
192
|
-
a convinience interface. You should refrain from using this class
|
|
193
|
-
in your tests and instead rely on the UrlIndex interface. In a
|
|
194
|
-
test scenario you most likely know in advance if you expect a url
|
|
195
|
-
intended for a member, company or any other role. This is why the
|
|
196
|
-
UrlIndex interface is much better suited for testing needs.
|
|
197
|
-
"""
|
|
198
|
-
|
|
199
|
-
session: Session
|
|
200
|
-
url_index: UrlIndex
|
|
201
|
-
|
|
202
|
-
def get_plan_details_url(self, plan_id: UUID) -> str:
|
|
203
|
-
user_role = self.session.get_user_role()
|
|
204
|
-
return self.url_index.get_plan_details_url(user_role=user_role, plan_id=plan_id)
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
|
-
from urllib.parse import urlparse
|
|
3
2
|
from uuid import UUID
|
|
4
3
|
|
|
5
4
|
from workers_control.core.interactors.end_cooperation import EndCooperationResponse
|
|
6
5
|
from workers_control.web.notification import Notifier
|
|
7
6
|
from workers_control.web.request import Request
|
|
8
|
-
from workers_control.web.session import Session
|
|
9
7
|
from workers_control.web.translator import Translator
|
|
10
8
|
from workers_control.web.url_index import UrlIndex
|
|
11
9
|
|
|
@@ -20,7 +18,6 @@ class EndCooperationPresenter:
|
|
|
20
18
|
notifier: Notifier
|
|
21
19
|
url_index: UrlIndex
|
|
22
20
|
translator: Translator
|
|
23
|
-
session: Session
|
|
24
21
|
|
|
25
22
|
def present(
|
|
26
23
|
self, response: EndCooperationResponse, *, web_request: Request
|
|
@@ -37,23 +34,9 @@ class EndCooperationPresenter:
|
|
|
37
34
|
return self.ViewModel(show_404=False, redirect_url=redirect_url)
|
|
38
35
|
|
|
39
36
|
def _get_redirect_url(self, request: Request) -> str:
|
|
40
|
-
referer = request.get_header("Referer")
|
|
41
37
|
query_string = request.query_string()
|
|
42
|
-
plan_id = query_string.get_last_value("plan_id") or request.get_form("plan_id")
|
|
43
38
|
cooperation_id = query_string.get_last_value(
|
|
44
39
|
"cooperation_id"
|
|
45
40
|
) or request.get_form("cooperation_id")
|
|
46
|
-
assert plan_id
|
|
47
41
|
assert cooperation_id
|
|
48
|
-
|
|
49
|
-
if self._refers_from_plan_details(referer):
|
|
50
|
-
url = self.url_index.get_plan_details_url(
|
|
51
|
-
user_role=self.session.get_user_role(), plan_id=UUID(plan_id)
|
|
52
|
-
)
|
|
53
|
-
return url
|
|
54
|
-
url = self.url_index.get_coop_summary_url(coop_id=UUID(cooperation_id))
|
|
55
|
-
return url
|
|
56
|
-
|
|
57
|
-
def _refers_from_plan_details(self, referer: str) -> bool:
|
|
58
|
-
referer_path = urlparse(referer).path
|
|
59
|
-
return True if referer_path.startswith("/company/plan_details") else False
|
|
42
|
+
return self.url_index.get_coop_summary_url(coop_id=UUID(cooperation_id))
|
workers_control-0.2.4/src/workers_control/web/www/presenters/end_plan_cooperation_presenter.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from workers_control.core.interactors.end_cooperation import EndCooperationResponse
|
|
4
|
+
from workers_control.web.notification import Notifier
|
|
5
|
+
from workers_control.web.translator import Translator
|
|
6
|
+
from workers_control.web.url_index import UrlIndex
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass
|
|
10
|
+
class ViewModel:
|
|
11
|
+
redirection_url: str
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass
|
|
15
|
+
class EndPlanCooperationPresenter:
|
|
16
|
+
translator: Translator
|
|
17
|
+
notifier: Notifier
|
|
18
|
+
url_index: UrlIndex
|
|
19
|
+
|
|
20
|
+
def render_response(self, response: EndCooperationResponse) -> ViewModel:
|
|
21
|
+
if not response.is_rejected:
|
|
22
|
+
self.notifier.display_info(
|
|
23
|
+
self.translator.gettext("Cooperation has been terminated.")
|
|
24
|
+
)
|
|
25
|
+
else:
|
|
26
|
+
self.notifier.display_warning(
|
|
27
|
+
self.translator.gettext("Cooperation could not be terminated.")
|
|
28
|
+
)
|
|
29
|
+
return ViewModel(redirection_url=self.url_index.get_my_cooperations_url())
|
|
@@ -9,7 +9,7 @@ from workers_control.core.interactors.get_company_summary import (
|
|
|
9
9
|
)
|
|
10
10
|
from workers_control.web.formatters.datetime_formatter import DatetimeFormatter
|
|
11
11
|
from workers_control.web.translator import Translator
|
|
12
|
-
from workers_control.web.url_index import UrlIndex
|
|
12
|
+
from workers_control.web.url_index import UrlIndex
|
|
13
13
|
from workers_control.web.www.navbar import NavbarItem
|
|
14
14
|
|
|
15
15
|
|
|
@@ -57,7 +57,6 @@ class GetCompanySummaryViewModel:
|
|
|
57
57
|
|
|
58
58
|
@dataclass
|
|
59
59
|
class GetCompanySummarySuccessPresenter:
|
|
60
|
-
user_url_index: UserUrlIndex
|
|
61
60
|
translator: Translator
|
|
62
61
|
url_index: UrlIndex
|
|
63
62
|
control_thresholds: ControlThresholds
|
|
@@ -125,8 +124,8 @@ class GetCompanySummarySuccessPresenter:
|
|
|
125
124
|
return PlanDetailsWeb(
|
|
126
125
|
id=str(plan_details.id),
|
|
127
126
|
name=plan_details.name,
|
|
128
|
-
url=self.
|
|
129
|
-
plan_details.id,
|
|
127
|
+
url=self.url_index.get_plan_details_url(
|
|
128
|
+
plan_id=plan_details.id,
|
|
130
129
|
),
|
|
131
130
|
status=(
|
|
132
131
|
self.translator.gettext("Active")
|
|
@@ -5,7 +5,7 @@ from typing import List, Optional
|
|
|
5
5
|
from workers_control.core.interactors.get_coop_summary import GetCoopSummaryResponse
|
|
6
6
|
|
|
7
7
|
from ...translator import Translator
|
|
8
|
-
from ...url_index import UrlIndex
|
|
8
|
+
from ...url_index import UrlIndex
|
|
9
9
|
from ..navbar import NavbarItem
|
|
10
10
|
|
|
11
11
|
|
|
@@ -37,7 +37,6 @@ class GetCoopSummaryViewModel:
|
|
|
37
37
|
|
|
38
38
|
@dataclass
|
|
39
39
|
class GetCoopSummarySuccessPresenter:
|
|
40
|
-
user_url_index: UserUrlIndex
|
|
41
40
|
url_index: UrlIndex
|
|
42
41
|
translator: Translator
|
|
43
42
|
|
|
@@ -73,7 +72,7 @@ class GetCoopSummarySuccessPresenter:
|
|
|
73
72
|
AssociatedPlan(
|
|
74
73
|
plan_id=str(plan.plan_id),
|
|
75
74
|
plan_name=plan.plan_name,
|
|
76
|
-
plan_url=self.
|
|
75
|
+
plan_url=self.url_index.get_plan_details_url(plan_id=plan.plan_id),
|
|
77
76
|
plan_individual_price=self.__format_price(
|
|
78
77
|
plan.plan_individual_price
|
|
79
78
|
),
|
|
@@ -2,11 +2,14 @@ from dataclasses import dataclass
|
|
|
2
2
|
from decimal import Decimal
|
|
3
3
|
from typing import List, Optional, Tuple
|
|
4
4
|
|
|
5
|
-
from workers_control.core.
|
|
5
|
+
from workers_control.core.interactors.get_plan_details import (
|
|
6
|
+
GetPlanDetailsInteractor,
|
|
7
|
+
PlanDetails,
|
|
8
|
+
)
|
|
9
|
+
from workers_control.web.formatters.datetime_formatter import DatetimeFormatter
|
|
6
10
|
from workers_control.web.translator import Translator
|
|
7
11
|
from workers_control.web.url_index import UrlIndex
|
|
8
|
-
|
|
9
|
-
from .datetime_formatter import DatetimeFormatter
|
|
12
|
+
from workers_control.web.www.navbar import NavbarItem
|
|
10
13
|
|
|
11
14
|
|
|
12
15
|
@dataclass
|
|
@@ -32,12 +35,27 @@ class PlanDetailsWeb:
|
|
|
32
35
|
|
|
33
36
|
|
|
34
37
|
@dataclass
|
|
35
|
-
class
|
|
36
|
-
|
|
38
|
+
class GetPlanDetailsViewModel:
|
|
39
|
+
details: PlanDetailsWeb
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@dataclass
|
|
43
|
+
class GetPlanDetailsPresenter:
|
|
37
44
|
translator: Translator
|
|
45
|
+
url_index: UrlIndex
|
|
38
46
|
datetime_formatter: DatetimeFormatter
|
|
39
47
|
|
|
40
|
-
def
|
|
48
|
+
def create_navbar_items(self) -> list[NavbarItem]:
|
|
49
|
+
return [NavbarItem(text=self.translator.gettext("Plan information"), url=None)]
|
|
50
|
+
|
|
51
|
+
def present(
|
|
52
|
+
self, response: GetPlanDetailsInteractor.Response
|
|
53
|
+
) -> GetPlanDetailsViewModel:
|
|
54
|
+
return GetPlanDetailsViewModel(
|
|
55
|
+
details=self._format_plan_details(response.plan_details),
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
def _format_plan_details(self, plan_details: PlanDetails) -> PlanDetailsWeb:
|
|
41
59
|
return PlanDetailsWeb(
|
|
42
60
|
plan_id=(self.translator.gettext("Plan ID"), str(plan_details.plan_id)),
|
|
43
61
|
activity_string=(
|
|
@@ -5,7 +5,6 @@ from dataclasses import dataclass
|
|
|
5
5
|
from workers_control.core.interactors.get_plan_for_review import (
|
|
6
6
|
GetPlanForReviewInteractor as Interactor,
|
|
7
7
|
)
|
|
8
|
-
from workers_control.web.session import UserRole
|
|
9
8
|
from workers_control.web.translator import Translator
|
|
10
9
|
from workers_control.web.url_index import UrlIndex
|
|
11
10
|
from workers_control.web.www.navbar import NavbarItem
|
|
@@ -27,7 +26,7 @@ class GetPlanForReviewPresenter:
|
|
|
27
26
|
return self.ViewModel(
|
|
28
27
|
product_name=response.product_name,
|
|
29
28
|
plan_details_url=self.url_index.get_plan_details_url(
|
|
30
|
-
|
|
29
|
+
plan_id=response.plan_id
|
|
31
30
|
),
|
|
32
31
|
review_form_action_url=self.url_index.get_plan_review_url(response.plan_id),
|
|
33
32
|
navbar_items=[
|