@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user