عذرًا إذا كان هذا قد طُرح من قبل، لقد وجدت شيئًا مشابهًا بالأمس، ولكن مصطلحات البحث الخاصة بي لا تُظهر شيئًا اليوم.
السيناريو:
يرغب خادم Discourse في تعيين حقل، وليكن تاريخ الميلاد، ليكون حقلًا مطلوبًا. لا ينبغي أن يكون هذا شيئًا يحتاج إلى تعديل بعد التسجيل. لذا، يتمثل الحل في تعيين الحقل المخصص لإلغاء تحديد “قابل للتحرير بعد التسجيل” ثم تغيير الحقل إلى “مطلوب عند التسجيل”. ينجح هذا للمستخدمين الذين ينشئون حسابًا من خلال التسجيل العادي بالبريد الإلكتروني/اسم المستخدم.
المشكلة 1:
المستخدمون الذين ينشئون حسابات من خلال أشياء مثل OAuth أو DiscourseID أو WP-Discourse، وما إلى ذلك، لا يرون هذه الحقول أبدًا. لكي يتمكن هؤلاء المستخدمون من الوصول إلى هذه الحقول، يجب وضع علامة “مطلوب للجميع” عليها، مما يقودنا إلى…
المشكلة 2:
يتطلب “مطلوب للجميع”، لأسباب واضحة، وضع علامة على الحقل بأنه “قابل للتحرير بعد التسجيل”. لسوء الحظ، يسمح هذا أيضًا للمستخدمين بتغيير الحقل متى شاؤوا… وهو ما لا نريده على الإطلاق.
الميزة المطلوبة:
إضافة منطق يسمح لـ “مطلوب للجميع” بعدم اشتراط تحديد “قابل للتحرير بعد التسجيل”. سيقوم المنطق أولاً بالتحقق مما إذا كان الحقل فارغًا أو “فارغًا” قبل التحقق مما تم تعيينه لـ “قابل للتحرير بعد التسجيل”. سيتجاهل هذا بشكل أساسي مربع الاختيار القابل للتحرير لأي حقل مطلوب فارغ/فارغ. سيسمح هذا للحقول المخصصة للمستخدمين بأن تكون قابلة للتحرير مرة واحدة، ولكن بمجرد حفظ قيمة، لن تكون قابلة للتحرير بعد ذلك.