feat(drive): add quota update handler

per today: admin only can update quota
    shared drive can have quota updated (personal drive's quota belong to user's quota)
This commit is contained in:
Edouard Vanbelle
2026-07-19 14:21:44 +02:00
parent 0133450d40
commit 05dfda9aa3
26 changed files with 1547 additions and 177 deletions
+39 -10
View File
@@ -836,26 +836,55 @@
"gen_key_warning": "Guarda esta clave de forma segura. Si se pierde, los datos cifrados se pierden de forma irrecuperable.",
"drive_manage_policies": "Gestionar políticas",
"drive_manage_policies_for": "Políticas — {{name}}",
"drive_manage_policies_help": "Las políticas son exclusivas de administradores; los propietarios del Drive no pueden modificarlas. Cada interruptor controla una restricción.",
"drive_manage_policies_help": "Las políticas son exclusivas de administradores; los propietarios del Unidad no pueden modificarlas. Cada interruptor controla una restricción.",
"drive_policy": {
"forbid_sharing": "Prohibir compartir por recurso",
"forbid_sharing_help": "Bloquea los permisos por archivo o carpeta (incluye también enlaces públicos y compartir externo). La membresía del Drive sigue funcionando.",
"forbid_sharing_help": "Bloquea los permisos por archivo o carpeta (incluye también enlaces públicos y compartir externo). La membresía del Unidad sigue funcionando.",
"forbid_public_links": "Prohibir enlaces públicos",
"forbid_public_links_help": "Bloquea la creación de enlaces compartidos anónimos en los recursos de este Drive.",
"forbid_public_links_help": "Bloquea la creación de enlaces compartidos anónimos en los recursos de este Unidad.",
"forbid_external_sharing": "Prohibir compartir externo",
"forbid_external_sharing_help": "Bloquea los permisos a usuarios externos (invitaciones por correo y cuentas externas existentes).",
"forbid_cross_drive_move": "Prohibir mover entre Drives",
"forbid_cross_drive_move_help": "Bloquea mover archivos o carpetas a otro Drive. No impide descargar y volver a subir.",
"forbid_cross_drive_move": "Prohibir mover entre Unidads",
"forbid_cross_drive_move_help": "Bloquea mover archivos o carpetas a otro Unidad. No impide descargar y volver a subir.",
"forbid_owner_role_change": "Bloquear lista de propietarios",
"forbid_owner_role_change_help": "Solo los administradores pueden añadir, retirar o degradar propietarios del Drive mientras esta política esté activa.",
"forbid_owner_role_change_help": "Solo los administradores pueden añadir, retirar o degradar propietarios del Unidad mientras esta política esté activa.",
"include_in_photo_index": "Incluir en Fotos",
"include_in_photo_index_help": "Muestra los archivos de imagen y vídeo de este Drive en la línea de tiempo de Fotos y en el mapa de Lugares. Los Drives personales predeterminados se incluyen automáticamente; activa esta opción en Drives compartidos que realmente contengan fotos (p. ej. «Fotos de familia»).",
"include_in_photo_index_help": "Muestra los archivos de imagen y vídeo de este Unidad en la línea de tiempo de Fotos y en el mapa de Lugares. Los Unidads personales predeterminados se incluyen automáticamente; activa esta opción en Unidads compartidos que realmente contengan fotos (p. ej. «Fotos de familia»).",
"include_in_music_index": "Incluir en Música",
"include_in_music_index_help": "Incluir los archivos de audio de este Drive en la biblioteca de Música. Los Drives personales predeterminados se incluyen automáticamente; activa esta opción en Drives compartidos que realmente contengan una colección musical (p. ej. «Música de familia», «Colaboración de banda»).",
"include_in_music_index_help": "Incluir los archivos de audio de este Unidad en la biblioteca de Música. Los Unidads personales predeterminados se incluyen automáticamente; activa esta opción en Unidads compartidos que realmente contengan una colección musical (p. ej. «Música de familia», «Colaboración de banda»).",
"implied_by_forbid_sharing": "Ya aplicada por «Prohibir compartir por recurso».",
"read_only": "Solo lectura (congelar)",
"read_only_help": "Congelar el Drive por completo — se rechaza cualquier modificación (subidas, ediciones, eliminaciones, renombrados, compartidos, cambios de miembros). La lectura y descarga siguen funcionando. La limpieza automática de la papelera también se pausa. Úsalo para archivos, retenciones legales o cierre de cuentas. Solo un administrador puede descongelar."
}
"read_only_help": "Congelar el Unidad por completo — se rechaza cualquier modificación (subidas, ediciones, eliminaciones, renombrados, compartidos, cambios de miembros). La lectura y descarga siguen funcionando. La limpieza automática de la papelera también se pausa. Úsalo para archivos, retenciones legales o cierre de cuentas. Solo un administrador puede descongelar."
},
"drives": "Unidades",
"drive_name": "Nombre",
"drive_kind": "Tipo",
"drive_owners": "Propietarios",
"drive_usage": "Uso",
"drive_created_at": "Creado",
"drive_kind_shared": "Compartida",
"drive_kind_personal": "Personal",
"drive_kind_default_suffix": "(predeterminada)",
"drive_manage_owners": "Gestionar propietarios",
"drive_manage_owners_for": "Gestionar propietarios — {{name}}",
"drive_edit_quota": "Editar cuota",
"drive_delete": "Eliminar unidad",
"drive_delete_confirm": "¿Eliminar la unidad «{{name}}»? Esta acción no se puede deshacer.",
"drive_deleted": "Unidad eliminada.",
"drive_created": "Unidad creada.",
"drive_add_owner": "Añadir propietario",
"drive_current_owners": "Propietarios actuales",
"drive_no_owners": "Sin propietarios",
"drive_owner": "Propietario",
"drive_owner_hint": "Elige un usuario (único propietario) o un grupo (cada miembro pasa a ser propietario mediante la expansión del sujeto).",
"drive_owner_picked": "Propietario: {{name}}",
"drive_owner_placeholder": "Buscar un usuario o un grupo…",
"drive_owner_remove_confirm": "¿Quitar este propietario de la unidad?",
"drive_name_placeholder": "p. ej. Ingeniería",
"drive_error_name_required": "El nombre de la unidad es obligatorio.",
"drive_error_owner_required": "Elige un usuario o un grupo como propietario de la unidad.",
"create_drive": "Crear unidad compartida",
"no_drives": "Aún no hay unidades."
},
"profile": {
"page_title": "Perfil",