سكريبت 'Add user to group….’ له مدخلات حقول مختلفة للمشغلات الاثنتين

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

التفاصيل حول كيفية العثور على الاسم عند استخدام المشغل “المتكرر” موجودة هنا: Finding Userfield Custom Name for 'Add user to group through User Custom Field' - #2 by leonardo.

من الناحية المثالية، سيتم استخدام الاسم الودي (على سبيل المثال “اللغة الأصلية”) كقيمة صحيحة لكلا المشغلين المتاحين. الكود ذو الصلة موجود هنا: https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb. الطريقة التي يجد بها مشغل “تسجيل دخول المستخدم لأول مرة” حقل المستخدم المخصص الصحيح من اسم الحقل (بدلاً من id) موجودة هنا:

https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb#L54-L67

ربما تكون هناك طريقة متوافقة مع الإصدارات السابقة يمكن تطبيق هذا المنطق بها على المشغل “المتكرر”.

3 إعجابات

للتوضيح، تم ذكر هذا في الدليل:

لقد ذكرت إعادة العمل على البرنامج النصي لتحقيق الاتساق، على الرغم من أنه لم يتم تحديد أولوياته بعد. هناك أيضًا إعدادات المسؤول public user custom fields و staff user custom fields التي سيكون من الجيد مواءمتها معها أيضًا.

(وهناك أيضًا poll groupable user fields، والذي يستخدم “الاسم الودي”)

4 إعجابات

إليك طلب سحب لإصلاح المشكلة:

إعجابَين (2)

تم حل هذا الآن باستخدام قائمة منسدلة جديدة لتحديد حقول المستخدم المخصصة الموجودة لديك، والتي تعمل لكل من المشغلات: :partying_face:

إعجابَين (2)