Merge pull request #4526 from expsa/revert-4524-eltayar

Revert "hide_search_from_many2many"
This commit is contained in:
Mohamed Eltayar 2025-09-02 15:09:04 +03:00 committed by GitHub
commit e3c41bb09a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 34 deletions

View File

@ -162,6 +162,7 @@ odoo.define('fims_general_search_tree_view.list_search', function (require) {
}).then(function() {
return self.update({}, {reload: false});
}).then(function() {
// ✅ الإضافة البسيطة الوحيدة: إعادة Focus بعد الـ reload
setTimeout(function() {
if (self.renderer && self.renderer.$) {
var $input = self.renderer.$('.oe_search_input');
@ -169,7 +170,7 @@ odoo.define('fims_general_search_tree_view.list_search', function (require) {
$input.focus();
}
}
}, 100);
}, 100); // تأخير بسيط للتأكد من اكتمال الـ rendering
}).finally(function() {
if (self.renderer) {
self.renderer.$('.oe_search_loading').hide();
@ -408,42 +409,19 @@ odoo.define('fims_general_search_tree_view.list_search', function (require) {
return false;
}
// **الحل الجديد المبني على view_type:**
try {
var controller = this.getParent();
// الحل الدقيق الوحيد المؤكد:
// فحص الـ model state للـ ListRenderer
var controller = this.getParent();
if (controller && controller.model && controller.handle) {
var state = controller.model.get(controller.handle);
// فحص 1: التحقق من action في الـ controller
if (controller && controller.action) {
var action = controller.action;
// إذا كان view_type = 'list' فهو standalone
if (action.view_type === 'list') {
console.log('FIMS Search: Shown - view_type=list found');
return true;
}
// إذا كان view_mode يبدأ بـ 'list'
if (action.view_mode && action.view_mode.startsWith('list')) {
console.log('FIMS Search: Shown - view_mode starts with list');
return true;
}
// إذا كان parentID موجود، فهذا يعني أن الـ list embedded داخل relational field
if (state && state.parentID) {
return false; // لا نظهر البحث للـ embedded lists
}
// فحص 2: التحقق من URL كـ backup
var url = window.location.hash;
if (url && url.includes('view_type=list')) {
console.log('FIMS Search: Shown - view_type=list found in URL');
return true;
}
// إذا لم نجد أي من المؤشرات أعلاه، فهو embedded
console.log('FIMS Search: Hidden - No list action detected');
return false;
} catch (error) {
console.warn('FIMS Search: Error detecting view type, defaulting to hidden', error);
return false;
}
return true; // نظهر البحث للـ standalone lists فقط
},
_addCustomSearchBox: function() {