odoo-addon-request-document 15.0.2.0.0__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/request_document/README.rst +60 -0
- odoo/addons/request_document/__init__.py +3 -0
- odoo/addons/request_document/__manifest__.py +22 -0
- odoo/addons/request_document/data/request_order_data.xml +9 -0
- odoo/addons/request_document/i18n/request_document.pot +395 -0
- odoo/addons/request_document/models/__init__.py +4 -0
- odoo/addons/request_document/models/request_document.py +68 -0
- odoo/addons/request_document/models/request_order.py +99 -0
- odoo/addons/request_document/readme/CONTRIBUTORS.rst +1 -0
- odoo/addons/request_document/readme/DESCRIPTION.rst +1 -0
- odoo/addons/request_document/security/ir.model.access.csv +3 -0
- odoo/addons/request_document/security/request_order_security.xml +10 -0
- odoo/addons/request_document/static/description/icon.png +0 -0
- odoo/addons/request_document/static/description/index.html +416 -0
- odoo/addons/request_document/views/request_document_view.xml +36 -0
- odoo/addons/request_document/views/request_menuitem.xml +20 -0
- odoo/addons/request_document/views/request_order_view.xml +145 -0
- odoo/addons/request_document/views/res_config_settings_views.xml +41 -0
- odoo_addon_request_document-15.0.2.0.0.dist-info/METADATA +75 -0
- odoo_addon_request_document-15.0.2.0.0.dist-info/RECORD +22 -0
- odoo_addon_request_document-15.0.2.0.0.dist-info/WHEEL +5 -0
- odoo_addon_request_document-15.0.2.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
================
|
|
2
|
+
Request Document
|
|
3
|
+
================
|
|
4
|
+
|
|
5
|
+
..
|
|
6
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
7
|
+
!! This file is generated by oca-gen-addon-readme !!
|
|
8
|
+
!! changes will be overwritten. !!
|
|
9
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
+
!! source digest: sha256:b9804fee71a46020f42f466346573955191d225940d643647e1d2128ec058b57
|
|
11
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
|
+
|
|
13
|
+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
14
|
+
:target: https://odoo-community.org/page/development-status
|
|
15
|
+
:alt: Beta
|
|
16
|
+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
|
17
|
+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
18
|
+
:alt: License: AGPL-3
|
|
19
|
+
.. |badge3| image:: https://img.shields.io/badge/github-ecosoft--odoo%2Fecosoft--addons-lightgray.png?logo=github
|
|
20
|
+
:target: https://github.com/ecosoft-odoo/ecosoft-addons/tree/15.0/request_document
|
|
21
|
+
:alt: ecosoft-odoo/ecosoft-addons
|
|
22
|
+
|
|
23
|
+
|badge1| |badge2| |badge3|
|
|
24
|
+
|
|
25
|
+
# TODO
|
|
26
|
+
|
|
27
|
+
**Table of contents**
|
|
28
|
+
|
|
29
|
+
.. contents::
|
|
30
|
+
:local:
|
|
31
|
+
|
|
32
|
+
Bug Tracker
|
|
33
|
+
===========
|
|
34
|
+
|
|
35
|
+
Bugs are tracked on `GitHub Issues <https://github.com/ecosoft-odoo/ecosoft-addons/issues>`_.
|
|
36
|
+
In case of trouble, please check there if your issue has already been reported.
|
|
37
|
+
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
38
|
+
`feedback <https://github.com/ecosoft-odoo/ecosoft-addons/issues/new?body=module:%20request_document%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
39
|
+
|
|
40
|
+
Do not contact contributors directly about support or help with technical issues.
|
|
41
|
+
|
|
42
|
+
Credits
|
|
43
|
+
=======
|
|
44
|
+
|
|
45
|
+
Authors
|
|
46
|
+
~~~~~~~
|
|
47
|
+
|
|
48
|
+
* Ecosoft
|
|
49
|
+
|
|
50
|
+
Contributors
|
|
51
|
+
~~~~~~~~~~~~
|
|
52
|
+
|
|
53
|
+
* Saran Lim. <saranl@ecosoft.co.th>
|
|
54
|
+
|
|
55
|
+
Maintainers
|
|
56
|
+
~~~~~~~~~~~
|
|
57
|
+
|
|
58
|
+
This module is part of the `ecosoft-odoo/ecosoft-addons <https://github.com/ecosoft-odoo/ecosoft-addons/tree/15.0/request_document>`_ project on GitHub.
|
|
59
|
+
|
|
60
|
+
You are welcome to contribute.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2024 Ecosoft Co., Ltd (https://ecosoft.co.th)
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
3
|
+
|
|
4
|
+
{
|
|
5
|
+
"name": "Request Document",
|
|
6
|
+
"version": "15.0.2.0.0",
|
|
7
|
+
"license": "AGPL-3",
|
|
8
|
+
"category": "Accounting & Finance",
|
|
9
|
+
"author": "Ecosoft, Odoo Community Association (OCA)",
|
|
10
|
+
"website": "https://github.com/ecosoft-odoo/ecosoft-addons",
|
|
11
|
+
"depends": ["base", "mail"],
|
|
12
|
+
"data": [
|
|
13
|
+
"security/ir.model.access.csv",
|
|
14
|
+
"security/request_order_security.xml",
|
|
15
|
+
"data/request_order_data.xml",
|
|
16
|
+
"views/request_menuitem.xml",
|
|
17
|
+
"views/res_config_settings_views.xml",
|
|
18
|
+
"views/request_order_view.xml",
|
|
19
|
+
"views/request_document_view.xml",
|
|
20
|
+
],
|
|
21
|
+
"installable": True,
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo noupdate="1">
|
|
3
|
+
<record id="seq_request" model="ir.sequence">
|
|
4
|
+
<field name="name">Request Sequence</field>
|
|
5
|
+
<field name="code">request.order</field>
|
|
6
|
+
<field name="padding" eval="5" />
|
|
7
|
+
<field name="prefix">RQ</field>
|
|
8
|
+
</record>
|
|
9
|
+
</odoo>
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
# Translation of Odoo Server.
|
|
2
|
+
# This file contains the translation of the following modules:
|
|
3
|
+
# * request_document
|
|
4
|
+
#
|
|
5
|
+
msgid ""
|
|
6
|
+
msgstr ""
|
|
7
|
+
"Project-Id-Version: Odoo Server 15.0\n"
|
|
8
|
+
"Report-Msgid-Bugs-To: \n"
|
|
9
|
+
"Last-Translator: \n"
|
|
10
|
+
"Language-Team: \n"
|
|
11
|
+
"MIME-Version: 1.0\n"
|
|
12
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
13
|
+
"Content-Transfer-Encoding: \n"
|
|
14
|
+
"Plural-Forms: \n"
|
|
15
|
+
|
|
16
|
+
#. module: request_document
|
|
17
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_needaction
|
|
18
|
+
msgid "Action Needed"
|
|
19
|
+
msgstr ""
|
|
20
|
+
|
|
21
|
+
#. module: request_document
|
|
22
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_ids
|
|
23
|
+
msgid "Activities"
|
|
24
|
+
msgstr ""
|
|
25
|
+
|
|
26
|
+
#. module: request_document
|
|
27
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_exception_decoration
|
|
28
|
+
msgid "Activity Exception Decoration"
|
|
29
|
+
msgstr ""
|
|
30
|
+
|
|
31
|
+
#. module: request_document
|
|
32
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_state
|
|
33
|
+
msgid "Activity State"
|
|
34
|
+
msgstr ""
|
|
35
|
+
|
|
36
|
+
#. module: request_document
|
|
37
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_type_icon
|
|
38
|
+
msgid "Activity Type Icon"
|
|
39
|
+
msgstr ""
|
|
40
|
+
|
|
41
|
+
#. module: request_document
|
|
42
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
43
|
+
msgid "Approve"
|
|
44
|
+
msgstr ""
|
|
45
|
+
|
|
46
|
+
#. module: request_document
|
|
47
|
+
#: model:ir.model.fields.selection,name:request_document.selection__request_order__state__approve
|
|
48
|
+
msgid "Approved"
|
|
49
|
+
msgstr ""
|
|
50
|
+
|
|
51
|
+
#. module: request_document
|
|
52
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_attachment_count
|
|
53
|
+
msgid "Attachment Count"
|
|
54
|
+
msgstr ""
|
|
55
|
+
|
|
56
|
+
#. module: request_document
|
|
57
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
58
|
+
msgid "Cancel"
|
|
59
|
+
msgstr ""
|
|
60
|
+
|
|
61
|
+
#. module: request_document
|
|
62
|
+
#: model:ir.model.fields.selection,name:request_document.selection__request_order__state__cancel
|
|
63
|
+
msgid "Cancelled"
|
|
64
|
+
msgstr ""
|
|
65
|
+
|
|
66
|
+
#. module: request_document
|
|
67
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__company_id
|
|
68
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__company_id
|
|
69
|
+
msgid "Company"
|
|
70
|
+
msgstr ""
|
|
71
|
+
|
|
72
|
+
#. module: request_document
|
|
73
|
+
#: model:ir.ui.menu,name:request_document.request_config_menu
|
|
74
|
+
msgid "Configurations"
|
|
75
|
+
msgstr ""
|
|
76
|
+
|
|
77
|
+
#. module: request_document
|
|
78
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_search
|
|
79
|
+
msgid "Created By"
|
|
80
|
+
msgstr ""
|
|
81
|
+
|
|
82
|
+
#. module: request_document
|
|
83
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__create_uid
|
|
84
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__create_uid
|
|
85
|
+
msgid "Created by"
|
|
86
|
+
msgstr ""
|
|
87
|
+
|
|
88
|
+
#. module: request_document
|
|
89
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__create_date
|
|
90
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__create_date
|
|
91
|
+
msgid "Created on"
|
|
92
|
+
msgstr ""
|
|
93
|
+
|
|
94
|
+
#. module: request_document
|
|
95
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__currency_id
|
|
96
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__currency_id
|
|
97
|
+
msgid "Currency"
|
|
98
|
+
msgstr ""
|
|
99
|
+
|
|
100
|
+
#. module: request_document
|
|
101
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__display_name
|
|
102
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__display_name
|
|
103
|
+
msgid "Display Name"
|
|
104
|
+
msgstr ""
|
|
105
|
+
|
|
106
|
+
#. module: request_document
|
|
107
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__name_document
|
|
108
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
109
|
+
msgid "Document"
|
|
110
|
+
msgstr ""
|
|
111
|
+
|
|
112
|
+
#. module: request_document
|
|
113
|
+
#: model:ir.model.fields.selection,name:request_document.selection__request_order__state__done
|
|
114
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
115
|
+
msgid "Done"
|
|
116
|
+
msgstr ""
|
|
117
|
+
|
|
118
|
+
#. module: request_document
|
|
119
|
+
#: model:ir.model.fields.selection,name:request_document.selection__request_order__state__draft
|
|
120
|
+
msgid "Draft"
|
|
121
|
+
msgstr ""
|
|
122
|
+
|
|
123
|
+
#. module: request_document
|
|
124
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_follower_ids
|
|
125
|
+
msgid "Followers"
|
|
126
|
+
msgstr ""
|
|
127
|
+
|
|
128
|
+
#. module: request_document
|
|
129
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_partner_ids
|
|
130
|
+
msgid "Followers (Partners)"
|
|
131
|
+
msgstr ""
|
|
132
|
+
|
|
133
|
+
#. module: request_document
|
|
134
|
+
#: model:ir.model.fields,help:request_document.field_request_order__activity_type_icon
|
|
135
|
+
msgid "Font awesome icon e.g. fa-tasks"
|
|
136
|
+
msgstr ""
|
|
137
|
+
|
|
138
|
+
#. module: request_document
|
|
139
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_search
|
|
140
|
+
msgid "Group By"
|
|
141
|
+
msgstr ""
|
|
142
|
+
|
|
143
|
+
#. module: request_document
|
|
144
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__has_message
|
|
145
|
+
msgid "Has Message"
|
|
146
|
+
msgstr ""
|
|
147
|
+
|
|
148
|
+
#. module: request_document
|
|
149
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__id
|
|
150
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__id
|
|
151
|
+
msgid "ID"
|
|
152
|
+
msgstr ""
|
|
153
|
+
|
|
154
|
+
#. module: request_document
|
|
155
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_exception_icon
|
|
156
|
+
msgid "Icon"
|
|
157
|
+
msgstr ""
|
|
158
|
+
|
|
159
|
+
#. module: request_document
|
|
160
|
+
#: model:ir.model.fields,help:request_document.field_request_order__activity_exception_icon
|
|
161
|
+
msgid "Icon to indicate an exception activity."
|
|
162
|
+
msgstr ""
|
|
163
|
+
|
|
164
|
+
#. module: request_document
|
|
165
|
+
#: model:ir.model.fields,help:request_document.field_request_order__message_needaction
|
|
166
|
+
#: model:ir.model.fields,help:request_document.field_request_order__message_unread
|
|
167
|
+
msgid "If checked, new messages require your attention."
|
|
168
|
+
msgstr ""
|
|
169
|
+
|
|
170
|
+
#. module: request_document
|
|
171
|
+
#: model:ir.model.fields,help:request_document.field_request_order__message_has_error
|
|
172
|
+
msgid "If checked, some messages have a delivery error."
|
|
173
|
+
msgstr ""
|
|
174
|
+
|
|
175
|
+
#. module: request_document
|
|
176
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_is_follower
|
|
177
|
+
msgid "Is Follower"
|
|
178
|
+
msgstr ""
|
|
179
|
+
|
|
180
|
+
#. module: request_document
|
|
181
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document____last_update
|
|
182
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order____last_update
|
|
183
|
+
msgid "Last Modified on"
|
|
184
|
+
msgstr ""
|
|
185
|
+
|
|
186
|
+
#. module: request_document
|
|
187
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__write_uid
|
|
188
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__write_uid
|
|
189
|
+
msgid "Last Updated by"
|
|
190
|
+
msgstr ""
|
|
191
|
+
|
|
192
|
+
#. module: request_document
|
|
193
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__write_date
|
|
194
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__write_date
|
|
195
|
+
msgid "Last Updated on"
|
|
196
|
+
msgstr ""
|
|
197
|
+
|
|
198
|
+
#. module: request_document
|
|
199
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__line_ids
|
|
200
|
+
msgid "Line"
|
|
201
|
+
msgstr ""
|
|
202
|
+
|
|
203
|
+
#. module: request_document
|
|
204
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_main_attachment_id
|
|
205
|
+
msgid "Main Attachment"
|
|
206
|
+
msgstr ""
|
|
207
|
+
|
|
208
|
+
#. module: request_document
|
|
209
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_has_error
|
|
210
|
+
msgid "Message Delivery error"
|
|
211
|
+
msgstr ""
|
|
212
|
+
|
|
213
|
+
#. module: request_document
|
|
214
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_ids
|
|
215
|
+
msgid "Messages"
|
|
216
|
+
msgstr ""
|
|
217
|
+
|
|
218
|
+
#. module: request_document
|
|
219
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__my_activity_date_deadline
|
|
220
|
+
msgid "My Activity Deadline"
|
|
221
|
+
msgstr ""
|
|
222
|
+
|
|
223
|
+
#. module: request_document
|
|
224
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__name
|
|
225
|
+
msgid "Name"
|
|
226
|
+
msgstr ""
|
|
227
|
+
|
|
228
|
+
#. module: request_document
|
|
229
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_date_deadline
|
|
230
|
+
msgid "Next Activity Deadline"
|
|
231
|
+
msgstr ""
|
|
232
|
+
|
|
233
|
+
#. module: request_document
|
|
234
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_summary
|
|
235
|
+
msgid "Next Activity Summary"
|
|
236
|
+
msgstr ""
|
|
237
|
+
|
|
238
|
+
#. module: request_document
|
|
239
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_type_id
|
|
240
|
+
msgid "Next Activity Type"
|
|
241
|
+
msgstr ""
|
|
242
|
+
|
|
243
|
+
#. module: request_document
|
|
244
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_needaction_counter
|
|
245
|
+
msgid "Number of Actions"
|
|
246
|
+
msgstr ""
|
|
247
|
+
|
|
248
|
+
#. module: request_document
|
|
249
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_has_error_counter
|
|
250
|
+
msgid "Number of errors"
|
|
251
|
+
msgstr ""
|
|
252
|
+
|
|
253
|
+
#. module: request_document
|
|
254
|
+
#: model:ir.model.fields,help:request_document.field_request_order__message_needaction_counter
|
|
255
|
+
msgid "Number of messages which requires an action"
|
|
256
|
+
msgstr ""
|
|
257
|
+
|
|
258
|
+
#. module: request_document
|
|
259
|
+
#: model:ir.model.fields,help:request_document.field_request_order__message_has_error_counter
|
|
260
|
+
msgid "Number of messages with delivery error"
|
|
261
|
+
msgstr ""
|
|
262
|
+
|
|
263
|
+
#. module: request_document
|
|
264
|
+
#: model:ir.model.fields,help:request_document.field_request_order__message_unread_counter
|
|
265
|
+
msgid "Number of unread messages"
|
|
266
|
+
msgstr ""
|
|
267
|
+
|
|
268
|
+
#. module: request_document
|
|
269
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_document_tree
|
|
270
|
+
msgid "Open Details"
|
|
271
|
+
msgstr ""
|
|
272
|
+
|
|
273
|
+
#. module: request_document
|
|
274
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__name
|
|
275
|
+
msgid "Reference"
|
|
276
|
+
msgstr ""
|
|
277
|
+
|
|
278
|
+
#. module: request_document
|
|
279
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__request_id
|
|
280
|
+
#: model:ir.ui.menu,name:request_document.request_menu
|
|
281
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
282
|
+
msgid "Request"
|
|
283
|
+
msgstr ""
|
|
284
|
+
|
|
285
|
+
#. module: request_document
|
|
286
|
+
#: model:ir.model,name:request_document.model_request_document
|
|
287
|
+
#: model_terms:ir.ui.view,arch_db:request_document.res_config_settings_view_form_request_document
|
|
288
|
+
msgid "Request Document"
|
|
289
|
+
msgstr ""
|
|
290
|
+
|
|
291
|
+
#. module: request_document
|
|
292
|
+
#: model:ir.actions.act_window,name:request_document.action_request_order
|
|
293
|
+
#: model:ir.model,name:request_document.model_request_order
|
|
294
|
+
#: model:ir.ui.menu,name:request_document.menu_request_order
|
|
295
|
+
msgid "Request Order"
|
|
296
|
+
msgstr ""
|
|
297
|
+
|
|
298
|
+
#. module: request_document
|
|
299
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__request_type
|
|
300
|
+
msgid "Request Type"
|
|
301
|
+
msgstr ""
|
|
302
|
+
|
|
303
|
+
#. module: request_document
|
|
304
|
+
#: model:ir.ui.menu,name:request_document.request_order_menu
|
|
305
|
+
msgid "Requests"
|
|
306
|
+
msgstr ""
|
|
307
|
+
|
|
308
|
+
#. module: request_document
|
|
309
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
310
|
+
msgid "Reset to Draft"
|
|
311
|
+
msgstr ""
|
|
312
|
+
|
|
313
|
+
#. module: request_document
|
|
314
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__activity_user_id
|
|
315
|
+
msgid "Responsible User"
|
|
316
|
+
msgstr ""
|
|
317
|
+
|
|
318
|
+
#. module: request_document
|
|
319
|
+
#: model:ir.actions.act_window,name:request_document.action_request_configuration
|
|
320
|
+
#: model:ir.ui.menu,name:request_document.request_settings_menu
|
|
321
|
+
msgid "Settings"
|
|
322
|
+
msgstr ""
|
|
323
|
+
|
|
324
|
+
#. module: request_document
|
|
325
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__state
|
|
326
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__state
|
|
327
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_search
|
|
328
|
+
msgid "State"
|
|
329
|
+
msgstr ""
|
|
330
|
+
|
|
331
|
+
#. module: request_document
|
|
332
|
+
#: model:ir.model.fields,help:request_document.field_request_order__activity_state
|
|
333
|
+
msgid ""
|
|
334
|
+
"Status based on activities\n"
|
|
335
|
+
"Overdue: Due date is already passed\n"
|
|
336
|
+
"Today: Activity date is today\n"
|
|
337
|
+
"Planned: Future activities."
|
|
338
|
+
msgstr ""
|
|
339
|
+
|
|
340
|
+
#. module: request_document
|
|
341
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_order_form
|
|
342
|
+
msgid "Submit"
|
|
343
|
+
msgstr ""
|
|
344
|
+
|
|
345
|
+
#. module: request_document
|
|
346
|
+
#: model:ir.model.fields.selection,name:request_document.selection__request_order__state__submit
|
|
347
|
+
msgid "Submitted"
|
|
348
|
+
msgstr ""
|
|
349
|
+
|
|
350
|
+
#. module: request_document
|
|
351
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__total_amount_document
|
|
352
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__total_amount_document
|
|
353
|
+
msgid "Total Amount Document"
|
|
354
|
+
msgstr ""
|
|
355
|
+
|
|
356
|
+
#. module: request_document
|
|
357
|
+
#: model:ir.model.fields,field_description:request_document.field_request_document__total_amount_request
|
|
358
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__total_amount_request
|
|
359
|
+
msgid "Total Amount Request"
|
|
360
|
+
msgstr ""
|
|
361
|
+
|
|
362
|
+
#. module: request_document
|
|
363
|
+
#: model:ir.model.fields,help:request_document.field_request_order__activity_exception_decoration
|
|
364
|
+
msgid "Type of the exception activity on record."
|
|
365
|
+
msgstr ""
|
|
366
|
+
|
|
367
|
+
#. module: request_document
|
|
368
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_unread
|
|
369
|
+
msgid "Unread Messages"
|
|
370
|
+
msgstr ""
|
|
371
|
+
|
|
372
|
+
#. module: request_document
|
|
373
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__message_unread_counter
|
|
374
|
+
msgid "Unread Messages Counter"
|
|
375
|
+
msgstr ""
|
|
376
|
+
|
|
377
|
+
#. module: request_document
|
|
378
|
+
#: model:ir.model.fields,field_description:request_document.field_request_order__website_message_ids
|
|
379
|
+
msgid "Website Messages"
|
|
380
|
+
msgstr ""
|
|
381
|
+
|
|
382
|
+
#. module: request_document
|
|
383
|
+
#: model:ir.model.fields,help:request_document.field_request_order__website_message_ids
|
|
384
|
+
msgid "Website communication history"
|
|
385
|
+
msgstr ""
|
|
386
|
+
|
|
387
|
+
#. module: request_document
|
|
388
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_document_tree
|
|
389
|
+
msgid "total_document"
|
|
390
|
+
msgstr ""
|
|
391
|
+
|
|
392
|
+
#. module: request_document
|
|
393
|
+
#: model_terms:ir.ui.view,arch_db:request_document.view_request_document_tree
|
|
394
|
+
msgid "total_request"
|
|
395
|
+
msgstr ""
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Copyright 2024 Ecosoft Co., Ltd. (http://ecosoft.co.th)
|
|
2
|
+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
|
|
4
|
+
from odoo import api, fields, models
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class RequestDocument(models.Model):
|
|
8
|
+
_name = "request.document"
|
|
9
|
+
_description = "Request Document"
|
|
10
|
+
|
|
11
|
+
request_id = fields.Many2one(
|
|
12
|
+
comodel_name="request.order",
|
|
13
|
+
index=True,
|
|
14
|
+
required=True,
|
|
15
|
+
ondelete="cascade",
|
|
16
|
+
)
|
|
17
|
+
name = fields.Char(
|
|
18
|
+
compute="_compute_name_document",
|
|
19
|
+
store=True,
|
|
20
|
+
string="Reference",
|
|
21
|
+
)
|
|
22
|
+
name_document = fields.Char(
|
|
23
|
+
string="Document",
|
|
24
|
+
compute="_compute_document",
|
|
25
|
+
store=True,
|
|
26
|
+
)
|
|
27
|
+
total_amount_request = fields.Monetary()
|
|
28
|
+
total_amount_document = fields.Monetary(
|
|
29
|
+
compute="_compute_document",
|
|
30
|
+
store=True,
|
|
31
|
+
)
|
|
32
|
+
request_type = fields.Selection(
|
|
33
|
+
selection=[],
|
|
34
|
+
required=True,
|
|
35
|
+
)
|
|
36
|
+
state = fields.Selection(
|
|
37
|
+
related="request_id.state",
|
|
38
|
+
store=True,
|
|
39
|
+
)
|
|
40
|
+
company_id = fields.Many2one(
|
|
41
|
+
related="request_id.company_id",
|
|
42
|
+
store=True,
|
|
43
|
+
)
|
|
44
|
+
currency_id = fields.Many2one(
|
|
45
|
+
comodel_name="res.currency",
|
|
46
|
+
compute="_compute_currency_id",
|
|
47
|
+
store=True,
|
|
48
|
+
readonly=False,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
@api.depends("company_id")
|
|
52
|
+
def _compute_currency_id(self):
|
|
53
|
+
for rec in self:
|
|
54
|
+
rec.currency_id = rec.company_id.currency_id
|
|
55
|
+
|
|
56
|
+
@api.depends("request_id")
|
|
57
|
+
def _compute_name_document(self):
|
|
58
|
+
for rec in self:
|
|
59
|
+
if rec.id:
|
|
60
|
+
rec.name = f"{rec.request_id.name} - {rec.id}"
|
|
61
|
+
|
|
62
|
+
def open_request_document(self):
|
|
63
|
+
return
|
|
64
|
+
|
|
65
|
+
def _compute_document(self):
|
|
66
|
+
for rec in self:
|
|
67
|
+
rec.name_document = ""
|
|
68
|
+
rec.total_amount_document = 0.0
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Copyright 2024 Ecosoft Co., Ltd. (http://ecosoft.co.th)
|
|
2
|
+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
|
|
4
|
+
from odoo import api, fields, models
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class RequestOrder(models.Model):
|
|
8
|
+
_name = "request.order"
|
|
9
|
+
_inherit = ["mail.thread", "mail.activity.mixin"]
|
|
10
|
+
_description = "Request Order"
|
|
11
|
+
_check_company_auto = True
|
|
12
|
+
_order = "name desc"
|
|
13
|
+
|
|
14
|
+
name = fields.Char(
|
|
15
|
+
default="/",
|
|
16
|
+
readonly=True,
|
|
17
|
+
copy=False,
|
|
18
|
+
tracking=True,
|
|
19
|
+
)
|
|
20
|
+
company_id = fields.Many2one(
|
|
21
|
+
comodel_name="res.company",
|
|
22
|
+
required=True,
|
|
23
|
+
default=lambda self: self.env.company,
|
|
24
|
+
)
|
|
25
|
+
currency_id = fields.Many2one(
|
|
26
|
+
comodel_name="res.currency", related="company_id.currency_id"
|
|
27
|
+
)
|
|
28
|
+
line_ids = fields.One2many(
|
|
29
|
+
comodel_name="request.document",
|
|
30
|
+
inverse_name="request_id",
|
|
31
|
+
readonly=True,
|
|
32
|
+
states={"draft": [("readonly", False)]},
|
|
33
|
+
)
|
|
34
|
+
state = fields.Selection(
|
|
35
|
+
selection=[
|
|
36
|
+
("draft", "Draft"),
|
|
37
|
+
("submit", "Submitted"),
|
|
38
|
+
("approve", "Approved"),
|
|
39
|
+
("done", "Done"),
|
|
40
|
+
("cancel", "Cancelled"),
|
|
41
|
+
],
|
|
42
|
+
default="draft",
|
|
43
|
+
tracking=True,
|
|
44
|
+
)
|
|
45
|
+
total_amount_document = fields.Monetary(
|
|
46
|
+
compute="_compute_total_amount",
|
|
47
|
+
store=True,
|
|
48
|
+
tracking=True,
|
|
49
|
+
)
|
|
50
|
+
total_amount_request = fields.Monetary(
|
|
51
|
+
compute="_compute_total_amount",
|
|
52
|
+
store=True,
|
|
53
|
+
tracking=True,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
@api.depends("line_ids.total_amount_document", "line_ids.total_amount_request")
|
|
57
|
+
def _compute_total_amount(self):
|
|
58
|
+
for rec in self:
|
|
59
|
+
request_document = rec.line_ids
|
|
60
|
+
rec.total_amount_document = sum(
|
|
61
|
+
request_document.mapped("total_amount_document")
|
|
62
|
+
)
|
|
63
|
+
rec.total_amount_request = sum(
|
|
64
|
+
request_document.mapped("total_amount_request")
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
@api.model_create_multi
|
|
68
|
+
def create(self, vals_list):
|
|
69
|
+
for vals in vals_list:
|
|
70
|
+
if vals.get("name", "/") == "/":
|
|
71
|
+
vals["name"] = (
|
|
72
|
+
self.env["ir.sequence"].next_by_code("request.order") or "/"
|
|
73
|
+
)
|
|
74
|
+
return super().create(vals_list)
|
|
75
|
+
|
|
76
|
+
def action_submit(self):
|
|
77
|
+
for rec in self:
|
|
78
|
+
for line in rec.line_ids:
|
|
79
|
+
line.total_amount_request = line.total_amount_document
|
|
80
|
+
return self.write({"state": "submit"})
|
|
81
|
+
|
|
82
|
+
def action_approve(self):
|
|
83
|
+
return self.write({"state": "approve"})
|
|
84
|
+
|
|
85
|
+
def action_done(self):
|
|
86
|
+
return self.write({"state": "done"})
|
|
87
|
+
|
|
88
|
+
def action_process_document(self):
|
|
89
|
+
"""Hook method to process document"""
|
|
90
|
+
for rec in self:
|
|
91
|
+
for line in rec.line_ids:
|
|
92
|
+
getattr(line, "_create_%s" % line.request_type)()
|
|
93
|
+
return self.action_done()
|
|
94
|
+
|
|
95
|
+
def action_cancel(self):
|
|
96
|
+
return self.write({"state": "cancel"})
|
|
97
|
+
|
|
98
|
+
def action_draft(self):
|
|
99
|
+
return self.write({"state": "draft"})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* Saran Lim. <saranl@ecosoft.co.th>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# TODO
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo noupdate="1">
|
|
3
|
+
<record id="request_order_rule" model="ir.rule">
|
|
4
|
+
<field name="name">Request multi-company</field>
|
|
5
|
+
<field name="model_id" ref="model_request_order" />
|
|
6
|
+
<field name="domain_force">
|
|
7
|
+
['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
|
|
8
|
+
</field>
|
|
9
|
+
</record>
|
|
10
|
+
</odoo>
|
|
Binary file
|