Browse Source

Mar 7 : [FIX] Bug Fixed 'one2many_mass_select_delete'

pull/249/head
AjmalCybro 2 years ago
parent
commit
03be4bdb1d
  1. 65
      one2many_mass_select_delete/static/src/js/widget.js

65
one2many_mass_select_delete/static/src/js/widget.js

@ -6,43 +6,70 @@ import { standardFieldProps } from "@web/views/fields/standard_field_props";
import { ListRenderer } from "@web/views/list/list_renderer";
import {listView} from '@web/views/list/list_view';
import { patch } from "@web/core/utils/patch";
import ajax from 'web.ajax';
import rpc from 'web.rpc';
export class TestListRenderer extends ListRenderer {
get hasSelectors() {
this.props.allowSelectors = true
this.props.list.selection = true
let list = this.props.list
list.selection = list.records.filter((rec) => rec.selected)
list.selectDomain = (value) => {
list.isDomainSelected = value;
list.model.notify();
}
return this.props.allowSelectors && !this.env.isSmall;
}
toggleRecordSelection(record) {
record.toggleSelection();
}
}
export class TestX2ManyField extends X2ManyField {
get hasSelected(){
return this.list.records.filter((rec) => rec.selected).length
}
deleteSelected(){
var w_response = confirm("Dou You Want to Delete ?");
async deleteSelected(){
var current_model = this.field.relation;
var w_response = confirm("Do You Want to Delete ?");
if (w_response){
console.log(this.list.records)
let selected = this.list.records.filter((rec) => rec.selected)
if (this.activeActions.onDelete) {
selected.forEach((rec) => {
this.activeActions.onDelete(rec);
})
}
this.list.records
var selected_list =[]
if (this.activeActions.onDelete) {
selected.forEach((rec) => {
selected_list.push(parseInt(rec.data.id))
})
}
var self = this;
var response = rpc.query({
model: current_model,
method: 'unlink',
args: [selected_list],
}).then(function(response){
self.rendererProps.list.model.load()
});
}
}
deleteUnselected(){
var w_response = confirm("Dou You Want to Select?");
var current_model = this.field.relation;
var w_response = confirm("Do You Want to Select?");
if (w_response){
let unselected = this.list.records.filter((rec) => !rec.selected)
if (this.activeActions.onDelete) {
unselected.forEach((rec) => {
this.activeActions.onDelete(rec);
})
}
var unselected_list =[]
if (this.activeActions.onDelete) {
unselected.forEach((rec) => {
unselected_list.push(parseInt(rec.data.id))
})
}
var self = this;
var response = rpc.query({
model: current_model,
method: 'unlink',
args: [unselected_list],
}).then(function(response){
self.rendererProps.list.model.load()
});
}
}
}

Loading…
Cancel
Save