nbianca
(Bianca)
29 أبريل 2021، 12:33م
16
لقد قدمت إصلاحًا للخطأ في المنشور الأول:
master ← fix_uncategorized
merged 03:05AM - 04 May 21 UTC
Uncategorized was sometimes visible even if allow_uncategorized_topics
was fals… e. This was especially happening on mobile, if at least one
topic was uncategorized.
اخترت الحل الأول لأنه يتضمن حذف بعض الأكواد من Discourse. أما الحل الآخر فقد أضف في الواقع أكوادًا لتحديد ما إذا كان هناك موضوع واحد على الأقل في فئة “غير مصنّف”.
كما قمت بمراجعة جميع استخدامات category.uncategorized? ووجدت بعض المواقع التي قد لا تكون ضرورية إذا جعلنا فئة “غير مصنّف” أقل استثنائية وأكثر شبهاً بالفئات العادية:
def name
object.uncategorized? ? I18n.t('uncategorized_category_name', locale: SiteSetting.default_locale) : object.name
end
def description_text
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description_text
end
def description
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description
end
def description_excerpt
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description_excerpt
end
SELECT c2.id FROM categories c2
LEFT JOIN topics t ON t.id = c2.topic_id AND t.deleted_at IS NULL
WHERE t.id IS NULL AND c2.topic_id IS NOT NULL
)
SQL
DB.exec(sql)
Category
.joins('LEFT JOIN topics ON categories.topic_id = topics.id AND topics.deleted_at IS NULL')
.where('categories.id <> ?', SiteSetting.uncategorized_category_id)
.where(topics: { id: nil })
.find_each do |category|
category.create_category_definition
end
end
def slug_path
if self.parent_category_id.present?
slug_path = self.parent_category.slug_path
slug_path.push(self.slug_for_url)
هذه بعض الأجزاء التي لا تتعارض مع الميزات الأخرى، مما يجعل التغييرات أقل خطورة، لكنها لا تزال ليست سهلة.
6 إعجابات