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
+32 -3
View File
@@ -834,13 +834,42 @@
"forbid_owner_role_change": "قفل قائمة المالكين",
"forbid_owner_role_change_help": "يمكن للمسؤول فقط إضافة أو إزالة أو خفض مالكي السائق عندما يكون هذا مفعّلاً.",
"include_in_photo_index": "تضمين في الصور",
"include_in_photo_index_help": "عرض ملفات الصور والفيديو من هذا Drive في الجدول الزمني للصور وعلى خريطة الأماكن. تُضمَّن Drives الشخصية الافتراضية تلقائيًا؛ فعِّل هذا الخيار مع Drives المشتركة التي تحتوي فعلاً على صور (مثل «صور العائلة»).",
"include_in_photo_index_help": "عرض ملفات الصور والفيديو من هذا قرص في الجدول الزمني للصور وعلى خريطة الأماكن. تُضمَّن قرصs الشخصية الافتراضية تلقائيًا؛ فعِّل هذا الخيار مع قرصs المشتركة التي تحتوي فعلاً على صور (مثل «صور العائلة»).",
"include_in_music_index": "تضمين في الموسيقى",
"include_in_music_index_help": "تضمين الملفات الصوتية من هذا Drive في مكتبة الموسيقى. تُضمَّن Drives الشخصية الافتراضية تلقائيًا؛ فعِّل هذا الخيار مع Drives المشتركة التي تحتوي فعلاً على مجموعة موسيقية (مثل «موسيقى العائلة»، «تعاون فرقة»).",
"include_in_music_index_help": "تضمين الملفات الصوتية من هذا قرص في مكتبة الموسيقى. تُضمَّن قرصs الشخصية الافتراضية تلقائيًا؛ فعِّل هذا الخيار مع قرصs المشتركة التي تحتوي فعلاً على مجموعة موسيقية (مثل «موسيقى العائلة»، «تعاون فرقة»).",
"implied_by_forbid_sharing": "مُطبَّق بالفعل من قبل «منع المشاركة لكل مورد».",
"read_only": "Read-only (freeze)",
"read_only_help": "Freeze the drive entirely — every mutation is refused (uploads, edits, deletes, renames, sharing, membership changes). Reads and downloads keep working. The trash-retention janitor also pauses. Use for archives, legal holds, or account wind-downs. Only an admin can un-freeze."
}
},
"drives": "أقراص",
"drive_name": "الاسم",
"drive_kind": "النوع",
"drive_owners": "الملّاك",
"drive_usage": "الاستخدام",
"drive_created_at": "أُنشئ في",
"drive_kind_shared": "مشترك",
"drive_kind_personal": "شخصي",
"drive_kind_default_suffix": "(افتراضي)",
"drive_manage_owners": "إدارة الملّاك",
"drive_manage_owners_for": "إدارة الملّاك — {{name}}",
"drive_edit_quota": "تعديل الحصة",
"drive_delete": "حذف قرص",
"drive_delete_confirm": "هل تريد حذف قرص «{{name}}»؟ لا يمكن التراجع عن هذا الإجراء.",
"drive_deleted": "تم حذف قرص.",
"drive_created": "تم إنشاء قرص.",
"drive_add_owner": "إضافة مالك",
"drive_current_owners": "الملّاك الحاليون",
"drive_no_owners": "لا يوجد ملّاك",
"drive_owner": "المالك",
"drive_owner_hint": "اختر مستخدمًا (المالك الوحيد) أو مجموعة (يصبح كل عضو مالكًا عبر توسيع الموضوع).",
"drive_owner_picked": "المالك: {{name}}",
"drive_owner_placeholder": "ابحث عن مستخدم أو مجموعة…",
"drive_owner_remove_confirm": "إزالة هذا المالك من قرص؟",
"drive_name_placeholder": "مثال: الهندسة",
"drive_error_name_required": "اسم قرص مطلوب.",
"drive_error_owner_required": "اختر مستخدمًا أو مجموعة كمالك للقرص.",
"create_drive": "إنشاء قرص مشترك",
"no_drives": "لا توجد أقراص بعد."
},
"profile": {
"page_title": "الملف الشخصي",