[REF] lunch: adapt code to searchpanel changes

Part of task 1985921
This commit is contained in:
Aaron Bohy
2019-07-19 08:39:07 +00:00
parent dd7022eccd
commit f6eed05da6
3 changed files with 21 additions and 20 deletions
@@ -70,6 +70,18 @@ var LunchKanbanController = KanbanController.extend({
return self.model._updateLocation(data.user_location[0]);
});
},
/**
* Override to add the location domain (coming from the lunchKanbanWidget)
* to the searchDomain (coming from the controlPanel).
*
* @override
* @private
*/
_getSearchDomain: function () {
var searchDomain = this._super.apply(this, arguments) || [];
var locationId = this.model.getCurrentLocationId();
return searchDomain.concat([['is_available_at', 'in', [locationId]]]);
},
/**
* Renders and appends the lunch banner widget.
*
@@ -109,18 +121,6 @@ var LunchKanbanController = KanbanController.extend({
var def = this._fetchWidgetData().then(this._renderLunchKanbanWidget.bind(this));
return Promise.all([def, this._super.apply(this, arguments)]);
},
/**
* Override to add the location domain (coming from the lunchKanbanWidget)
* to the searchDomain (coming from the controlPanel).
*
* @override
* @private
*/
_updateSearchPanel: function () {
var locationId = this.model.getCurrentLocationId();
var domain = this.controlPanelDomain.concat([['is_available_at', 'in', [locationId]]]);
return this._searchPanel.update({searchDomain: domain});
},
//--------------------------------------------------------------------------
// Handlers
@@ -11,15 +11,16 @@ const {createView} = require('web.test_utils');
* @param {object} params
*/
async function createLunchKanbanView(params) {
const archPieces = params.arch.split('</templates>');
params.arch = `
${archPieces[0]}</templates>
params.archs = params.archs || {};
var searchArch = params.archs[`${params.model},false,search`] || '<search></search>';
var searchPanelArch = `
<searchpanel>
<field name="category_id" select="multi" string="Categories"/>
<field name="supplier_id" select="multi" string="Vendors"/>
</searchpanel>
${archPieces[1]}
`;
searchArch = searchArch.split('</search>')[0] + searchPanelArch + '</search>';
params.archs[`${params.model},false,search`] = searchArch;
if (!params.services || !params.services.local_storage) {
// the searchPanel uses the localStorage to store/retrieve default
// active category value
+4 -4
View File
@@ -14,6 +14,10 @@
<filter name="group_by_supplier" string="Vendor" context="{'group_by': 'supplier_id'}"/>
<filter name="group_by_category" string="Product Category" context="{'group_by': 'category_id'}"/>
</group>
<searchpanel>
<field name="category_id" select="multi" string="Categories" icon="fa-cutlery" color="#875A7B"/>
<field name="supplier_id" select="multi" string="Vendors" icon="fa-truck"/>
</searchpanel>
</search>
</field>
</record>
@@ -113,10 +117,6 @@
</div>
</t>
</templates>
<searchpanel>
<field name="category_id" select="multi" string="Categories" icon="fa-cutlery" color="#875A7B"/>
<field name="supplier_id" select="multi" string="Vendors" icon="fa-truck"/>
</searchpanel>
</kanban>
</field>
</record>