كيف تعطيل خاصية "تمت الإضافة بواسطة..." الجديدة التي تُضاف إلى ميزة تنبيهات الموظفين؟

مرحباً
لاحظت أن لدينا الآن تغييرًا جديدًا في إشعارات الموظفين حيث تتم إضافة “تم الإضافة بواسطة اسم الموظف” بشكل منهجي إلى إشعار الموظف الذي يضيفه الموظف أو المسؤول.

ومع ذلك، في حالة الاستخدام الخاصة بنا، توجد إشعارات للموظفين لا نحتاج فيها ولا نرغب في تضمين “تم الإضافة بواسطة الاسم” الإضافي المفروض هذا:

  1. عندما يمضي وقت طويل على موظف دون نشر منشور، يظهر إشعار تلقائي للموظفين: “لم يقم الشخص بنشر ما يكفي لفترة…” أو إذا كان هذا هو منشوره الأول “قام بنشر أول منشور له، رحبوا به في المجتمع”، والذي أقوم بتغييره إلى منصب ودور ذلك الموظف. على سبيل المثال، أقوم بإزالة إشعار الموظف التلقائي وأقوم بتحديثه إلى شيء مثل “الشخص هو مدير منتج في فريق التحليلات”. لذلك، في هذه الحالة، لا أريد أن يكون “الشخص هو مدير منتج في فريق التحليلات (تمت الإضافة بواسطة @gassim)” :cry:
  2. عندما يكون المنشور متابعة لمنشور مع موارد أو شرائح أو تسجيل، أقوم أنا أو أحد الموظفين بالرد بروابط الموارد، وفوقها أضيف إشعارًا للموظفين مثل “:video_camera: تسجيل” ولا أريد أن يظهر “:video_camera: تسجيل (تمت الإضافة بواسطة @gassim)”

في حالة الاستخدام المذكورة أعلاه، ليس من الملائم لنا تضمين الاسم. إذا احتجنا حقًا إلى معرفة من أضاف إشعار الموظف، يمكننا استخدام مستكشف البيانات أو من المسؤول > السجل > إجراءات الموظفين - الإجراء: “إضافة ملاحظة للموظف”.

إذا أردنا من الموظفين تضمين (تمت الإضافة بواسطة) يمكننا القيام بذلك يدويًا في الحالة التي نرغب فيها بتضمين ذلك.

هل هناك طريقة لتعطيل هذه الميزة الجديدة؟

شكرا لك!

إعجاب واحد (1)

لا يوجد حل إعداد لهذا. يمكنك تحقيق ذلك باستخدام بعض جافاسكريبت، مع ذلك:

في السمة الخاصة بك أو في مكون سمة جديد، أضف ما يلي في علامة التبويب JS:

import { apiInitializer } from "discourse/lib/api";
import { schedule } from "@ember/runloop";

export default apiInitializer((api) => {
  const current = api.getCurrentUser();
  if (!current || !current.staff) {
    return;
  }

  // Removes anything after the first paragraph 
  // containing the staff notice.
  api.decorateCookedElement((element, helper) => {
    const post = helper?.getModel();
    if (!post || !post.notice) {
      return;
    }

    schedule("afterRender", () => {
      const postNoticeMessage = document.querySelector(
        `article[data-post-id="${post.id}"] .post-notice-message`
      );

      if (postNoticeMessage) {
        postNoticeMessage.replaceWith(postNoticeMessage.firstChild);
      }
    });
  });
});

يجب أن يكون جيدًا بما فيه الكفاية.

إعجابَين (2)

سألاحظ أن هذه “التي أضيفت بواسطة” تظهر فقط لزملاء الطاقم، لذا لن يراها المستخدمون العاديون.

5 إعجابات

شكراً يا باس، نقطة جيدة!

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.