لا يمكن لمالك المجموعة إضافة أعضاء إلى مجموعة

أنا متأكد تقريبًا أن هذا كان يعمل من قبل.

السلوك المتوقع
يمكن لأصحاب المجموعات إضافة أعضاء إلى المجموعة باستخدام نافذة “إضافة أعضاء”.

السلوك الملاحظ
يرى أصحاب المجموعات نافذة “إضافة أعضاء”، لكن عند محاولة إرسالها، يحصلون على خطأ 403 (ممنوع).

تم الملاحظة على موقعين منفصلين.

إليك لقطة شاشة:

5 إعجابات

لا يزال يعمل على 2.7.0.beta9 ( 4a2912233c )

3 إعجابات

تم سحب أحدث الكود من GitHub وإعادة الاختبار. تم تأكيد وجود خلل. خطوات التكرار:

  1. إنشاء مستخدم جديد، ولا ينبغي أن يكون هذا المستخدم مشرفًا أو مسؤولًا.
  2. إنشاء مجموعة جديدة مع الإعدادات التالية: Allow users to leave the group freely=True (يسمح للمستخدمين بمغادرة المجموعة بحرية=نعم)، Allow users to send membership requests to group owners=True (يسمح للمستخدمين بإرسال طلبات العضوية إلى مالكي المجموعة=نعم)، Who can see this group?=Everyone (من يمكنه رؤية هذه المجموعة؟=الجميع)، Who can see this group's members?=Everyone (من يمكنه رؤية أعضاء هذه المجموعة؟=الجميع)، Who can @mention this group?=Only moderators and admins (من يمكنه ذكر هذه المجموعة؟=المشرفون والمسؤولون فقط)، Who can message this group?=Only moderators and admins (من يمكنه مراسلة هذه المجموعة؟=المشرفون والمسؤولون فقط).
  3. تعيين المستخدم ليكون مالك المجموعة.
  4. أثناء تسجيل الدخول بصفتك مالك المجموعة، حاول إضافة مستخدم آخر إلى المجموعة.
5 إعجابات

أفترض أن المستخدم TL2 أو أعلى؟

4 إعجابات

تمكنت من حل هذه المشكلة.

إليك السطر الذي تسبب في المشكلة: discourse/app/controllers/groups_controller.rb at e2e13a70f63605b92b4e521cc9f818061c1ccfb6 · discourse/discourse · GitHub

كان @Benjamin_D محقًا. إنها مشكلة تتعلق بمستوى الثقة (TL).

يوجد إعداد للموقع يُدعى min_trust_level_to_allow_invite، وقد تم ضبطه على TL2 بينما كان مالك المجموعة يملك TL1.

هل يجب السماح لمالك المجموعة بدعوة المستخدمين إلى المجموعة دون استيفاء متطلبات مستوى الثقة؟ يبدو الأمر محيرًا.

10 إعجابات

:thinking: أنت محق، أظن أنه يجب عليه ذلك؟ أو ربما لا ينبغي أن يكون مالكًا إذا لم يستوفِ معايير مستوى الثقة؟

6 إعجابات

هذا منطقي أيضًا.

أو حتى مجرد إضافة رسالة خطأ أكثر تحديدًا هنا.
على سبيل المثال، بدلاً من رفع خطأ InvalidAccess مع الرسالة (باللغة الإنجليزية): You are not permitted to view the requested resource.

إنشاء خطأ InsufficientTrustLevel (ربما كفئة فرعية من InvalidAccess) مع رسالة (باللغة الإنجليزية): You do not have the required trust level to view the requested resource. على الأقل سيكون بإمكان المدراء معرفة أن المشكلة تتعلق بمستوى الثقة وليست خللاً تقنياً.

بعض الملاحظات حول مكان تعريف هذه العناصر في قاعدة الكود:

يمكنني تقديم طلب دمج (PR) لذلك إذا بدا هذا هو المسار الصحيح.

7 إعجابات

في حين أنني أوافق على أننا بحاجة إلى رسالة خطأ أفضل هنا، إلا أنني أعتقد في الواقع أننا تراجعنا في هذا الشأن.

دور مالك المجموعة هو إدارة عضوية مجموعته. إذا لم يتمكن من دعوة/إضافة مستخدمين إلى مجموعته، فإن الميزة تكون معطلة جزئيًا…

@دان، هل يمكنك إضافة ذلك إلى قائمتك؟

9 إعجابات

عمل رائع في التحقيق يا جميع!

قد أكون مخطئًا، لكنني أعتقد أن هذا الوضع قد نشأ كجزء من العمل الذي نقوم به لتحسين نظام الدعوات. نحن نقوم بتوحيد الدعوات بحيث تستخدم جميعها نظام الدعوة نفسه، وفصل الوظائف المتعلقة بالمستخدمين الحاليين. وفي أحدث التغييرات، عدلنا النظام بحيث نبلغ المستخدمين الحاليين عن المواضيع الآن عبر زر المشاركة في قائمة الموضوع، بشكل منفصل عن دعوة مستخدمين جدد للانضمام إلى الموقع والمساهمة في الموضوع.

سنرغب في تطبيق نفس النهج على المجموعات - فهذا الأمر مدرج بالفعل في قائمتنا للعمل عليه، لكن يبدو الآن أنه أصبح أكثر إلحاحًا إذا كان يعني عدم إمكانية إضافة أي شخص إلى مجموعة ما ما لم تكن تملك مستوى ثقة (TL) كافياً لدعوة مستخدمين جدد إلى الموقع.

7 إعجابات

يبدو هذا الحد منطقياً عند إرسال دعوات عبر البريد الإلكتروني إلى المجموعات. ومع ذلك، لا يبدو منطقياً عند دعوة مستخدمين موجودين. قمت بإصلاح هذه المشكلة في:

سيحل هذا المشكلة مؤقتاً، لكننا نتوقع إعادة هيكلة هذا المجال قريباً.

8 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد يومين. لم يعد مسموحًا بإضافة ردود جديدة.