odoo-addon-base-tier-validation 17.0.2.3.3__py3-none-any.whl → 18.0.1.0.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/base_tier_validation/README.rst +14 -6
- odoo/addons/base_tier_validation/__manifest__.py +3 -7
- odoo/addons/base_tier_validation/data/cron_data.xml +0 -2
- odoo/addons/base_tier_validation/i18n/base_tier_validation.pot +7 -63
- odoo/addons/base_tier_validation/i18n/es.po +0 -2
- odoo/addons/base_tier_validation/i18n/es_MX.po +0 -2
- odoo/addons/base_tier_validation/i18n/fr.po +0 -2
- odoo/addons/base_tier_validation/i18n/it.po +0 -2
- odoo/addons/base_tier_validation/i18n/nl_NL.po +0 -2
- odoo/addons/base_tier_validation/i18n/sv.po +0 -2
- odoo/addons/base_tier_validation/i18n/tr.po +0 -2
- odoo/addons/base_tier_validation/i18n/zh_CN.po +0 -2
- odoo/addons/base_tier_validation/models/res_users.py +20 -14
- odoo/addons/base_tier_validation/models/tier_definition.py +14 -12
- odoo/addons/base_tier_validation/models/tier_review.py +15 -19
- odoo/addons/base_tier_validation/models/tier_validation.py +58 -57
- odoo/addons/base_tier_validation/models/tier_validation_exception.py +16 -14
- odoo/addons/base_tier_validation/readme/CONTRIBUTORS.md +2 -0
- odoo/addons/base_tier_validation/readme/CREDITS.md +1 -0
- odoo/addons/base_tier_validation/security/tier_validation_security.xml +2 -6
- odoo/addons/base_tier_validation/static/description/index.html +14 -6
- odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.esm.js +18 -17
- odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml +46 -38
- odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.esm.js +17 -17
- odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.scss +1 -1
- odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml +25 -37
- odoo/addons/base_tier_validation/static/src/js/services/tier_review_service.esm.js +3 -4
- odoo/addons/base_tier_validation/templates/tier_validation_templates.xml +41 -50
- odoo/addons/base_tier_validation/tests/common.py +3 -6
- odoo/addons/base_tier_validation/views/tier_definition_view.xml +7 -11
- odoo/addons/base_tier_validation/views/tier_review_view.xml +3 -3
- odoo/addons/base_tier_validation/views/tier_validation_exception_view.xml +4 -5
- {odoo_addon_base_tier_validation-17.0.2.3.3.dist-info → odoo_addon_base_tier_validation-18.0.1.0.0.3.dist-info}/METADATA +17 -9
- odoo_addon_base_tier_validation-18.0.1.0.0.3.dist-info/RECORD +55 -0
- odoo_addon_base_tier_validation-17.0.2.3.3.dist-info/RECORD +0 -54
- {odoo_addon_base_tier_validation-17.0.2.3.3.dist-info → odoo_addon_base_tier_validation-18.0.1.0.0.3.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-17.0.2.3.3.dist-info → odoo_addon_base_tier_validation-18.0.1.0.0.3.dist-info}/top_level.txt +0 -0
odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml
CHANGED
@@ -2,62 +2,70 @@
|
|
2
2
|
<templates xml:space="preserve">
|
3
3
|
|
4
4
|
<t t-name="base_tier_validation.TierReviewMenu">
|
5
|
-
|
5
|
+
<Dropdown
|
6
6
|
position="'bottom-end'"
|
7
|
-
|
8
|
-
|
7
|
+
state="dropdown"
|
8
|
+
beforeOpen.bind="fetchSystrayReviewer"
|
9
9
|
menuClass="discussSystray.menuClass"
|
10
|
-
class="discussSystray.class"
|
11
10
|
>
|
12
|
-
|
13
|
-
|
11
|
+
<button>
|
12
|
+
<i
|
13
|
+
class="fa fa-lg fa-pencil-square-o"
|
14
|
+
role="img"
|
15
|
+
aria-label="Reviews"
|
16
|
+
/>
|
14
17
|
<span
|
15
|
-
t-if="store.tierReviewCounter
|
18
|
+
t-if="store.tierReviewCounter"
|
16
19
|
class="o-mail-ActivityMenu-counter badge rounded-pill"
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<
|
22
|
-
<div
|
20
|
+
>
|
21
|
+
<t t-out="store.tierReviewCounter" />
|
22
|
+
</span>
|
23
|
+
</button>
|
24
|
+
<t t-set-slot="content">
|
25
|
+
<div t-att-class="`${discussSystray.contentClass} o-mail-ActivityMenu`">
|
26
|
+
<div
|
23
27
|
t-if="store.tierReviewCounter === 0"
|
24
28
|
class="o-mail-ActivityMenu-empty align-items-center text-muted p-2 opacity-50 d-flex justify-content-center"
|
25
29
|
>
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
+
<span>No reviews to do.</span>
|
31
|
+
</div>
|
32
|
+
<div
|
33
|
+
class="d-flex flex-column list-group-flush"
|
34
|
+
name="reviewGroups"
|
35
|
+
>
|
36
|
+
<t
|
30
37
|
t-foreach="store.tierReviewGroups"
|
31
|
-
t-as="
|
32
|
-
t-key="
|
33
|
-
name="
|
38
|
+
t-as="review"
|
39
|
+
t-key="review_index"
|
40
|
+
name="reviewGroupLoop"
|
34
41
|
>
|
35
|
-
|
42
|
+
<div
|
36
43
|
class="o-mail-ActivityGroup list-group-item list-group-item-action d-flex p-2 cursor-pointer"
|
37
|
-
t-att-data-model_name="
|
38
|
-
t-on-click="() => this.openReviewGroup(
|
44
|
+
t-att-data-model_name="review.model"
|
45
|
+
t-on-click="() => this.openReviewGroup(review)"
|
39
46
|
>
|
40
|
-
|
41
|
-
|
42
|
-
|
47
|
+
<img alt="Review" t-att-src="review.icon" />
|
48
|
+
<div class="flex-grow-1 overflow-hidden">
|
49
|
+
<div
|
43
50
|
class="d-flex px-2"
|
44
|
-
name="
|
45
|
-
t-out="
|
51
|
+
name="reviewTitle"
|
52
|
+
t-out="review.name"
|
46
53
|
/>
|
47
|
-
|
48
|
-
|
49
|
-
t-attf-class="#{
|
54
|
+
<div class="d-flex">
|
55
|
+
<span
|
56
|
+
t-attf-class="#{review.pending_count ? 'btn btn-link' : 'text-muted'} py-0 px-2 text-truncate"
|
57
|
+
t-on-click.stop="() => this.openReviewGroup(review)"
|
50
58
|
>
|
51
|
-
<t t-out="
|
59
|
+
<t t-out="review.pending_count" /> Pending
|
52
60
|
</span>
|
61
|
+
</div>
|
53
62
|
</div>
|
54
63
|
</div>
|
55
|
-
</
|
56
|
-
</
|
64
|
+
</t>
|
65
|
+
</div>
|
57
66
|
</div>
|
58
|
-
</
|
59
|
-
</
|
60
|
-
</
|
61
|
-
</t>
|
67
|
+
</t>
|
68
|
+
</Dropdown>
|
69
|
+
</t>
|
62
70
|
|
63
71
|
</templates>
|
odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.esm.js
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import {Component, useState} from "@odoo/owl";
|
3
2
|
import {registry} from "@web/core/registry";
|
4
|
-
|
5
3
|
import {useService} from "@web/core/utils/hooks";
|
6
4
|
|
7
|
-
const {Component} = owl;
|
8
|
-
|
9
5
|
export class ReviewsTable extends Component {
|
10
6
|
setup() {
|
11
|
-
|
7
|
+
super.setup();
|
12
8
|
this.orm = useService("orm");
|
13
|
-
this.
|
9
|
+
this.state = useState({
|
10
|
+
collapse: false,
|
11
|
+
});
|
14
12
|
}
|
13
|
+
|
15
14
|
_getReviewData() {
|
16
15
|
const records = this.env.model.root.data.review_ids.records;
|
17
|
-
|
18
|
-
for (var i = 0; i < records.length; i++) {
|
19
|
-
reviews.push(records[i].data);
|
20
|
-
}
|
21
|
-
return reviews;
|
16
|
+
return records.map((record) => record.data);
|
22
17
|
}
|
18
|
+
|
23
19
|
onToggleCollapse(ev) {
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
const panelHeading = ev.currentTarget.closest(".panel-heading");
|
21
|
+
const collapseDiv = panelHeading.nextElementSibling.matches("div#collapse1")
|
22
|
+
? panelHeading.nextElementSibling
|
23
|
+
: null;
|
24
|
+
if (!collapseDiv) return;
|
25
|
+
if (this.state.collapse) {
|
26
|
+
collapseDiv.style.display = "none";
|
27
27
|
} else {
|
28
|
-
|
28
|
+
collapseDiv.style.display = "block";
|
29
29
|
}
|
30
|
-
this.collapse = !this.collapse;
|
30
|
+
this.state.collapse = !this.state.collapse;
|
31
31
|
}
|
32
32
|
}
|
33
33
|
|
odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<h4 class="panel-title">
|
8
8
|
<a
|
9
9
|
class="o_info_btn"
|
10
|
-
data-toggle="collapse"
|
10
|
+
data-toggle="state.collapse"
|
11
11
|
href="#"
|
12
12
|
data-target="#collapse1"
|
13
13
|
t-on-click="onToggleCollapse"
|
@@ -27,32 +27,20 @@
|
|
27
27
|
>Sequence</th>
|
28
28
|
<th
|
29
29
|
name="th_requested_by"
|
30
|
-
class="text-
|
30
|
+
class="text-start"
|
31
31
|
>Requested by</th>
|
32
|
-
<th
|
33
|
-
name="th_name"
|
34
|
-
class="text-right"
|
35
|
-
>Description</th>
|
32
|
+
<th name="th_name" class="text-end">Description</th>
|
36
33
|
<th
|
37
34
|
name="th_display_status"
|
38
|
-
class="text-
|
35
|
+
class="text-end"
|
39
36
|
>Status</th>
|
40
|
-
<th
|
41
|
-
|
42
|
-
class="text-right"
|
43
|
-
>Todo by</th>
|
44
|
-
<th
|
45
|
-
name="th_done_by"
|
46
|
-
class="text-right"
|
47
|
-
>Done by</th>
|
37
|
+
<th name="th_todo_by" class="text-end">Todo by</th>
|
38
|
+
<th name="th_done_by" class="text-end">Done by</th>
|
48
39
|
<th
|
49
40
|
name="th_reviewed_date"
|
50
|
-
class="text-
|
41
|
+
class="text-end"
|
51
42
|
>Validation Date</th>
|
52
|
-
<th
|
53
|
-
name="th_comment"
|
54
|
-
class="text-right"
|
55
|
-
>Comment</th>
|
43
|
+
<th name="th_comment" class="text-end">Comment</th>
|
56
44
|
</tr>
|
57
45
|
</thead>
|
58
46
|
<tbody class="sale_tbody">
|
@@ -74,42 +62,42 @@
|
|
74
62
|
<t
|
75
63
|
t-if="review.status == 'approved'"
|
76
64
|
t-set="status_class"
|
77
|
-
t-value="'alert-success'"
|
65
|
+
t-value="'alert alert-success'"
|
78
66
|
/>
|
79
67
|
<t
|
80
68
|
t-if="review.status == 'rejected'"
|
81
69
|
t-set="status_class"
|
82
|
-
t-value="'alert-danger'"
|
70
|
+
t-value="'alert alert-danger'"
|
83
71
|
/>
|
84
72
|
<tr t-att-class="status_class">
|
85
73
|
<td name="td_sequence" class="text-center">
|
86
|
-
<span t-
|
74
|
+
<span t-out="review.sequence" />
|
87
75
|
</td>
|
88
|
-
<td name="td_requested_by" class="text-
|
89
|
-
<span t-
|
76
|
+
<td name="td_requested_by" class="text-start">
|
77
|
+
<span t-out="review.requested_by[1]" />
|
90
78
|
</td>
|
91
|
-
<td name="td_name" class="text-
|
92
|
-
<span t-
|
79
|
+
<td name="td_name" class="text-end">
|
80
|
+
<span t-out="review.name" />
|
93
81
|
</td>
|
94
|
-
<td name="td_display_status" class="text-
|
95
|
-
<span t-
|
82
|
+
<td name="td_display_status" class="text-end">
|
83
|
+
<span t-out="review.display_status" />
|
96
84
|
</td>
|
97
|
-
<td name="td_todo_by" class="text-
|
98
|
-
<span t-
|
85
|
+
<td name="td_todo_by" class="text-end">
|
86
|
+
<span t-out="review.todo_by" />
|
99
87
|
</td>
|
100
|
-
<td name="td_done_by" class="text-
|
101
|
-
<span t-
|
88
|
+
<td name="td_done_by" class="text-end">
|
89
|
+
<span t-out="review.done_by[1]" />
|
102
90
|
</td>
|
103
|
-
<td name="td_reviewed_date" class="text-
|
91
|
+
<td name="td_reviewed_date" class="text-end">
|
104
92
|
<t t-if="review.reviewed_formated_date">
|
105
93
|
<span
|
106
|
-
t-
|
94
|
+
t-out="review.reviewed_formated_date"
|
107
95
|
/>
|
108
96
|
</t>
|
109
97
|
</td>
|
110
|
-
<td name="td_comment" class="text-
|
98
|
+
<td name="td_comment" class="text-start">
|
111
99
|
<t t-if="review.comment">
|
112
|
-
<span t-
|
100
|
+
<span t-out="review.comment" />
|
113
101
|
</t>
|
114
102
|
</td>
|
115
103
|
</tr>
|
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import {reactive} from "@odoo/owl";
|
3
2
|
import {registry} from "@web/core/registry";
|
4
3
|
|
5
4
|
export class TierReviewService {
|
@@ -25,8 +24,8 @@ export const tierReviewService = {
|
|
25
24
|
dependencies: ["bus_service", "mail.store"],
|
26
25
|
|
27
26
|
start(env, services) {
|
28
|
-
const tier_review_service = new TierReviewService(env, services);
|
29
|
-
tier_review_service.setup(
|
27
|
+
const tier_review_service = reactive(new TierReviewService(env, services));
|
28
|
+
tier_review_service.setup();
|
30
29
|
return tier_review_service;
|
31
30
|
},
|
32
31
|
};
|
@@ -18,66 +18,58 @@
|
|
18
18
|
</template>
|
19
19
|
<template id="tier_validation_label">
|
20
20
|
<div>
|
21
|
-
<
|
22
|
-
|
23
|
-
<field name="validated" invisible="1" />
|
24
|
-
<field name="rejected" invisible="1" />
|
25
|
-
<div
|
26
|
-
class="alert alert-warning"
|
21
|
+
<div
|
22
|
+
class="alert alert-warning mb-0"
|
27
23
|
role="alert"
|
28
24
|
t-attf-invisible="validated or hide_reviews or rejected or not review_ids"
|
29
|
-
style="margin-bottom:0px;"
|
30
25
|
>
|
31
|
-
|
26
|
+
<p class="mb-1">
|
32
27
|
<i class="fa fa-lg fa-info-circle" />
|
33
28
|
This Record needs to be
|
34
29
|
validated.
|
35
|
-
<field name="can_review" invisible="1" />
|
36
30
|
<button
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
31
|
+
name="validate_tier"
|
32
|
+
string="Validate"
|
33
|
+
invisible="not can_review"
|
34
|
+
type="object"
|
35
|
+
class="btn-icon me-1 btn-success"
|
36
|
+
icon="fa-thumbs-up"
|
37
|
+
/>
|
44
38
|
<button
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
39
|
+
name="reject_tier"
|
40
|
+
string="Reject"
|
41
|
+
invisible="not can_review"
|
42
|
+
type="object"
|
43
|
+
class="btn-icon btn-danger"
|
44
|
+
icon="fa-thumbs-down"
|
45
|
+
/>
|
52
46
|
<br /><field name="next_review" readonly="1" />
|
53
47
|
</p>
|
54
|
-
|
55
|
-
|
56
|
-
class="alert alert-success"
|
48
|
+
</div>
|
49
|
+
<div
|
50
|
+
class="alert alert-success mb-0"
|
57
51
|
role="alert"
|
58
|
-
t-attf-invisible="validated
|
59
|
-
style="margin-bottom:0px;"
|
52
|
+
t-attf-invisible="not validated or hide_reviews or not review_ids"
|
60
53
|
>
|
61
|
-
|
54
|
+
<p class="mb-1">
|
62
55
|
<i class="fa fa-lg fa-thumbs-up" />
|
63
56
|
Operation has been
|
64
57
|
<b>validated</b>
|
65
58
|
!
|
66
59
|
</p>
|
67
|
-
|
68
|
-
|
69
|
-
class="alert alert-danger"
|
60
|
+
</div>
|
61
|
+
<div
|
62
|
+
class="alert alert-danger mb-0"
|
70
63
|
role="alert"
|
71
64
|
t-attf-invisible="not rejected or hide_reviews or not review_ids"
|
72
|
-
style="margin-bottom:0px;"
|
73
65
|
>
|
74
|
-
|
66
|
+
<p class="mb-1">
|
75
67
|
<i class="fa fa-lg fa-thumbs-down" />
|
76
68
|
Operation has been
|
77
69
|
<b>rejected</b>
|
78
70
|
.
|
79
71
|
</p>
|
80
|
-
|
72
|
+
</div>
|
81
73
|
</div>
|
82
74
|
</template>
|
83
75
|
<template id="tier_validation_reviews">
|
@@ -85,21 +77,20 @@
|
|
85
77
|
name="review_ids"
|
86
78
|
widget="tier_validation"
|
87
79
|
invisible="not review_ids"
|
88
|
-
|
80
|
+
class="w-100 mt-1"
|
89
81
|
>
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
</
|
103
|
-
</field>
|
82
|
+
<list>
|
83
|
+
<field name="name" />
|
84
|
+
<field name="sequence" />
|
85
|
+
<field name="requested_by" />
|
86
|
+
<field name="status" />
|
87
|
+
<field name="display_status" />
|
88
|
+
<field name="todo_by" />
|
89
|
+
<field name="done_by" />
|
90
|
+
<field name="reviewed_date" />
|
91
|
+
<field name="reviewed_formated_date" />
|
92
|
+
<field name="comment" />
|
93
|
+
</list>
|
94
|
+
</field>
|
104
95
|
</template>
|
105
96
|
</odoo>
|
@@ -3,16 +3,13 @@
|
|
3
3
|
|
4
4
|
from odoo_test_helper import FakeModelLoader
|
5
5
|
|
6
|
-
from odoo.tests import
|
6
|
+
from odoo.addons.base.tests.common import BaseCommon
|
7
7
|
|
8
|
-
from odoo.addons.base.tests.common import DISABLED_MAIL_CONTEXT
|
9
8
|
|
10
|
-
|
11
|
-
class CommonTierValidation(common.TransactionCase):
|
9
|
+
class CommonTierValidation(BaseCommon):
|
12
10
|
@classmethod
|
13
11
|
def setUpClass(cls):
|
14
12
|
super().setUpClass()
|
15
|
-
cls.env = cls.env(context=dict(cls.env.context, **DISABLED_MAIL_CONTEXT))
|
16
13
|
cls.loader = FakeModelLoader(cls.env, cls.__module__)
|
17
14
|
cls.loader.backup_registry()
|
18
15
|
from .tier_validation_tester import (
|
@@ -164,4 +161,4 @@ class CommonTierValidation(common.TransactionCase):
|
|
164
161
|
@classmethod
|
165
162
|
def tearDownClass(cls):
|
166
163
|
cls.loader.restore_registry()
|
167
|
-
|
164
|
+
super().tearDownClass()
|
@@ -3,10 +3,10 @@
|
|
3
3
|
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
4
4
|
<odoo>
|
5
5
|
<record id="tier_definition_view_tree" model="ir.ui.view">
|
6
|
-
<field name="name">tier.definition.
|
6
|
+
<field name="name">tier.definition.list</field>
|
7
7
|
<field name="model">tier.definition</field>
|
8
8
|
<field name="arch" type="xml">
|
9
|
-
<
|
9
|
+
<list>
|
10
10
|
<field name="sequence" widget="handle" />
|
11
11
|
<field name="model_id" />
|
12
12
|
<field name="name" />
|
@@ -23,7 +23,7 @@
|
|
23
23
|
optional="hide"
|
24
24
|
/>
|
25
25
|
<field name="active" />
|
26
|
-
</
|
26
|
+
</list>
|
27
27
|
</field>
|
28
28
|
</record>
|
29
29
|
<record id="tier_definition_view_form" model="ir.ui.view">
|
@@ -50,7 +50,6 @@
|
|
50
50
|
</h1>
|
51
51
|
</div>
|
52
52
|
<group>
|
53
|
-
<field name="active" invisible="1" />
|
54
53
|
<group name="left">
|
55
54
|
<field name="model_id" options="{'no_create': True}" />
|
56
55
|
<field name="model" invisible="1" />
|
@@ -69,7 +68,6 @@
|
|
69
68
|
invisible="review_type != 'field'"
|
70
69
|
options="{'no_create': True}"
|
71
70
|
/>
|
72
|
-
<field name="valid_reviewer_field_ids" invisible="1" />
|
73
71
|
</group>
|
74
72
|
<group name="right">
|
75
73
|
<field
|
@@ -78,18 +76,16 @@
|
|
78
76
|
options="{'no_create': True}"
|
79
77
|
/>
|
80
78
|
<field name="sequence" />
|
81
|
-
|
82
79
|
<field name="approve_sequence" />
|
83
80
|
<label
|
84
81
|
for="approve_sequence_bypass"
|
85
82
|
class="o_form_label"
|
86
|
-
invisible="approve_sequence
|
83
|
+
invisible="not approve_sequence"
|
87
84
|
/>
|
88
|
-
|
89
85
|
<div
|
90
86
|
name="approve_sequence_bypass_div"
|
91
87
|
class="o_wrap_field d-flex d-sm-contents flex-column mb-3 mb-sm-0"
|
92
|
-
invisible="approve_sequence
|
88
|
+
invisible="not approve_sequence"
|
93
89
|
>
|
94
90
|
<field name="approve_sequence_bypass" />
|
95
91
|
<span
|
@@ -141,7 +137,7 @@
|
|
141
137
|
<filter
|
142
138
|
string="All"
|
143
139
|
name="all"
|
144
|
-
domain="[
|
140
|
+
domain="[('active', 'in', (False, True))]"
|
145
141
|
/>
|
146
142
|
<group expand="0" string="Group By">
|
147
143
|
<filter
|
@@ -158,7 +154,7 @@
|
|
158
154
|
<field name="name">Tier Definition</field>
|
159
155
|
<field name="type">ir.actions.act_window</field>
|
160
156
|
<field name="res_model">tier.definition</field>
|
161
|
-
<field name="view_mode">
|
157
|
+
<field name="view_mode">list,form</field>
|
162
158
|
<field name="context">{'search_default_all': 1}</field>
|
163
159
|
</record>
|
164
160
|
<menuitem
|
@@ -3,10 +3,10 @@
|
|
3
3
|
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
4
4
|
<odoo>
|
5
5
|
<record id="tier_review_view_tree" model="ir.ui.view">
|
6
|
-
<field name="name">tier.review.
|
6
|
+
<field name="name">tier.review.list</field>
|
7
7
|
<field name="model">tier.review</field>
|
8
8
|
<field name="arch" type="xml">
|
9
|
-
<
|
9
|
+
<list
|
10
10
|
decoration-danger="status=='rejected'"
|
11
11
|
decoration-success="status=='approved'"
|
12
12
|
>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<field name="done_by" />
|
20
20
|
<field name="reviewed_date" />
|
21
21
|
<field name="comment" />
|
22
|
-
</
|
22
|
+
</list>
|
23
23
|
</field>
|
24
24
|
</record>
|
25
25
|
</odoo>
|
@@ -3,10 +3,10 @@
|
|
3
3
|
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
4
4
|
<odoo>
|
5
5
|
<record id="tier_validation_exception_tree" model="ir.ui.view">
|
6
|
-
<field name="name">tier.validation.exception.
|
6
|
+
<field name="name">tier.validation.exception.list</field>
|
7
7
|
<field name="model">tier.validation.exception</field>
|
8
8
|
<field name="arch" type="xml">
|
9
|
-
<
|
9
|
+
<list>
|
10
10
|
<field name="name" />
|
11
11
|
<field name="model_id" />
|
12
12
|
<field name="field_ids" widget="many2many_tags" optional="show" />
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<field name="allowed_to_write_under_validation" />
|
15
15
|
<field name="allowed_to_write_after_validation" />
|
16
16
|
<field name="group_ids" widget="many2many_tags" />
|
17
|
-
</
|
17
|
+
</list>
|
18
18
|
</field>
|
19
19
|
</record>
|
20
20
|
|
@@ -36,7 +36,6 @@
|
|
36
36
|
name="model_id"
|
37
37
|
options="{'no_create': True, 'no_open': True}"
|
38
38
|
/>
|
39
|
-
<field name="valid_model_field_ids" invisible="1" />
|
40
39
|
<field
|
41
40
|
name="field_ids"
|
42
41
|
widget="many2many_tags"
|
@@ -101,7 +100,7 @@
|
|
101
100
|
<field name="name">Tier Validation Exception</field>
|
102
101
|
<field name="type">ir.actions.act_window</field>
|
103
102
|
<field name="res_model">tier.validation.exception</field>
|
104
|
-
<field name="view_mode">
|
103
|
+
<field name="view_mode">list,form</field>
|
105
104
|
<field name="help" type="html">
|
106
105
|
<p
|
107
106
|
class="o_view_nocontent_smiling_face"
|