diff --git a/golem_resource_option/__manifest__.py b/golem_resource_option/__manifest__.py
index 179e06d..330eac5 100644
--- a/golem_resource_option/__manifest__.py
+++ b/golem_resource_option/__manifest__.py
@@ -31,6 +31,5 @@
'depends': ['golem_resource'],
'data': ['views/golem_resource_views.xml',
'views/golem_resource_reservation_views.xml',
- 'views/golem_resource_option_views.xml',
- 'views/golem_resource_option_selection_views.xml']
+ 'views/golem_resource_option_views.xml']
}
diff --git a/golem_resource_option/models/__init__.py b/golem_resource_option/models/__init__.py
index 5692f80..6e13137 100644
--- a/golem_resource_option/models/__init__.py
+++ b/golem_resource_option/models/__init__.py
@@ -16,7 +16,4 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from . import golem_resource_option, \
- golem_resource_option_selection, \
- golem_resource, \
- golem_resource_reservation
+from . import golem_resource_option, golem_resource, golem_resource_reservation
diff --git a/golem_resource_option/models/golem_resource_option.py b/golem_resource_option/models/golem_resource_option.py
index 8b8cd3a..0790366 100644
--- a/golem_resource_option/models/golem_resource_option.py
+++ b/golem_resource_option/models/golem_resource_option.py
@@ -19,14 +19,19 @@
""" GOLEM Resource Option """
-from odoo import models, fields
+from odoo import models, fields, _
class GolemResourceOption(models.Model):
""" GOLEM Resource Option Model """
_name = 'golem.resource.option'
_description = 'GOLEM Reservation Option Model'
+ _order = 'name asc, resource_id asc'
+ _sql_constraints = [('golem_resource_option_name_uniq',
+ 'UNIQUE (name, resource_id)',
+ _('An option has already this name for this resource.'))]
- name = fields.Char('Option', index=True)
+ name = fields.Char('Option', required=True, index=True)
resource_id = fields.Many2one('golem.resource', 'Resource',
index=True, required=True)
+ active = fields.Boolean(default=True)
diff --git a/golem_resource_option/models/golem_resource_option_selection.py b/golem_resource_option/models/golem_resource_option_selection.py
deleted file mode 100644
index 0c5ce8e..0000000
--- a/golem_resource_option/models/golem_resource_option_selection.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright 2018 Youssef El Ouahby
-# Copyright 2018 Fabien Bourgeois
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-
-""" GOLEM Resource Option Selection"""
-
-
-from odoo import models, fields, api, _
-
-
-class GolemResourceOptionSelection(models.Model):
- """ GOLEM Resource Option SelectionModel """
- _name = 'golem.resource.option.selection'
- _description = 'GOLEM Resource option selection Model'
- _sql_constraints = [
- ('unique_selection', 'UNIQUE(resource_id, option_id, reservation_id)',
- _('Not allowed, a reservation with same option and resource already exists'))]
-
- name = fields.Char(related='option_id.name')
- option_id = fields.Many2one('golem.resource.option', 'Option',
- required=True, index=True,
- domain='[("resource_id", "=", resource_id)]')
- resource_id = fields.Many2one(related='reservation_id.resource_id')
- reservation_id = fields.Many2one('golem.resource.reservation', 'Reservation',
- required=True, index=True)
diff --git a/golem_resource_option/models/golem_resource_reservation.py b/golem_resource_option/models/golem_resource_reservation.py
index 4cb65fa..951f649 100644
--- a/golem_resource_option/models/golem_resource_reservation.py
+++ b/golem_resource_option/models/golem_resource_reservation.py
@@ -27,6 +27,7 @@ class GolemResourceReservation(models.Model):
_inherit = 'golem.resource.reservation'
resource_option_ids = fields.One2many(related="resource_id.option_ids")
- selected_option_ids = fields.One2many('golem.resource.option.selection',
- 'reservation_id',
- string="Selected options")
+ selected_option_ids = fields.Many2many(
+ 'golem.resource.option', string='Selected options',
+ index=True, readonly=True, domain='[("resource_id", "=", resource_id)]',
+ states={'draft': [('readonly', False)], 'confirmed': [('readonly', False)]})
diff --git a/golem_resource_option/views/golem_resource_option_selection_views.xml b/golem_resource_option/views/golem_resource_option_selection_views.xml
deleted file mode 100644
index 23a785d..0000000
--- a/golem_resource_option/views/golem_resource_option_selection_views.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
- GOLEM Resource Option Selection Form
- golem.resource.option.selection
-
-
-
-
-
-
diff --git a/golem_resource_option/views/golem_resource_option_views.xml b/golem_resource_option/views/golem_resource_option_views.xml
index 8f9665b..004411d 100644
--- a/golem_resource_option/views/golem_resource_option_views.xml
+++ b/golem_resource_option/views/golem_resource_option_views.xml
@@ -24,7 +24,7 @@ along with this program. If not, see .
GOLEM Resource Option Form
golem.resource.option
-
+
+
+
+ GOLEM Resource Option Tree
+ golem.resource.option
+
+
+
+
+
+
+
+
+
+
+
+ GOLEM Resource Option Search
+ golem.resource.option
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/golem_resource_option/views/golem_resource_reservation_views.xml b/golem_resource_option/views/golem_resource_reservation_views.xml
index 6a648e9..d9602f5 100644
--- a/golem_resource_option/views/golem_resource_reservation_views.xml
+++ b/golem_resource_option/views/golem_resource_reservation_views.xml
@@ -29,7 +29,7 @@ along with this program. If not, see .
+ widget="many2many_checkboxes" />
diff --git a/golem_resource_option/views/golem_resource_views.xml b/golem_resource_option/views/golem_resource_views.xml
index fed88da..ebfe364 100644
--- a/golem_resource_option/views/golem_resource_views.xml
+++ b/golem_resource_option/views/golem_resource_views.xml
@@ -25,7 +25,7 @@ along with this program. If not, see .
golem.resource
-
+