From 1f39c7b9d79b65bf5385d79dd449dac228387531 Mon Sep 17 00:00:00 2001 From: MuK IT GmbH Date: Sun, 7 Apr 2019 21:05:43 +0000 Subject: [PATCH] publish muk_web_preview_msoffice - 12.0 --- muk_web_preview_msoffice/LICENSE | 619 ++++++++++++++++++ muk_web_preview_msoffice/README.rst | 111 ++++ muk_web_preview_msoffice/__init__.py | 20 + muk_web_preview_msoffice/__manifest__.py | 53 ++ .../controllers/__init__.py | 20 + muk_web_preview_msoffice/controllers/main.py | 63 ++ muk_web_preview_msoffice/doc/changelog.rst | 16 + muk_web_preview_msoffice/doc/index.rst | 111 ++++ .../static/description/banner.png | Bin 0 -> 44239 bytes .../static/description/icon.png | Bin 0 -> 10031 bytes .../static/description/index.html | 73 +++ .../static/description/logo.png | Bin 0 -> 38064 bytes .../static/description/screenshot.png | Bin 0 -> 40851 bytes .../static/src/js/msoffice.js | 99 +++ .../static/src/scss/msoffice.scss | 29 + .../static/src/xml/content.xml | 30 + muk_web_preview_msoffice/template/assets.xml | 29 + 17 files changed, 1273 insertions(+) create mode 100644 muk_web_preview_msoffice/LICENSE create mode 100644 muk_web_preview_msoffice/README.rst create mode 100644 muk_web_preview_msoffice/__init__.py create mode 100644 muk_web_preview_msoffice/__manifest__.py create mode 100644 muk_web_preview_msoffice/controllers/__init__.py create mode 100644 muk_web_preview_msoffice/controllers/main.py create mode 100644 muk_web_preview_msoffice/doc/changelog.rst create mode 100644 muk_web_preview_msoffice/doc/index.rst create mode 100644 muk_web_preview_msoffice/static/description/banner.png create mode 100644 muk_web_preview_msoffice/static/description/icon.png create mode 100644 muk_web_preview_msoffice/static/description/index.html create mode 100644 muk_web_preview_msoffice/static/description/logo.png create mode 100644 muk_web_preview_msoffice/static/description/screenshot.png create mode 100644 muk_web_preview_msoffice/static/src/js/msoffice.js create mode 100644 muk_web_preview_msoffice/static/src/scss/msoffice.scss create mode 100644 muk_web_preview_msoffice/static/src/xml/content.xml create mode 100644 muk_web_preview_msoffice/template/assets.xml diff --git a/muk_web_preview_msoffice/LICENSE b/muk_web_preview_msoffice/LICENSE new file mode 100644 index 0000000..faf7bf4 --- /dev/null +++ b/muk_web_preview_msoffice/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_web_preview_msoffice/README.rst b/muk_web_preview_msoffice/README.rst new file mode 100644 index 0000000..90a445e --- /dev/null +++ b/muk_web_preview_msoffice/README.rst @@ -0,0 +1,111 @@ +===================== +MuK Preview MS Office +===================== + +Extendes the Preview Dialog to support MS Office files. Currently the following +file extensions are supported: + +* Word (\*.doc | \*.docx, application/msword) +* Excel (\*.xls | \*.xlsx, application/msexcel) +* PowerPoint (\*.ppt | \*.pptx, application/mspowerpoint) + +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 mode and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + +Another way to install this module is via the package management for Python +(`PyPI `_). + +To install our modules using the package manager make sure +`odoo-autodiscover `_ is installed +correctly. Then open a console and install the module by entering the following +command: + +``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +The module name consists of the Odoo version and the module name, where +underscores are replaced by a dash. + +**Module:** + +``odoo-addon-`` + +**Example:** + +``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` + +Once the installation has been successfully completed, the app is already in the +correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the +debug mode and update the list by clicking on the "Update Apps List" link. Now +install the module by clicking on the install button. + +The biggest advantage of this variant is that you can now also update the app +using the "pip" command. To do this, enter the following command in your console: + +``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +When the process is finished, restart your server and update the application in +Odoo. The steps are the same as for the installation only the button has changed +from "Install" to "Upgrade". + +You can also view available Apps directly in our `repository `_ +and find a more detailed installation guide on our `website `_. + +For modules licensed under OPL-1, you will receive access data when you purchase +the module. If the modules were not purchased directly from +`MuK IT `_ please contact our support (support@mukit.at) +with a confirmation of purchase to receive the corresponding access data. + +Upgrade +============ + +To upgrade this module, you need to: + +Download the module and add it to your Odoo addons folder. Restart the server +and log on to your Odoo server. Select the Apps menu and upgrade the module by +clicking on the upgrade button. + +If you installed the module using the "pip" command, you can also update the +module in the same way. Just type the following command into the console: + +``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +When the process is finished, restart your server and update the application in +Odoo, just like you would normally. + +Configuration +============= + +No additional configuration is needed to use this module. + +Usage +============= + +Go to a binary that contains a office document and open the preview dialog +to view the preview. + +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_web_preview_msoffice/__init__.py b/muk_web_preview_msoffice/__init__.py new file mode 100644 index 0000000..d8062b1 --- /dev/null +++ b/muk_web_preview_msoffice/__init__.py @@ -0,0 +1,20 @@ +################################################################################### +# +# Copyright (C) 2017 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 controllers \ No newline at end of file diff --git a/muk_web_preview_msoffice/__manifest__.py b/muk_web_preview_msoffice/__manifest__.py new file mode 100644 index 0000000..3ef7453 --- /dev/null +++ b/muk_web_preview_msoffice/__manifest__.py @@ -0,0 +1,53 @@ +################################################################################### +# +# Copyright (C) 2017 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 Preview MS Office", + "summary": """MS Office Preview""", + "version": "12.0.2.0.2", + "category": "Extra Tools", + "license": "AGPL-3", + "website": "http://www.mukit.at", + "live_test_url": "https://demo.mukit.at/web/login", + "author": "MuK IT", + "contributors": [ + "Mathias Markl ", + ], + "depends": [ + "muk_web_preview", + ], + "data": [ + "template/assets.xml", + ], + "demo": [ + ], + "qweb": [ + "static/src/xml/*.xml", + ], + "images": [ + 'static/description/banner.png' + ], + "external_dependencies": { + "python": [], + "bin": [], + }, + "application": False, + "installable": True, + +} \ No newline at end of file diff --git a/muk_web_preview_msoffice/controllers/__init__.py b/muk_web_preview_msoffice/controllers/__init__.py new file mode 100644 index 0000000..4b71c01 --- /dev/null +++ b/muk_web_preview_msoffice/controllers/__init__.py @@ -0,0 +1,20 @@ +################################################################################### +# +# Copyright (C) 2017 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 main \ No newline at end of file diff --git a/muk_web_preview_msoffice/controllers/main.py b/muk_web_preview_msoffice/controllers/main.py new file mode 100644 index 0000000..32ed554 --- /dev/null +++ b/muk_web_preview_msoffice/controllers/main.py @@ -0,0 +1,63 @@ +################################################################################### +# +# Copyright (C) 2017 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 uuid +import logging +import mimetypes + +import werkzeug + +from odoo import _, http +from odoo.http import request + +from odoo.addons.muk_utils.tools.http import get_response +from odoo.addons.muk_utils.tools.http import make_error_response + +_logger = logging.getLogger(__name__) + +MIMETPYES = [ + 'application/msword', 'application/ms-word', 'application/vnd.ms-word.document.macroEnabled.12', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.mspowerpoint', + 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/vnd.ms-powerpoint.presentation.macroEnabled.12' +] + +class MSOfficeParserController(http.Controller): + + @http.route('/web/preview/msoffice', auth="user", type='http') + def preview_msoffice(self, url, **kw): + status, headers, content = get_response(url) + if status != 200: + return make_error_response(status, content or _("Unknown Error")) + elif headers['content-type'] not in MIMETPYES: + return werkzeug.exceptions.UnsupportedMediaType() + else: + try: + filename = "%s%s" % (uuid.uuid4(), mimetypes.guess_extension(headers['content-type'])) + output = request.env['muk_converter.converter'].convert(filename, content) + return self._make_pdf_response(output, "%s.pdf" % filename) + except Exception: + _logger.exception("Error while convert the file.") + return werkzeug.exceptions.InternalServerError() + + def _make_pdf_response(self, file, filename): + headers = [('Content-Type', 'application/pdf'), + ('Content-Disposition', 'attachment; filename="{}";'.format(filename)), + ('Content-Length', len(file))] + return request.make_response(file, headers) \ No newline at end of file diff --git a/muk_web_preview_msoffice/doc/changelog.rst b/muk_web_preview_msoffice/doc/changelog.rst new file mode 100644 index 0000000..e30788b --- /dev/null +++ b/muk_web_preview_msoffice/doc/changelog.rst @@ -0,0 +1,16 @@ +`2.0.0` +------- + +- Migrated to Python 3 +- Removed support for comtypes + +`1.1.0` +------- + +- Lazy load javascript + + +`1.0.0` +------- + +- Init version diff --git a/muk_web_preview_msoffice/doc/index.rst b/muk_web_preview_msoffice/doc/index.rst new file mode 100644 index 0000000..90a445e --- /dev/null +++ b/muk_web_preview_msoffice/doc/index.rst @@ -0,0 +1,111 @@ +===================== +MuK Preview MS Office +===================== + +Extendes the Preview Dialog to support MS Office files. Currently the following +file extensions are supported: + +* Word (\*.doc | \*.docx, application/msword) +* Excel (\*.xls | \*.xlsx, application/msexcel) +* PowerPoint (\*.ppt | \*.pptx, application/mspowerpoint) + +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 mode and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + +Another way to install this module is via the package management for Python +(`PyPI `_). + +To install our modules using the package manager make sure +`odoo-autodiscover `_ is installed +correctly. Then open a console and install the module by entering the following +command: + +``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +The module name consists of the Odoo version and the module name, where +underscores are replaced by a dash. + +**Module:** + +``odoo-addon-`` + +**Example:** + +``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` + +Once the installation has been successfully completed, the app is already in the +correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the +debug mode and update the list by clicking on the "Update Apps List" link. Now +install the module by clicking on the install button. + +The biggest advantage of this variant is that you can now also update the app +using the "pip" command. To do this, enter the following command in your console: + +``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +When the process is finished, restart your server and update the application in +Odoo. The steps are the same as for the installation only the button has changed +from "Install" to "Upgrade". + +You can also view available Apps directly in our `repository `_ +and find a more detailed installation guide on our `website `_. + +For modules licensed under OPL-1, you will receive access data when you purchase +the module. If the modules were not purchased directly from +`MuK IT `_ please contact our support (support@mukit.at) +with a confirmation of purchase to receive the corresponding access data. + +Upgrade +============ + +To upgrade this module, you need to: + +Download the module and add it to your Odoo addons folder. Restart the server +and log on to your Odoo server. Select the Apps menu and upgrade the module by +clicking on the upgrade button. + +If you installed the module using the "pip" command, you can also update the +module in the same way. Just type the following command into the console: + +``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +When the process is finished, restart your server and update the application in +Odoo, just like you would normally. + +Configuration +============= + +No additional configuration is needed to use this module. + +Usage +============= + +Go to a binary that contains a office document and open the preview dialog +to view the preview. + +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_web_preview_msoffice/static/description/banner.png b/muk_web_preview_msoffice/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..39fa7a8b7f2b3483706147278c382a4cfaa92ca5 GIT binary patch literal 44239 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

