أتقدم بطلب اعتذار إذا لم يكن هذا هو المكان المناسب لطرح هذا السؤال، لكنه يبدو أنه قد يكون كذلك.
أود استخدام ما أظنه قيمة منطقية (Boolean) لمقارنة المستخدم الحالي بشيئين في مراجعة العلم: مُعلِّم العلم والهدف من العلم.
إذا كان المستخدم الحالي يساوي أيًا منهما، يتم إخفاء أزرار مراجعة العلم (مثل: موافق/غير موافق/تأجيل، إلخ). وبذلك لا يمكن التحقق من العلامات أو تجاهلها إلا من قبل طرف ثالث.
لا أعتقد أنك بحاجة بالضرورة إلى إعداد سمة لهذا الأمر، إلا إذا كنت ترغب في إضافة إعداد إلى مكونك يسمح للمسؤولين بتفعيل أو إيقاف فرض معالجة الأعلام من طرف ثالث.
بشكل عام، يلزم وجود إضافة إذا كنت ترغب في تعديل أذونات افتراضية كما وصفت، لأن السمات والمكونات يمكنها إجراء تغييرات على الواجهة الأمامية فقط، ويمكن للمستخدمين تجاوزها إذا عرفوا أين يبحثون.
من النظرة السريعة إلى الكود ذي الصلة في النواة، ستحتاج إلى تمديد خاصية canPerform (التي تحدد ما إذا كان يجب إظهار أزرار الموافقة/الرفض وما إلى ذلك) في reviewable-item مع منطقك الإضافي:
إذا لم تقم بمثل هذا الأمر من قبل، فإن Developing Discourse Themes & Theme Components سيكون مكانًا رائعًا للبدء! يغطي كيفية تعديل فئة أساسية وهو ما تحتاج إلى فعله. تعد السمات/المكونات الحالية موردًا رائعًا يمكنك التعلم منه أيضًا، راجع مكون discourse-extra-group-classes الذي يستخدم نفس التقنية التي ستحتاج إلى استخدامها (على وجه التحديد ملف initialize-extra-group-classes.js.es6).
ملاحظة: سأقوم بنقل هذه المنشورات خارج هذا الموضوع لأنها غير مرتبطة مباشرة بإعدادات السمات.