Commit Graph

74 Commits

Author SHA1 Message Date
71c19d28b0 Merge pull request 'feature/hub-admin-global-access' (#410) from feature/hub-admin-global-access into development
Reviewed-on: ADUANASOFT/anexo76#410
2026-05-20 16:31:09 +00:00
19bc7a2b57 fix(license): handle unlimited user licenses by checking for None value 2026-05-20 11:09:24 -05:00
7920f190e3 fix(security): improve tenant ID resolution and error handling for hub_admin access 2026-05-20 10:46:31 -05:00
125405458c feat(auth): add hub_admin global access support across modules
- Add is_hub_admin() and resolve_tenant_id_required() to core/security
- hub_admin resolves tenant from company or uses None as global sentinel
- Update routes and services to skip tenant filter when tenant_id is None
- UserService accepts is_hub_admin flag for cross-tenant user management
- get_my_companies returns all companies for hub_admin without tenant restriction
2026-05-15 09:22:35 -05:00
cf27f6103d Merge pull request 'fix/redirect-invitation-users' (#391) from fix/redirect-invitation-users into development
Reviewed-on: ADUANASOFT/anexo76#391
2026-05-12 15:37:30 +00:00
51d29950c8 fix: implement backfill for UserCompanyRole during user login and invite flow 2026-05-12 10:35:52 -05:00
26f9675557 Merge branch 'development' into feature/alembic-daf 2026-05-12 09:23:19 -06:00
831da7b31c refactor: remove unused base_url parameter from create_invite and update fallback URL logic 2026-05-12 10:04:35 -05:00
ee9ac4f64f feature/alembic-daf 2026-05-12 09:00:32 -06:00
fb89ed0569 Merge pull request 'feat: enhance user avatar handling and synchronization with Workspace' (#381) from feature/profile-photo into development
Reviewed-on: ADUANASOFT/anexo76#381
2026-05-08 22:34:06 +00:00
1dbc75107f feat: enhance user avatar handling and synchronization with Workspace
- Updated sidebar component to merge user data from Keycloak and Workspace, including avatar URLs.
- Refactored nav-user component to utilize new avatar resolution logic and display user information more effectively.
- Introduced a new utility function to resolve user avatar URLs, prioritizing Workspace avatars.
- Implemented backend changes to support synchronization of user profile data, including avatar URLs from Workspace.
- Added database migration to include new fields for Workspace profile synchronization in user_tenants.
- Created a new client for fetching user profiles from Workspace.
- Updated dashboard components to reflect changes in user data structure and avatar handling.
- Removed avatar upload functionality from the profile update process, relying on Workspace for avatar management.
- Added tests for avatar resolution logic to ensure correct prioritization of avatar sources.
2026-05-08 17:03:29 -05:00
9e3274b03a Update environment variables in docker-compose and refactor RLS context handling in database and middleware. Added error handling for Hub license verification. 2026-05-08 13:51:24 -05:00
fd26b8e1dd Merge pull request 'feature/profile-photo' (#372) from feature/profile-photo into development
Reviewed-on: ADUANASOFT/anexo76#372
2026-05-08 14:25:32 +00:00
52fec4038e feat: implement lazy-link for pending invites and add hub_invite_token to InviteToken model
Co-authored-by: Copilot <copilot@github.com>
2026-05-07 12:41:12 -05:00
beaf9b2f8e Correcion con vite, borrar los print y mejorar la barra de manuales 2026-05-07 11:41:44 -05:00
d325218d27 merge: integrar development y resolver conflictos en traducciones 2026-05-06 17:02:27 -05:00
1f2f8d1f83 feat: implement user invitation system
- Add InviteToken model and Alembic migration (core.invite_tokens)
- Add invites module: DTOs, service (create/validate/consume), routes
- Register invites router in core router
- Extend auth register endpoint to support invite_token flow:
  - Validate local token, create user via Hub admin API (service account),
    handle existing user (link instead of duplicate), create UserTenant, consume token
- Add GET /auth/register/check endpoint to validate token without consuming
- Add HUB_ADMIN_EMAIL, HUB_ADMIN_PASSWORD, APP_PUBLIC_URL to config
- Frontend: add invite() method and types to users.ts API client
- Frontend: add invite dialog with real roles dropdown to users page
- Frontend: update register page to handle invite flow and user-exists case
2026-05-06 16:57:29 -05:00
85ecdc88fa fix: estabilizar auth, proxy y traducciones del dashboard 2026-05-06 16:57:28 -05:00
b212cf63c1 Merge development into feature/manuales and resolve conflicts in HelpDrawer 2026-05-06 14:29:56 -05:00
9260b5f2ce Merge branch 'development' into feature/catalogos-generales-permisos 2026-05-06 11:13:40 -06:00
e3ad7e7a7e feature/catalogos-generales-permisos 2026-05-06 11:13:09 -06:00
d977b08bf9 Merge pull request 'feat: add first_name and last_name fields to UserTenant model and sync with Keycloak' (#366) from fix/user-profile-edit-keycloak-sync into development
Reviewed-on: ADUANASOFT/anexo76#366
2026-05-06 17:11:07 +00:00
5dd65df3e8 feat: add first_name and last_name fields to UserTenant model and sync with Keycloak
Co-authored-by: Copilot <copilot@github.com>
2026-05-06 12:09:04 -05:00
c3d1d21e7f Merge pull request 'feature/users-delete' (#364) from feature/users-delete into development
Reviewed-on: ADUANASOFT/anexo76#364
2026-05-06 13:43:46 +00:00
5c4161e5d8 feat: enhance user deletion process with access token and hub tenant ID propagation 2026-05-06 08:20:39 -05:00
97bb5c23b6 feature/permisos-keycloak-correccion 2026-05-04 13:22:18 -06:00
7ea8a4ba8d feat: multi-tenant user delete scope + conditional keycloak wait
- Add GET /users/{user_id}/tenant-count endpoint
- Add scope query param (current|all) to DELETE /users/{user_id}
- UserService.delete_user now supports scope='all' to deactivate/remove
  user from all tenants
- Frontend users.ts: getTenantCount(), delete() accepts scope param
- Frontend +page.svelte: async openDeleteDialog fetches tenant count,
  shows 4-button dialog when user belongs to >1 tenant
- docker-entrypoint.sh: Keycloak wait now conditional on WAIT_FOR_KEYCLOAK=1
2026-05-04 14:17:12 -05:00
2ce8a9047c feat: enhance user statistics and tenant management
- Updated user statistics endpoint to include access token and hub tenant ID for improved data retrieval.
- Refactored user listing functionality to support access token and hub tenant ID, ensuring accurate user data from the Hub.
- Introduced new methods in UserService for fetching users with additional information from the Hub.
- Enhanced security functions to ensure user-tenant relationships are maintained and synchronized with the Hub.
- Improved frontend logic to handle company initialization and user authentication more effectively.
2026-05-01 23:32:48 -05:00
f10fee9bc3 refactor: update role handling in security and permissions modules, and change hub-net to non-external in docker-compose 2026-04-29 22:08:37 -05:00
1d1d4b1619 Merge remote-tracking branch 'origin/development' into feature/hub-integration
# Conflicts:
#	backend/.env.example
#	backend/api/v1/modules/core/auth/service.py
#	backend/api/v1/modules/core/users/service.py
#	backend/core/middleware.py
#	docker-compose.yml
#	frontend/src/lib/auth.ts
#	frontend/src/lib/components/help/HelpDrawer.svelte
#	scripts/backend-entrypoint.sh
2026-04-29 13:11:44 -05:00
97de088b5d sistema contextual y de reocmendaciones de manuales, asi como busqueda y nuevps disenios 2026-04-29 10:25:16 -05:00
381149e276 Barra de ayuda contextualizada 2026-04-28 14:24:57 -05:00
bc433c7202 Permisis de admin 2026-04-28 09:47:39 -06:00
8374975a30 chore: resolve remaining merge conflicts in data-table-actions components 2026-04-27 13:39:04 -05:00
5c2a84e95d fix: solución de bloqueos y estandarización de permisos 2026-04-27 10:47:30 -05:00
73a6d92863 Implement row-level security (RLS) context management for database sessions. Refactor invoice processing and reverting tasks to utilize scoped database sessions with RLS context. Update middleware to extract and set company ID from requests. Enhance task dispatching to propagate RLS context via Celery headers. Update architecture documentation to reflect RLS implementation details. 2026-04-24 18:01:46 -05:00
5ac757dbc1 chore: snapshot before development sync 2026-04-24 11:18:06 -05:00
e5fa5f0326 TODOS de configuracion general lista 2026-04-13 18:02:39 -05:00
d3676aa8ed Refactor code structure for improved readability and maintainability 2026-04-06 08:54:05 -05:00
9439a6a775 feature/minio-s3-integration 2026-04-02 13:35:18 -06:00
85247e2713 fix/quitar-dato-empresa 2026-03-25 07:12:22 -06:00
481b295ab0 Merge pull request 'feature/table-celery-tasks' (#247) from feature/table-celery-tasks into development
Reviewed-on: ADUANASOFT/anexo76#247
2026-03-24 19:16:49 +00:00
b5b99a5ddb feature/tabla-bitacora-logs-task 2026-03-24 13:07:35 -06:00
23509cbcc9 Refactor DTO classes to use model_config with ConfigDict for attribute handling
- Updated multiple DTO classes across various modules to replace the `Config` class with `model_config = ConfigDict(from_attributes=True)`.
- This change enhances consistency in attribute handling and aligns with the latest Pydantic practices.
- Adjusted error handling in core modules to change status codes from `HTTP_422_UNPROCESSABLE_ENTITY` to `HTTP_422_UNPROCESSABLE_CONTENT` for improved clarity in validation responses.
2026-03-24 12:06:55 -05:00
a8d548d91e Refactor date handling in DashboardService for invoice queries
- Updated the date calculations in the DashboardService to use the `invoice_date` field instead of `created_at` for querying previous totals and monthly data.
- Changed the date variables to return only the date part, improving clarity and consistency in date handling.

These changes enhance the accuracy of invoice data retrieval in the dashboard service.
2026-03-20 11:52:47 -05:00
5478a88f2b Refactor code structure for improved readability and maintainability 2026-03-07 23:09:13 -06:00
7289947e48 Resolucion de conflictos: Merge feature/boton_ayuda a development 2026-02-26 12:34:38 -06:00
e4d4d0cce6 Puestas de seguridad y limpieza de codigo 2026-02-25 10:34:11 -06:00
96757ffdd2 Se corrigio bug en las tareas 2026-02-24 16:36:23 -06:00
ad26062f46 Coreccion del cliente para descargar los archivos multimedia 2026-02-24 14:00:28 -06:00