Skip to content

Commit

Permalink
Fix date range type unlink.
Browse files Browse the repository at this point in the history
Fix date range type unlink.

Update version.

Remove super.

Add ondelete to date range model for type.

Remove unlink method.

Remove unlink method.

Remove unlink method.

Update unlink error traceback to postgres error.

Add mute_logger in unlink test.
  • Loading branch information
Fekete Mihai committed Mar 19, 2018
1 parent da7cfdc commit e3c356f
Show file tree
Hide file tree
Showing 12 changed files with 34 additions and 29 deletions.
1 change: 0 additions & 1 deletion date_range/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand Down
3 changes: 1 addition & 2 deletions date_range/__manifest__.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Date Range",
"summary": "Manage all kind of date range",
"version": "11.0.1.0.0",
"version": "11.0.1.0.1",
"category": "Uncategorized",
"website": "https://github.com/oca/server-ux",
"author": "ACSONE SA/NV, Odoo Community Association (OCA)",
Expand Down
1 change: 0 additions & 1 deletion date_range/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand Down
4 changes: 2 additions & 2 deletions date_range/models/date_range.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand All @@ -19,7 +18,8 @@ def _default_company(self):
date_start = fields.Date(string='Start date', required=True)
date_end = fields.Date(string='End date', required=True)
type_id = fields.Many2one(
comodel_name='date.range.type', string='Type', index=1, required=True)
comodel_name='date.range.type', string='Type', index=1, required=True,
ondelete='restrict')
type_name = fields.Char(
string='Type', related='type_id.name', readonly=True, store=True)
company_id = fields.Many2one(
Expand Down
1 change: 0 additions & 1 deletion date_range/models/date_range_type.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand Down
31 changes: 15 additions & 16 deletions date_range/static/src/js/date_range.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,25 @@
odoo.define('date_range.search_filters', function (require) {
"use strict";

var core = require('web.core');
var core = require('web.core');
var data = require('web.data');
var filters = require('web.search_filters');
var rpc = require('web.rpc');
var framework = require('web.framework');

var _t = core._t;
var _lt = core._lt;
filters.ExtendedSearchProposition.include({
select_field: function(field) {
this._super.apply(this, arguments);
this.is_date_range_selected = false;
this.is_date = field.type == 'date' || field.type == 'datetime';
this.is_date = field.type === 'date' || field.type === 'datetime';
this.$value = this.$el.find('.searchview_extended_prop_value, .o_searchview_extended_prop_value');
if (this.is_date){
var ds = new data.DataSetSearch(this, 'date.range.type', this.context, [[1, '=', 1]]);
ds.read_slice(['name'], {}).done(this.proxy('add_date_range_types_operator'));
}
},

add_date_range_types_operator: function(date_range_types){
var self = this;
_.each(date_range_types, function(drt) {
Expand All @@ -31,10 +30,10 @@ filters.ExtendedSearchProposition.include({
.appendTo(self.$el.find('.searchview_extended_prop_op, .o_searchview_extended_prop_op'));
});
},

operator_changed: function (e) {
var val = $(e.target).val();
this.is_date_range_selected = val.startsWith('drt_');
this.is_date_range_selected = val.startsWith('drt_');
if (this.is_date_range_selected){
var type_id = val.replace('drt_', '');
this.date_range_type_operator_selected(type_id);
Expand All @@ -47,18 +46,18 @@ filters.ExtendedSearchProposition.include({
this.$value.empty().show();
var ds = new data.DataSetSearch(this, 'date.range', this.context, [['type_id', '=', parseInt(type_id)]]);
ds.read_slice(['name','date_start', 'date_end'], {}).done(this.proxy('on_range_type_selected'));

},

on_range_type_selected: function(date_range_values){
this.value = new filters.ExtendedSearchProposition.DateRange(this, this.value.field, date_range_values);
this.value.appendTo(this.$value);
if (!this.$el.hasClass('o_filter_condition')){
this.$value.find('.date-range-select').addClass('form-control');
this.$value.find('.date-range-select').addClass('form-control');
}
this.value.on_range_selected();
},

get_filter: function () {
var res = this._super.apply(this, arguments);
if (this.is_date_range_selected){
Expand All @@ -68,7 +67,7 @@ filters.ExtendedSearchProposition.include({
}
return res;
},

});

/**
Expand All @@ -83,7 +82,7 @@ filters.ExtendedSearchProposition.DateRange = core.search_filters_registry.get('
events: {
'change': 'on_range_selected',
},

init: function (parent, field, date_range_values) {
this._super(parent, field);
this.date_range_values = date_range_values;
Expand All @@ -94,11 +93,11 @@ filters.ExtendedSearchProposition.DateRange = core.search_filters_registry.get('
var option = select.options[select.selectedIndex];
return option.label || option.text;
},

get_value: function() {
return parseInt(this.$el.val());
},

on_range_selected: function(e){
var self = this;
self.domain = '';
Expand All @@ -116,11 +115,11 @@ filters.ExtendedSearchProposition.DateRange = core.search_filters_registry.get('
self.domain = domain;
});
},

get_domain: function (field, operator) {
return this.domain;
},

});

});
});
1 change: 0 additions & 1 deletion date_range/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand Down
1 change: 0 additions & 1 deletion date_range/tests/test_date_range.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

Expand Down
1 change: 0 additions & 1 deletion date_range/tests/test_date_range_generator.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)nses/agpl).

Expand Down
17 changes: 16 additions & 1 deletion date_range/tests/test_date_range_type.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo.tests.common import TransactionCase
from odoo.tools import mute_logger
from psycopg2 import IntegrityError


class DateRangeTypeTest(TransactionCase):
Expand All @@ -18,3 +19,17 @@ def test_default_company(self):
'company_id': False,
'allow_overlap': False})
self.assertFalse(drt.company_id)

def test_unlink(self):
date_range = self.env['date.range']
drt = self.env['date.range.type'].create(
{'name': 'Fiscal year',
'allow_overlap': False})
date_range.create({
'name': 'FS2016',
'date_start': '2015-01-01',
'date_end': '2016-12-31',
'type_id': drt.id,
})
with self.assertRaises(IntegrityError), mute_logger('odoo.sql_db'):
drt.unlink()
1 change: 0 additions & 1 deletion date_range/wizard/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand Down
1 change: 0 additions & 1 deletion date_range/wizard/date_range_generator.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

Expand Down

0 comments on commit e3c356f

Please sign in to comment.