From aa1049042cd5e009d338611ffb8c3a3ef892b0aa Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 10 Dec 2014 23:35:21 +0100 Subject: [PATCH] [IMP] Total refactorization of quality control modules with new API, README files, and new concepts. WIP of quality_control_tolerance --- quality_control_force_valid/README.rst | 11 +++++ quality_control_force_valid/__init__.py | 6 +++ quality_control_force_valid/__openerp__.py | 35 +++++++++++++++ quality_control_force_valid/i18n/es.po | 29 ++++++++++++ .../i18n/quality_control_force_valid.pot | 29 ++++++++++++ .../models/__init__.py | 6 +++ .../models/qc_inspection.py | 31 +++++++++++++ .../static/description/icon.png | Bin 0 -> 8863 bytes .../views/qc_inspection_view.xml | 42 ++++++++++++++++++ 9 files changed, 189 insertions(+) create mode 100644 quality_control_force_valid/README.rst create mode 100644 quality_control_force_valid/__init__.py create mode 100644 quality_control_force_valid/__openerp__.py create mode 100644 quality_control_force_valid/i18n/es.po create mode 100644 quality_control_force_valid/i18n/quality_control_force_valid.pot create mode 100644 quality_control_force_valid/models/__init__.py create mode 100644 quality_control_force_valid/models/qc_inspection.py create mode 100644 quality_control_force_valid/static/description/icon.png create mode 100644 quality_control_force_valid/views/qc_inspection_view.xml diff --git a/quality_control_force_valid/README.rst b/quality_control_force_valid/README.rst new file mode 100644 index 000000000..47369a113 --- /dev/null +++ b/quality_control_force_valid/README.rst @@ -0,0 +1,11 @@ +Manual validation for quality control inspections +================================================= + +This module adds a manual validation flag which allows to override the result +of the inspection. + +Contributors +------------ +* Alfredo de la Fuente +* Pedro M. Baeza +* Ana Juaristi diff --git a/quality_control_force_valid/__init__.py b/quality_control_force_valid/__init__.py new file mode 100644 index 000000000..ad6c8186c --- /dev/null +++ b/quality_control_force_valid/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## + +from . import models diff --git a/quality_control_force_valid/__openerp__.py b/quality_control_force_valid/__openerp__.py new file mode 100644 index 000000000..df89190a5 --- /dev/null +++ b/quality_control_force_valid/__openerp__.py @@ -0,0 +1,35 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Copyright (c) +# 2014 Serv. Tec. Avanzados - Pedro M. Baeza (http://www.serviciosbaeza.com) +# 2014 AvanzOsc (http://www.avanzosc.es) +# +# 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 . +# +############################################################################## + +{ + "name": "Quality control - Manual validation", + "version": "1.0", + "depends": [ + "quality_control", + ], + "author": "OdooMRP team", + "category": "Quality control", + 'data': [ + 'views/qc_inspection_view.xml', + ], + 'installable': True, +} diff --git a/quality_control_force_valid/i18n/es.po b/quality_control_force_valid/i18n/es.po new file mode 100644 index 000000000..40547485c --- /dev/null +++ b/quality_control_force_valid/i18n/es.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * quality_control_force_valid +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-12-07 16:39+0000\n" +"PO-Revision-Date: 2014-12-07 16:39+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: quality_control_force_valid +#: view:qc.inspection:quality_control_force_valid.qc_inspection_search_view_putvalid +#: field:qc.inspection,force_valid:0 +msgid "Force valid" +msgstr "Forzar validez" + +#. module: quality_control_force_valid +#: help:qc.inspection,force_valid:0 +msgid "Mark this field if you want to override the result of the inspection" +msgstr "Marque esta casilla si quiere sobreescribir el resultado de la inspección" + + diff --git a/quality_control_force_valid/i18n/quality_control_force_valid.pot b/quality_control_force_valid/i18n/quality_control_force_valid.pot new file mode 100644 index 000000000..0f6714022 --- /dev/null +++ b/quality_control_force_valid/i18n/quality_control_force_valid.pot @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * quality_control_force_valid +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-12-07 16:39+0000\n" +"PO-Revision-Date: 2014-12-07 16:39+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: quality_control_force_valid +#: view:qc.inspection:quality_control_force_valid.qc_inspection_search_view_putvalid +#: field:qc.inspection,force_valid:0 +msgid "Force valid" +msgstr "" + +#. module: quality_control_force_valid +#: help:qc.inspection,force_valid:0 +msgid "Mark this field if you want to override the result of the inspection" +msgstr "" + + diff --git a/quality_control_force_valid/models/__init__.py b/quality_control_force_valid/models/__init__.py new file mode 100644 index 000000000..8752836a8 --- /dev/null +++ b/quality_control_force_valid/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## + +from . import qc_inspection diff --git a/quality_control_force_valid/models/qc_inspection.py b/quality_control_force_valid/models/qc_inspection.py new file mode 100644 index 000000000..08df8ecef --- /dev/null +++ b/quality_control_force_valid/models/qc_inspection.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## + +from openerp import models, fields, api + + +class QcInspection(models.Model): + _inherit = 'qc.inspection' + + force_valid = fields.Boolean( + string='Force valid', + help="Mark this field if you want to override the result of the " + "inspection") + + @api.multi + def action_confirm(self): + res = super(QcInspection, self).action_confirm() + for inspection in self: + if inspection.force_valid and inspection.state != 'success': + inspection.state = 'success' + return res + + @api.multi + def action_approve(self): + res = super(QcInspection, self).action_approve() + for inspection in self: + if inspection.force_valid and inspection.state != 'success': + inspection.state = 'success' + return res diff --git a/quality_control_force_valid/static/description/icon.png b/quality_control_force_valid/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c938135253287d3e11a8e4299cd8f6e1f25da1ec GIT binary patch literal 8863 zcmW++1ymH@8=YO2USKH&>5^_~gr!SLx~<&YUyf%$)De{qB9=i`Gz6z{7cl0{{S?lA`Qu)QtFVU}2!nT@n_9s0rhZih?Zg z_}`J;QkaOkg6*bg;0XW}<^K(k>9crB)J04$B~>}hB`78okG*s>kP8540VP=}ZNIq# zledA|Q-6a;T6~|+TSYp-5f#Kfu!zvOb|@^FljXIMQHojFsdvW{0mE8{GRSyi&BTOZ zS#a6(JBTJ>8aBB!MqCgsO9z$}9feZAVB#;&qw9x$NTky9U%s0oR-H4q1Z~SIn_oSb zwiZ0U`idNZGO4q;vbMc;emwqucG?R_8o&r{ zSXj0qS@&qIgzr-_f>g6p1Sy-SwuK}ESbl^Z+q{UwOtni@;z2WxvDE)`DMen-2?ghRb=I05*l z=^f~X`X+_%rSEYfC0}SmTtx8Qh8fy19|H39c;yA12WY`waD7fJghHC)_ih>?6hQ!3 z{X3q=siyNi{*=oOn7i^En_*-hf#3icCURh%&{BYYh3GBO6Kgu&OVBLHJdnHXlOi>* znwGBrbX)?TlVS*Fo2An-aTp_}(snsg9nCHODL@+UZa2Dam%+QNKlZI2`~>mAGp;=f zj=l_%2BS|BUpWBR55PBg1eMg$UnLD`^)*@;F|@Zc2Grb%A&C8FxB3kr-U&}-3@Zb> zLE9h9D<2}BmBpK_(=@J{@9h8*j4(_Mp6(f>m=y_}3O*zI;c4tqzog;vwUFWchYT{T zGVHjXC8UTp~XF*iH3{~$yg#D$AnlGtl=HZ2jdY7B3D$_2_^=02k z`^2m*Bj`gxTi7*(!+fCKG9j|7tm!UgQs;Y)I7Qkuee|CgI3k4E&w?1jmMvZuX@R34 zf@Ghb|3(c74Gti0+zXp_j)L$GpFE9*Ry=#c?gjRYFg!bsSV5035RgVkTlt7J4Mj2{ z*daB^;R3RV8}NZX{u+?p4JTs{qrfqLju^+ew3ebhK_Jc`4*v|QLHk;YD@LF|GTDsN zFgvaFr`MQ!>uMKrjW4F9=?{r=Mu1}mfX$T|5_7S^=J1yg05PF5gw3cz9$JO}c4r}!SN+UmTFl76_8{Z`Y?Xo{CNp9`&^Y3H* z-FJh$tspB2us)V;p!jT6NLKKBdO0V6MvojH?yn{

bobBQnKUibRq6{x)=KgJ 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 R-xd@=Nls1nr?h$4{{U*Xkg5Ox literal 0 HcmV?d00001 diff --git a/quality_control_force_valid/views/qc_inspection_view.xml b/quality_control_force_valid/views/qc_inspection_view.xml new file mode 100644 index 000000000..5a72e1b3c --- /dev/null +++ b/quality_control_force_valid/views/qc_inspection_view.xml @@ -0,0 +1,42 @@ + + + + + + qc.inspection.form.view.putvalid + qc.inspection + + + + + + + + + + qc.inspection.tree.view.putvalid + qc.inspection + + + + + + + + + + qc.inspection.search.view.putvalid + qc.inspection + + + + + + + + + +