diff --git a/.agent/workflows/sync-remotes.md b/.agent/workflows/sync-remotes.md new file mode 100644 index 0000000..7771f2c --- /dev/null +++ b/.agent/workflows/sync-remotes.md @@ -0,0 +1,11 @@ +--- +description: Push changes to both Forgejo (origin) and GitHub remotes +--- + +1. Push to Forgejo (Origin) +// turbo +git push origin HEAD + +2. Push to GitHub +// turbo +git push github HEAD diff --git a/backend/internal/services/admin_service.go b/backend/internal/services/admin_service.go index 9a966a5..1e666b0 100644 --- a/backend/internal/services/admin_service.go +++ b/backend/internal/services/admin_service.go @@ -26,11 +26,7 @@ func (s *AdminService) ListCompanies(ctx context.Context, verified *bool, page, // Count Total // Count Total -<<<<<<< HEAD countQuery := `SELECT COUNT(*) FROM companies WHERE type != 'CANDIDATE_WORKSPACE'` -======= - countQuery := `SELECT COUNT(*) FROM companies WHERE (type = 'company' OR type = 'COMPANY' OR type IS NULL)` ->>>>>>> task5 var countArgs []interface{} if verified != nil { countQuery += " AND verified = $1" diff --git a/frontend/src/i18n/es.json b/frontend/src/i18n/es.json index 3a5f12c..68f97f7 100644 --- a/frontend/src/i18n/es.json +++ b/frontend/src/i18n/es.json @@ -771,6 +771,23 @@ "delete_success": "¡Usuario eliminado!", "delete_error": "Error al eliminar usuario", "load_error": "Error al cargar usuarios" + }, + "form": { + "password": "Contraseña segura", + "company": "Empresa", + "select_company": "Seleccione una empresa", + "role_placeholder": "Seleccione un rol", + "status_placeholder": "Seleccione estado" + }, + "roles": { + "superadmin": "Super Administrador", + "admin": "Administrador de Empresa", + "recruiter": "Reclutador", + "candidate": "Candidato" + }, + "statuses": { + "active": "Activo", + "inactive": "Inactivo" } }, "candidates_page": { @@ -813,6 +830,114 @@ "hired": "Contratado", "rejected": "Rechazado" } + }, + "jobs": { + "title": "Gestión de Empleos", + "subtitle": "Gestione todos los empleos publicados en la plataforma", + "newJob": "Nuevo empleo", + "stats": { + "total": "Total de empleos", + "active": "Empleos activos", + "applications": "Postulaciones", + "conversion": "Tasa de conversión" + }, + "searchPlaceholder": "Buscar empleos por título o empresa...", + "table": { + "role": "Puesto", + "company": "Empresa", + "applications": "Postulaciones", + "status": "Estado", + "actions": "Acciones", + "empty": "No hay empleos encontrados.", + "loading": "Cargando empleos...", + "error": "No se pueden cargar los empleos ahora." + }, + "details": { + "title": "Detalles del Empleo", + "description": "Descripción del empleo", + "close": "Cerrar" + }, + "edit": { + "title": "Editar Empleo", + "subtitle": "Actualizar detalles del empleo", + "jobTitle": "Título del empleo", + "cancel": "Cancelar", + "save": "Guardar Cambios" + }, + "deleteConfirm": "¿Está seguro de que desea eliminar este empleo?", + "deleteError": "Error al eliminar el empleo", + "updateError": "Error al actualizar el empleo" + }, + "companies": { + "title": "Gestión de Empresas", + "subtitle": "Gestione todas las empresas registradas", + "newCompany": "Nueva empresa", + "refresh": "Actualizar", + "stats": { + "total": "Total de empresas", + "active": "Empresas activas", + "verified": "Verificadas", + "pending": "Pendientes" + }, + "create": { + "title": "Crear nueva empresa", + "subtitle": "Complete los detalles de la empresa", + "name": "Nombre de la empresa", + "namePlaceholder": "Empresa XYZ", + "slug": "Slug (URL)", + "slugPlaceholder": "empresa-xyz", + "email": "Correo", + "emailPlaceholder": "hola@empresa.com", + "cancel": "Cancelar", + "submit": "Crear empresa" + }, + "edit": { + "title": "Editar empresa", + "subtitle": "Actualizar información de la empresa", + "save": "Guardar cambios" + }, + "details": { + "title": "Detalles de la empresa", + "subtitle": "Información y detalles de la empresa", + "close": "Cerrar", + "delete": "Eliminar", + "edit": "Editar" + }, + "table": { + "company": "Empresa", + "email": "Correo", + "status": "Estado", + "verified": "Verificado", + "created": "Creado el", + "actions": "Acciones", + "empty": "No se encontraron empresas", + "showing": "Mostrando {{from}}-{{to}} de {{total}}" + }, + "searchPlaceholder": "Buscar empresas por nombre o correo...", + "deleteConfirm": "¿Seguro que desea eliminar {{name}}? Esta acción no se puede deshacer.", + "success": { + "created": "¡Empresa creada con éxito!", + "deleted": "Empresa eliminada con éxito", + "updated": "Empresa actualizada con éxito", + "statusUpdated": "Empresa {{field}} actualizada" + }, + "fields": { + "active": "Activo", + "inactive": "Inactivo", + "address": "Dirección", + "phone": "Teléfono", + "email": "Correo", + "website": "Sitio Web", + "document": "Documento", + "description": "Descripción", + "password": "Contraseña", + "confirmPassword": "Confirmar Contraseña", + "showPassword": "Mostrar contraseña", + "hidePassword": "Ocultar contraseña", + "passwordsDoNotMatch": "Las contraseñas no coinciden", + "createdAt": "Creado el", + "updatedAt": "Actualizado el" + } } }, "company": {