+UW4tMuzm)NHaynfE|hFHMZ^m1vD z&m?y$z7wCH-7P=$Q$Eg(%Rq|g%7_AmCY3K8VO>-e7i01qoaM4r^eBUL2oY%RvT*+r z->lr&g)4V8`K>$TlDcel`*co@4U0G(fi)`PO?f%>*zroAn%i7MUOMOQ9P`JE;5rqhG|XlY?B_kxHk_ImFSbxUB?r zHHE7vCiS(Ww&__O=^RY51`X>KWytmi8((89dj(Mv)!>6_+G1g-DF)V| zG9+E1dDGHWTUCD))nbFi^DIWw*!pz&Y^Ps-SVAV&r=*ek5}j<{P%y#?s97;h=d(7< zSi+ee(`x?au;~-RpROI6CxLAXPQ5Rzud+$P5DCgW;Q=Vwplj^|*KsSt>dAiN0T&)I z7oU&_q?`f%IskE*XW>Rh_x%FX9+TtiO&V%JL@(EPZZC40nXg#PG{4rH3gS7u^f3L!CC(5M$L$8xE zqodQO(ZU6B%I9K%wDdUK5(|fcO&_+#B=_q#$qAE^IZZ$7Zs*5+@V;CQiH(V&0zELQ zgVa>6@6SC%k;=*bY@RTM@t+KFPmIamMyz6RG*JrQUuLZ%n!n~iJpdF!f(T#*UvyqM zJr%nA@e1sfHDB^Kt}=@rn=hnR#OQlbWGFu(H8DEMwh&l(=yS*x8F~>!LM(jAsh_*8 zdgRFz^qEB+axUc540861@kPDoE5DeeBK z-+g73{eteET2R?DwGE|Yp0^-OBI4>~)2qo}4+(7$g;P3Dy>m-VaUNi*a62%#8Z^8& zvF4CuB-8^7dU4qKR7;XYJO;Y^RD$bS8J2|-8TB`ZrlTh`P8kaSEXqSTY2lIqh(Kp_ zRz9vK)tc^Y0EQ2>iIQ$hbExU7#uAEyrz^ z<;{DnoFyl_9QmT$z@XN0YUinTvT6aB)yTUFr^b^}28`7FdWH_dx=t^*ftGX{;g)uN z7E?E3WcH86I&l$b-~{79*({@RC6*{%Kx>q0X7H$HiM|eDYNrL_6HH~{r)QqPteYRL zbTbEpCDwtaMCJnVdMN+!P`z`;xXo)0pWVO*gyr`zwamR~#L#>TXbjXW?^D;^=^v#G zBlx3~3nwL9BS2n8E;h3HM&85(POB-R6oBCep=Y3%d*7^1!dq9H@~b=nKJ?lwbcl&D z7AE|T*`{V+lR88pw%3d|Hf%GUO6TlP{2|pGL)TuthrHQT`@DY#vG3sgl^GPGWuVEd zr{%+v(=Dx!5)9dFpfV3x5pA=k3TRvKd$^OEuWB>qTgT#^r?g1-sWI9jZ;|T2o)03< zbV~O=4g+m%7t3kianne+-z!X1Je47fq;6{|>-kDL$h+j7m1wfEscE2jGUoNsT?76Sf>kjmS9zWqg#840#=atx_xG{uqpx4}KfxZU`K;-l^NGf>9_74mF@3Ue zG=2<=sg7z+H{CN3>n*NdDc}}$J=TP0p%0KVo#uZu||qyYa7*{is2&>8J&N# z-IDD*J%w+hqU2`uk55{Ekveee-jQm_-e=rpXl?j2FgjvCqviR1kCe&ecrCy^9&o4I z`@$_Hd_=T{$9DP$ULqx4p5)V;Dc_66r3vPDj2LLj8$(H1pQO_{Llh$WB*M}~32N=; za<^S$+a#Ht{<55RiLP|a;G=|zo8U{W>^^u65_twa4mFAAdkw$l^Y^tmZQbq-H?eVR z*`~Vvh3RhnF|mi(h*3^)cJJQhLqf9Y^tAkT3Wwspw9R;iS2!us;;;pXs}D0eM)T~d z?JP9b&VQV$m!*D=VXQX;B)B3-drAbCTP+8ipMRnh%*z^RBiP~ zs(()S{^+SrvuCxO<%&c=g!;;%z)h0-PrrF?N;h4bh3}U$RoyxJsY!eBCn9JE#kIZ zhF#6Desk%2%9{SkeQUnb6}IgS)t9-6GLM1cV;kBmi_>Cp^pSUAqWIFtg>e4@{gxSN zl2xcNwV(}E9W5=gg--+it5k*-d-P&wN-52An@P=L`)X8ChC4HLy0j1I08xTVnjEQH z#$BzvyoF^I3e#d@A;jr?{kq}|Mw;+LUcaRc3R;VU$X_f@zwim5C|E?v)`pPZI8dLG zB%v-+yu7%tmU#KZ91_3TK^JY|y6+{)d8yrOm28qx zg7I3Q-t>c3iQ@0i_2KP12i?M7#HU!XaWEJ|sP^)UrPa+#@4eaT+$S$|7!f7mUs9<1 z75QBMDr@-Wd##*8MZR!8dAuLS1VHFo{Y~BFg0z*g>%!Ap5fI{=tG?%*G+^9v5fNr{ zvj^Ej>wYdwj?2R|LXwaPR0(l-*@GMd@o&74P%?vP-0?6B!=0&6T$*tY$Gy2)twD;Q zcZ|e?OfXiR%r&fv+-|H<5}2ay3!jLPwyigv2~dHhA}tQWj4tPKKo6($-v*YGQAG1r_A25lSc*&N2 zz~rO|O({eq5%D$?V=sw!oF0ojxb^y;PX?k%|A5EC^V{_^Op{Hs=mP>+P6@H-s4!8GHC+>k{&TS$)5Ao#8?!h7TF!dEhfg_0o zR(e4}!EBj%&@QZ=Nn!xJQaPPSz)gbNoz!r)`DWT>=MP_*fQUVPGrMK{d^I>T^IBVE z`Z^r@LV9W3Z|?2)R|U>5h#m)Bh9;pVQx(5;=Wy+B&F1Ktlw+V-a4?m6L=0tfkP6`5 zcl#4d%!7&lR4NV@woRjG>-<}ixc{BoLQbOE_vYvq1pUg6GW`F3KJJe;5^V-rndJRu zI<_nX;FHy&U+akcU=QeAtW70tg{=e%U|3iB;r^eGC&FVh*Bz^>B3b%CJMt{}1jgH! zl=!-N^sV%KRh^{GOt#artl`0-_^?-aA%afYL?m*+Xf6+Z!91Ws08J+F!jmD}N!9Oe zyM>xKFM)m6H?{grqYP_Xe=$wd_+Y_)q;slE(iqF+SZ+G}U0;EcNX$e**F;~p0H$SK z&rJ_SaQ2D!_kBuW#~p6K`k9HSY3P(jHH`n^_GAL#?|T}jX^act_=~chKVpMj;0n2t zH=AqmudF8aBxGfawAA2ogKNKQg<$g?nbVlqHdF|4NR*CIhAsxxjR(GKrN<-lQR9W* z?TT7sRyrVYIeZU1=qV??(Sl_N0ov$coE;k!Nq=;(?=IR9Vj{~(Xza>~cm>tV*EFV1 z4`I;kn_iVC?t}yc`EH>wMarzWUdvoi*iHm#+N8$UYqHUnyYsmU+ZiskixYaVlzm`A zthsFGYvNwnPqch)lT=Kmix$~MwG0?sXw^Hn)g^8Ww^PPP9(fYfMh{IF5%?q_|Go7W za+X#6>t+QmqCq;uY6kMAKqpQqp0j(gU9F%h-}RCwX!<(udQft-fd6i{Cw44sFn5R?&A1wzo-G}lWakZ+0Fh7U}KhiwXpYQnY)9p z(oDnyPR1Q8D}PhtC{b}r&3!SvxtL(IIl|*z$aOzPr;qP3s#yR2ewq5}e)C;S zyWqgasr?JH+xk1&Bg>Dkwar2;6^X@d5?|#=OT?quHp%{E!0m3-8o(<`%wh3U&Y3muLXCmr|CH) z5~P<(eU+AzThCEyNpSF+CO@w?#i>CM$`f(~J|HCBg-*8U;NyC`@{mKzthN%(F{Nzs~XP7V@DFB0I=b|^X& z|6|!NAye~%hEIVIt^`u)GeO;v=iZTIL;Z0SHT#LBJp0j2^ZGFrCbFy?37^0pj4TPC zj=|kgMxQ)HsZr7gM?G`L zQ=7T+R#ul|YE)>dF>7(*5{BzusukA_0@W>5gZ5ONUe$@%KPxqkqb$9@zq|7)6B6iFd!t}#N`e|sFv%ECE+$~3ALILo`Q^;CMCf)pe!?9Y)%J^-rOol^?M@SdV!8=;-ZM0T4gr%`jp@YrZ8&3=M01XnnLx( z;+d~lrr7~#s~%P@1WagIR%kB&Few}GOqB!-7$?lYP*~D9Bu)X4TKtU#Ta{+lfxTJD zzfl`01o&{rNG&!iD=QGd@biI$YrRBxfu(R3%NDL%L%xG+;6Po3bY zm=;O5d?Gquk&V2^L(}KjM18dt-+q>OD;MIyDE^D&j$c{tFbF*c3t^gjzEx+xb3C}t zB8FAz!=z~}LceRYP}*e}Sjkdb)XK(q-HgZaY!M!}63VZEMv+(wzgra`ovc$&{1vu} zsthONHM1>yf%c6MuhOgGSwPX3HXl&R7;E@o!;kGDVVBt^`6=pYoQMnvOsJNfZ-+su z8I6Wd-`DSR-8T|%>+#Vpta#S2(5wV1rd6M7^Id?OQjN>|HJ$xVi}>-yQ=|$YHkal))DWc=_0O{1)yvyi^1ui+T0w=+4 zaU!(f|BCtLvR?^WcoP8@Y~cHFvm`&b?_+*~o8HvaqP$_t9ve7zcpVI%3yoyrvXMcQ zeTow{cP3vVz$Q!j>b6ogGqq;QCAUDqIYD$3C&J z_`5e4>(Nx=xvKps9Pk9 z7ojQGslWVf44_JHDQNsrQ;48u)?E#^fa_AfQ_^TQp0838-k|~)OXg@wMxuT^4nmv-RBNy#8{wWOYPcZCxrg*v8=Mpm;=6#yxgYn6pom>((5rjxM2X!jwe| zGhmR$0kJ#PJ5W=%e;jfYhZixB&8qt)5=4xI6~l9jLDhvd$Z#ZvgbfK1bi8)7yOm%0 zl_8$+tA07Nt=^bm1|<*YM;o7cw#m{6OKFoTx$mX%)~}2p)@fa8H{VnaVKUY@)i|p9 zfS=x6o3~G5NhtAZ?RN~WZc-#;MLiJA}78PwH6ogB)W`IViHi zv9_;?O|rtouYh2}8B@#GGGuY<(~t zHpS*3^KGm(N9l9b+nDxYdAfr<4K9EiCGoqJ0D+|0JH#&XC$u5~t6h``7~u6{LHRT` z(XS-ts@k^b;-lY4Y*IS*5cHCekZ?J#$&f%De+(!l#m3_4cB?csg06tT2b`BKD)1rY z6+v1fEb!^C$rcRIvG;nGp3w@o`_>CtV8$;<>WuyPNKlJk$ zW%YF$RAR<@qllp1W)G!H_di?!r!;}`igWWgELFU`9)JYx`(uh?oztzo*$Br4z~I} z9DwqssnuM~b!){F8xCalG@AZ~W+0EZS&dtp+X~g&Z`dh`;~o`I)BPwYyEvc7YIwjN z<8Yohkde9V7e#3W`yiLF720(rn^OLoubc3Aitvi-gVk^!>40UdCW+n75|<>qbqvQ2 z%rEP_YWN#xkPhun63wZ2u>hB0msfZn)st&lz zlX+SZ$eDTpYd4A@Bnl~~1V;_o{9-bI?sl3cgzgrm|5_7Wm9%I*;lV*8V|VD`tc`~? zPoQ3>g0=2P#w*#Pq*Od0fTqi0H@;s+A{BLI3X8KPu4XcrF7--p<5WL9l9T)&*qv?McngJt}-#iC>FAnr-pRw zrP*TShKU?%FhWM<{xE8`9XjUa#umNsQ$>DO7R};l(2_cs?9fu6nSMweFbmcZDlF3m z0muB1(wd4(E+vsStBoYfae0DZMonr)Lho=)RYW8=H8r(_ zwp7%;SLTru{KBu@BZNb7=m$YaSk3PWKQs+G!?>yamCyU7{G;#kMof|Sn(Ap zx*bm^mZRm;WXpYQOZB^|p(X{mtvyNFY_-;Kp!NQY<7y>>1L$tDAxT4UL9qQle*bYx ztZ}#d`6Ut2Jlr`Pg|}n~>MoWkDIHAw!4(7l&BY%iVz0osGDQ>2Cnf)p9#lwuqw#av z9Y8{~3=DZC(wBT_-$1O({WY97R>Tn)ZkzWZexG}dNGN_5{M=WqV%_fh0s8cNU%-R2 zS+1Mjm|?DRLOyV>zo5mj0n4t9Z{Y)q0KdT_B6y4w56~W;5Hj=a43`ciyrG*JFOP1_ z-QbBmaOl?>0N|KzmY^bB4!PIJJ|<$uT){whzh4P+Eh3P!S&t1f4T0;8Jj6hQs2? zcStGBj-dSY^-AQiUgQk?!M7<=`(T1P$NnQeyfSc4XNq7?z)#SPT^0$3|0a>OzY{5i z(b4h*Ur7M>L`ARKI^hw=i;a%PIcexDh=vejzZMdQoIlRWsCF40n4w81c`V;8=vS37-tf7aXb<$4fqWv9R|oc%h14!-#!T(cH{x~osi+# zTQYe72x1j-KdI-C0B9R$6^-Czu5d|eGofh%<7z=7M(yle|m#D%ia zn46mix(oxoP$J?(z}Alk5r?dtT!jy9B!n2o)FCI^#sz*cs9Zq_8v2sKKxfP-r!g(? z9mCtGu5;Ia*41enxGx9S`9CZi_%Z;6p9xxab}UX6Cgc$$+C?!44_NfdBY2q=_)cT6 zw}XSfK8+Fi08zw&nx0}Ee_ZRs^#D>8t6cG|cY6+WY;133Qx>uu3F_(;z*V}CMDP=x z&#}m$P%`}q%r8A+`+I0Im?ms_1}X<+WMnRz$>KVH3UC2604bDI)zmZyMn=4r|1VRP z2WnzMXaR#D^L?FiH%R3Wgmw31I) z9NtUyE*2oT67Q&J=VqQPApC z;0B&sbO||QyB>Buv`lKb3I!j~a$4J7gE(n~ZNR`>K2pourvYldEff}dGk7cO$`!pCGxQl4VX0C7Bg)(i=v0U|ctJ`ldK z;@1(fX!Zf^Pjw{hy@^uC_rOwTG+k{Z%fW9i4uju( zU~F|hG2n-mjdYX_1oMjq;3bz7f%wp4q9#$tJ;?H zAyqGMB_5Di-{&$Qk6_X*0^|Q!yf~OHGY3X-`Ozr$e*G82B&gd4119Er3pjS#dl@IK zI02obACO9{{^W9bo?4>OIzmT`u1~j^V+%M?$wt0+E-wYJqmspz0YVjWWNR@k+zw2h zLzJ+W62u;axh|{u6-t~8A^|K~@)Bowa=U_^X|Kr`{B7f-8CT5-pf3V2z#|9X;O=^S zR_O`cS7jpu1F`)3b>bsJH@4{dLl*ojvh4pU%;dIDZ!KOntuMUG?HeDTxf>;~q@<(XI5c z>#4$FNr=u(cM)igay%0d{`vS-UYgss<=F+NF{1{iq4>cr48Z0-xyCelV55So2as}_e8PP8Qe?Kq z&IT<+1n>;$uvdESdGw=sB&H6IF2*xdyXYwo zNUCbpnD~(V(HM*z*7=C?2|EcfB33lXK%(YWC21^TR&As2t84vn;&x9CfNB*g5Cmpd zaP)q>n570dshSthd4^<>Qs^CVaD5a>&(qHS{uU2IH>ks5;x@QnLb=Ag5b68EaW|ir z?#m3Eocg+WHl_NtK5rjx7jWBOcjDC)acS8((Fuh9aIk4yyDYpP$1;}aQljAZMg!k z{Ww}cCk9u@^@pk`TxKEk~C4a>eU*p3zAvX)K1f$;Kn7SoGD=7@Fd#s(e;c#!smLai7p8(M3v^ zd{O|nKC@nW7J!lP46LBnq7@# z)2hfJuu1tPAV?%p0YU!=*sU)2&ni%W-Jbxa2ukyqUn_>TWh6_!|8RY*t_0tId6 zK83K-pA8=m7THRhj>F|l@E9R^!3rE%pW3Jp=_*XA!-@KXE23kZJ3nI;9sq-f_Etz9 zGV*BgH|okKz|-3wpU(g9)A69DV>mJ?28p4eQ~4@c*??$Agj2w30%V!ETs9PDfQ)VI zV`9(p8=zfOT^2a~_jfl%F7wp&l=*;hW;DU)nvvK|7ytj`ouTj1=spiH%D*W&Q~J7<(mqgN(8j zX`_`aP4*&MBqRp8-IkJ~Z1J3FyL)=x=l%Qr<8|Sh%g=8+-}61o=WG!mJ?D~FIY4VO zXJ~v(yR+TyoDmy|fGCb{-amvhhtkFjGlfdL3q`NTR%O0P%(tcYj_2-=yy5S~YTtKV z%dvlcxEfMy6(IX818QdXi2r@9FdFnp`U^{S3;79lcQ*WZC4}5}SK6=BlZi)+KHKjR z^m;37;p-x%K`}^U265F|Y%zk(R-1kV;hxx_)BoWyXhyS5HCv=8dU&qXd(f2i5#+v< zZnhb}n!!XC9Q~hc-3(BotjKD0EM60Ex_Q8(M<9D~r+epEO)z&Qba+=PFz$mi*Xv0V z=ur~98R`K}E($qh3|6ht+*N2ljFW|juzvVhx5kh@hG4Cv&=0V=R)`QKeG{r{z#sfL z6|qt^PFy7y(U9%c?GR5$O{mi;Nwg!vR0$bo@~m3sdjQ_4%oNL`e?QGHjjnoD>)>0n zo1ntxt~w&I{DGBld4U*h1!Yi->d&v+mhb-*9w117XIQ`Si~uQj3-a0Zwl;GC6clOg z(3TlpRzstu2=u~Jzc?lD`PFX!ta9Y8JM>G5lWPiPsA~SI@0MW0H`y2N`eZ$!naR5-q6@B%Gtf*Au zuSqIgBAfAl->w>r6YEswHf|0An4n3haWpNW<{o>EHAJY zqZGQ85Eo7?TxKS_%j(9NZK5=&$DkKmaYhMoIvM9wyk(}czZF*r!7m#!_KX2VqxOOUWp@=dcQSpeA$W! zq2c}O_ZT4r!RNGN&uC=k3xG&ec(2DSqlw&!;*>&4)@?RG_wC-hPhbX1Lia)S8Uetc zxN1nb^tCN08F@$ZZ%-YpkH@rUetLlOOd&dQmjgCoUDoz&F`GE7~GG{6ic%d%x;-ZB_wrKjxyGUL{yfi9c-u^Alw_9i%c;1!ZHpu`e^c6s%N$3FRJ~e${0#-#A z^b00e1OQ@DWHpWqLDLNA%4BEoaH(VGC!vjaJ)Jd=orT(S0A4=jZpeVT%%Yq7$HV=b zK231*#K`p@A3noRTJ`~#M-kDi3gVX$0+!Y*E+utg48n=00-7q7qQ$6Mx|agpTDW_3 zx<8gg9Q)kk&T0?=7|xZ%6gQL)Oh?!qIu)=Gv2R0KR={Mp5@XfC{Z)Odg-#D3x^xhq z@pLpzqdE2(P#VnyI>Lg&(vYQ0$EtSeqgnP=&pj_G-S!L?omPJ87O6*U?XJqwx*xM)slNA!ye$#d17udY9@4G&%G$c-?5T*u75Q-S-I54PC@^d^p(V(?hh){~uSDE0#m^gdSvNPE82kJZL$&4e_GtXAtd1>=n8Hxdmd+)^;VrC@Yx;@qp z5Al^~zfzy=9~>N@EMxIoT^krA~YOR?l(bL z0{H0v@$d3?u=glv;OSr;gdjILnyz!cOwMW(M?-!e=`}~DCQ;0#D4F|%5KbHw4Pd7G z9os>t1U{rGMxfR(hW(2U!%9oa&yezIzu*zKlH2rrFSH|gF1vG&4~8z$5bkk!NE|x` z*l6WJY!3!D{C=h;75kw{69hj89gxTrB;dsCJ1wW>_V{G>F08*hMl?pwN+8s{JuuW{2>nykKMT?4j9Kg|H-Jc9U5e}mQU+= z%b4zMcypXQ3^GC|!$#Wf6Ltz&3U#9N1C>$*PTWLetP{5k7-$TMlb&Ox>8Z7XD-Zp*E0dfUi9?qO3by=m{3n&)hp)yP^GUg=m7@y|BqWX< z&gxedx?C+%Ty&jpcAP+K(g<@a-h^tGlj%1Cu>y=aT2ZzeR(cTjaBN4?j& zM-hH?W>Z?qr!oZUz0Bnbq+OOD=?64C5e~*|ILX%Q*@r2f;56z_Ogzp>6HunOLUJ1{ z-+w|sBtN!`R6cn>Thq(?)zS}DAV#z%LprjZx)Kty9$3w9&?$ErpWCqivge9Zo|*{d zmJ8l?4O;_qWlntSVyPVfZcRb`*^42Gpt#$Ke)hX&s+QYI^S7ANl1`!cWH&Zi-_ybd zzhDozYl#olp|;a#w9;Y0vbX#fHrbYab86SV0`Jq}O>+*28z~U>r)iRA%+P}n@Ip;f z^ff=?stp*Lb!Wi%i7O)Y{2POgT;P?lM4hF)fLX3P}%qZFl%$IuF=Hh$|*8@tkwE&u&{8yDPMaFiWLkd%dufn7~xTI?6Qg;Y&J~QY= z6Zj__gG9AoT3zp!8fgNol%98745|SR0v)i*ySz$rfzFfL)l%CKLVQppl-y;QD{!$Y@egAqe7+^)I66zm$f?0a#C&xy!tQxN?xQ{5lP6ClAEvMe1g z?|)ExG4Ph6I}cG#E(5}y19oTJJWc2i;T%8!RdPYU;J^{tum&6vTnc^U?OS6AwlTE2 z%}h;^j}-bNR>EPF*J;$&o9JTR?)!mPwnG__rMKp53q%sr)aXkoe+cgr2%^dF6jQ0S zt?dJpPQK76nHm#=#CW*!SV~6*-y{#}W@|;%zBt$ZIW6)akR7WY;6-9%U@m@TVPUs7 z(bw6Pq7BpdNR}MDWs#BA4DudfDc=P8Ac=)0a7mi{rs`NGbn!C-cT~RQtO4l^OF=p0 zyQc%FPr5edwTX>H1p~TVuQ?9Z@|%-^3xSkYW6M?6^$|sSeK^14B3z+O8qD%HR*5hx z8yg$plc)Prx=RnWanU5VftzY~&quuZ&7Q*greByqDgXtFh|wA)_vAutI+1K(V6Y0s zxw7g8S8Odn+#{EAe9{sV6N$Iu40_M76rE_NseYV&wf~A-k)y8XJsy|PK66-+zn-}c z7}Ilri{U`99;gqFSU?5WcSw@Aw`lAstP3&DgFLAuWzfL?#6*3NGn-B2a`gBu&9M5M zJgQ6Vt;Ffdr0&LRyaB%J|8N~;X?DKfVfU+b8(&u@s`SJA#(C>uzqzA8R=kE6>QgD0OqNFr6FBSQ!hMg6 zB=b1GeIlqQ;3pk`wA`@yp^Zt6W70b=_YT@sUoJ zmtEWEG)A6i3@4t4q=nP8Y4`Wz@}U3*0nqB-b-erzbBDsoFP|hFOVRE|E`6!=8*u0* zdVkIH)1nEg4Od+g>u5@iY-PTdCVg@p+i~zv+M}b}6`JE&3Vo&r*G<@Gm*Be^>?GJa zEh7=lBD!F?s{sGqJ40Oj)gsgig67SSm`4479D>XvET|FYlqs5LJXQSHY(!^dlK<~P za|q3UZrg0*goB$o6a&fptoLUS_PE*9ItVL@9b4jOFx+4=LfnRFpix~b@I{w*mGkV6tA4*W{B~w4gm0GHA4mL{Ng|(E%D|ZT!B9UwC^FFpD*x0k-u!W#LV~^1 z7|dd;@v~Rr&v~0!Aa|9`PJIE;1UBVA-`X_TNkiLNuKsHL|MPL%V0p3$jf;Q2AFdtA z+q8Y&&4BirJ`NJ@kK^W`U$Y|{{uz7r<2aoYgmaMaZ>=xCp9&G}_qAaua`yM^YV8;O z`+A-4y8KV{qn|}OEe;cdBOckq&pFYrp0BRv2Y9}A)O1>omS3=>+-g)TUcVZB0_riY8&o!S{%k9hN7ihSZu3~sQ0 zrOs$zm*-!N#j_cwcTD8>ZoYaL-=7Ch;El$*?i##Yr#AEO_*hU@_E|^WBXPXo z>izz*T-;A@ery&REhP#bdOOdSS#o1q*|D2%ja^i=c97wPz_bN9(JzY|IF#06i#TSr zHoIkcWKv}k_T_0%6mm{A+2fCwO`cet!&JMLlhdSOdaZp`|rjLk&&c=plK3wr+WR zG1UEpBjLCjDx&0zUcd+T@s}ggL-8%=1q}~Y-7$YddRHUsw-$f6DdC(QMK40~aK-KF zLC=-L`@BOLTeMcB+2|N+q z-pKPo*eeKLdo2fzN~}^9m%NtBPRPn0b4yNQQhApFy&yc|D$-~ElK6N9i!rrdOUMIx zT}7$>xp|8`>iT=t7WF?ir!J1Ahkjn(_>AS@s1`9QT6c0O{j~n469?T)Rt^i_-?bMs zIlq$WhJv`1oh$hD-HU6i8#TA;i#$PNsYWVKN{iF(GY}gh*g8XJD`Gasn6xpL`;?0( zp0?^w*z2Bjy_7;)S>*A4eSa#ilq;;Ph`-fZgrdBSH5kgKf2TG0Pf)IWGghCl5LJXb z8jF-z-h2DKQEtL}ooa5j81$g4SG3Z`A|IjNB%-KO1um*SM4~vY5NC7gO984%!qr7W zLh1~+_QBlc*}>4Sm73|CvpP!w{CqdNt9E*x_2c!f>$tJ5)4?sgyt-F4$Sp1&BDu_L z;$H&$`v>RMU{#2*BcNg7ABWt)T>6%O{Kt|1?Tn=e3oerJ$&yPxEbwJwV5xsy*E#B6 D2zk}^ literal 0 HcmV?d00001 diff --git a/muk_web_preview_msoffice/static/description/icon.png b/muk_web_preview_msoffice/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4231dead6886aab849df103571a162324964fc GIT binary patch literal 10031 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 OqV-5$z2bq*>;DDnqS!_N literal 0 HcmV?d00001 diff --git a/muk_web_preview_msoffice/static/description/index.html b/muk_web_preview_msoffice/static/description/index.html new file mode 100644 index 0000000..5c3105c --- /dev/null +++ b/muk_web_preview_msoffice/static/description/index.html @@ -0,0 +1,73 @@ +

+
+

Preview MS Office

+

Preview your MS Office files directly in + Odoo.

+

MuK IT GmbH - + www.mukit.at

+
+ +
+
+
+ +
+
+
+

Overview

+

Extendes the Preview Dialog to support MS + Office files. Currently the following file extensions are supported:

+

+ Word (*.doc | *.docx, application/msword)
+ Excel (*.xls | *.xlsx, application/msexcel)
+ PowerPoint (*.ppt | *.pptx, application/mspowerpoint) +

+
+
+
+ +
+

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_web_preview_msoffice/static/description/logo.png b/muk_web_preview_msoffice/static/description/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9427ce33ea36c2ec961356d01d612bae02d48ce2 GIT binary patch literal 38064 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 literal 0 HcmV?d00001 diff --git a/muk_web_preview_msoffice/static/description/screenshot.png b/muk_web_preview_msoffice/static/description/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7a8aff6953348da86cb3f3eff5d1b34d20b58603 GIT binary patch literal 40851 zcmcG$1ymecw=PNo2?Ro*AwU8FLSw<*10>M6yNBTJ?g>VFaUKET@mrL~ zKo5T3{sscVTLdx4M@8qPy+sdef?pmSH^k)Q6_JXOkamzjkK;Z>a7r~|xBLc+a!2Z` zZE;VNc*cDF2(gNUGWPuI?DJ04A7=+4YjOF+BYP7_1e9yj37viK)+<9{mePjElRA zy~8(E9{Xn6q$A_wSdV~_B7E4buCC_ts!|Yo`@QZByeG{eNp&HtVgA0A8uk{l1@A%_ zTD}ZWp{KnFM}`&OAphwq641~{#8$j*UTZ^WUc~66fu)(Qa6Yz&fB0oX=^}tf!W(uo zFz-Wh)e5_9jl_%k71aCZl4)|Dv*G%oAc(cQA{VMiY!e}PkXW<{QC%OC-8~I zL(?~DSt7^TKc`{mZxwVmF)`7wz7YKPSuk7ZuDt%^Pil{K&wm^MjEmIvq@k~a{uTTb zKb2QRmMy1IN#6aLI8_GEz5UH_U_Sl~>1PAgMffdDMDqpwyJauD%bncngy8e^rFfek zcFGUihd%80N7E2L9DTED+^^Z6ul=T#Fg94XQSKLIW*J25^kuc0xo zeqp^mo~@$oalV;oWocDP^Ju-c^?skGv}t@|LSgIX^z>99Ak6D-?U$C5){&Ig^?>%0 z?EoF|)lXz)xlQ0XumB#K+Y4a&EX+8~3=SqmU4HK1yZ!EKWd9&@onRg$y31sU@P?%Qt>DQ zGc(Dt+fPDuf8{A>B>mpv(rqJOYw|<*u-9RWAoLVk`yjJbx=qaFCAP1C&DjOX7U^J! z(AH=ocOb?FZfRyTCME_K4=*+*=I(i9c6K(fPz-c*7SI+Cx_TP3J>ybS9i5eEl}|2P z$xZ>kLphe-W&lg?p`+9GtS9hyaqW`p`IL%P>;1(|gj9jXevDS?(&3g+*+Z$j4lxLH zzv{3;pXhor>S2&vI>K-Nn?}!$Jh+<(H7DRbY*eN7WJ>U>s>R-lAm!eP6OkKdoB;2| zXnN`Qz!L{e-MzwZ;^2YuZy1EGwx)hz!Ze-@`PkWw4i|S*3faW;pLhBMyR4G}45b(F z-Z^fRbHkc%cc_hCPs4_Y-`MqYUrgjr;Z(OtU7W$9Prq-;+=Wqr6L`+)jOIPGIW>9T z)XE^qFooN(O4p?-^IgpFLV%U%jeDDsk9}aXOZzf9ltU(&+hHdvwdMW!$teT^U%z~XT5mSiB1 zEu-N^iGI?7G>;xn>mB%)h#WXs|cio16Y}`pd&pXyf6J!lKNEtvKusqB%iUht(g@LajXrB{;*Q=V9;0({Hfq)+vJn2U=5A}u^Hd?9De9F&9_p!g-Sv~}1 zaOZgLbfgTvPO0UpO^3wZmEECFldBdm0 zNag;-t`z1Su&@v^9-E{KJ!8r^C8vp!j2SP=f2C0`HnPI7M{tU&)?`r7&OZiRZ`Wfk z2x8-%$ z<8_7Rv_Dtf{V2Ibi4X7S#wJ(|9RgvYY}wc(Lh3kv=(&>&!EsoulCL;wN#v%%OY!ok zDOqfc*(RaLz~R?o{M@|7#DHdilcan3=2TwfZiDiG*S=S#*fPWkarsT3(n|-WRLha{ zN3ahb=CgJ)r(Gw6+#_Id9gTbF>jZG(5+{B|0&ABO@ax zr%NF4+y{RN#$)i;TEdE@*IG>iz#Qzl7RupyQJG3dOIzdtL%#@jtJFujVRQQqY_!2d zosL~kqT_L|MK11`urCBQ59ewbC-gG~It_)>?@5$`6o2KCa$q-b#)^6nTgF4_bnl_> zr?ido1VHC@nZ-CzZ?vAgt&5$1c5bT#l-rD9j9GV71ccDrfhx z<~T`_<@!r-jIUF^zW~6fi^20a5qj6HZF{`h<#Btl=)4vxfHHh-<#nq8%Pv$YWuLou zzdqSO!=s<%QX1G8h~2%TBSDq4SG^uLD{U5rv|hTks>I_$e>^3%W$0SHyFB2rQLr{` z&mAz_dYkb%?fs?j1V!^h*RCB|V|Zd>h8Eke?9&_%$d<$}j5)jCiMcPL8O)a_aBeNP zK9!!#1|P0%nhZAaiBy@p@B0@#U_afu$T8(Ii{oCAd2=0@qRXgdC5MPV*GbT@lfZRc ztZ=K+6nn%U%Y$QheB~@?%d3ZxTDO~U`o8DeR{7yp%W)vZH2UV`F1zNWmFZSzCL#=mgzJ;%Rk+ z&6$-t*xTDXI23Q~edBdnTzg;xHUXGnLF@M?SV<03*i&|5kq_!=T8O$e2|oQClQS!O{9pvdOF7Az zIL06Z?$@09u<7(W_V-rU{UH=!F$ar{R`nY((ECNG*0K#sD;B(l++c;HfY~nh+3wIel9A?$9k$nq#LSar-nF}lZ ze!sqiy)`gh%Ed%1=aE{Xz0ZGqq$RaaH9a&T<< zt_|B7>FlX%n9Co}W z6Bm;JMp|xQ_)PyE`uxR^y?90Y$iT1T?RC92oEzeEL+(qXv%=BSt_qI>o(mscWy!9> zVUUJWN;hvY(M; z5;w5Q$=*I{$nGy)@Qkq=-s|Q28(6fRB!BXk0e@u7=Sl#LG}c0VcTI}b7~m&GD8v0F zOMrS*-9{5cIK1>`Srq$2?NztCaIa0}bpGk*tYU!ct-^plATtcVCx?uJm!7UQnQVfWYfjp{1T z;TQW7TI2w_p5!-%9Wl_9va_82y5+lG*lJW){&WAp$9^8`kkmUg!TqI=5Z2Q(yj<6m zJAQs)$l0bun3vRDEF}iOpqkIe*D&rko2lnpuJ>XOJkJa+`F9kI!UiA^1?VEo!L3V!(yTI%@W&<0qT7xbB((;dqY^x?LZ0UOlJRhu~H<_W`a z3kc}kvuuzpUr8MC+&&QDf9R-$I@F}Ny2BoNn$z4v`}JIp_k1qj-(clmvg<(MCq+Ov zGl4urm}p)$9+H9+ctt8ty)K<#0GqvN{gkE+>wqRZhX?##9emPIt=plkM7-Uxb1S0Yy`ues0xtPR|Vc6$OK7 zrCv+FRoG~+)Shegf<4^d61yuq4|G;y9F(exDugwnUGiH3H*~$=lS)j1|8VzkC=CKF zx*wt$jS#`sl)UKSBmPotYC%+=aEHcmxLy%|zt(z%MrpQDAMbUw;dLLZCq3O?$pVux znC>qb@!Vh8<4uL~OG3{2N?VVTN02D=UJs9-8jUa~+#EcNz-o>7&lg7yGV*&4UCyR+ zhdo6oDu|(8BWtxOyi0;se7D&n+E+JdM*Nk*z$lkamn%oSwklJvhcUd=2GwV$_N1Nu z3`w}UD(r5xsm}ShI2aG=YWG0bzzN&zs-^$rzPnnwl#pAy2?c(GcO*4(YC9-g%pNB3 zx?Swe;+xcc3bhP(Ax&j&@7U7fQ2G8qJLhm(Y_IaZjt>-GcOIFgD=i2g^vtq4PsM37%@T1iB={>H zZZlOc-uB6D2@O>8dm#hA>!s6ucrq~mf{{b!qRi-E1rqwhu#Tgo6}<^^hPj7yOqGahQKu zS-#Ie|LVXWAeG5^$P(J9!@a-x)%xPEBg#I)S$=`tP&fGG<`NBlEW-JRX}DkckCWt= z7exmK2I5Bl@uEI=%r!b$WhU+|)K?C(5d`-J<`otej!CIo7#bQP#-QSRN1_m*Qj>j1 zJ~A+&db1R&XK0v{eJk?!S?9d2cL0|Aso8b|aEMfvTz8Ah2L7D6>>3Bv4`_h@z`WZRU7d9 zA<}Xz^>DSmygar-oGNji0rF0G99v(XODv1Et$|tnbCVHvrcL2*{Eo%NnS*Ppks~zi z4ZefD^T~i^>+~H923Zuc@r0j0f!uPLm3Z6Iu@ce-xy!nQgv1a%5$nVq3zV4eCfCbz z_v=b-N(x3JqqW71-P>cTh9l}7G;`D~Pu8>5#ezv?B0I&Y4Iq`q!C3|veOL=4j(9wh8W=Pfcn zklgG-3@jxzd&2J1m->8SY~?fM{J{t>({=r5KVo7>Xf09NvC3vX9-g>rHCs;pk64k1 zhs)O1%uGZRYJ&NN_`zVGOBfx9um$#e^wNvl>s4Qy>|#7gwo~uz$a0_9LQ`7~BdmX9 z`vWvo2M>`waj|wmoT24}23(b2>|k4VslVKs$Qx)tH|MlB^Y#4+y4geS>znQ$3NCK^ zyw02XET^eFAp^*Y*l*}r;t%#c5PWzZA-vT@X^X`fB(=Ic?G2Z0IhK6*9nNC(ZtPan zW-M%&u-lnJRqQa;Ywd&Xn@g**XL~LCYpnKxLkxk zG=R!EY`$CqWLpOvZWQO`+KLRi0Y$KX*!YnQBi0jynjcFt7~_4!v6@%I*=}wVbuZiT z2UB133lg`YU%FtH07hFY@W2B8MIaau&_qu?Pw>5WTu-l@0tXXuWy_-wK)y z_9lRD*RWf%`};RaqvCSB+s!Q{23gT~9B>}OthPh`)2&_%e^hc(p6%a9WYo{hu^KU8 z`|B3a11V=5_oMZ7Y|$kj;ppc~onZ&Xu@<iK}=m=JO>+Y-%wonz@;o9ewikuIHv= zL|m@@96xx!rN+J2EU)5V3#7NrlWnd+Fehr(PD#46o$>o(hPxy4&U!}WWk_=^*ENl_ zZ%bJjrez;|J0jG0`}sZLe_;h1vRZ1kH2`Aqaes7|6F|TIP_j|m!=_5W>UBG8am#LQ zZoVfao~^E{t1E*y>y3Ulomh1EX+EFA-Db={_qlzwv0`Bhf#+PLj*x1;d zfn_#n0*@!3X~)F0uPky>P*A8hc8 zbw*VmPAe7Rfc0LjksnsJBl{j%G@z>W;+q8DMD+Q3IjrXxI=}v)2O0 z;dYRhyuQjal$Izc5&vqCV;B^{P?4*K2Uf)+5n6|j>3MQ`+pWgMi?0{*`V;<4{b!`( zCy7XbAv!ZB4L!%p*t1nSLQ1?FNogw41$Rt?lAYXeiD(u)PbI#tX*Khj$ zsAh%@A~yGr7KxW*kn>dRO%Mw7uV~L`+iZ zg2|JcM)?ztK)D(XnI6dU`|1vg6d9FANLZarflzmqs2okBm5zgM1*AQNx&~)qbFw%M z&z-mL+{C_C=PVp*>t%QnxVSamK`H2b`cq+9cLbYwYS09H(m-dI!$coIODff;nDk`) z^IgfM?(|0&8A?j@vgIO@EGjN0sD|5hGJV&1h7lR-bcM^b zQ5Ki0%I+bbV_(Fv%BgmX0P3*$0 zU%ai&6~q4#5YvpgA!*^ez+fUqjkX$zPUg#ZvgmYn@aY%F%h`#fhU6tW%N#oPwB3f3 zJyIGATX288;U}@3hLT;=NoJPz?Xola*Wg5UA#M3z4!qd`AX1ID{qfzL3JzMoB2m@+ z=Q}!wK=fQZVWhZWTfRJ$k-^vRG4dY)Fh(2xZePNj?lgqR2^ zEzY|5YIu_5THxE`B_z=8Hk1@%)zeH;W0^D2^5u=znPf>V6*t&?DqozOGA>&zx;b9~ zCrmnY1}KSEKpuQ5l7_@0^s2`F@~As02_&3Jc{D=8j1yp~0TK2Mrnc;qeb@e#zTnVA z$M0ldYE|j+M0*Is;W(9b<4=7`K^iQX9UJf}ZmwmnU_cj!_;dhpHfqNM3wo+&PIlSz z6*-VMBZoUHgcjjUAvS^pmxs&bQ#=x2?XldXN*9P2H{Nkv1|%d}#)eBLo2~FlTWl)1 z1f|V_gwX!M@YpB9AtBfo0$IZD_+X%Vn)?mi=u}xWS7c&Pv=3sP4#WH~_;lXHYKvC< zrGqQCs*x{b2&}_89P=`eW-*3~F8^Q@ZI#`~Lu`vbBBQKIfyK|K>}+3&{Q2UsoAZkNmZ|z`rgSFS@JVbkW`8DKTdnBF7!zt)b87FbNilzxHKlb{-V zKbGq}77|AnwX_X-7SSulX~VIv&)V2OqL!W0CS3KJCJVbUah52%uILJ>>A_U3TC{G- zLXNio9dtX{gXDxP2i>CSs^J}`P|WSk2XxC-)ULd^ii$nIJZ@mU26IAt3k%{42oxNW z1A>apZJtc`_0qroB^e@AxZo3Wu&}G7n;arK#uWY0$2P~YfhF#-#&c%d7^R~KWxE`9 z`3k~d<{-sHvfR~|zifob*s@=lbcAp}!rl$RB&0=4fw0ezkQl1m|45ln0;87r5lrTk z{$NttpOzfB=(yiAImpfkGM_8kos*aXKl(9Y$y~1+)m5QQoF^1Pj$iKb{f_dqkShW{ zy>u67ADPs^mRkVN(br|K!B=p7TO|J)KbmF8$5qr376b(TFOI>+S*F`&tg zt+L3qQo;=HSa9l ze72>LeJ-LMQBl+&IdJ|a+hIAgf;=^822p&dhCh4Zjww8jA5^kW$4Yhwh)P|&_OB%1 z7hBwI8}AMTN337uS1tnqc1Lu)AUJEM&wTDEHMhJa%k8&r5EfHWl_5ys=}UIq*zf+& zQ*?EQ$?D2YbL;qqe;}|VOXaK8ei#LL7q26&W~euWc*gM-OVORpWN zK1%^WUNRKswwiZACLivk>#rfaLJWdCin^O-D55}x>WAIkq zRiXR```P1)W2zs2czFkkOsl?E9=O?i!%nU!itvT*1&GUBXdI-a?NaPo<}4moYr0jY z1aJrhbDLiEKSbrfN=bzdmvt5vmg09k_)?ORzFJ7CG)a&dSy_@tJH8AO5-UfRAas%S zxUe_sj}%J&6LncLJ}(CSYfS$KTaDz-a0@Ojh`847c%5yT9Yju{0{YMOG&#K_5F7Am zT$mEs4KZ%e>ht3lt}9QBvh9GKhuz9XNY7UgpS2@Gw&m4zD%1(E4kS_lROSLIRplL& zP&1Rt*aCpvWKg>L=!2iS6eEDF+b4bx63SI)W_}m7F}iMe#z=_YVjJ#pClmnQq9IMb z1}adstj{gbEj)?zcC6`|<^}V|O24<=JzB?ZhS<|Dx}ANUFQR;LXtJZRE~%H4?m+mD%OmKP&#r{Gt8OAMgy(k>BEQM=uvJ~AL)^|n;6OhFvFEjzgPiUxWdcHid z&Oiva$HlWj_+mY2>TQ<;1lR^@06{y~zYf%4i&q%;Nsm4#Z`C;U4Nu@o^wk&|x6?rllAmQW&%4n z%W|^TI&jaV&HM69R~f=RFdP(DAym6_R#yg*?=g6c@RpV>;j^XPP7FCXh)Uddp34Xw zpk(o}Sw9_!_7814ivr#S-THo%cc|@nb*io$q9ndG`JdG^<~Xiqi0j zT-N458LE!(`ss+fSKQNY8b3r1uwMs9uCsfBOlGSnEkn_!DY@{TQ~AHlAGI+{qT(S9APixQ@F(?DlIzD?m0tYq z&(wrJbCkxBc;rYyAT+W(QTeV#syXNe5OGs=jGuzaLw+=oVaJH>$SF*)=AMqVHU)%` z-zWywRo_{nsTIEJQQ@MZ?a%wHR$qrt+OMYkHO@)q$q?3(Ce7A(pvds^lrv^kbrK`| zH39rQN z`Fy!NkpR1+MmG}{#suM1;W(L zLPnsnCYQpg2uaZgfd32OU>AP~KvknDRZQZ+mD#p|9r{GD>DtK$0Fm{exEY`!LufYk z9|Q()a;ZL>U*Av|KCwAm`Q8{%@Vx5r3~d2h+ozl$OqUGfeT#Iy6Ob0sR1p=vqH(YxRxN+yF~Z$?%aS7Ls4;UcpT_v`W?np^P|&<7t#H{(f=Cj^XD z`J|R=HHN&&Fa*#k%=4Af!dY)qQELLIr5N?H@k~4I3Q3v$bq4wrkJaUw11gbfa|31Y z+#VNIv1=?z^+^q-+LTy6AwkKkO|V+5RNhSST>gEu+-ErA{Azs&T~UUCikOX7J_4nO z;}tOfMAeCT^I{mwIXUqUDEFXY{Xmdd1z9&8rI(*ZjJ5wMA}dBPb3zSQy_B3y1F?}~ zj=*%nC&$|WGLgDys$solK82?M&@l<}P zj?C;r7ga39p;WP)T`*sn-nxkjdhP z+H)o);v-y8J(RX;=HSH%uC7`&Y+n!NI{mc>>U`-963C&Eu;nDJU8m8m5b_9TMW> z>raPyI_RGi^>ub4NrTPbQTyOt55H%?mFv-n5Xt^ zoAg_m30zusBo2i)pnP`{Ci3VIkpyi~Rq5eLVdp-q!@VNwmd9w15~KlSPf~86fJ5_! zK69J51Ry`7Do;FY6j)qlOCF>7Xsl#a%{7R??E~wx_8)96&KN`drym5wpzQHG76<Q#KT z+?{nvJ9U5_z@u-UgAy3)b%&N{rwAKqq$EXL?<=?>wb`89tm+$;FR6?x*jvR1R6V%>o<4`hnR&;EV*Gb89%qoDtb3c_;B9$uZcy_KjdC!oryz#Q48zuH> zL~<@&OoYYI;04(l=#TQH)PsEOX0oOS;>WAZqAC#}!sYyy*m))lT!MWtucZ4i8X|Br zMLrHA>a%uNfnv4V?w6EU$iLfZ?EV679C8W?GQ%ezP%W3k02Zk0C3*Y)8_+XLwCP+< z8i^nQc0356p_&r~rb$__GDi0V1ezg^GZ}nS^@MmXALY6O0?6tUA)h9>0}+N|D`_Ke z;sb4hOPd_IwgbK+bCzARjUr)#IM{{;CFIjOaHNj@0pq!)z_h{2eW08Xy=X!9%wRA@ zU&u*Dm5u&!)Pdt?Au_I2a~#!IGpLjXguda`tMM?C&B0tOLAqY`eBpriO!YIxB|Y%U_wIbc%{a_KomiqYh(gu)`=`?I!qMdCR?Jm3~vES zMVo6wEtasFvx#)jh0JL=Eq430Efm4b=OEDP(R{1X|WpQTmAvbsmj$4Cgw@NPAy9+=$_7D-`T zdP}>Ye)PovWEt>>iI;U+KfLjf!kL~Y21Am#w3MHLDHYr~X|k1@%ta401>iwoD5<2T zWF2AGN=eEZGhtaBU=ikAuj_g_JD8HK7ZOPgl-%fRQh*InWb9(}NLswG*loIhVFKff z@2HBUwZEPiz1jKgaiF15gqs~=^kRot#kwKE7H#3OVNGDj3SSPD{*Vm`VF-(DN_BXI zKs8z{rVGRCVe-DkP8lATTCm$3VZHV}*<;o)fa^PnY3cJa)66t|aId~G` zD_Y?<{?6!6hBKp&Z{l4jh^IxY9c!Ob%B5FBd&$HqSDni8Wg5E@$7eo^RE*r>)o}cA%8(K-5Yjq| z0jn~q1_BcMt{T&IPAb-V0}?CvWbu$1fxg!FRc)xTsjMXnUrh(?ih@wDzmiWayq2$o!F@Gndj4J$Ge=^RIK7rvh31c4k1UA?(x z(;+b+&bxvVEa17VCgk^Yhi7l$jU;s>EHsp^@}jd7qN4Jv0jES70A{Bp7o(Z%FKqE~ zaX-a;LlJSX(xk5{suV*zXevyCi)(t+^(B`w!FWw_fU)m(d0=5*2-M!tpPG7kd9mW} z|AsddlM)=bzE?%Z)%JKCxO^==s8#pKkEa4&K#ees9!wngP3vjiu3~WeG{(7XKVaq&=~DM zr{F)b&}{E3Dg)suO3{u;?E{OO6rpa$Zoku7*0jR%2)s%Yy^FNgABhQl$^4|^%s58F ze=rsa1X7UibI#f}@O3?w8zNKU2Xnz_QW(I1-9zyTBnR+_q^^j9Litx4zQrE_aX{yW zgMmN|XlH;xNXIgqX;)-)l`4J4sLN7$SL5_mn9bcYYRi@ey%A|DJx&yd?OuGvvcoqJJs&Z7A zgXPZRm!@=)`obHf3l`70zU#rgY-J&CrJy)SvyRcDd#=v$r+M$K$V7 zeLh+d4P2=d)Gj%il63{{`WR)i&%$$;{nXc=biD%g0VWalENdygBQSi96glL-)V-&u zYE(EK5{T4NCX#izr0i~`xEcop0z8f3n+UcSEd-<=vHh^ZWq|yv#$oD$6x8yXCorT- z%$A@vplYu+L1WGPTx@tKqkyu~M2di9NBR6^$900L?k`e>SQ1?q)65E^NXSC}Q2LWE|E=^Jn%@){ zl9Hz}^;c%4JI~GVDgd77*fr(gm{5Da>U)l<(EO5$BbG{o zAFrP{YN8gRlr+ATLlXIy-)YYX9LZCK|o~q16$;`W1 z5{KjjGW8T+8Ke*upd%B=nXrudzx4r>oA6evYq7vG<82XyfX5|MN05*J>qJa2Y$iRq zPBk2Ea;6yLS*LrocYiIrX@zlUc`&~YpnnvvvL@?9up%AfN+EqnBoQ^7G$@fLb?@2&J#&-PMPnp5%WH&KpOntf=SP`Mwnd z<$SxPu0PQCfkNimdNAjmb)&4CyYfer_TR;u8iz&Ei>Yq9<1Fq`zkeU;PjuK=S*E$V zie2aFgh$Y#_o#&pqQ-25AdLVnP#uwNvM1#n_W5spyc0B6@aXNo{JS`JgET*$= zW4+XR0ILnz0%7Q9Mo5l@G&wdCD4c^w;h(O6r|cGs!51@`P>MR|^kFsSj}fsh?#V3o z`f`-m9`(_+aS>NpKdN)YBFK$$UV6^;%>dcH>}Qm0Q%mB5F(W2&z4!-WpjjOWdm3lV zMSGnG0omXHDhjPf6pTnzf!Vpmv9z7T(rRuglBJ4W?7#;(qV!sMoen znf&*O`2rhfA$E)MsinezkUlp>dp34cU0vP7rRGq}YP+prgHQX1hhf5*gnydOy#OX0 z%ZnZdmp+Vr1rYwOzyE2~v&z400(@M4ENvG$Rj1#i|5Mo)fWUS@85GWjY9>%gRThk3 z=J%hgr06nM0^Xd43(|ZR*7#3m{+r?!Hi5rur~bAV{-bu_?+&=%AY~2s;r27PBVS2& z13TOj?q0xa0ot!M@JFZO8j}FK%icP@HwV2Cb0LZHOMzfzIJKyBRbBBMOYvX+eYnAe+Co3Sf>MHFQf$mK5^$>5`C~$$3fI=EaOv&e zI3GRO%U#X*4}b=8yZ~;7xy{3gN0-_J6aeZ$d)#P-HVVFaXG6tvHt0(`@OkETBETc-x1CVZgGFxyQO{2wRp3=xckroByan=6375C z-$fnAJEW#vaq^J`FeKI<*}uvVmycB)p3K>W`p-|0p)cFFaZ~XnhrMf~GyxRgn)jVi zKip4I<2W|?=(|8Y<88{`_O~;yMO9Hi91iJTzQ#mt7%PWc^c&5~5Qt)LLQN4-5}UBM zL_L>)sd&w}<2j)+l)A3H=&i2r>A3AKROF#h%!_#)6yD56mavq}XYV%K-O-Xf%iq<)2ne z;z}0I_p9O(sCKCP@l^R>g`Q6eEr`p4x^i5&M%IA`1&w0@FjRf?e6mR4AU(-Eu9j8& zlN&{o1As%wL=9eqTkT~L%gk{79)My1?;#uHCv=pMrNdLiFY>^4C=&-jcHeOoJDit} zI(18BpA93g1qT$IYyS;D8K+aV__caketX<~nWBWS3sAKK7txHX>F*V?XQFWHv`}(t zqd}EVsu~H9IoK4=$j{X|?jOfu81n%+v!)EM{iBoPsr|>m z40&(&yfICNPH+zXT*e!{s}4 znH<-^-+&lc|4LFgoB4jR{_9zV3kSIxvk2T!0DP(}-Rzf@U@$VWD>CJ#{rGZ!D$++z zz{NYUtfqYf_?}|YvGu(v-J+Vte7FXzmUakKxsq))mP&_!RSXYohcSsU7DIpHZMhrP!tZBQyl%=p39@(D%D#mmR<6ea4ls zfQaR+j)!MOTu7@x#B_1dj2nJV`JB5Hs~-t`4MP3^36+x$_5ZsT0C;TTMBj5U7KXk` z3K&m1CnspFT>%QYrXQ-`#>n1NI4IqIQ!?f8yt`UmU2TUq0lrjX0s;-geE?@lN=h7P zG?Rg9wu7eA;WCLwX3R`XUjg7j{#SW!KK?fq{RvzR3#atnxF(U}>)T}6j?T``rDivR zMboX}~!C&PQo=vD7T-8ZT~ zFQ$k6Pp@oD0&hOW$Hyy2>4gH>^>+HlML2+M|L$+w-rBh~z@OB1P~=7Nm)92mNebIk z-AtqWRTYl#f0oqj9d{F6@vmHgw;X4WPli>&bnQdw5~bQfDiSHaqJ1mUGkmS@e}1}e7h{VoX3J&APp~9a+Ir?HZEAj5W6lS!V*}2M9C0bG~i%T!%@ry z4^Q`xWnSdmLfw7{VBq`NFPm%ZMiuS4lHiHq@G5~#0uDAxYX-ibHkHaj7|9Yu4?!X6 zp=i{6flp^xeS5JZ5yR3>y>&wZ)*oqw2AbpZQl0B07ctW0O*iw_0(LRxCC1sww_5c` z^@`fnb`-tgAthhHECAaUzav(r3kgq7Z3saC3Z@GOIQHA^*=2XT1zoRO`A+L}gz$S^oW39GNj-no!1za*$m zRQ_Cl%S38|m9+E{rQ* z33pT%0V*ywJ}TCg;nZna>%PS!o~oKi76Sx!v_Bi^+IwAzf5WPpPfYJ@lZMSrC7{W2 z_I0CpEey~govU9dh8iRFr^Y$_HWmcBCqHyhP)WDe-Ri$u##eE|)(q}_waKb5iW~b+ zEB$MuQ=3Jbe*Qy;Qni>vRF9BfQTppjWI)0@%ue?sM+jj1GT*K&-w)qW!!7hEe=p|Q z2#&t^Ih4{jqs`C7pJXH%2;qc~zDSLu+b3KB9x&wOLY83SsHPGdTqoBz4qBnZ zsJgum-wd&Vg3X-dTRtfX4ex~))G?wIx4q.hu{EZ~*94<*85C2fX^#m_E;O`nBp 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. +* +**********************************************************************************/ + +odoo.define('muk_preview_markdown.PreviewContentMSOffice', function (require) { +"use strict"; + +var core = require('web.core'); +var ajax = require('web.ajax'); +var utils = require('web.utils'); +var session = require('web.session'); + +var registry = require('muk_preview.registry'); + +var AbstractPreviewContent = require('muk_preview.AbstractPreviewContent'); + +var QWeb = core.qweb; +var _t = core._t; + +var PreviewContentMSOffice = AbstractPreviewContent.extend({ + template: "muk_preview.PreviewContentMSOffice", + willStart: function() { + var def = $.Deferred(); + this._downloadFile().done(function(file) { + this._createAttachment(file).done(function(data) { + this.attachment = data; + def.resolve(); + }.bind(this)); + }.bind(this)); + return $.when(this._super.apply(this, arguments), def); + }, + renderPreviewContent: function() { + var viewer = 'https://view.officeapps.live.com/op/embed.aspx?src='; + this.$('iframe').attr('src', viewer + encodeURIComponent(this.attachment.url)); + return this._super.apply(this, arguments); + }, + _downloadFile: function() { + return $.ajax({ + url: this.url, + dataType: "binary", + }).fail(function(jqXHR, textStatus) { + console.error(textStatus); + }); + }, + _createAttachment: function(file) { + var form = new FormData(); + form.append('ufile', file, this.filename); + form.append('csrf_token', core.csrf_token); + return $.ajax({ + data: form, + type: 'POST', + dataType: 'json', + url: '/utils/attachment/add', + enctype: 'multipart/form-data', + processData: false, + contentType: false + }).fail(function(jqXHR, textStatus) { + console.error(textStatus); + }); + }, + downloadable: false, + printable: false, +}); + +_.each([ + 'doc', 'docx', 'docm', 'ppt', 'pptx', 'pptm', 'xls', 'xlsx', 'xlsm', 'xlsb' +], function(extension) { + registry.add(extension, PreviewContentMSOffice); + registry.add("." + extension, PreviewContentMSOffice); +}); +_.each([ + 'application/msword', 'application/ms-word', 'application/vnd.ms-word.document.macroEnabled.12', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.mspowerpoint', + 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'application/vnd.ms-excel', + 'application/vnd.msexcel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'application/vnd.ms-excel.sheet.macroEnabled.12' +], function(mimetype) { + registry.add(mimetype, PreviewContentMSOffice); +}); + +return PreviewContentMSOffice; + +}); diff --git a/muk_web_preview_msoffice/static/src/scss/msoffice.scss b/muk_web_preview_msoffice/static/src/scss/msoffice.scss new file mode 100644 index 0000000..0b30fff --- /dev/null +++ b/muk_web_preview_msoffice/static/src/scss/msoffice.scss @@ -0,0 +1,29 @@ +/********************************************************************************** +* +* Copyright (C) 2017 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 . +* +**********************************************************************************/ + +.mk_preview_msoffice { + overflow: auto; + width: 100%; + height: 100%; + iframe { + width: 100%; + height: 100%; + } +} + diff --git a/muk_web_preview_msoffice/static/src/xml/content.xml b/muk_web_preview_msoffice/static/src/xml/content.xml new file mode 100644 index 0000000..0d12236 --- /dev/null +++ b/muk_web_preview_msoffice/static/src/xml/content.xml @@ -0,0 +1,30 @@ + + + + + + + + +
+