From 1bddac1d840c13d58bf2d509d6ace248c69b5bcf Mon Sep 17 00:00:00 2001 From: Mathias Markl Date: Sun, 20 May 2018 20:42:18 +0200 Subject: [PATCH] init --- muk_automation_extension/LICENSE | 619 ++++++++++++++++++ muk_automation_extension/__init__.py | 20 + muk_automation_extension/__manifest__.py | 49 ++ muk_automation_extension/doc/changelog.rst | 4 + muk_automation_extension/doc/index.rst | 62 ++ muk_automation_extension/i18n/de.po | 22 + .../i18n/muk_automation_extension.pot | 22 + muk_automation_extension/models/__init__.py | 20 + .../models/base_automation.py | 96 +++ .../static/description/banner.png | Bin 0 -> 55701 bytes .../static/description/icon.png | Bin 0 -> 15120 bytes .../static/description/index.html | 66 ++ .../static/description/logo.png | Bin 0 -> 38064 bytes 13 files changed, 980 insertions(+) create mode 100644 muk_automation_extension/LICENSE create mode 100644 muk_automation_extension/__init__.py create mode 100644 muk_automation_extension/__manifest__.py create mode 100644 muk_automation_extension/doc/changelog.rst create mode 100644 muk_automation_extension/doc/index.rst create mode 100644 muk_automation_extension/i18n/de.po create mode 100644 muk_automation_extension/i18n/muk_automation_extension.pot create mode 100644 muk_automation_extension/models/__init__.py create mode 100644 muk_automation_extension/models/base_automation.py create mode 100644 muk_automation_extension/static/description/banner.png create mode 100644 muk_automation_extension/static/description/icon.png create mode 100644 muk_automation_extension/static/description/index.html create mode 100644 muk_automation_extension/static/description/logo.png diff --git a/muk_automation_extension/LICENSE b/muk_automation_extension/LICENSE new file mode 100644 index 0000000..faf7bf4 --- /dev/null +++ b/muk_automation_extension/LICENSE @@ -0,0 +1,619 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/muk_automation_extension/__init__.py b/muk_automation_extension/__init__.py new file mode 100644 index 0000000..0453e2d --- /dev/null +++ b/muk_automation_extension/__init__.py @@ -0,0 +1,20 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# 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 . +# +################################################################################### + +from . import models \ No newline at end of file diff --git a/muk_automation_extension/__manifest__.py b/muk_automation_extension/__manifest__.py new file mode 100644 index 0000000..5e11285 --- /dev/null +++ b/muk_automation_extension/__manifest__.py @@ -0,0 +1,49 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# 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": "MuK Automation Extension", + "summary": """Extension for Odoo's Base Automation""", + "version": '11.0.1.0.0', + "category": 'Extra Tools', + "license": "AGPL-3", + "website": "https://www.mukit.at", + "live_test_url": "https://demo.mukit.at/web/login", + "author": "MuK IT", + "contributors": [ + "Mathias Markl ", + ], + "depends": [ + "base_automation", + ], + "data": [ + ], + "qweb": [ + "static/src/xml/*.xml", + ], + "images": [ + 'static/description/banner.png' + ], + "external_dependencies": { + "python": [], + "bin": [], + }, + "application": False, + "installable": True, +} diff --git a/muk_automation_extension/doc/changelog.rst b/muk_automation_extension/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/muk_automation_extension/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/muk_automation_extension/doc/index.rst b/muk_automation_extension/doc/index.rst new file mode 100644 index 0000000..7890e50 --- /dev/null +++ b/muk_automation_extension/doc/index.rst @@ -0,0 +1,62 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +.. image:: https://gitlab.mukit.at/base/muk_automation_extension/badges/11.0/pipeline.svg + :target: https://gitlab.mukit.at/base/muk_automation_extension/commits/11.0 + :alt: Pipeline status + +.. image:: https://gitlab.mukit.at/base/muk_automation_extension/badges/11.0/coverage.svg + :target: https://gitlab.mukit.at/base/muk_automation_extension/commits/11.0 + :alt: Coverage report + +======================== +MuK Automation Extension +======================== + +Technical module to extend the Base Automation module. Another trigger is added, +which executes the action during creation, update and deletion. + +Installation +============ + +To install this module, you need to: + +Download the module and add it to your Odoo addons folder. Afterward, log on to +your Odoo server and go to the Apps menu. Trigger the debug modus and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + +Configuration +============= + +The converter uses a store to avoid the repeated conversion of the same file. +To avoid unnecessary memory consumption, Odoo's AutoVaccum Cron Job empties +the store accordingly. The system parameter ``muk_converter.max_store`` can +be used to set the maximum number of elements that can be in the store after +cleaning. By default, this value is set to 20. + +Usage +============= + +Another trigger can now be selected in the From View of Base Automation. + +Credits +======= + +Contributors +------------ + +* Mathias Markl + +Author & Maintainer +------------------- + +This module is maintained by the `MuK IT GmbH `_. + +MuK IT is an Austrian company specialized in customizing and extending Odoo. +We develop custom solutions for your individual needs to help you focus on +your strength and expertise to grow your business. + +If you want to get in touch please contact us via mail +(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_automation_extension/i18n/de.po b/muk_automation_extension/i18n/de.po new file mode 100644 index 0000000..756515f --- /dev/null +++ b/muk_automation_extension/i18n/de.po @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * muk_automation_extension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-20 18:29+0000\n" +"PO-Revision-Date: 2018-05-20 18:29+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: muk_automation_extension +#: model:ir.model,name:muk_automation_extension.model_base_automation +msgid "Automated Action" +msgstr "Automatische Aktion" + diff --git a/muk_automation_extension/i18n/muk_automation_extension.pot b/muk_automation_extension/i18n/muk_automation_extension.pot new file mode 100644 index 0000000..f31a1ff --- /dev/null +++ b/muk_automation_extension/i18n/muk_automation_extension.pot @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * muk_automation_extension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-20 18:30+0000\n" +"PO-Revision-Date: 2018-05-20 18:30+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: muk_automation_extension +#: model:ir.model,name:muk_automation_extension.model_base_automation +msgid "Automated Action" +msgstr "" + diff --git a/muk_automation_extension/models/__init__.py b/muk_automation_extension/models/__init__.py new file mode 100644 index 0000000..a931033 --- /dev/null +++ b/muk_automation_extension/models/__init__.py @@ -0,0 +1,20 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# 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 . +# +################################################################################### + +from . import base_automation \ No newline at end of file diff --git a/muk_automation_extension/models/base_automation.py b/muk_automation_extension/models/base_automation.py new file mode 100644 index 0000000..b0ed177 --- /dev/null +++ b/muk_automation_extension/models/base_automation.py @@ -0,0 +1,96 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# 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 . +# +################################################################################### + +import logging + +from collections import defaultdict + +from odoo import api, models, fields + +_logger = logging.getLogger(__name__) + +class BaseAutomation(models.Model): + + _inherit = 'base.automation' + + trigger = fields.Selection( + selection_add=[('on_create_or_write_or_unlink', 'On Creation & Update & Deletion')]) + + @api.onchange('trigger') + def onchange_trigger(self): + super(BaseAutomation, self).onchange_trigger() + if self.trigger == "on_create_or_write_or_unlink": + self.filter_pre_domain = False + self.trg_date_id = False + self.trg_date_range = False + self.trg_date_range_type = False + + @api.model_cr + def _register_hook(self): + def make_create(): + @api.model + def create(self, vals, **kw): + actions = self.env['base.automation']._get_actions(self, ['on_create_or_write_or_unlink']) + record = create.origin(self.with_env(actions.env), vals, **kw) + for action in actions.with_context(old_values=None): + action._process(action._filter_post(record)) + return record.with_env(self.env) + return create + + def make_write(): + @api.multi + def _write(self, vals, **kw): + actions = self.env['base.automation']._get_actions(self, ['on_create_or_write_or_unlink']) + records = self.with_env(actions.env) + pre = {action: action._filter_pre(records) for action in actions} + old_values = { + old_vals.pop('id'): old_vals + for old_vals in records.read(list(vals)) + } + _write.origin(records, vals, **kw) + for action in actions.with_context(old_values=old_values): + action._process(action._filter_post(pre[action])) + return True + return _write + + def make_unlink(): + @api.multi + def unlink(self, **kwargs): + actions = self.env['base.automation']._get_actions(self, ['on_create_or_write_or_unlink']) + records = self.with_env(actions.env) + for action in actions: + action._process(action._filter_post(records)) + return unlink.origin(self, **kwargs) + return unlink + + patched_models = defaultdict(set) + def patch(model, name, method): + if model not in patched_models[name]: + patched_models[name].add(model) + model._patch_method(name, method) + + super(BaseAutomation, self)._register_hook() + for action_rule in self.with_context({}).search([]): + Model = self.env.get(action_rule.model_name) + if Model is None: + continue + if action_rule.trigger == 'on_create_or_write_or_unlink': + patch(Model, 'create', make_create()) + patch(Model, '_write', make_write()) + patch(Model, 'unlink', make_unlink()) \ No newline at end of file diff --git a/muk_automation_extension/static/description/banner.png b/muk_automation_extension/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..26936b00beefe4d10e04173caa95cdf7d414e1d9 GIT binary patch literal 55701 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 literal 0 HcmV?d00001 diff --git a/muk_automation_extension/static/description/icon.png b/muk_automation_extension/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e77a7cbd80de7b514349ec41716e0fc4b18323b8 GIT binary patch literal 15120 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 +
+

MuK Automation Extension

+

Extension for Odoo's Base Automation

+

MuK IT GmbH - + www.mukit.at

+
+ + +
+
+
+

Overview

+

Technical module to extend the Base Automation + module. Another trigger is added, which executes the action during + creation, update and deletion. The new trigger can now be selected + in the From View of Base Automation.

+
+
+
+ +
+

Demo

+
+
+
User:
+
+
+
apps
+
+
+
Password:
+
+
+
demo
+
+
+
+
+ +
+

Help and Support

+
Feel free to + contact us, if you need any help with your Odoo integration or + addiontal features.
+ + +
\ No newline at end of file diff --git a/muk_automation_extension/static/description/logo.png b/muk_automation_extension/static/description/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9427ce33ea36c2ec961356d01d612bae02d48ce2 GIT binary patch literal 38064 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 literal 0 HcmV?d00001