MuK IT GmbH
5 years ago
47 changed files with 3045 additions and 3343 deletions
-
776muk_web_theme/LICENSE
-
247muk_web_theme/README.rst
-
17muk_web_theme/__init__.py
-
21muk_web_theme/__manifest__.py
-
59muk_web_theme/data/res_company.xml
-
247muk_web_theme/doc/index.rst
-
49muk_web_theme/models/__init__.py
-
69muk_web_theme/models/ir_http.py
-
17muk_web_theme/models/res_company.py
-
305muk_web_theme/models/res_config_settings.py
-
17muk_web_theme/models/res_users.py
-
85muk_web_theme/static/src/js/chrome/actions.js
-
199muk_web_theme/static/src/js/chrome/apps.js
-
147muk_web_theme/static/src/js/chrome/appsbar.js
-
19muk_web_theme/static/src/js/chrome/menu.js
-
95muk_web_theme/static/src/js/chrome/pager.js
-
95muk_web_theme/static/src/js/chrome/sidebar.js
-
267muk_web_theme/static/src/js/core/search.js
-
131muk_web_theme/static/src/js/fields/relational.js
-
91muk_web_theme/static/src/js/views/form_renderer.js
-
105muk_web_theme/static/src/js/views/form_view.js
-
209muk_web_theme/static/src/js/views/list_renderer.js
-
81muk_web_theme/static/src/js/views/search_view.js
-
231muk_web_theme/static/src/scss/apps.scss
-
19muk_web_theme/static/src/scss/appsbar.scss
-
67muk_web_theme/static/src/scss/colors.scss
-
19muk_web_theme/static/src/scss/control_panel.scss
-
75muk_web_theme/static/src/scss/fields.scss
-
117muk_web_theme/static/src/scss/fonts.scss
-
383muk_web_theme/static/src/scss/form_view.scss
-
147muk_web_theme/static/src/scss/layout.scss
-
19muk_web_theme/static/src/scss/list_view.scss
-
85muk_web_theme/static/src/scss/mixins.scss
-
247muk_web_theme/static/src/scss/navbar.scss
-
49muk_web_theme/static/src/scss/notification.scss
-
71muk_web_theme/static/src/scss/settings.scss
-
119muk_web_theme/static/src/scss/variables.scss
-
147muk_web_theme/static/src/xml/apps.xml
-
89muk_web_theme/static/src/xml/appsbar.xml
-
177muk_web_theme/static/src/xml/navbar.xml
-
75muk_web_theme/static/src/xml/shortcuts.xml
-
67muk_web_theme/static/src/xml/sidebar.xml
-
193muk_web_theme/static/src/xml/views.xml
-
159muk_web_theme/template/assets.xml
-
67muk_web_theme/template/web.xml
-
333muk_web_theme/views/res_config_settings_view.xml
-
85muk_web_theme/views/res_users.xml
@ -1,619 +1,165 @@ |
|||
GNU AFFERO GENERAL PUBLIC LICENSE |
|||
Version 3, 19 November 2007 |
|||
GNU LESSER GENERAL PUBLIC LICENSE |
|||
Version 3, 29 June 2007 |
|||
|
|||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
|||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> |
|||
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 |
|||
|
|||
This version of the GNU Lesser General Public License incorporates |
|||
the terms and conditions of version 3 of the GNU General Public |
|||
License, supplemented by the additional permissions listed below. |
|||
|
|||
0. Additional Definitions. |
|||
|
|||
As used herein, "this License" refers to version 3 of the GNU Lesser |
|||
General Public License, and the "GNU GPL" refers to version 3 of the GNU |
|||
General Public License. |
|||
|
|||
"The Library" refers to a covered work governed by this License, |
|||
other than an Application or a Combined Work as defined below. |
|||
|
|||
An "Application" is any work that makes use of an interface provided |
|||
by the Library, but which is not otherwise based on the Library. |
|||
Defining a subclass of a class defined by the Library is deemed a mode |
|||
of using an interface provided by the Library. |
|||
|
|||
A "Combined Work" is a work produced by combining or linking an |
|||
Application with the Library. The particular version of the Library |
|||
with which the Combined Work was made is also called the "Linked |
|||
Version". |
|||
|
|||
The "Minimal Corresponding Source" for a Combined Work means the |
|||
Corresponding Source for the Combined Work, excluding any source code |
|||
for portions of the Combined Work that, considered in isolation, are |
|||
based on the Application, and not on the Linked Version. |
|||
|
|||
The "Corresponding Application Code" for a Combined Work means the |
|||
object code and/or source code for the Application, including any data |
|||
and utility programs needed for reproducing the Combined Work from the |
|||
Application, but excluding the System Libraries of the Combined Work. |
|||
|
|||
1. Exception to Section 3 of the GNU GPL. |
|||
|
|||
You may convey a covered work under sections 3 and 4 of this License |
|||
without being bound by section 3 of the GNU GPL. |
|||
|
|||
2. Conveying Modified Versions. |
|||
|
|||
If you modify a copy of the Library, and, in your modifications, a |
|||
facility refers to a function or data to be supplied by an Application |
|||
that uses the facility (other than as an argument passed when the |
|||
facility is invoked), then you may convey a copy of the modified |
|||
version: |
|||
|
|||
a) under this License, provided that you make a good faith effort to |
|||
ensure that, in the event an Application does not supply the |
|||
function or data, the facility still operates, and performs |
|||
whatever part of its purpose remains meaningful, or |
|||
|
|||
b) under the GNU GPL, with none of the additional permissions of |
|||
this License applicable to that copy. |
|||
|
|||
3. Object Code Incorporating Material from Library Header Files. |
|||
|
|||
The object code form of an Application may incorporate material from |
|||
a header file that is part of the Library. You may convey such object |
|||
code under terms of your choice, provided that, if the incorporated |
|||
material is not limited to numerical parameters, data structure |
|||
layouts and accessors, or small macros, inline functions and templates |
|||
(ten or fewer lines in length), you do both of the following: |
|||
|
|||
a) Give prominent notice with each copy of the object code that the |
|||
Library is used in it and that the Library and its use are |
|||
covered by this License. |
|||
|
|||
b) Accompany the object code with a copy of the GNU GPL and this license |
|||
document. |
|||
|
|||
4. Combined Works. |
|||
|
|||
You may convey a Combined Work under terms of your choice that, |
|||
taken together, effectively do not restrict modification of the |
|||
portions of the Library contained in the Combined Work and reverse |
|||
engineering for debugging such modifications, if you also do each of |
|||
the following: |
|||
|
|||
a) Give prominent notice with each copy of the Combined Work that |
|||
the Library is used in it and that the Library and its use are |
|||
covered by this License. |
|||
|
|||
b) Accompany the Combined Work with a copy of the GNU GPL and this license |
|||
document. |
|||
|
|||
c) For a Combined Work that displays copyright notices during |
|||
execution, include the copyright notice for the Library among |
|||
these notices, as well as a reference directing the user to the |
|||
copies of the GNU GPL and this license document. |
|||
|
|||
d) Do one of the following: |
|||
|
|||
0) Convey the Minimal Corresponding Source under the terms of this |
|||
License, and the Corresponding Application Code in a form |
|||
suitable for, and under terms that permit, the user to |
|||
recombine or relink the Application with a modified version of |
|||
the Linked Version to produce a modified Combined Work, in the |
|||
manner specified by section 6 of the GNU GPL for conveying |
|||
Corresponding Source. |
|||
|
|||
1) Use a suitable shared library mechanism for linking with the |
|||
Library. A suitable mechanism is one that (a) uses at run time |
|||
a copy of the Library already present on the user's computer |
|||
system, and (b) will operate properly with a modified version |
|||
of the Library that is interface-compatible with the Linked |
|||
Version. |
|||
|
|||
e) Provide Installation Information, but only if you would otherwise |
|||
be required to provide such information under section 6 of the |
|||
GNU GPL, and only to the extent that such information is |
|||
necessary to install and execute a modified version of the |
|||
Combined Work produced by recombining or relinking the |
|||
Application with a modified version of the Linked Version. (If |
|||
you use option 4d0, the Installation Information must accompany |
|||
the Minimal Corresponding Source and Corresponding Application |
|||
Code. If you use option 4d1, you must provide the Installation |
|||
Information in the manner specified by section 6 of the GNU GPL |
|||
for conveying Corresponding Source.) |
|||
|
|||
5. Combined Libraries. |
|||
|
|||
You may place library facilities that are a work based on the |
|||
Library side by side in a single library together with other library |
|||
facilities that are not Applications and are not covered by this |
|||
License, and convey such a combined library under terms of your |
|||
choice, if you do both of the following: |
|||
|
|||
a) Accompany the combined library with a copy of the same work based |
|||
on the Library, uncombined with any other library facilities, |
|||
conveyed under the terms of this License. |
|||
|
|||
b) Give prominent notice with the combined library that part of it |
|||
is a work based on the Library, and explaining where to find the |
|||
accompanying uncombined form of the same work. |
|||
|
|||
6. Revised Versions of the GNU Lesser General Public License. |
|||
|
|||
The Free Software Foundation may publish revised and/or new versions |
|||
of the GNU Lesser 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 |
|||
Library as you received it specifies that a certain numbered version |
|||
of the GNU Lesser General Public License "or any later version" |
|||
applies to it, you have the option of following the terms and |
|||
conditions either of that published version or of any later version |
|||
published by the Free Software Foundation. If the Library as you |
|||
received it does not specify a version number of the GNU Lesser |
|||
General Public License, you may choose any version of the GNU Lesser |
|||
General Public License ever published by the Free Software Foundation. |
|||
|
|||
If the Library as you received it specifies that a proxy can decide |
|||
whether future versions of the GNU Lesser General Public License shall |
|||
apply, that proxy's public statement of acceptance of any version is |
|||
permanent authorization for you to choose that version for the |
|||
Library. |
@ -1,123 +1,124 @@ |
|||
============= |
|||
MuK Web Theme |
|||
============= |
|||
|
|||
This module offers a mobile compatible design for Odoo Community. Furthermore |
|||
it allows the user to define some design preferences. So he can choose the |
|||
size of the sidebar and the position of the chatter. In addition, the background |
|||
image of the app menu can be set for each company. |
|||
|
|||
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 <https://pypi.org/project/pip/>`_). |
|||
|
|||
To install our modules using the package manager make sure |
|||
`odoo-autodiscover <https://pypi.org/project/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 <module>`` |
|||
|
|||
The module name consists of the Odoo version and the module name, where |
|||
underscores are replaced by a dash. |
|||
|
|||
**Module:** |
|||
|
|||
``odoo<version>-addon-<module_name>`` |
|||
|
|||
**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 <module>`` |
|||
|
|||
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 <https://nexus.mukit.at/#browse/browse:odoo>`_ |
|||
and find a more detailed installation guide on our `website <https://mukit.at/page/open-source>`_. |
|||
|
|||
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 <https://www.mukit.at/>`_ 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 <module>`` |
|||
|
|||
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 |
|||
============= |
|||
|
|||
After the module is installed, the design is adjusted accordingly. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Mathias Markl <mathias.markl@mukit.at> |
|||
|
|||
Images |
|||
------------ |
|||
|
|||
Some pictures are based on or inspired by: |
|||
|
|||
* `Freepik <https://www.flaticon.com/authors/freepik>`_ |
|||
|
|||
Projects |
|||
------------ |
|||
|
|||
Parts of the module are based on or inspired by: |
|||
|
|||
* `Web Responsive <https://github.com/OCA/web>`_ |
|||
* `Openworx Backend Theme <https://github.com/Openworx/backend_theme>`_ |
|||
|
|||
Author & Maintainer |
|||
------------------- |
|||
|
|||
This module is maintained by the `MuK IT GmbH <https://www.mukit.at/>`_. |
|||
|
|||
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). |
|||
============= |
|||
MuK Web Theme |
|||
============= |
|||
|
|||
This module offers a mobile compatible design for Odoo Community. Furthermore |
|||
it allows the user to define some design preferences. So he can choose the |
|||
size of the sidebar and the position of the chatter. In addition, the background |
|||
image of the app menu can be set for each company. |
|||
|
|||
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 <https://pypi.org/project/pip/>`_). |
|||
|
|||
To install our modules using the package manager make sure |
|||
`odoo-autodiscover <https://pypi.org/project/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 <module>`` |
|||
|
|||
The module name consists of the Odoo version and the module name, where |
|||
underscores are replaced by a dash. |
|||
|
|||
**Module:** |
|||
|
|||
``odoo<version>-addon-<module_name>`` |
|||
|
|||
**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 <module>`` |
|||
|
|||
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 <https://nexus.mukit.at/#browse/browse:odoo>`_ |
|||
and find a more detailed installation guide on our `website <https://mukit.at/page/open-source>`_. |
|||
|
|||
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 <https://www.mukit.at/>`_ 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 <module>`` |
|||
|
|||
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 |
|||
============= |
|||
|
|||
After the module is installed, the design is adjusted accordingly. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Mathias Markl <mathias.markl@mukit.at> |
|||
|
|||
Images |
|||
------------ |
|||
|
|||
Some pictures are based on or inspired by: |
|||
|
|||
* `Freepik <https://www.flaticon.com/authors/freepik>`_ |
|||
|
|||
Projects |
|||
------------ |
|||
|
|||
Parts of the module are inspired by: |
|||
|
|||
* `Web Responsive <https://github.com/OCA/web>`_ |
|||
* `List Range Selection <https://github.com/OCA/web>`_ |
|||
* `Openworx Backend Theme <https://github.com/Openworx/backend_theme>`_ |
|||
|
|||
Author & Maintainer |
|||
------------------- |
|||
|
|||
This module is maintained by the `MuK IT GmbH <https://www.mukit.at/>`_. |
|||
|
|||
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). |
@ -1,27 +1,32 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<odoo noupdate="1"> |
|||
|
|||
<record id="base.main_company" model="res.company"> |
|||
<field name="background_image" type="base64" file="muk_web_theme/static/src/img/background.png" /> |
|||
</record> |
|||
|
|||
</odoo> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<odoo noupdate="1"> |
|||
|
|||
<record id="base.main_company" model="res.company"> |
|||
<field name="background_image" type="base64" file="muk_web_theme/static/src/img/background.png" /> |
|||
</record> |
|||
|
|||
</odoo> |
|||
|
@ -1,123 +1,124 @@ |
|||
============= |
|||
MuK Web Theme |
|||
============= |
|||
|
|||
This module offers a mobile compatible design for Odoo Community. Furthermore |
|||
it allows the user to define some design preferences. So he can choose the |
|||
size of the sidebar and the position of the chatter. In addition, the background |
|||
image of the app menu can be set for each company. |
|||
|
|||
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 <https://pypi.org/project/pip/>`_). |
|||
|
|||
To install our modules using the package manager make sure |
|||
`odoo-autodiscover <https://pypi.org/project/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 <module>`` |
|||
|
|||
The module name consists of the Odoo version and the module name, where |
|||
underscores are replaced by a dash. |
|||
|
|||
**Module:** |
|||
|
|||
``odoo<version>-addon-<module_name>`` |
|||
|
|||
**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 <module>`` |
|||
|
|||
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 <https://nexus.mukit.at/#browse/browse:odoo>`_ |
|||
and find a more detailed installation guide on our `website <https://mukit.at/page/open-source>`_. |
|||
|
|||
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 <https://www.mukit.at/>`_ 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 <module>`` |
|||
|
|||
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 |
|||
============= |
|||
|
|||
After the module is installed, the design is adjusted accordingly. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Mathias Markl <mathias.markl@mukit.at> |
|||
|
|||
Images |
|||
------------ |
|||
|
|||
Some pictures are based on or inspired by: |
|||
|
|||
* `Freepik <https://www.flaticon.com/authors/freepik>`_ |
|||
|
|||
Projects |
|||
------------ |
|||
|
|||
Parts of the module are based on or inspired by: |
|||
|
|||
* `Web Responsive <https://github.com/OCA/web>`_ |
|||
* `Openworx Backend Theme <https://github.com/Openworx/backend_theme>`_ |
|||
|
|||
Author & Maintainer |
|||
------------------- |
|||
|
|||
This module is maintained by the `MuK IT GmbH <https://www.mukit.at/>`_. |
|||
|
|||
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). |
|||
============= |
|||
MuK Web Theme |
|||
============= |
|||
|
|||
This module offers a mobile compatible design for Odoo Community. Furthermore |
|||
it allows the user to define some design preferences. So he can choose the |
|||
size of the sidebar and the position of the chatter. In addition, the background |
|||
image of the app menu can be set for each company. |
|||
|
|||
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 <https://pypi.org/project/pip/>`_). |
|||
|
|||
To install our modules using the package manager make sure |
|||
`odoo-autodiscover <https://pypi.org/project/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 <module>`` |
|||
|
|||
The module name consists of the Odoo version and the module name, where |
|||
underscores are replaced by a dash. |
|||
|
|||
**Module:** |
|||
|
|||
``odoo<version>-addon-<module_name>`` |
|||
|
|||
**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 <module>`` |
|||
|
|||
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 <https://nexus.mukit.at/#browse/browse:odoo>`_ |
|||
and find a more detailed installation guide on our `website <https://mukit.at/page/open-source>`_. |
|||
|
|||
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 <https://www.mukit.at/>`_ 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 <module>`` |
|||
|
|||
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 |
|||
============= |
|||
|
|||
After the module is installed, the design is adjusted accordingly. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Mathias Markl <mathias.markl@mukit.at> |
|||
|
|||
Images |
|||
------------ |
|||
|
|||
Some pictures are based on or inspired by: |
|||
|
|||
* `Freepik <https://www.flaticon.com/authors/freepik>`_ |
|||
|
|||
Projects |
|||
------------ |
|||
|
|||
Parts of the module are inspired by: |
|||
|
|||
* `Web Responsive <https://github.com/OCA/web>`_ |
|||
* `List Range Selection <https://github.com/OCA/web>`_ |
|||
* `Openworx Backend Theme <https://github.com/Openworx/backend_theme>`_ |
|||
|
|||
Author & Maintainer |
|||
------------------- |
|||
|
|||
This module is maintained by the `MuK IT GmbH <https://www.mukit.at/>`_. |
|||
|
|||
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). |
@ -1,23 +1,26 @@ |
|||
################################################################################### |
|||
# |
|||
# 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 <http://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from . import res_company |
|||
from . import res_users |
|||
from . import ir_http |
|||
from . import res_config_settings |
|||
################################################################################### |
|||
# |
|||
# Copyright (c) 2017-2019 MuK IT GmbH. |
|||
# |
|||
# This file is part of MuK Backend Theme |
|||
# (see https://mukit.at). |
|||
# |
|||
# This program is free software: you can redistribute it and/or modify |
|||
# it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Lesser General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from . import res_company |
|||
from . import res_users |
|||
from . import ir_http |
|||
from . import res_config_settings |
@ -1,33 +1,36 @@ |
|||
################################################################################### |
|||
# |
|||
# 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 <http://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from odoo import models |
|||
from odoo.http import request |
|||
|
|||
|
|||
class IrHttp(models.AbstractModel): |
|||
|
|||
_inherit = 'ir.http' |
|||
|
|||
def session_info(self): |
|||
result = super(IrHttp, self).session_info() |
|||
params = request.env['ir.config_parameter'].sudo() |
|||
blend_mode = params.get_param('muk_web_theme.background_blend_mode') |
|||
result.update(muk_web_theme_background_blend_mode=blend_mode or 'normal') |
|||
return result |
|||
################################################################################### |
|||
# |
|||
# Copyright (c) 2017-2019 MuK IT GmbH. |
|||
# |
|||
# This file is part of MuK Backend Theme |
|||
# (see https://mukit.at). |
|||
# |
|||
# This program is free software: you can redistribute it and/or modify |
|||
# it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Lesser General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from odoo import models |
|||
from odoo.http import request |
|||
|
|||
|
|||
class IrHttp(models.AbstractModel): |
|||
|
|||
_inherit = 'ir.http' |
|||
|
|||
def session_info(self): |
|||
result = super(IrHttp, self).session_info() |
|||
params = request.env['ir.config_parameter'].sudo() |
|||
blend_mode = params.get_param('muk_web_theme.background_blend_mode') |
|||
result.update(muk_web_theme_background_blend_mode=blend_mode or 'normal') |
|||
return result |
@ -1,152 +1,155 @@ |
|||
################################################################################### |
|||
# |
|||
# 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 <http://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
import re |
|||
import uuid |
|||
import base64 |
|||
|
|||
from odoo import api, fields, models |
|||
|
|||
XML_ID = "muk_web_theme._assets_primary_variables" |
|||
SCSS_URL = "/muk_web_theme/static/src/scss/colors.scss" |
|||
|
|||
class ResConfigSettings(models.TransientModel): |
|||
|
|||
_inherit = 'res.config.settings' |
|||
|
|||
#---------------------------------------------------------- |
|||
# Database |
|||
#---------------------------------------------------------- |
|||
|
|||
module_muk_web_theme_mail = fields.Boolean( |
|||
string="Theme Mail", |
|||
help="Optimizes the mail chatter for the theme.") |
|||
|
|||
module_muk_web_theme_branding = fields.Boolean( |
|||
string="Theme Branding", |
|||
help="Customize the theme according to your needs.") |
|||
|
|||
module_muk_web_theme_website = fields.Boolean( |
|||
string="Theme Website", |
|||
help="Add theme styled website navigation.") |
|||
|
|||
module_muk_web_theme_mobile = fields.Boolean( |
|||
string="Theme Mobile", |
|||
help="Allow Odoo to be used as a PWA app.") |
|||
|
|||
theme_background_image = fields.Binary( |
|||
related="company_id.background_image", |
|||
readonly=False) |
|||
|
|||
theme_background_blend_mode = fields.Selection( |
|||
related="company_id.background_blend_mode", |
|||
readonly=False) |
|||
|
|||
theme_default_sidebar_preference = fields.Selection( |
|||
related="company_id.default_sidebar_preference", |
|||
readonly=False) |
|||
|
|||
theme_default_chatter_preference = fields.Selection( |
|||
related="company_id.default_chatter_preference", |
|||
readonly=False) |
|||
|
|||
theme_color_brand = fields.Char( |
|||
string="Theme Brand Color") |
|||
|
|||
theme_color_primary = fields.Char( |
|||
string="Theme Primary Color") |
|||
|
|||
theme_color_required = fields.Char( |
|||
string="Theme Required Color") |
|||
|
|||
theme_color_menu = fields.Char( |
|||
string="Theme Menu Color") |
|||
|
|||
theme_color_appbar_color = fields.Char( |
|||
string="Theme AppBar Color") |
|||
|
|||
theme_color_appbar_background = fields.Char( |
|||
string="Theme AppBar Background") |
|||
|
|||
#---------------------------------------------------------- |
|||
# Functions |
|||
#---------------------------------------------------------- |
|||
|
|||
@api.multi |
|||
def set_values(self): |
|||
res = super(ResConfigSettings, self).set_values() |
|||
param = self.env['ir.config_parameter'].sudo() |
|||
variables = [ |
|||
'o-brand-odoo', |
|||
'o-brand-primary', |
|||
'mk-required-color', |
|||
'mk-apps-color', |
|||
'mk-appbar-color', |
|||
'mk-appbar-background', |
|||
] |
|||
colors = self.env['muk_utils.scss_editor'].get_values( |
|||
SCSS_URL, XML_ID, variables |
|||
) |
|||
colors_changed = [] |
|||
colors_changed.append(self.theme_color_brand != colors['o-brand-odoo']) |
|||
colors_changed.append(self.theme_color_primary != colors['o-brand-primary']) |
|||
colors_changed.append(self.theme_color_required != colors['mk-required-color']) |
|||
colors_changed.append(self.theme_color_menu != colors['mk-apps-color']) |
|||
colors_changed.append(self.theme_color_appbar_color != colors['mk-appbar-color']) |
|||
colors_changed.append(self.theme_color_appbar_background != colors['mk-appbar-background']) |
|||
if(any(colors_changed)): |
|||
variables = [ |
|||
{'name': 'o-brand-odoo', 'value': self.theme_color_brand or "#243742"}, |
|||
{'name': 'o-brand-primary', 'value': self.theme_color_primary or "#5D8DA8"}, |
|||
{'name': 'mk-required-color', 'value': self.theme_color_required or "#d1dfe6"}, |
|||
{'name': 'mk-apps-color', 'value': self.theme_color_menu or "#f8f9fa"}, |
|||
{'name': 'mk-appbar-color', 'value': self.theme_color_appbar_color or "#dee2e6"}, |
|||
{'name': 'mk-appbar-background', 'value': self.theme_color_appbar_background or "#000000"}, |
|||
] |
|||
self.env['muk_utils.scss_editor'].replace_values( |
|||
SCSS_URL, XML_ID, variables |
|||
) |
|||
param.set_param('muk_web_theme.background_blend_mode', self.theme_background_blend_mode) |
|||
return res |
|||
|
|||
@api.model |
|||
def get_values(self): |
|||
res = super(ResConfigSettings, self).get_values() |
|||
params = self.env['ir.config_parameter'].sudo() |
|||
variables = [ |
|||
'o-brand-odoo', |
|||
'o-brand-primary', |
|||
'mk-required-color', |
|||
'mk-apps-color', |
|||
'mk-appbar-color', |
|||
'mk-appbar-background', |
|||
] |
|||
colors = self.env['muk_utils.scss_editor'].get_values( |
|||
SCSS_URL, XML_ID, variables |
|||
) |
|||
res.update({ |
|||
'theme_color_brand': colors['o-brand-odoo'], |
|||
'theme_color_primary': colors['o-brand-primary'], |
|||
'theme_color_required': colors['mk-required-color'], |
|||
'theme_color_menu': colors['mk-apps-color'], |
|||
'theme_color_appbar_color': colors['mk-appbar-color'], |
|||
'theme_color_appbar_background': colors['mk-appbar-background'], |
|||
'theme_background_blend_mode': params.get_param('muk_web_theme.background_blend_mode', 'normal'), |
|||
}) |
|||
################################################################################### |
|||
# |
|||
# Copyright (c) 2017-2019 MuK IT GmbH. |
|||
# |
|||
# This file is part of MuK Backend Theme |
|||
# (see https://mukit.at). |
|||
# |
|||
# This program is free software: you can redistribute it and/or modify |
|||
# it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU Lesser General Public License |
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
import re |
|||
import uuid |
|||
import base64 |
|||
|
|||
from odoo import api, fields, models |
|||
|
|||
XML_ID = "muk_web_theme._assets_primary_variables" |
|||
SCSS_URL = "/muk_web_theme/static/src/scss/colors.scss" |
|||
|
|||
class ResConfigSettings(models.TransientModel): |
|||
|
|||
_inherit = 'res.config.settings' |
|||
|
|||
#---------------------------------------------------------- |
|||
# Database |
|||
#---------------------------------------------------------- |
|||
|
|||
module_muk_web_theme_mail = fields.Boolean( |
|||
string="Theme Mail", |
|||
help="Optimizes the mail chatter for the theme.") |
|||
|
|||
module_muk_web_theme_branding = fields.Boolean( |
|||
string="Theme Branding", |
|||
help="Customize the theme according to your needs.") |
|||
|
|||
module_muk_web_theme_website = fields.Boolean( |
|||
string="Theme Website", |
|||
help="Add theme styled website navigation.") |
|||
|
|||
module_muk_web_theme_mobile = fields.Boolean( |
|||
string="Theme Mobile", |
|||
help="Allow Odoo to be used as a PWA app.") |
|||
|
|||
theme_background_image = fields.Binary( |
|||
related="company_id.background_image", |
|||
readonly=False) |
|||
|
|||
theme_background_blend_mode = fields.Selection( |
|||
related="company_id.background_blend_mode", |
|||
readonly=False) |
|||
|
|||
theme_default_sidebar_preference = fields.Selection( |
|||
related="company_id.default_sidebar_preference", |
|||
readonly=False) |
|||
|
|||
theme_default_chatter_preference = fields.Selection( |
|||
related="company_id.default_chatter_preference", |
|||
readonly=False) |
|||
|
|||
theme_color_brand = fields.Char( |
|||
string="Theme Brand Color") |
|||
|
|||
theme_color_primary = fields.Char( |
|||
string="Theme Primary Color") |
|||
|
|||
theme_color_required = fields.Char( |
|||
string="Theme Required Color") |
|||
|
|||
theme_color_menu = fields.Char( |
|||
string="Theme Menu Color") |
|||
|
|||
theme_color_appbar_color = fields.Char( |
|||
string="Theme AppBar Color") |
|||
|
|||
theme_color_appbar_background = fields.Char( |
|||
string="Theme AppBar Background") |
|||
|
|||
#---------------------------------------------------------- |
|||
# Functions |
|||
#---------------------------------------------------------- |
|||
|
|||
@api.multi |
|||
def set_values(self): |
|||
res = super(ResConfigSettings, self).set_values() |
|||
param = self.env['ir.config_parameter'].sudo() |
|||
variables = [ |
|||
'o-brand-odoo', |
|||
'o-brand-primary', |
|||
'mk-required-color', |
|||
'mk-apps-color', |
|||
'mk-appbar-color', |
|||
'mk-appbar-background', |
|||
] |
|||
colors = self.env['muk_utils.scss_editor'].get_values( |
|||
SCSS_URL, XML_ID, variables |
|||
) |
|||
colors_changed = [] |
|||
colors_changed.append(self.theme_color_brand != colors['o-brand-odoo']) |
|||
colors_changed.append(self.theme_color_primary != colors['o-brand-primary']) |
|||
colors_changed.append(self.theme_color_required != colors['mk-required-color']) |
|||
colors_changed.append(self.theme_color_menu != colors['mk-apps-color']) |
|||
colors_changed.append(self.theme_color_appbar_color != colors['mk-appbar-color']) |
|||
colors_changed.append(self.theme_color_appbar_background != colors['mk-appbar-background']) |
|||
if(any(colors_changed)): |
|||
variables = [ |
|||
{'name': 'o-brand-odoo', 'value': self.theme_color_brand or "#243742"}, |
|||
{'name': 'o-brand-primary', 'value': self.theme_color_primary or "#5D8DA8"}, |
|||
{'name': 'mk-required-color', 'value': self.theme_color_required or "#d1dfe6"}, |
|||
{'name': 'mk-apps-color', 'value': self.theme_color_menu or "#f8f9fa"}, |
|||
{'name': 'mk-appbar-color', 'value': self.theme_color_appbar_color or "#dee2e6"}, |
|||
{'name': 'mk-appbar-background', 'value': self.theme_color_appbar_background or "#000000"}, |
|||
] |
|||
self.env['muk_utils.scss_editor'].replace_values( |
|||
SCSS_URL, XML_ID, variables |
|||
) |
|||
param.set_param('muk_web_theme.background_blend_mode', self.theme_background_blend_mode) |
|||
return res |
|||
|
|||
@api.model |
|||
def get_values(self): |
|||
res = super(ResConfigSettings, self).get_values() |
|||
params = self.env['ir.config_parameter'].sudo() |
|||
variables = [ |
|||
'o-brand-odoo', |
|||
'o-brand-primary', |
|||
'mk-required-color', |
|||
'mk-apps-color', |
|||
'mk-appbar-color', |
|||
'mk-appbar-background', |
|||
] |
|||
colors = self.env['muk_utils.scss_editor'].get_values( |
|||
SCSS_URL, XML_ID, variables |
|||
) |
|||
res.update({ |
|||
'theme_color_brand': colors['o-brand-odoo'], |
|||
'theme_color_primary': colors['o-brand-primary'], |
|||
'theme_color_required': colors['mk-required-color'], |
|||
'theme_color_menu': colors['mk-apps-color'], |
|||
'theme_color_appbar_color': colors['mk-appbar-color'], |
|||
'theme_color_appbar_background': colors['mk-appbar-background'], |
|||
'theme_background_blend_mode': params.get_param('muk_web_theme.background_blend_mode', 'normal'), |
|||
}) |
|||
return res |
@ -1,42 +1,45 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.ActionManager', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var ActionManager = require('web.ActionManager'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
ActionManager.include({ |
|||
_handleAction: function (action) { |
|||
return this._super.apply(this, arguments).always($.proxy(this, '_hideMenusByAction', action)); |
|||
}, |
|||
_hideMenusByAction: function (action) { |
|||
var unique_selection = '[data-action-id=' + action.id + ']'; |
|||
$(_.str.sprintf('.o_menu_apps .dropdown:has(.dropdown-menu.show:has(%s)) > a', unique_selection)).dropdown('toggle'); |
|||
$(_.str.sprintf('.o_menu_sections.show:has(%s)', unique_selection)).collapse('hide'); |
|||
}, |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.ActionManager', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var ActionManager = require('web.ActionManager'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
ActionManager.include({ |
|||
_handleAction: function (action) { |
|||
return this._super.apply(this, arguments).always($.proxy(this, '_hideMenusByAction', action)); |
|||
}, |
|||
_hideMenusByAction: function (action) { |
|||
var unique_selection = '[data-action-id=' + action.id + ']'; |
|||
$(_.str.sprintf('.o_menu_apps .dropdown:has(.dropdown-menu.show:has(%s)) > a', unique_selection)).dropdown('toggle'); |
|||
$(_.str.sprintf('.o_menu_sections.show:has(%s)', unique_selection)).collapse('hide'); |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -1,99 +1,102 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.AppsMenu', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
var session = require("web.session"); |
|||
|
|||
var AppsMenu = require("web.AppsMenu"); |
|||
var MenuSearchMixin = require("muk_web_theme.MenuSearchMixin"); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
AppsMenu.include(_.extend({}, MenuSearchMixin, { |
|||
events: _.extend({}, AppsMenu.prototype.events, { |
|||
"keydown .mk_search_input input": "_onSearchResultsNavigate", |
|||
"click .mk_menu_search_result": "_onSearchResultChosen", |
|||
"shown.bs.dropdown": "_onMenuShown", |
|||
"hidden.bs.dropdown": "_onMenuHidden", |
|||
"hide.bs.dropdown": "_onMenuHide", |
|||
}), |
|||
init: function (parent, menuData) { |
|||
this._super.apply(this, arguments); |
|||
for (var n in this._apps) { |
|||
this._apps[n].web_icon_data = menuData.children[n].web_icon_data; |
|||
} |
|||
this._searchableMenus = _.reduce( |
|||
menuData.children, this._findNames.bind(this), {} |
|||
); |
|||
this._search_def = $.Deferred(); |
|||
}, |
|||
start: function () { |
|||
this._setBackgroundImage(); |
|||
this.$search_container = this.$(".mk_search_container"); |
|||
this.$search_input = this.$(".mk_search_input input"); |
|||
this.$search_results = this.$(".mk_search_results"); |
|||
return this._super.apply(this, arguments); |
|||
}, |
|||
_onSearchResultChosen: function (event) { |
|||
event.preventDefault(); |
|||
var $result = $(event.currentTarget), |
|||
text = $result.text().trim(), |
|||
data = $result.data(), |
|||
suffix = ~text.indexOf("/") ? "/" : ""; |
|||
this.trigger_up("menu_clicked", { |
|||
action_id: data.actionId, |
|||
id: data.menuId, |
|||
previous_menu_id: data.parentId, |
|||
}); |
|||
var app = _.find(this._apps, function (_app) { |
|||
return text.indexOf(_app.name + suffix) === 0; |
|||
}); |
|||
core.bus.trigger("change_menu_section", app.menuID); |
|||
}, |
|||
_onAppsMenuItemClicked: function (event) { |
|||
this._super.apply(this, arguments); |
|||
event.preventDefault(); |
|||
}, |
|||
_setBackgroundImage: function () { |
|||
var url = session.url('/web/image', { |
|||
model: 'res.company', |
|||
id: session.company_id, |
|||
field: 'background_image', |
|||
}); |
|||
this.$('.dropdown-menu').css({ |
|||
"background-size": "cover", |
|||
"background-image": "url(" + url + ")" |
|||
}); |
|||
if (session.muk_web_theme_background_blend_mode) { |
|||
this.$('.o-app-name').css({ |
|||
"mix-blend-mode": session.muk_web_theme_background_blend_mode, |
|||
}); |
|||
} |
|||
}, |
|||
_onMenuHide: function(event) { |
|||
return $('.oe_wait').length === 0 && !this.$('input').is(':focus'); |
|||
}, |
|||
})); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.AppsMenu', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
var session = require("web.session"); |
|||
|
|||
var AppsMenu = require("web.AppsMenu"); |
|||
var MenuSearchMixin = require("muk_web_theme.MenuSearchMixin"); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
AppsMenu.include(_.extend({}, MenuSearchMixin, { |
|||
events: _.extend({}, AppsMenu.prototype.events, { |
|||
"keydown .mk_search_input input": "_onSearchResultsNavigate", |
|||
"click .mk_menu_search_result": "_onSearchResultChosen", |
|||
"shown.bs.dropdown": "_onMenuShown", |
|||
"hidden.bs.dropdown": "_onMenuHidden", |
|||
"hide.bs.dropdown": "_onMenuHide", |
|||
}), |
|||
init: function (parent, menuData) { |
|||
this._super.apply(this, arguments); |
|||
for (var n in this._apps) { |
|||
this._apps[n].web_icon_data = menuData.children[n].web_icon_data; |
|||
} |
|||
this._searchableMenus = _.reduce( |
|||
menuData.children, this._findNames.bind(this), {} |
|||
); |
|||
this._search_def = $.Deferred(); |
|||
}, |
|||
start: function () { |
|||
this._setBackgroundImage(); |
|||
this.$search_container = this.$(".mk_search_container"); |
|||
this.$search_input = this.$(".mk_search_input input"); |
|||
this.$search_results = this.$(".mk_search_results"); |
|||
return this._super.apply(this, arguments); |
|||
}, |
|||
_onSearchResultChosen: function (event) { |
|||
event.preventDefault(); |
|||
var $result = $(event.currentTarget), |
|||
text = $result.text().trim(), |
|||
data = $result.data(), |
|||
suffix = ~text.indexOf("/") ? "/" : ""; |
|||
this.trigger_up("menu_clicked", { |
|||
action_id: data.actionId, |
|||
id: data.menuId, |
|||
previous_menu_id: data.parentId, |
|||
}); |
|||
var app = _.find(this._apps, function (_app) { |
|||
return text.indexOf(_app.name + suffix) === 0; |
|||
}); |
|||
core.bus.trigger("change_menu_section", app.menuID); |
|||
}, |
|||
_onAppsMenuItemClicked: function (event) { |
|||
this._super.apply(this, arguments); |
|||
event.preventDefault(); |
|||
}, |
|||
_setBackgroundImage: function () { |
|||
var url = session.url('/web/image', { |
|||
model: 'res.company', |
|||
id: session.company_id, |
|||
field: 'background_image', |
|||
}); |
|||
this.$('.dropdown-menu').css({ |
|||
"background-size": "cover", |
|||
"background-image": "url(" + url + ")" |
|||
}); |
|||
if (session.muk_web_theme_background_blend_mode) { |
|||
this.$('.o-app-name').css({ |
|||
"mix-blend-mode": session.muk_web_theme_background_blend_mode, |
|||
}); |
|||
} |
|||
}, |
|||
_onMenuHide: function(event) { |
|||
return $('.oe_wait').length === 0 && !this.$('input').is(':focus'); |
|||
}, |
|||
})); |
|||
|
|||
}); |
@ -1,73 +1,76 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.AppsBar', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var Widget = require('web.Widget'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
var AppsBar = Widget.extend({ |
|||
events: _.extend({}, Widget.prototype.events, { |
|||
'click .nav-link': '_onAppsMenuItemClicked', |
|||
}), |
|||
template: "muk_web_theme.AppsBarMenu", |
|||
init: function (parent, menu) { |
|||
this._super.apply(this, arguments); |
|||
this._apps = _.map(menu.children, function (app) { |
|||
return { |
|||
actionID: parseInt(app.action.split(',')[1]), |
|||
web_icon_data: app.web_icon_data, |
|||
menuID: app.id, |
|||
name: app.name, |
|||
xmlID: app.xmlid, |
|||
}; |
|||
}); |
|||
}, |
|||
getApps: function () { |
|||
return this._apps; |
|||
}, |
|||
_openApp: function (app) { |
|||
this.trigger_up('app_clicked', { |
|||
action_id: app.actionID, |
|||
menu_id: app.menuID, |
|||
}); |
|||
}, |
|||
_onAppsMenuItemClicked: function (ev) { |
|||
var $target = $(ev.currentTarget); |
|||
var actionID = $target.data('action-id'); |
|||
var menuID = $target.data('menu-id'); |
|||
var app = _.findWhere(this._apps, { |
|||
actionID: actionID, |
|||
menuID: menuID |
|||
}); |
|||
this._openApp(app); |
|||
ev.preventDefault(); |
|||
$target.blur(); |
|||
}, |
|||
}); |
|||
|
|||
return AppsBar; |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.AppsBar', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var Widget = require('web.Widget'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
var AppsBar = Widget.extend({ |
|||
events: _.extend({}, Widget.prototype.events, { |
|||
'click .nav-link': '_onAppsMenuItemClicked', |
|||
}), |
|||
template: "muk_web_theme.AppsBarMenu", |
|||
init: function (parent, menu) { |
|||
this._super.apply(this, arguments); |
|||
this._apps = _.map(menu.children, function (app) { |
|||
return { |
|||
actionID: parseInt(app.action.split(',')[1]), |
|||
web_icon_data: app.web_icon_data, |
|||
menuID: app.id, |
|||
name: app.name, |
|||
xmlID: app.xmlid, |
|||
}; |
|||
}); |
|||
}, |
|||
getApps: function () { |
|||
return this._apps; |
|||
}, |
|||
_openApp: function (app) { |
|||
this.trigger_up('app_clicked', { |
|||
action_id: app.actionID, |
|||
menu_id: app.menuID, |
|||
}); |
|||
}, |
|||
_onAppsMenuItemClicked: function (ev) { |
|||
var $target = $(ev.currentTarget); |
|||
var actionID = $target.data('action-id'); |
|||
var menuID = $target.data('menu-id'); |
|||
var app = _.findWhere(this._apps, { |
|||
actionID: actionID, |
|||
menuID: menuID |
|||
}); |
|||
this._openApp(app); |
|||
ev.preventDefault(); |
|||
$target.blur(); |
|||
}, |
|||
}); |
|||
|
|||
return AppsBar; |
|||
|
|||
}); |
@ -1,47 +1,50 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.Pager', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var Pager = require('web.Pager'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
Pager.include({ |
|||
_render: function () { |
|||
this._super.apply(this, arguments); |
|||
if (this.state.size !== 0 && config.device.isMobile) { |
|||
this.$value.html(Math.ceil(this.state.current_max / this.state.limit)); |
|||
this.$limit.html(Math.ceil(this.state.size / this.state.limit)); |
|||
} |
|||
}, |
|||
_onEdit: function (event) { |
|||
if (!config.device.isMobile) { |
|||
this._super.apply(this, arguments); |
|||
} |
|||
event.stopPropagation(); |
|||
}, |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.Pager', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var Pager = require('web.Pager'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
Pager.include({ |
|||
_render: function () { |
|||
this._super.apply(this, arguments); |
|||
if (this.state.size !== 0 && config.device.isMobile) { |
|||
this.$value.html(Math.ceil(this.state.current_max / this.state.limit)); |
|||
this.$limit.html(Math.ceil(this.state.size / this.state.limit)); |
|||
} |
|||
}, |
|||
_onEdit: function (event) { |
|||
if (!config.device.isMobile) { |
|||
this._super.apply(this, arguments); |
|||
} |
|||
event.stopPropagation(); |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -1,47 +1,50 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.Sidebar', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var Sidebar = require('web.Sidebar'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
Sidebar.include({ |
|||
init: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
_.each(this.sections, function(element) { |
|||
if(element.name === 'print') { |
|||
element.icon = 'fa fa-print'; |
|||
} |
|||
if(element.name === 'other') { |
|||
element.icon = 'fa fa-cogs'; |
|||
} |
|||
}); |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.Sidebar', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var Sidebar = require('web.Sidebar'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
Sidebar.include({ |
|||
init: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
_.each(this.sections, function(element) { |
|||
if(element.name === 'print') { |
|||
element.icon = 'fa fa-print'; |
|||
} |
|||
if(element.name === 'other') { |
|||
element.icon = 'fa fa-cogs'; |
|||
} |
|||
}); |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -1,133 +1,136 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.MenuSearchMixin', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
var session = require("web.session"); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
var MenuSearchMixin = { |
|||
_findNames: function (memo, menu) { |
|||
if (menu.action) { |
|||
var key = menu.parent_id ? menu.parent_id[1] + "/" : ""; |
|||
memo[key + menu.name] = menu; |
|||
} |
|||
if (menu.children.length) { |
|||
_.reduce(menu.children, this._findNames.bind(this), memo); |
|||
} |
|||
return memo; |
|||
}, |
|||
_menuInfo: function (key) { |
|||
var original = this._searchableMenus[key]; |
|||
return _.extend({ |
|||
action_id: parseInt(original.action.split(',')[1], 10), |
|||
}, original); |
|||
}, |
|||
_searchFocus: function () { |
|||
if (!config.device.isMobile) { |
|||
this.$search_input.focus(); |
|||
} else { |
|||
this.$search_input.blur(); |
|||
} |
|||
}, |
|||
_searchReset: function () { |
|||
this.$search_container.removeClass("has-results"); |
|||
this.$search_results.empty(); |
|||
this.$search_input.val(""); |
|||
}, |
|||
_searchMenusSchedule: function () { |
|||
this._search_def.reject(); |
|||
this._search_def = $.Deferred(); |
|||
setTimeout(this._search_def.resolve.bind(this._search_def), 50); |
|||
this._search_def.done(this._searchMenus.bind(this)); |
|||
}, |
|||
_searchMenus: function () { |
|||
var query = this.$search_input.val(); |
|||
if (query === "") { |
|||
this.$search_container.removeClass("has-results"); |
|||
this.$search_results.empty(); |
|||
return; |
|||
} |
|||
var results = fuzzy.filter(query, _.keys(this._searchableMenus), { |
|||
pre: "<b>", |
|||
post: "</b>", |
|||
}); |
|||
this.$search_container.toggleClass("has-results", Boolean(results.length)); |
|||
this.$search_results.html(QWeb.render("muk_web_theme.MenuSearchResults", { |
|||
results: results, |
|||
widget: this, |
|||
})); |
|||
}, |
|||
_onSearchResultsNavigate: function (event) { |
|||
if (this.$search_results.html().trim() === "") { |
|||
this._searchMenusSchedule(); |
|||
return; |
|||
} |
|||
var all = this.$search_results.find(".mk_menu_search_result"); |
|||
var key = event.key || String.fromCharCode(event.which); |
|||
var pre_focused = all.filter(".active") || $(all[0]); |
|||
var offset = all.index(pre_focused); |
|||
if (key === "Tab") { |
|||
event.preventDefault(); |
|||
key = event.shiftKey ? "ArrowUp" : "ArrowDown"; |
|||
} |
|||
switch (key) { |
|||
case "Enter": |
|||
pre_focused.click(); |
|||
break; |
|||
case "ArrowUp": |
|||
offset--; |
|||
break; |
|||
case "ArrowDown": |
|||
offset++; |
|||
break; |
|||
default: |
|||
this._searchMenusSchedule(); |
|||
return; |
|||
} |
|||
if (offset < 0) { |
|||
offset = all.length + offset; |
|||
} else if (offset >= all.length) { |
|||
offset -= all.length; |
|||
} |
|||
var new_focused = $(all[offset]); |
|||
pre_focused.removeClass("active"); |
|||
new_focused.addClass("active"); |
|||
this.$search_results.scrollTo(new_focused, { |
|||
offset: { |
|||
top: this.$search_results.height() * -0.5, |
|||
}, |
|||
}); |
|||
}, |
|||
_onMenuShown: function(event) { |
|||
this._searchFocus(); |
|||
}, |
|||
_onMenuHidden: function(event) { |
|||
this._searchReset(); |
|||
}, |
|||
}; |
|||
|
|||
return MenuSearchMixin; |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.MenuSearchMixin', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
var session = require("web.session"); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
var MenuSearchMixin = { |
|||
_findNames: function (memo, menu) { |
|||
if (menu.action) { |
|||
var key = menu.parent_id ? menu.parent_id[1] + "/" : ""; |
|||
memo[key + menu.name] = menu; |
|||
} |
|||
if (menu.children.length) { |
|||
_.reduce(menu.children, this._findNames.bind(this), memo); |
|||
} |
|||
return memo; |
|||
}, |
|||
_menuInfo: function (key) { |
|||
var original = this._searchableMenus[key]; |
|||
return _.extend({ |
|||
action_id: parseInt(original.action.split(',')[1], 10), |
|||
}, original); |
|||
}, |
|||
_searchFocus: function () { |
|||
if (!config.device.isMobile) { |
|||
this.$search_input.focus(); |
|||
} else { |
|||
this.$search_input.blur(); |
|||
} |
|||
}, |
|||
_searchReset: function () { |
|||
this.$search_container.removeClass("has-results"); |
|||
this.$search_results.empty(); |
|||
this.$search_input.val(""); |
|||
}, |
|||
_searchMenusSchedule: function () { |
|||
this._search_def.reject(); |
|||
this._search_def = $.Deferred(); |
|||
setTimeout(this._search_def.resolve.bind(this._search_def), 50); |
|||
this._search_def.done(this._searchMenus.bind(this)); |
|||
}, |
|||
_searchMenus: function () { |
|||
var query = this.$search_input.val(); |
|||
if (query === "") { |
|||
this.$search_container.removeClass("has-results"); |
|||
this.$search_results.empty(); |
|||
return; |
|||
} |
|||
var results = fuzzy.filter(query, _.keys(this._searchableMenus), { |
|||
pre: "<b>", |
|||
post: "</b>", |
|||
}); |
|||
this.$search_container.toggleClass("has-results", Boolean(results.length)); |
|||
this.$search_results.html(QWeb.render("muk_web_theme.MenuSearchResults", { |
|||
results: results, |
|||
widget: this, |
|||
})); |
|||
}, |
|||
_onSearchResultsNavigate: function (event) { |
|||
if (this.$search_results.html().trim() === "") { |
|||
this._searchMenusSchedule(); |
|||
return; |
|||
} |
|||
var all = this.$search_results.find(".mk_menu_search_result"); |
|||
var key = event.key || String.fromCharCode(event.which); |
|||
var pre_focused = all.filter(".active") || $(all[0]); |
|||
var offset = all.index(pre_focused); |
|||
if (key === "Tab") { |
|||
event.preventDefault(); |
|||
key = event.shiftKey ? "ArrowUp" : "ArrowDown"; |
|||
} |
|||
switch (key) { |
|||
case "Enter": |
|||
pre_focused.click(); |
|||
break; |
|||
case "ArrowUp": |
|||
offset--; |
|||
break; |
|||
case "ArrowDown": |
|||
offset++; |
|||
break; |
|||
default: |
|||
this._searchMenusSchedule(); |
|||
return; |
|||
} |
|||
if (offset < 0) { |
|||
offset = all.length + offset; |
|||
} else if (offset >= all.length) { |
|||
offset -= all.length; |
|||
} |
|||
var new_focused = $(all[offset]); |
|||
pre_focused.removeClass("active"); |
|||
new_focused.addClass("active"); |
|||
this.$search_results.scrollTo(new_focused, { |
|||
offset: { |
|||
top: this.$search_results.height() * -0.5, |
|||
}, |
|||
}); |
|||
}, |
|||
_onMenuShown: function(event) { |
|||
this._searchFocus(); |
|||
}, |
|||
_onMenuHidden: function(event) { |
|||
this._searchReset(); |
|||
}, |
|||
}; |
|||
|
|||
return MenuSearchMixin; |
|||
|
|||
}); |
@ -1,65 +1,68 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.relational_fields', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
var fields = require('web.relational_fields'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
fields.FieldStatus.include({ |
|||
_setState: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
_.map(this.status_information, function (value) { |
|||
value.fold = true; |
|||
}); |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
fields.FieldOne2Many.include({ |
|||
_renderButtons: function () { |
|||
var result = this._super.apply(this, arguments); |
|||
if (config.device.isMobile && this.$buttons) { |
|||
var $buttons = this.$buttons.find('.btn-secondary'); |
|||
$buttons.addClass('btn-primary mk_mobile_add'); |
|||
$buttons.removeClass('btn-secondary'); |
|||
} |
|||
return result; |
|||
} |
|||
}); |
|||
|
|||
fields.FieldMany2Many.include({ |
|||
_renderButtons: function () { |
|||
var result = this._super.apply(this, arguments); |
|||
if (config.device.isMobile && this.$buttons) { |
|||
var $buttons = this.$buttons.find('.btn-secondary'); |
|||
$buttons.addClass('btn-primary mk_mobile_add'); |
|||
$buttons.removeClass('btn-secondary'); |
|||
} |
|||
return result; |
|||
} |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.relational_fields', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
var fields = require('web.relational_fields'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
fields.FieldStatus.include({ |
|||
_setState: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
_.map(this.status_information, function (value) { |
|||
value.fold = true; |
|||
}); |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
fields.FieldOne2Many.include({ |
|||
_renderButtons: function () { |
|||
var result = this._super.apply(this, arguments); |
|||
if (config.device.isMobile && this.$buttons) { |
|||
var $buttons = this.$buttons.find('.btn-secondary'); |
|||
$buttons.addClass('btn-primary mk_mobile_add'); |
|||
$buttons.removeClass('btn-secondary'); |
|||
} |
|||
return result; |
|||
} |
|||
}); |
|||
|
|||
fields.FieldMany2Many.include({ |
|||
_renderButtons: function () { |
|||
var result = this._super.apply(this, arguments); |
|||
if (config.device.isMobile && this.$buttons) { |
|||
var $buttons = this.$buttons.find('.btn-secondary'); |
|||
$buttons.addClass('btn-primary mk_mobile_add'); |
|||
$buttons.removeClass('btn-secondary'); |
|||
} |
|||
return result; |
|||
} |
|||
}); |
|||
|
|||
}); |
@ -1,45 +1,48 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.FormRenderer', function (require) { |
|||
"use strict"; |
|||
|
|||
var dom = require('web.dom'); |
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var FormRenderer = require('web.FormRenderer'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
FormRenderer.include({ |
|||
_renderHeaderButtons: function () { |
|||
var $buttons = this._super.apply(this, arguments); |
|||
if (config.device.isMobile && this.state.model !== "res.config.settings") { |
|||
var $dropdown = $(QWeb.render('muk_web_theme.MenuStatusbarButtons')); |
|||
$buttons.addClass("dropdown-menu").appendTo($dropdown); |
|||
$buttons.children().addClass("dropdown-item"); |
|||
return $dropdown; |
|||
} |
|||
return $buttons; |
|||
}, |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.FormRenderer', function (require) { |
|||
"use strict"; |
|||
|
|||
var dom = require('web.dom'); |
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var FormRenderer = require('web.FormRenderer'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
FormRenderer.include({ |
|||
_renderHeaderButtons: function () { |
|||
var $buttons = this._super.apply(this, arguments); |
|||
if (config.device.isMobile && this.state.model !== "res.config.settings") { |
|||
var $dropdown = $(QWeb.render('muk_web_theme.MenuStatusbarButtons')); |
|||
$buttons.addClass("dropdown-menu").appendTo($dropdown); |
|||
$buttons.children().addClass("dropdown-item"); |
|||
return $dropdown; |
|||
} |
|||
return $buttons; |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -1,51 +1,54 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.FormView', function (require) { |
|||
"use strict"; |
|||
|
|||
var dom = require('web.dom'); |
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var FormView = require('web.FormView'); |
|||
var QuickCreateFormView = require('web.QuickCreateFormView'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
FormView.include({ |
|||
init: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
this.controllerParams.disableAutofocus = true; |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
QuickCreateFormView.include({ |
|||
init: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
this.controllerParams.disableAutofocus = true; |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
}); |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.FormView', function (require) { |
|||
"use strict"; |
|||
|
|||
var dom = require('web.dom'); |
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var FormView = require('web.FormView'); |
|||
var QuickCreateFormView = require('web.QuickCreateFormView'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
FormView.include({ |
|||
init: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
this.controllerParams.disableAutofocus = true; |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
QuickCreateFormView.include({ |
|||
init: function () { |
|||
this._super.apply(this, arguments); |
|||
if (config.device.isMobile) { |
|||
this.controllerParams.disableAutofocus = true; |
|||
} |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -1,104 +1,107 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.ListRenderer', function (require) { |
|||
"use strict"; |
|||
|
|||
var dom = require('web.dom'); |
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var ListRenderer = require('web.ListRenderer'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
ListRenderer.include({ |
|||
_range_history: [], |
|||
_render: function() { |
|||
var res = this._super.apply(this, arguments); |
|||
this.$table = this.$el.find('.o_list_view'); |
|||
return res; |
|||
}, |
|||
_getRangeSelection: function() { |
|||
var self = this; |
|||
var start = null, end = null; |
|||
this.$el.find('td.o_list_record_selector input').each(function (i, el) { |
|||
var id = $(el).closest('tr').data('id'); |
|||
var checked = self._range_history.indexOf(id) !== -1; |
|||
if (checked && $(el).is(':checked')) { |
|||
if (start == null) { |
|||
start = i; |
|||
} else { |
|||
end = i; |
|||
} |
|||
} |
|||
}); |
|||
var new_range = this._getSelectionByRange(start, end); |
|||
var current_selection = this.selection; |
|||
current_selection = _.uniq(current_selection.concat(new_range)); |
|||
return current_selection; |
|||
}, |
|||
_getSelectionByRange: function(start, end) { |
|||
var result = []; |
|||
this.$el.find('td.o_list_record_selector input').closest('tr').each(function (i, el) { |
|||
var record_id = $(el).data('id'); |
|||
if (start != null && end != null && i >= start && i <= end) { |
|||
result.push(record_id); |
|||
} else if(start != null && end == null && start == i) { |
|||
result.push(record_id); |
|||
} |
|||
}); |
|||
return result; |
|||
}, |
|||
_pushRangeHistory: function(id) { |
|||
if (this._range_history.length === 2) { |
|||
this._range_history = []; |
|||
} |
|||
this._range_history.push(id); |
|||
}, |
|||
_deselectTable: function() { |
|||
window.getSelection().removeAllRanges(); |
|||
}, |
|||
_onSelectRecord: function(event) { |
|||
var res = this._super.apply(this, arguments); |
|||
var element = $(event.currentTarget); |
|||
if (/firefox/i.test(navigator.userAgent) && event.shiftKey) { |
|||
element.find('input').prop('checked', !element.find('input').prop('checked')); |
|||
} |
|||
if (element.find('input').prop('checked')) { |
|||
this._pushRangeHistory(element.closest('tr').data('id')); |
|||
} |
|||
if (event.shiftKey) { |
|||
var selection = this._getRangeSelection(); |
|||
var $rows = this.$el.find('td.o_list_record_selector input').closest('tr'); |
|||
$rows.each(function () { |
|||
var record_id = $(this).data('id'); |
|||
if (selection.indexOf(record_id) !== -1) { |
|||
$(this).find('td.o_list_record_selector input').prop('checked', true); |
|||
} |
|||
}); |
|||
this._updateSelection(); |
|||
this._deselectTable(); |
|||
} |
|||
return res; |
|||
} |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.ListRenderer', function (require) { |
|||
"use strict"; |
|||
|
|||
var dom = require('web.dom'); |
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var ListRenderer = require('web.ListRenderer'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
ListRenderer.include({ |
|||
_range_history: [], |
|||
_render: function() { |
|||
var res = this._super.apply(this, arguments); |
|||
this.$table = this.$el.find('.o_list_view'); |
|||
return res; |
|||
}, |
|||
_getRangeSelection: function() { |
|||
var self = this; |
|||
var start = null, end = null; |
|||
this.$el.find('td.o_list_record_selector input').each(function (i, el) { |
|||
var id = $(el).closest('tr').data('id'); |
|||
var checked = self._range_history.indexOf(id) !== -1; |
|||
if (checked && $(el).is(':checked')) { |
|||
if (start == null) { |
|||
start = i; |
|||
} else { |
|||
end = i; |
|||
} |
|||
} |
|||
}); |
|||
var new_range = this._getSelectionByRange(start, end); |
|||
var current_selection = this.selection; |
|||
current_selection = _.uniq(current_selection.concat(new_range)); |
|||
return current_selection; |
|||
}, |
|||
_getSelectionByRange: function(start, end) { |
|||
var result = []; |
|||
this.$el.find('td.o_list_record_selector input').closest('tr').each(function (i, el) { |
|||
var record_id = $(el).data('id'); |
|||
if (start != null && end != null && i >= start && i <= end) { |
|||
result.push(record_id); |
|||
} else if(start != null && end == null && start == i) { |
|||
result.push(record_id); |
|||
} |
|||
}); |
|||
return result; |
|||
}, |
|||
_pushRangeHistory: function(id) { |
|||
if (this._range_history.length === 2) { |
|||
this._range_history = []; |
|||
} |
|||
this._range_history.push(id); |
|||
}, |
|||
_deselectTable: function() { |
|||
window.getSelection().removeAllRanges(); |
|||
}, |
|||
_onSelectRecord: function(event) { |
|||
var res = this._super.apply(this, arguments); |
|||
var element = $(event.currentTarget); |
|||
if (/firefox/i.test(navigator.userAgent) && event.shiftKey) { |
|||
element.find('input').prop('checked', !element.find('input').prop('checked')); |
|||
} |
|||
if (element.find('input').prop('checked')) { |
|||
this._pushRangeHistory(element.closest('tr').data('id')); |
|||
} |
|||
if (event.shiftKey) { |
|||
var selection = this._getRangeSelection(); |
|||
var $rows = this.$el.find('td.o_list_record_selector input').closest('tr'); |
|||
$rows.each(function () { |
|||
var record_id = $(this).data('id'); |
|||
if (selection.indexOf(record_id) !== -1) { |
|||
$(this).find('td.o_list_record_selector input').prop('checked', true); |
|||
} |
|||
}); |
|||
this._updateSelection(); |
|||
this._deselectTable(); |
|||
} |
|||
return res; |
|||
} |
|||
}); |
|||
|
|||
}); |
@ -1,40 +1,43 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.SearchView', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var SearchView = require('web.SearchView'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
SearchView.include({ |
|||
start: function () { |
|||
if (config.device.isMobile) { |
|||
this.$('.o_enable_searchview').text(_t("Search")); |
|||
} |
|||
return this._super.apply(this, arguments); |
|||
}, |
|||
}); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at).
|
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
odoo.define('muk_web_theme.SearchView', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var config = require("web.config"); |
|||
|
|||
var SearchView = require('web.SearchView'); |
|||
|
|||
var _t = core._t; |
|||
var QWeb = core.qweb; |
|||
|
|||
SearchView.include({ |
|||
start: function () { |
|||
if (config.device.isMobile) { |
|||
this.$('.o_enable_searchview').text(_t("Search")); |
|||
} |
|||
return this._super.apply(this, arguments); |
|||
}, |
|||
}); |
|||
|
|||
}); |
@ -1,115 +1,118 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_menu_apps { |
|||
.full { |
|||
width: 46px; |
|||
font-size: 18px; |
|||
text-align: center; |
|||
} |
|||
.dropdown-menu.show { |
|||
@include mk-full-screen-sections(); |
|||
align-content: flex-start; |
|||
overflow: inital; |
|||
display: flex; |
|||
flex-direction: row; |
|||
flex-wrap: wrap; |
|||
justify-content: flex-start; |
|||
@include media-breakpoint-up(lg) { |
|||
padding: { |
|||
left: 20vw; |
|||
right: 20vw; |
|||
} |
|||
} |
|||
.o_app { |
|||
display: flex; |
|||
margin-top: 20px; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
justify-content: flex-start; |
|||
width: percentage(1/3); |
|||
@include media-breakpoint-up(sm) { |
|||
width: percentage(1/4); |
|||
} |
|||
@include media-breakpoint-up(md) { |
|||
width: percentage(1/6); |
|||
} |
|||
&:hover, &:focus, &:active, &.active { |
|||
background: none; |
|||
.o-app-icon { |
|||
box-shadow: 0 8px 15px -10px black; |
|||
transform: translateY(-1px); |
|||
} |
|||
} |
|||
} |
|||
.has-results ~ .o_app { |
|||
display: none; |
|||
} |
|||
.o-app-icon { |
|||
height: auto; |
|||
max-width: 7rem; |
|||
width: 100%; |
|||
flex-basis: 0; |
|||
} |
|||
.o-app-name { |
|||
color: $mk-apps-color; |
|||
} |
|||
.form-row { |
|||
width: 100%; |
|||
} |
|||
.mk_search_container { |
|||
margin-top: 25px; |
|||
.mk_search_input { |
|||
input:focus { |
|||
box-shadow: none; |
|||
border: 1px solid $gray-400; |
|||
} |
|||
} |
|||
&.has-results { |
|||
height: 100%; |
|||
.mk_search_input { |
|||
height: 3em; |
|||
} |
|||
.mk_search_results { |
|||
height: calc(100% - 3em); |
|||
.mk_menu_search_result { |
|||
display: block; |
|||
cursor: pointer; |
|||
align-items: center; |
|||
padding-left: 3rem; |
|||
padding-right: 1rem; |
|||
background-position: left; |
|||
background-repeat: no-repeat; |
|||
background-size: contain; |
|||
white-space: nowrap; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
color: $mk-apps-color; |
|||
&:hover, &:active, &.active { |
|||
background-color: rgba(255, 255, 255, 0.05); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@include media-breakpoint-down(md) { |
|||
padding-right: 5px; |
|||
} |
|||
} |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_menu_apps { |
|||
.full { |
|||
width: 46px; |
|||
font-size: 18px; |
|||
text-align: center; |
|||
} |
|||
.dropdown-menu.show { |
|||
@include mk-full-screen-sections(); |
|||
align-content: flex-start; |
|||
overflow: inital; |
|||
display: flex; |
|||
flex-direction: row; |
|||
flex-wrap: wrap; |
|||
justify-content: flex-start; |
|||
@include media-breakpoint-up(lg) { |
|||
padding: { |
|||
left: 20vw; |
|||
right: 20vw; |
|||
} |
|||
} |
|||
.o_app { |
|||
display: flex; |
|||
margin-top: 20px; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
justify-content: flex-start; |
|||
width: percentage(1/3); |
|||
@include media-breakpoint-up(sm) { |
|||
width: percentage(1/4); |
|||
} |
|||
@include media-breakpoint-up(md) { |
|||
width: percentage(1/6); |
|||
} |
|||
&:hover, &:focus, &:active, &.active { |
|||
background: none; |
|||
.o-app-icon { |
|||
box-shadow: 0 8px 15px -10px black; |
|||
transform: translateY(-1px); |
|||
} |
|||
} |
|||
} |
|||
.has-results ~ .o_app { |
|||
display: none; |
|||
} |
|||
.o-app-icon { |
|||
height: auto; |
|||
max-width: 7rem; |
|||
width: 100%; |
|||
flex-basis: 0; |
|||
} |
|||
.o-app-name { |
|||
color: $mk-apps-color; |
|||
} |
|||
.form-row { |
|||
width: 100%; |
|||
} |
|||
.mk_search_container { |
|||
margin-top: 25px; |
|||
.mk_search_input { |
|||
input:focus { |
|||
box-shadow: none; |
|||
border: 1px solid $gray-400; |
|||
} |
|||
} |
|||
&.has-results { |
|||
height: 100%; |
|||
.mk_search_input { |
|||
height: 3em; |
|||
} |
|||
.mk_search_results { |
|||
height: calc(100% - 3em); |
|||
.mk_menu_search_result { |
|||
display: block; |
|||
cursor: pointer; |
|||
align-items: center; |
|||
padding-left: 3rem; |
|||
padding-right: 1rem; |
|||
background-position: left; |
|||
background-repeat: no-repeat; |
|||
background-size: contain; |
|||
white-space: nowrap; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
color: $mk-apps-color; |
|||
&:hover, &:active, &.active { |
|||
background-color: rgba(255, 255, 255, 0.05); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@include media-breakpoint-down(md) { |
|||
padding-right: 5px; |
|||
} |
|||
} |
|||
} |
|||
} |
@ -1,32 +1,35 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
$o-brand-odoo: #243742; |
|||
$o-brand-primary: #5D8DA8; |
|||
|
|||
$mk-required-color: #d1dfe6; |
|||
|
|||
$mk-apps-color: #f8f9fa; |
|||
|
|||
$mk-appbar-color: #dee2e6; |
|||
$mk-appbar-background: #000000; |
|||
|
|||
$mk-brand-gradient-start: lighten($o-brand-odoo, 10%); |
|||
$mk-brand-gradient-end: lighten($o-brand-odoo, 20%); |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
$o-brand-odoo: #243742; |
|||
$o-brand-primary: #5D8DA8; |
|||
|
|||
$mk-required-color: #d1dfe6; |
|||
|
|||
$mk-apps-color: #f8f9fa; |
|||
|
|||
$mk-appbar-color: #dee2e6; |
|||
$mk-appbar-background: #000000; |
|||
|
|||
$mk-brand-gradient-start: lighten($o-brand-odoo, 10%); |
|||
$mk-brand-gradient-end: lighten($o-brand-odoo, 20%); |
|||
|
@ -1,37 +1,40 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_field_widget { |
|||
&.o_field_many2one .o_external_button { |
|||
color: $o-brand-odoo |
|||
} |
|||
} |
|||
|
|||
.o_required_modifier { |
|||
&.o_input, .o_input { |
|||
background-color: $mk-required-color !important; |
|||
} |
|||
} |
|||
|
|||
@include media-breakpoint-down(sm) { |
|||
.o_form_view .mk_mobile_add { |
|||
margin-left: 0 !important; |
|||
margin-bottom: 10px !important; |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_field_widget { |
|||
&.o_field_many2one .o_external_button { |
|||
color: $o-brand-odoo |
|||
} |
|||
} |
|||
|
|||
.o_required_modifier { |
|||
&.o_input, .o_input { |
|||
background-color: $mk-required-color !important; |
|||
} |
|||
} |
|||
|
|||
@include media-breakpoint-down(sm) { |
|||
.o_form_view .mk_mobile_add { |
|||
margin-left: 0 !important; |
|||
margin-bottom: 10px !important; |
|||
} |
|||
} |
@ -1,57 +1,60 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
$font-path-noto: '../fonts/Noto'; |
|||
$font-path-roboto: '../fonts/Roboto'; |
|||
|
|||
@mixin mk-roboto-font-face($name, $weight, $style) { |
|||
@font-face { |
|||
font-family: 'Noto'; |
|||
src: url('#{$font-path-noto}/Noto-#{$name}.eot'); |
|||
src: url('#{$font-path-noto}/Noto-#{$name}.eot?#iefix') format('embedded-opentype'), |
|||
url('#{$font-path-noto}/Noto-#{$name}.woff') format('woff'), |
|||
url('#{$font-path-noto}/Noto-#{$name}.ttf') format('truetype'), |
|||
url('#{$font-path-noto}/Noto-#{$name}.svg#Noto') format('svg'); |
|||
font-weight: $weight; |
|||
font-style: $style; |
|||
} |
|||
@font-face { |
|||
font-family: 'Roboto'; |
|||
src: url('#{$font-path-roboto}/Roboto-#{$name}.eot'); |
|||
src: url('#{$font-path-roboto}/Roboto-#{$name}.eot?#iefix') format('embedded-opentype'), |
|||
url('#{$font-path-roboto}/Roboto-#{$name}.woff') format('woff'), |
|||
url('#{$font-path-roboto}/Roboto-#{$name}.ttf') format('truetype'), |
|||
url('#{$font-path-roboto}/Roboto-#{$name}.svg#Roboto') format('svg'); |
|||
font-weight: $weight; |
|||
font-style: $style; |
|||
} |
|||
} |
|||
|
|||
@include mk-roboto-font-face('Thin', 100, normal); |
|||
@include mk-roboto-font-face('ThinItalic', 100, italic); |
|||
@include mk-roboto-font-face('Light', 300, normal); |
|||
@include mk-roboto-font-face('LightItalic', 300, italic); |
|||
@include mk-roboto-font-face('Regular', 400, normal); |
|||
@include mk-roboto-font-face('Italic', 400, italic); |
|||
@include mk-roboto-font-face('Medium', 500, normal); |
|||
@include mk-roboto-font-face('MediumItalic', 500, italic); |
|||
@include mk-roboto-font-face('Bold', 700, normal); |
|||
@include mk-roboto-font-face('BoldItalic', 700, italic); |
|||
@include mk-roboto-font-face('Black', 900, normal); |
|||
@include mk-roboto-font-face('BlackItalic', 900, italic); |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
$font-path-noto: '../fonts/Noto'; |
|||
$font-path-roboto: '../fonts/Roboto'; |
|||
|
|||
@mixin mk-roboto-font-face($name, $weight, $style) { |
|||
@font-face { |
|||
font-family: 'Noto'; |
|||
src: url('#{$font-path-noto}/Noto-#{$name}.eot'); |
|||
src: url('#{$font-path-noto}/Noto-#{$name}.eot?#iefix') format('embedded-opentype'), |
|||
url('#{$font-path-noto}/Noto-#{$name}.woff') format('woff'), |
|||
url('#{$font-path-noto}/Noto-#{$name}.ttf') format('truetype'), |
|||
url('#{$font-path-noto}/Noto-#{$name}.svg#Noto') format('svg'); |
|||
font-weight: $weight; |
|||
font-style: $style; |
|||
} |
|||
@font-face { |
|||
font-family: 'Roboto'; |
|||
src: url('#{$font-path-roboto}/Roboto-#{$name}.eot'); |
|||
src: url('#{$font-path-roboto}/Roboto-#{$name}.eot?#iefix') format('embedded-opentype'), |
|||
url('#{$font-path-roboto}/Roboto-#{$name}.woff') format('woff'), |
|||
url('#{$font-path-roboto}/Roboto-#{$name}.ttf') format('truetype'), |
|||
url('#{$font-path-roboto}/Roboto-#{$name}.svg#Roboto') format('svg'); |
|||
font-weight: $weight; |
|||
font-style: $style; |
|||
} |
|||
} |
|||
|
|||
@include mk-roboto-font-face('Thin', 100, normal); |
|||
@include mk-roboto-font-face('ThinItalic', 100, italic); |
|||
@include mk-roboto-font-face('Light', 300, normal); |
|||
@include mk-roboto-font-face('LightItalic', 300, italic); |
|||
@include mk-roboto-font-face('Regular', 400, normal); |
|||
@include mk-roboto-font-face('Italic', 400, italic); |
|||
@include mk-roboto-font-face('Medium', 500, normal); |
|||
@include mk-roboto-font-face('MediumItalic', 500, italic); |
|||
@include mk-roboto-font-face('Bold', 700, normal); |
|||
@include mk-roboto-font-face('BoldItalic', 700, italic); |
|||
@include mk-roboto-font-face('Black', 900, normal); |
|||
@include mk-roboto-font-face('BlackItalic', 900, italic); |
@ -1,191 +1,194 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_form_view { |
|||
.o_form_sheet_bg { |
|||
background: $o-webclient-background-color; |
|||
border-bottom: 1px solid gray('300'); |
|||
> .o_form_sheet { |
|||
@include mk-container-widths(); |
|||
background-color: $o-view-background-color; |
|||
border: 1px solid gray('400'); |
|||
box-shadow: 0 5px 20px -15px black; |
|||
max-width: calc(100% - #{$o-horizontal-padding*2}); |
|||
} |
|||
.o_form_statusbar { |
|||
position: sticky; |
|||
z-index: 1; |
|||
top: 0; |
|||
} |
|||
.oe_button_box { |
|||
.btn.oe_stat_button > .o_button_icon { |
|||
color: $o-brand-odoo; |
|||
} |
|||
.btn.oe_stat_button > .o_stat_info { |
|||
padding-right: 3px; |
|||
} |
|||
&, & + .oe_avatar { |
|||
+ .oe_title { |
|||
max-width: calc(100% - 420px); |
|||
width: initial !important; |
|||
} |
|||
} |
|||
} |
|||
.oe_title { |
|||
max-width: 100%; |
|||
width: initial; |
|||
|
|||
span { |
|||
max-width: 100%; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
overflow: hidden; |
|||
width: initial; |
|||
} |
|||
span:active { |
|||
white-space: normal; |
|||
} |
|||
} |
|||
.o_notebook { |
|||
.nav-tabs { |
|||
overflow-x : auto; |
|||
overflow-y: hidden; |
|||
flex-flow: nowrap; |
|||
.nav-item { |
|||
white-space: nowrap; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@include media-breakpoint-down(sm) { |
|||
.o_form_sheet, .oe_chatter { |
|||
min-width: 100% !important; |
|||
max-width: 100% !important; |
|||
} |
|||
.o_group { |
|||
@for $i from 1 through $o-form-group-cols { |
|||
.o_group_col_#{$i} { |
|||
width: 100% !important; |
|||
} |
|||
} |
|||
.o_field_widget.o_text_overflow { |
|||
width: auto !important; |
|||
} |
|||
} |
|||
.o_statusbar_buttons_dropdown { |
|||
border: { |
|||
bottom: 0; |
|||
radius: 0; |
|||
top: 0; |
|||
} |
|||
height: 100%; |
|||
} |
|||
.o_statusbar_buttons > .btn { |
|||
border-radius: 0; |
|||
border: 0; |
|||
width: 100%; |
|||
margin-bottom: 0.2rem; |
|||
&:last-child { |
|||
margin-bottom: 0; |
|||
} |
|||
} |
|||
.o_statusbar_status { |
|||
.o_arrow_button:first-child::before { |
|||
content: none; |
|||
display: none; |
|||
} |
|||
} |
|||
.app_settings_block { |
|||
.row { |
|||
margin: 0; |
|||
} |
|||
} |
|||
.o_notebook .nav-tabs { |
|||
&::-webkit-scrollbar { |
|||
display: none; |
|||
} |
|||
} |
|||
.o_cp_buttons { |
|||
width: 100%; |
|||
div, .o-kanban-button-new { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
@include media-breakpoint-down(xs) { |
|||
.oe_button_box { |
|||
float: none; |
|||
display: block; |
|||
border-radius: 0; |
|||
text-align: right; |
|||
margin-top: -17px; |
|||
margin-bottom: $o-sheet-vpadding; |
|||
margin-left: -$o-horizontal-padding; |
|||
width: calc(100% + #{$o-horizontal-padding*2}); |
|||
border-top: 1px solid $o-form-lightsecondary; |
|||
border-bottom: 1px solid $o-form-lightsecondary; |
|||
> .btn.oe_stat_button { |
|||
border: none; |
|||
background: none; |
|||
flex: 0 0 auto !important; |
|||
width: percentage(1/3) !important; |
|||
border-right: 1px solid $o-form-lightsecondary; |
|||
} |
|||
> .btn.o_button_more { |
|||
flex: 1 1 auto !important; |
|||
border-right: none; |
|||
} |
|||
> .o_dropdown_more { |
|||
flex: 0 0 auto !important; |
|||
width: percentage(1/3) !important; |
|||
} |
|||
&, & + .oe_avatar { |
|||
+ .oe_title { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
.oe_title { |
|||
width: 100% !important; |
|||
max-width: 100% !important; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.mk_chatter_position_sided { |
|||
@include media-breakpoint-up(xxl, $o-extra-grid-breakpoints) { |
|||
.o_form_view:not(.o_form_nosheet) { |
|||
display: flex; |
|||
flex-flow: row nowrap; |
|||
height: 100%; |
|||
.o_form_sheet_bg { |
|||
min-width: $mk-form-min-width; |
|||
flex: 1 1 auto; |
|||
overflow: auto; |
|||
} |
|||
> .o_chatter { |
|||
flex: 1 1 auto; |
|||
overflow: auto; |
|||
min-width: $mk-chatter-min-width; |
|||
max-width: $mk-chatter-max-width; |
|||
border-left: 1px solid gray('400'); |
|||
} |
|||
} |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_form_view { |
|||
.o_form_sheet_bg { |
|||
background: $o-webclient-background-color; |
|||
border-bottom: 1px solid gray('300'); |
|||
> .o_form_sheet { |
|||
@include mk-container-widths(); |
|||
background-color: $o-view-background-color; |
|||
border: 1px solid gray('400'); |
|||
box-shadow: 0 5px 20px -15px black; |
|||
max-width: calc(100% - #{$o-horizontal-padding*2}); |
|||
} |
|||
.o_form_statusbar { |
|||
position: sticky; |
|||
z-index: 1; |
|||
top: 0; |
|||
} |
|||
.oe_button_box { |
|||
.btn.oe_stat_button > .o_button_icon { |
|||
color: $o-brand-odoo; |
|||
} |
|||
.btn.oe_stat_button > .o_stat_info { |
|||
padding-right: 3px; |
|||
} |
|||
&, & + .oe_avatar { |
|||
+ .oe_title { |
|||
max-width: calc(100% - 420px); |
|||
width: initial !important; |
|||
} |
|||
} |
|||
} |
|||
.oe_title { |
|||
max-width: 100%; |
|||
width: initial; |
|||
|
|||
span { |
|||
max-width: 100%; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
overflow: hidden; |
|||
width: initial; |
|||
} |
|||
span:active { |
|||
white-space: normal; |
|||
} |
|||
} |
|||
.o_notebook { |
|||
.nav-tabs { |
|||
overflow-x : auto; |
|||
overflow-y: hidden; |
|||
flex-flow: nowrap; |
|||
.nav-item { |
|||
white-space: nowrap; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@include media-breakpoint-down(sm) { |
|||
.o_form_sheet, .oe_chatter { |
|||
min-width: 100% !important; |
|||
max-width: 100% !important; |
|||
} |
|||
.o_group { |
|||
@for $i from 1 through $o-form-group-cols { |
|||
.o_group_col_#{$i} { |
|||
width: 100% !important; |
|||
} |
|||
} |
|||
.o_field_widget.o_text_overflow { |
|||
width: auto !important; |
|||
} |
|||
} |
|||
.o_statusbar_buttons_dropdown { |
|||
border: { |
|||
bottom: 0; |
|||
radius: 0; |
|||
top: 0; |
|||
} |
|||
height: 100%; |
|||
} |
|||
.o_statusbar_buttons > .btn { |
|||
border-radius: 0; |
|||
border: 0; |
|||
width: 100%; |
|||
margin-bottom: 0.2rem; |
|||
&:last-child { |
|||
margin-bottom: 0; |
|||
} |
|||
} |
|||
.o_statusbar_status { |
|||
.o_arrow_button:first-child::before { |
|||
content: none; |
|||
display: none; |
|||
} |
|||
} |
|||
.app_settings_block { |
|||
.row { |
|||
margin: 0; |
|||
} |
|||
} |
|||
.o_notebook .nav-tabs { |
|||
&::-webkit-scrollbar { |
|||
display: none; |
|||
} |
|||
} |
|||
.o_cp_buttons { |
|||
width: 100%; |
|||
div, .o-kanban-button-new { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
@include media-breakpoint-down(xs) { |
|||
.oe_button_box { |
|||
float: none; |
|||
display: block; |
|||
border-radius: 0; |
|||
text-align: right; |
|||
margin-top: -17px; |
|||
margin-bottom: $o-sheet-vpadding; |
|||
margin-left: -$o-horizontal-padding; |
|||
width: calc(100% + #{$o-horizontal-padding*2}); |
|||
border-top: 1px solid $o-form-lightsecondary; |
|||
border-bottom: 1px solid $o-form-lightsecondary; |
|||
> .btn.oe_stat_button { |
|||
border: none; |
|||
background: none; |
|||
flex: 0 0 auto !important; |
|||
width: percentage(1/3) !important; |
|||
border-right: 1px solid $o-form-lightsecondary; |
|||
} |
|||
> .btn.o_button_more { |
|||
flex: 1 1 auto !important; |
|||
border-right: none; |
|||
} |
|||
> .o_dropdown_more { |
|||
flex: 0 0 auto !important; |
|||
width: percentage(1/3) !important; |
|||
} |
|||
&, & + .oe_avatar { |
|||
+ .oe_title { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
.oe_title { |
|||
width: 100% !important; |
|||
max-width: 100% !important; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.mk_chatter_position_sided { |
|||
@include media-breakpoint-up(xxl, $o-extra-grid-breakpoints) { |
|||
.o_form_view:not(.o_form_nosheet) { |
|||
display: flex; |
|||
flex-flow: row nowrap; |
|||
height: 100%; |
|||
.o_form_sheet_bg { |
|||
min-width: $mk-form-min-width; |
|||
flex: 1 1 auto; |
|||
overflow: auto; |
|||
} |
|||
> .o_chatter { |
|||
flex: 1 1 auto; |
|||
overflow: auto; |
|||
min-width: $mk-chatter-min-width; |
|||
max-width: $mk-chatter-max-width; |
|||
border-left: 1px solid gray('400'); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -1,72 +1,75 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
//---------------------------------------------------------- |
|||
// Helper |
|||
//---------------------------------------------------------- |
|||
|
|||
$mk-brand-gradient: linear-gradient(to right bottom, $mk-brand-gradient-start, $mk-brand-gradient-end); |
|||
|
|||
//---------------------------------------------------------- |
|||
// Web Client |
|||
//---------------------------------------------------------- |
|||
|
|||
.o_web_client { |
|||
.o_main .o_main_content { |
|||
@include media-breakpoint-down(sm) { |
|||
overflow: auto; |
|||
.o_content { |
|||
overflow: initial; |
|||
} |
|||
} |
|||
} |
|||
.o_loading { |
|||
position: fixed; |
|||
right: 0; |
|||
bottom: 0; |
|||
color: white; |
|||
padding: 5px; |
|||
opacity: 0.8; |
|||
z-index: 1052; |
|||
border-radius: 0; |
|||
background-color: $o-brand-odoo; |
|||
} |
|||
} |
|||
|
|||
.oe_wait { |
|||
cursor: progress; |
|||
} |
|||
|
|||
//---------------------------------------------------------- |
|||
// Views |
|||
//---------------------------------------------------------- |
|||
|
|||
.o_content, .modal-content { |
|||
max-width: 100%; |
|||
} |
|||
|
|||
//---------------------------------------------------------- |
|||
// Tooltips |
|||
//---------------------------------------------------------- |
|||
|
|||
.o_tooltip { |
|||
&.o_animated { |
|||
display: none; |
|||
} |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
//---------------------------------------------------------- |
|||
// Helper |
|||
//---------------------------------------------------------- |
|||
|
|||
$mk-brand-gradient: linear-gradient(to right bottom, $mk-brand-gradient-start, $mk-brand-gradient-end); |
|||
|
|||
//---------------------------------------------------------- |
|||
// Web Client |
|||
//---------------------------------------------------------- |
|||
|
|||
.o_web_client { |
|||
.o_main .o_main_content { |
|||
@include media-breakpoint-down(sm) { |
|||
overflow: auto; |
|||
.o_content { |
|||
overflow: initial; |
|||
} |
|||
} |
|||
} |
|||
.o_loading { |
|||
position: fixed; |
|||
right: 0; |
|||
bottom: 0; |
|||
color: white; |
|||
padding: 5px; |
|||
opacity: 0.8; |
|||
z-index: 1052; |
|||
border-radius: 0; |
|||
background-color: $o-brand-odoo; |
|||
} |
|||
} |
|||
|
|||
.oe_wait { |
|||
cursor: progress; |
|||
} |
|||
|
|||
//---------------------------------------------------------- |
|||
// Views |
|||
//---------------------------------------------------------- |
|||
|
|||
.o_content, .modal-content { |
|||
max-width: 100%; |
|||
} |
|||
|
|||
//---------------------------------------------------------- |
|||
// Tooltips |
|||
//---------------------------------------------------------- |
|||
|
|||
.o_tooltip { |
|||
&.o_animated { |
|||
display: none; |
|||
} |
|||
} |
@ -1,42 +1,45 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
@mixin mk-full-screen-sections { |
|||
width: 100vw; |
|||
z-index: 1002; |
|||
display: flex; |
|||
flex-direction: column; |
|||
height: calc(100vh - #{$o-navbar-height}); |
|||
max-height: calc(100vh - #{$o-navbar-height}); |
|||
top: $o-navbar-height !important; |
|||
transform: none !important; |
|||
position: fixed !important; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
box-shadow: none; |
|||
border: none; |
|||
} |
|||
|
|||
@mixin mk-container-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { |
|||
@each $breakpoint, $container-max-width in $max-widths { |
|||
@include media-breakpoint-up($breakpoint, $breakpoints) { |
|||
width: $container-max-width; |
|||
} |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
@mixin mk-full-screen-sections { |
|||
width: 100vw; |
|||
z-index: 1002; |
|||
display: flex; |
|||
flex-direction: column; |
|||
height: calc(100vh - #{$o-navbar-height}); |
|||
max-height: calc(100vh - #{$o-navbar-height}); |
|||
top: $o-navbar-height !important; |
|||
transform: none !important; |
|||
position: fixed !important; |
|||
overflow-x: hidden; |
|||
overflow-y: auto; |
|||
box-shadow: none; |
|||
border: none; |
|||
} |
|||
|
|||
@mixin mk-container-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { |
|||
@each $breakpoint, $container-max-width in $max-widths { |
|||
@include media-breakpoint-up($breakpoint, $breakpoints) { |
|||
width: $container-max-width; |
|||
} |
|||
} |
|||
} |
@ -1,123 +1,126 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
@include media-breakpoint-down(sm) { |
|||
.o_main_navbar { |
|||
display: flex; |
|||
> .dropdown { |
|||
display: flex; |
|||
.navbar-toggler { |
|||
color: white; |
|||
} |
|||
.o_menu_sections, .o_menu_systray { |
|||
padding: 0; |
|||
} |
|||
} |
|||
.o_menu_systray { |
|||
margin-left: auto; |
|||
} |
|||
.o_debug_manager { |
|||
.dropdown-menu.show { |
|||
@include mk-full-screen-sections(); |
|||
} |
|||
} |
|||
.o_user_menu, .o_switch_company_menu { |
|||
> .dropdown-toggle { |
|||
padding: 0 10px; |
|||
white-space: nowrap; |
|||
&::before, &::after { |
|||
content: normal; |
|||
} |
|||
} |
|||
.dropdown-menu.show { |
|||
@include mk-full-screen-sections(); |
|||
} |
|||
} |
|||
.o_user_menu img { |
|||
margin-bottom: 3px; |
|||
} |
|||
.o_menu_brand, .o_menu_sections, .oe_topbar_name { |
|||
display: none; |
|||
} |
|||
.o-menu-toggle { |
|||
cursor: pointer; |
|||
padding: 0 $o-horizontal-padding; |
|||
} |
|||
.o_mail_systray_dropdown.show { |
|||
@include mk-full-screen-sections(); |
|||
.o_mail_preview_image { |
|||
align-items: center; |
|||
display: flex; |
|||
flex-direction: row; |
|||
img { |
|||
display: block; |
|||
height: auto; |
|||
} |
|||
} |
|||
} |
|||
.dropdown-menu .dropdown-item { |
|||
padding: { |
|||
bottom: 0.5rem; |
|||
top: 0.5rem; |
|||
} |
|||
} |
|||
.o_menu_sections.show { |
|||
@include mk-full-screen-sections(); |
|||
background: $mk-brand-gradient; |
|||
.dropdown-toggle, .dropdown-item { |
|||
padding: 0; |
|||
color: white; |
|||
height: 46px; |
|||
line-height: 46px; |
|||
background: none; |
|||
span { |
|||
padding-left: 15px; |
|||
font-size: initial; |
|||
} |
|||
} |
|||
.mk_menu_mobile_section { |
|||
.fa { |
|||
padding-top: 14px; |
|||
padding-right: 15px; |
|||
} |
|||
.dropdown-menu { |
|||
padding: 0; |
|||
width: 100%; |
|||
border: none; |
|||
min-width: auto; |
|||
box-shadow: none; |
|||
background: none; |
|||
position: static; |
|||
overflow: visible; |
|||
} |
|||
@for $index from 1 through 5 { |
|||
.o_menu_entry_lvl_#{$index} { |
|||
margin-left: ($index - 1) * 1.5rem; |
|||
} |
|||
} |
|||
@for $index from 2 through 5 { |
|||
.o_menu_header_lvl_#{$index} { |
|||
margin-left: ($index - 1) * 1.5rem; |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
@include media-breakpoint-down(sm) { |
|||
.o_main_navbar { |
|||
display: flex; |
|||
> .dropdown { |
|||
display: flex; |
|||
.navbar-toggler { |
|||
color: white; |
|||
} |
|||
.o_menu_sections, .o_menu_systray { |
|||
padding: 0; |
|||
} |
|||
} |
|||
.o_menu_systray { |
|||
margin-left: auto; |
|||
} |
|||
.o_debug_manager { |
|||
.dropdown-menu.show { |
|||
@include mk-full-screen-sections(); |
|||
} |
|||
} |
|||
.o_user_menu, .o_switch_company_menu { |
|||
> .dropdown-toggle { |
|||
padding: 0 10px; |
|||
white-space: nowrap; |
|||
&::before, &::after { |
|||
content: normal; |
|||
} |
|||
} |
|||
.dropdown-menu.show { |
|||
@include mk-full-screen-sections(); |
|||
} |
|||
} |
|||
.o_user_menu img { |
|||
margin-bottom: 3px; |
|||
} |
|||
.o_menu_brand, .o_menu_sections, .oe_topbar_name { |
|||
display: none; |
|||
} |
|||
.o-menu-toggle { |
|||
cursor: pointer; |
|||
padding: 0 $o-horizontal-padding; |
|||
} |
|||
.o_mail_systray_dropdown.show { |
|||
@include mk-full-screen-sections(); |
|||
.o_mail_preview_image { |
|||
align-items: center; |
|||
display: flex; |
|||
flex-direction: row; |
|||
img { |
|||
display: block; |
|||
height: auto; |
|||
} |
|||
} |
|||
} |
|||
.dropdown-menu .dropdown-item { |
|||
padding: { |
|||
bottom: 0.5rem; |
|||
top: 0.5rem; |
|||
} |
|||
} |
|||
.o_menu_sections.show { |
|||
@include mk-full-screen-sections(); |
|||
background: $mk-brand-gradient; |
|||
.dropdown-toggle, .dropdown-item { |
|||
padding: 0; |
|||
color: white; |
|||
height: 46px; |
|||
line-height: 46px; |
|||
background: none; |
|||
span { |
|||
padding-left: 15px; |
|||
font-size: initial; |
|||
} |
|||
} |
|||
.mk_menu_mobile_section { |
|||
.fa { |
|||
padding-top: 14px; |
|||
padding-right: 15px; |
|||
} |
|||
.dropdown-menu { |
|||
padding: 0; |
|||
width: 100%; |
|||
border: none; |
|||
min-width: auto; |
|||
box-shadow: none; |
|||
background: none; |
|||
position: static; |
|||
overflow: visible; |
|||
} |
|||
@for $index from 1 through 5 { |
|||
.o_menu_entry_lvl_#{$index} { |
|||
margin-left: ($index - 1) * 1.5rem; |
|||
} |
|||
} |
|||
@for $index from 2 through 5 { |
|||
.o_menu_header_lvl_#{$index} { |
|||
margin-left: ($index - 1) * 1.5rem; |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
} |
|||
} |
@ -1,24 +1,27 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_notification_manager { |
|||
.o_buttons { |
|||
padding: 5px; |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
.o_notification_manager { |
|||
.o_buttons { |
|||
padding: 5px; |
|||
} |
|||
} |
@ -1,35 +1,38 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
@include media-breakpoint-down(sm) { |
|||
.o_base_settings .o_statusbar_buttons { |
|||
.btn { |
|||
width: auto !important; |
|||
border: solid 1px transparent; |
|||
margin: 4px 3px 4px 0 !important; |
|||
padding: $btn-padding-y-sm $btn-padding-x-sm !important; |
|||
} |
|||
.btn-primary { |
|||
border-color: $o-brand-primary; |
|||
} |
|||
.btn-secondary { |
|||
border-color: $border-color; |
|||
} |
|||
} |
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
@include media-breakpoint-down(sm) { |
|||
.o_base_settings .o_statusbar_buttons { |
|||
.btn { |
|||
width: auto !important; |
|||
border: solid 1px transparent; |
|||
margin: 4px 3px 4px 0 !important; |
|||
padding: $btn-padding-y-sm $btn-padding-x-sm !important; |
|||
} |
|||
.btn-primary { |
|||
border-color: $o-brand-primary; |
|||
} |
|||
.btn-secondary { |
|||
border-color: $border-color; |
|||
} |
|||
} |
|||
} |
@ -1,59 +1,62 @@ |
|||
/********************************************************************************** |
|||
* |
|||
* 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 <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
//---------------------------------------------------------- |
|||
// Fonts |
|||
//---------------------------------------------------------- |
|||
|
|||
$font-family-sans-serif: 'Roboto', 'Noto'; |
|||
|
|||
//---------------------------------------------------------- |
|||
// Components |
|||
//---------------------------------------------------------- |
|||
|
|||
$border-radius: 0; |
|||
$border-radius-lg: 0; |
|||
$border-radius-sm: 0; |
|||
|
|||
//---------------------------------------------------------- |
|||
// Links |
|||
//---------------------------------------------------------- |
|||
|
|||
$link-color: darken($o-brand-primary, 8%); |
|||
|
|||
//---------------------------------------------------------- |
|||
// AppBarMenu |
|||
//---------------------------------------------------------- |
|||
|
|||
$mk-sidebar-large-width: 146px; |
|||
$mk-sidebar-small-width: 46px; |
|||
|
|||
//---------------------------------------------------------- |
|||
// Sided Chatter |
|||
//---------------------------------------------------------- |
|||
|
|||
$mk-form-min-width: 835px; |
|||
$mk-chatter-min-width: 550px; |
|||
$mk-chatter-max-width: 600px; |
|||
|
|||
//---------------------------------------------------------- |
|||
// List View |
|||
//---------------------------------------------------------- |
|||
|
|||
/********************************************************************************** |
|||
* |
|||
* Copyright (c) 2017-2019 MuK IT GmbH. |
|||
* |
|||
* This file is part of MuK Backend Theme |
|||
* (see https://mukit.at). |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Lesser General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
**********************************************************************************/ |
|||
|
|||
//---------------------------------------------------------- |
|||
// Fonts |
|||
//---------------------------------------------------------- |
|||
|
|||
$font-family-sans-serif: 'Roboto', 'Noto'; |
|||
|
|||
//---------------------------------------------------------- |
|||
// Components |
|||
//---------------------------------------------------------- |
|||
|
|||
$border-radius: 0; |
|||
$border-radius-lg: 0; |
|||
$border-radius-sm: 0; |
|||
|
|||
//---------------------------------------------------------- |
|||
// Links |
|||
//---------------------------------------------------------- |
|||
|
|||
$link-color: darken($o-brand-primary, 8%); |
|||
|
|||
//---------------------------------------------------------- |
|||
// AppBarMenu |
|||
//---------------------------------------------------------- |
|||
|
|||
$mk-sidebar-large-width: 146px; |
|||
$mk-sidebar-small-width: 46px; |
|||
|
|||
//---------------------------------------------------------- |
|||
// Sided Chatter |
|||
//---------------------------------------------------------- |
|||
|
|||
$mk-form-min-width: 835px; |
|||
$mk-chatter-min-width: 550px; |
|||
$mk-chatter-max-width: 600px; |
|||
|
|||
//---------------------------------------------------------- |
|||
// List View |
|||
//---------------------------------------------------------- |
|||
|
|||
$o-list-footer-bg-color: $o-brand-odoo; |
@ -1,72 +1,77 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="AppsMenu"> |
|||
<t t-jquery=".o_app" t-operation="attributes"> |
|||
<attribute name="t-attf-href">#menu_id=#{app.menuID}&action_id=#{app.actionID}</attribute> |
|||
</t> |
|||
<t t-jquery=".full" t-operation="attributes"> |
|||
<attribute name="accesskey">h</attribute> |
|||
</t> |
|||
<t t-jquery=".full > i" t-operation="attributes"> |
|||
<attribute name="class">fa fa-th</attribute> |
|||
</t> |
|||
<t t-jquery="[t-as=app]" t-operation="before"> |
|||
<div class="mk_search_container form-row align-items-center mb-4 col-12"> |
|||
<div class="mk_search_input col-md-10 ml-auto mr-auto mb-2"> |
|||
<div class="input-group"> |
|||
<div class="input-group-prepend"> |
|||
<div class="input-group-text"> |
|||
<i class="fa fa-search"/> |
|||
</div> |
|||
</div> |
|||
<input type="text" placeholder="Search menus..." class="form-control"/> |
|||
</div> |
|||
</div> |
|||
<div class="mk_search_results col-md-10 ml-auto mr-auto"/> |
|||
</div> |
|||
</t> |
|||
<t t-jquery=".o_app > t" t-operation="replace"> |
|||
<t t-call="muk_web_theme.AppIcon"/> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.AppIcon"> |
|||
<img class="o-app-icon" t-attf-src="data:image/png;base64,#{app.web_icon_data}"/> |
|||
<span class="o-app-name"> |
|||
<t t-esc="app.name"/> |
|||
</span> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.MenuSearchResults"> |
|||
<t t-foreach="results" t-as="result"> |
|||
<t t-set="menu" t-value="widget._menuInfo(result.original)"/> |
|||
<a t-attf-class="mk_menu_search_result dropdown-item col-12 ml-auto mr-auto #{result_first ? 'active' : ''}" |
|||
t-attf-style="background-image: #{menu.web_icon_data ? 'url(data:image/png;base64,' + menu.web_icon_data + ')' : 'none'}" |
|||
t-attf-href="#menu_id=#{menu.id}&action_id=#{menu.action_id}" |
|||
t-att-data-menu-id="menu.id" |
|||
t-att-data-action-id="menu.action_id" |
|||
t-att-data-parent-id="menu.parent_id[0]" |
|||
t-raw="result.string"/> |
|||
</t> |
|||
</t> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="AppsMenu"> |
|||
<t t-jquery=".o_app" t-operation="attributes"> |
|||
<attribute name="t-attf-href">#menu_id=#{app.menuID}&action_id=#{app.actionID}</attribute> |
|||
</t> |
|||
<t t-jquery=".full" t-operation="attributes"> |
|||
<attribute name="accesskey">h</attribute> |
|||
</t> |
|||
<t t-jquery=".full > i" t-operation="attributes"> |
|||
<attribute name="class">fa fa-th</attribute> |
|||
</t> |
|||
<t t-jquery="[t-as=app]" t-operation="before"> |
|||
<div class="mk_search_container form-row align-items-center mb-4 col-12"> |
|||
<div class="mk_search_input col-md-10 ml-auto mr-auto mb-2"> |
|||
<div class="input-group"> |
|||
<div class="input-group-prepend"> |
|||
<div class="input-group-text"> |
|||
<i class="fa fa-search"/> |
|||
</div> |
|||
</div> |
|||
<input type="text" placeholder="Search menus..." class="form-control"/> |
|||
</div> |
|||
</div> |
|||
<div class="mk_search_results col-md-10 ml-auto mr-auto"/> |
|||
</div> |
|||
</t> |
|||
<t t-jquery=".o_app > t" t-operation="replace"> |
|||
<t t-call="muk_web_theme.AppIcon"/> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.AppIcon"> |
|||
<img class="o-app-icon" t-attf-src="data:image/png;base64,#{app.web_icon_data}"/> |
|||
<span class="o-app-name"> |
|||
<t t-esc="app.name"/> |
|||
</span> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.MenuSearchResults"> |
|||
<t t-foreach="results" t-as="result"> |
|||
<t t-set="menu" t-value="widget._menuInfo(result.original)"/> |
|||
<a t-attf-class="mk_menu_search_result dropdown-item col-12 ml-auto mr-auto #{result_first ? 'active' : ''}" |
|||
t-attf-style="background-image: #{menu.web_icon_data ? 'url(data:image/png;base64,' + menu.web_icon_data + ')' : 'none'}" |
|||
t-attf-href="#menu_id=#{menu.id}&action_id=#{menu.action_id}" |
|||
t-att-data-menu-id="menu.id" |
|||
t-att-data-action-id="menu.action_id" |
|||
t-att-data-parent-id="menu.parent_id[0]" |
|||
t-raw="result.string"/> |
|||
</t> |
|||
</t> |
|||
|
|||
</templates> |
@ -1,43 +1,48 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-name="muk_web_theme.AppsBarMenu"> |
|||
<div class="mk_apps_sidebar"> |
|||
<ul class="mk_apps_sidebar_menu"> |
|||
<t t-foreach="widget.getApps()" t-as="app"> |
|||
<li class="nav-item"> |
|||
<a t-attf-href="#menu_id=#{app.menuID}&action_id=#{app.actionID}" |
|||
t-att-data-menu-id="app.menuID" |
|||
t-att-data-menu-xmlid="app.xmlID" |
|||
t-att-data-action-id="app.actionID" |
|||
class="nav-link" role="menuitem"> |
|||
<img class="mk_apps_sidebar_icon" t-attf-src="data:image/png;base64,#{app.web_icon_data}"/> |
|||
<span class="mk_apps_sidebar_name"> |
|||
<t t-esc="app.name"/> |
|||
</span> |
|||
</a> |
|||
</li> |
|||
</t> |
|||
</ul> |
|||
</div> |
|||
</t> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-name="muk_web_theme.AppsBarMenu"> |
|||
<div class="mk_apps_sidebar"> |
|||
<ul class="mk_apps_sidebar_menu"> |
|||
<t t-foreach="widget.getApps()" t-as="app"> |
|||
<li class="nav-item"> |
|||
<a t-attf-href="#menu_id=#{app.menuID}&action_id=#{app.actionID}" |
|||
t-att-data-menu-id="app.menuID" |
|||
t-att-data-menu-xmlid="app.xmlID" |
|||
t-att-data-action-id="app.actionID" |
|||
class="nav-link" role="menuitem"> |
|||
<img class="mk_apps_sidebar_icon" t-attf-src="data:image/png;base64,#{app.web_icon_data}"/> |
|||
<span class="mk_apps_sidebar_name"> |
|||
<t t-esc="app.name"/> |
|||
</span> |
|||
</a> |
|||
</li> |
|||
</t> |
|||
</ul> |
|||
</div> |
|||
</t> |
|||
|
|||
</templates> |
@ -1,87 +1,92 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="Menu"> |
|||
<t t-jquery=".o_menu_systray" t-operation="after"> |
|||
<button class="mk_menu_sections_toggle d-md-none" data-toggle="collapse" |
|||
data-target=".o_main_navbar > .o_menu_sections"> |
|||
<i class="fa fa-bars"/> |
|||
</button> |
|||
</t> |
|||
<t t-jquery=".o_menu_systray" t-operation="after"> |
|||
<div class="mk_apps_sidebar_panel" /> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.MobileMenu.link"> |
|||
<t t-set="depth" t-value="(depth || 0) + 1"/> |
|||
<t t-if="!menu.children.length"> |
|||
<li> |
|||
<a role="menuitem" t-attf-class="dropdown-item o_menu_entry_lvl_#{depth}" |
|||
t-attf-href="#menu_id=#{menu.id}&action=#{menu.action ? menu.action.split(',')[1] : ''}" |
|||
t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''" |
|||
t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''" |
|||
t-att-data-menu="menu.id" |
|||
t-att-data-menu-xmlid="menu.xmlid" |
|||
data-toggle="collapse" data-target="#o_navbar_collapse.in"> |
|||
<span> |
|||
<t t-esc="menu.name"/> |
|||
</span> |
|||
</a> |
|||
</li> |
|||
</t> |
|||
<t t-else=""> |
|||
<li class="mk_menu_mobile_section clearfix"> |
|||
<a role="button" href="#" t-attf-class="dropdown-toggle o-no-caret o_menu_header_lvl_#{depth}" |
|||
t-att-data-menu-xmlid="menu.xmlid" data-toggle="dropdown" aria-expanded="false"> |
|||
<span> |
|||
<t t-esc="menu.name"/> |
|||
</span> |
|||
<span class="fa fa-chevron-right float-right"/> |
|||
<span class="fa fa-chevron-down float-right" style="display: none;"/> |
|||
</a> |
|||
<ul class="dropdown-menu" role="menu"> |
|||
<t t-foreach="menu.children" t-as="submenu"> |
|||
<t t-call="muk_web_theme.MobileMenu.link"> |
|||
<t t-set="menu" t-value="submenu"/> |
|||
</t> |
|||
</t> |
|||
</ul> |
|||
</li> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.MobileMenu.sections"> |
|||
<t t-set="isMobile" t-value="true"/> |
|||
<t t-foreach="menu_data.children" t-as="topmenu"> |
|||
<section t-att-class="topmenu.id"> |
|||
<t t-if="topmenu.children.length"> |
|||
<t t-foreach="topmenu.children" t-as="submenu"> |
|||
<t t-call="muk_web_theme.MobileMenu.link"> |
|||
<t t-set="menu" t-value="submenu"/> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
</section> |
|||
</t> |
|||
</t> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="Menu"> |
|||
<t t-jquery=".o_menu_systray" t-operation="after"> |
|||
<button class="mk_menu_sections_toggle d-md-none" data-toggle="collapse" |
|||
data-target=".o_main_navbar > .o_menu_sections"> |
|||
<i class="fa fa-bars"/> |
|||
</button> |
|||
</t> |
|||
<t t-jquery=".o_menu_systray" t-operation="after"> |
|||
<div class="mk_apps_sidebar_panel" /> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.MobileMenu.link"> |
|||
<t t-set="depth" t-value="(depth || 0) + 1"/> |
|||
<t t-if="!menu.children.length"> |
|||
<li> |
|||
<a role="menuitem" t-attf-class="dropdown-item o_menu_entry_lvl_#{depth}" |
|||
t-attf-href="#menu_id=#{menu.id}&action=#{menu.action ? menu.action.split(',')[1] : ''}" |
|||
t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''" |
|||
t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''" |
|||
t-att-data-menu="menu.id" |
|||
t-att-data-menu-xmlid="menu.xmlid" |
|||
data-toggle="collapse" data-target="#o_navbar_collapse.in"> |
|||
<span> |
|||
<t t-esc="menu.name"/> |
|||
</span> |
|||
</a> |
|||
</li> |
|||
</t> |
|||
<t t-else=""> |
|||
<li class="mk_menu_mobile_section clearfix"> |
|||
<a role="button" href="#" t-attf-class="dropdown-toggle o-no-caret o_menu_header_lvl_#{depth}" |
|||
t-att-data-menu-xmlid="menu.xmlid" data-toggle="dropdown" aria-expanded="false"> |
|||
<span> |
|||
<t t-esc="menu.name"/> |
|||
</span> |
|||
<span class="fa fa-chevron-right float-right"/> |
|||
<span class="fa fa-chevron-down float-right" style="display: none;"/> |
|||
</a> |
|||
<ul class="dropdown-menu" role="menu"> |
|||
<t t-foreach="menu.children" t-as="submenu"> |
|||
<t t-call="muk_web_theme.MobileMenu.link"> |
|||
<t t-set="menu" t-value="submenu"/> |
|||
</t> |
|||
</t> |
|||
</ul> |
|||
</li> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.MobileMenu.sections"> |
|||
<t t-set="isMobile" t-value="true"/> |
|||
<t t-foreach="menu_data.children" t-as="topmenu"> |
|||
<section t-att-class="topmenu.id"> |
|||
<t t-if="topmenu.children.length"> |
|||
<t t-foreach="topmenu.children" t-as="submenu"> |
|||
<t t-call="muk_web_theme.MobileMenu.link"> |
|||
<t t-set="menu" t-value="submenu"/> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
</section> |
|||
</t> |
|||
</t> |
|||
|
|||
</templates> |
@ -1,36 +1,41 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="UserMenu.shortcuts"> |
|||
<t t-jquery="tbody" t-operation="prepend"> |
|||
<tr> |
|||
<td align="left">Open the apps menu</td> |
|||
<td> |
|||
<span class="o_key">Alt</span> + <span class="o_key">h</span> |
|||
</td> |
|||
<td> |
|||
<span class="o_key">Control</span> + <span class="o_key">Alt</span> + <span class="o_key">h</span> |
|||
</td> |
|||
</tr> |
|||
</t> |
|||
</t> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="UserMenu.shortcuts"> |
|||
<t t-jquery="tbody" t-operation="prepend"> |
|||
<tr> |
|||
<td align="left">Open the apps menu</td> |
|||
<td> |
|||
<span class="o_key">Alt</span> + <span class="o_key">h</span> |
|||
</td> |
|||
<td> |
|||
<span class="o_key">Control</span> + <span class="o_key">Alt</span> + <span class="o_key">h</span> |
|||
</td> |
|||
</tr> |
|||
</t> |
|||
</t> |
|||
|
|||
</templates> |
@ -1,32 +1,37 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="Sidebar"> |
|||
<t t-jquery="button" t-operation="replace"> |
|||
<button t-if="section.name != 'buttons'" data-toggle="dropdown" aria-expanded="false" |
|||
t-attf-class="o_dropdown_toggler_btn btn btn-secondary dropdown-toggle #{section.icon}"> |
|||
<t t-if="section.name == 'files'" t-raw="widget.items[section.name].length || ''"/> |
|||
<t t-if="!section.icon" t-esc="section.label"/> |
|||
</button> |
|||
</t> |
|||
</t> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-extend="Sidebar"> |
|||
<t t-jquery="button" t-operation="replace"> |
|||
<button t-if="section.name != 'buttons'" data-toggle="dropdown" aria-expanded="false" |
|||
t-attf-class="o_dropdown_toggler_btn btn btn-secondary dropdown-toggle #{section.icon}"> |
|||
<t t-if="section.name == 'files'" t-raw="widget.items[section.name].length || ''"/> |
|||
<t t-if="!section.icon" t-esc="section.label"/> |
|||
</button> |
|||
</t> |
|||
</t> |
|||
|
|||
</templates> |
@ -1,95 +1,100 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-name="muk_web_theme.MenuStatusbarButtons"> |
|||
<div class="dropdown"> |
|||
<button class="o_statusbar_buttons_dropdown btn btn-secondary dropdown-toggle" type="button" |
|||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
|||
Actions |
|||
</button> |
|||
</div> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.IconButton"> |
|||
<i t-attf-class="d-inline d-sm-none fa fa-#{icon}" t-att-title="label"/> |
|||
<span class="d-none d-sm-inline" t-esc="label"/> |
|||
</t> |
|||
|
|||
<t t-extend="FormView.buttons"> |
|||
<t t-jquery=".o_form_button_edit" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'pencil'"/> |
|||
<t t-set="label">Edit</t> |
|||
</t> |
|||
</t> |
|||
<t t-jquery=".o_form_button_create" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'plus'"/> |
|||
<t t-set="label">Create</t> |
|||
</t> |
|||
</t> |
|||
<t t-jquery=".o_form_button_save" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'floppy-o'"/> |
|||
<t t-set="label">Save</t> |
|||
</t> |
|||
</t> |
|||
<t t-jquery=".o_form_button_cancel" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'times'"/> |
|||
<t t-set="label">Discard</t> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="ListView.buttons"> |
|||
<t t-jquery=".o_list_button_add" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'plus'"/> |
|||
<t t-set="label">Create</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-jquery=".o_list_button_save" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'floppy-o'"/> |
|||
<t t-set="label">Save</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-jquery=".o_list_button_discard" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'times'"/> |
|||
<t t-set="label">Discard</t> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="KanbanView.buttons"> |
|||
<t t-jquery="button" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'plus'"/> |
|||
<t t-set="label" t-value="create_text || _t('Create')"/> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<templates id="template" xml:space="preserve"> |
|||
|
|||
<t t-name="muk_web_theme.MenuStatusbarButtons"> |
|||
<div class="dropdown"> |
|||
<button class="o_statusbar_buttons_dropdown btn btn-secondary dropdown-toggle" type="button" |
|||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
|||
Actions |
|||
</button> |
|||
</div> |
|||
</t> |
|||
|
|||
<t t-name="muk_web_theme.IconButton"> |
|||
<i t-attf-class="d-inline d-sm-none fa fa-#{icon}" t-att-title="label"/> |
|||
<span class="d-none d-sm-inline" t-esc="label"/> |
|||
</t> |
|||
|
|||
<t t-extend="FormView.buttons"> |
|||
<t t-jquery=".o_form_button_edit" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'pencil'"/> |
|||
<t t-set="label">Edit</t> |
|||
</t> |
|||
</t> |
|||
<t t-jquery=".o_form_button_create" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'plus'"/> |
|||
<t t-set="label">Create</t> |
|||
</t> |
|||
</t> |
|||
<t t-jquery=".o_form_button_save" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'floppy-o'"/> |
|||
<t t-set="label">Save</t> |
|||
</t> |
|||
</t> |
|||
<t t-jquery=".o_form_button_cancel" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'times'"/> |
|||
<t t-set="label">Discard</t> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="ListView.buttons"> |
|||
<t t-jquery=".o_list_button_add" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'plus'"/> |
|||
<t t-set="label">Create</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-jquery=".o_list_button_save" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'floppy-o'"/> |
|||
<t t-set="label">Save</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-jquery=".o_list_button_discard" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'times'"/> |
|||
<t t-set="label">Discard</t> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
<t t-extend="KanbanView.buttons"> |
|||
<t t-jquery="button" t-operation="inner"> |
|||
<t t-call="muk_web_theme.IconButton"> |
|||
<t t-set="icon" t-value="'plus'"/> |
|||
<t t-set="label" t-value="create_text || _t('Create')"/> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
|
|||
</templates> |
@ -1,77 +1,82 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<template id="_assets_utils" name="Mixins" inherit_id="web._assets_utils" priority="15"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/mixins.scss"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="_assets_primary_variables" name="Colors" inherit_id="web._assets_primary_variables" priority="15"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/colors.scss"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="_assets_backend_helpers" name="Variables" inherit_id="web._assets_backend_helpers" priority="15"> |
|||
<xpath expr="//link[@href='/web/static/src/scss/bootstrap_overridden.scss']" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/variables.scss"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="assets_common" name="Common Assets" inherit_id="web_editor.assets_common"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/fonts.scss"/> |
|||
</xpath> |
|||
<xpath expr="//script[last()]" position="after"> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/core/search.js" /> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="assets_backend" name="Backend Assets" inherit_id="web.assets_backend"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/layout.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/navbar.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/apps.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/appsbar.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/control_panel.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/list_view.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/form_view.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/fields.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/notification.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/settings.scss"/> |
|||
</xpath> |
|||
<xpath expr="//script[last()]" position="after"> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/actions.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/menu.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/apps.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/appsbar.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/sidebar.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/pager.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/fields/relational.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/search_view.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/form_view.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/form_renderer.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/list_renderer.js" /> |
|||
</xpath> |
|||
</template> |
|||
|
|||
</odoo> |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<template id="_assets_utils" name="Mixins" inherit_id="web._assets_utils" priority="15"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/mixins.scss"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="_assets_primary_variables" name="Colors" inherit_id="web._assets_primary_variables" priority="15"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/colors.scss"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="_assets_backend_helpers" name="Variables" inherit_id="web._assets_backend_helpers" priority="15"> |
|||
<xpath expr="//link[@href='/web/static/src/scss/bootstrap_overridden.scss']" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/variables.scss"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="assets_common" name="Common Assets" inherit_id="web_editor.assets_common"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/fonts.scss"/> |
|||
</xpath> |
|||
<xpath expr="//script[last()]" position="after"> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/core/search.js" /> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<template id="assets_backend" name="Backend Assets" inherit_id="web.assets_backend"> |
|||
<xpath expr="//link[last()]" position="after"> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/layout.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/navbar.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/apps.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/appsbar.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/control_panel.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/list_view.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/form_view.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/fields.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/notification.scss"/> |
|||
<link rel="stylesheet" type="text/scss" href="/muk_web_theme/static/src/scss/settings.scss"/> |
|||
</xpath> |
|||
<xpath expr="//script[last()]" position="after"> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/actions.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/menu.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/apps.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/appsbar.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/sidebar.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/chrome/pager.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/fields/relational.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/search_view.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/form_view.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/form_renderer.js" /> |
|||
<script type="text/javascript" src="/muk_web_theme/static/src/js/views/list_renderer.js" /> |
|||
</xpath> |
|||
</template> |
|||
|
|||
</odoo> |
@ -1,31 +1,36 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<template id="webclient_bootstrap" name="Web Client" inherit_id="web.webclient_bootstrap"> |
|||
<xpath expr="//t[@t-set='body_classname']" position="after"> |
|||
<t t-set="body_classname" t-value="'o_web_client mk_sidebar_type_' + request.env.user.sidebar_type or 'large'"/> |
|||
</xpath> |
|||
<xpath expr="//*[hasclass('o_main')]" position="attributes"> |
|||
<attribute name="t-attf-class">o_main mk_chatter_position_#{request.env.user.chatter_position or 'normal'}</attribute> |
|||
</xpath> |
|||
</template> |
|||
|
|||
</odoo> |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<template id="webclient_bootstrap" name="Web Client" inherit_id="web.webclient_bootstrap"> |
|||
<xpath expr="//t[@t-set='body_classname']" position="after"> |
|||
<t t-set="body_classname" t-value="'o_web_client mk_sidebar_type_' + request.env.user.sidebar_type or 'large'"/> |
|||
</xpath> |
|||
<xpath expr="//*[hasclass('o_main')]" position="attributes"> |
|||
<attribute name="t-attf-class">o_main mk_chatter_position_#{request.env.user.chatter_position or 'normal'}</attribute> |
|||
</xpath> |
|||
</template> |
|||
|
|||
</odoo> |
@ -1,164 +1,169 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<record id="res_config_settings_view_form" model="ir.ui.view"> |
|||
<field name="name">res.config.settings.view.form</field> |
|||
<field name="model">res.config.settings</field> |
|||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form"/> |
|||
<field name="arch" type="xml"> |
|||
<div id="business_documents" position="after"> |
|||
<h2 id="web_theme_title">Backend Theme</h2> |
|||
<div class="row mt16 o_settings_container" name="web_theme"> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Default Preferences</span> |
|||
<div class="text-muted"> |
|||
Set the default theme preferences |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<label for="theme_default_sidebar_preference" string="Sidebar" class="col-3 o_light_label"/> |
|||
<field name="theme_default_sidebar_preference" class="col-5"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_default_chatter_preference" string="Chatter" class="col-3 o_light_label"/> |
|||
<field name="theme_default_chatter_preference" class="col-5"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Theme Colors</span> |
|||
<div class="text-muted"> |
|||
Set the main theme colors |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<label for="theme_color_brand" string="Brand" class="col-3 o_light_label"/> |
|||
<field name="theme_color_brand" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_primary" string="Primary" class="col-3 o_light_label"/> |
|||
<field name="theme_color_primary" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_required" string="Required" class="col-3 o_light_label"/> |
|||
<field name="theme_color_required" widget="color" class="oe_inline"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Background Image</span> |
|||
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." aria-label="Values set here are company-specific." groups="base.group_multi_company" role="img"/> |
|||
<div class="text-muted"> |
|||
Set the background image for the apps menu |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<field name="theme_background_image" widget="image" class="ml-4" required="1"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Menu Colors</span> |
|||
<div class="text-muted"> |
|||
Set the main menu colors |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<label for="theme_color_appbar_color" string="Menu Color" class="col-3 o_light_label"/> |
|||
<field name="theme_color_appbar_color" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_appbar_background" string="Background" class="col-3 o_light_label"/> |
|||
<field name="theme_color_appbar_background" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_menu" string="Apps Color" class="col-3 o_light_label"/> |
|||
<field name="theme_color_menu" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_background_blend_mode" string="Apps Blend" class="col-3 o_light_label"/> |
|||
<field name="theme_background_blend_mode" class="col-5"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<h2 id="web_theme_extension_title">Backend Theme Extensions</h2> |
|||
<div class="row mt16 o_settings_container" name="web_theme_extension"> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_mail"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_mail"/> |
|||
<div class="text-muted"> |
|||
Optimizes the mail chatter for the theme |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_branding"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_branding"/> |
|||
<div class="text-muted"> |
|||
Customize the theme according to your needs |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_website"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_website"/> |
|||
<div class="text-muted"> |
|||
Add theme styled website navigation |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_mobile"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_mobile"/> |
|||
<div class="text-muted"> |
|||
Allow Odoo to be used as a PWA app |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</field> |
|||
</record> |
|||
|
|||
</odoo> |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<record id="res_config_settings_view_form" model="ir.ui.view"> |
|||
<field name="name">res.config.settings.view.form</field> |
|||
<field name="model">res.config.settings</field> |
|||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form"/> |
|||
<field name="arch" type="xml"> |
|||
<div id="business_documents" position="after"> |
|||
<h2 id="web_theme_title">Backend Theme</h2> |
|||
<div class="row mt16 o_settings_container" name="web_theme"> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Default Preferences</span> |
|||
<div class="text-muted"> |
|||
Set the default theme preferences |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<label for="theme_default_sidebar_preference" string="Sidebar" class="col-3 o_light_label"/> |
|||
<field name="theme_default_sidebar_preference" class="col-5"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_default_chatter_preference" string="Chatter" class="col-3 o_light_label"/> |
|||
<field name="theme_default_chatter_preference" class="col-5"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Theme Colors</span> |
|||
<div class="text-muted"> |
|||
Set the main theme colors |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<label for="theme_color_brand" string="Brand" class="col-3 o_light_label"/> |
|||
<field name="theme_color_brand" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_primary" string="Primary" class="col-3 o_light_label"/> |
|||
<field name="theme_color_primary" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_required" string="Required" class="col-3 o_light_label"/> |
|||
<field name="theme_color_required" widget="color" class="oe_inline"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Background Image</span> |
|||
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." aria-label="Values set here are company-specific." groups="base.group_multi_company" role="img"/> |
|||
<div class="text-muted"> |
|||
Set the background image for the apps menu |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<field name="theme_background_image" widget="image" class="ml-4" required="1"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<span class="o_form_label">Menu Colors</span> |
|||
<div class="text-muted"> |
|||
Set the main menu colors |
|||
</div> |
|||
<div class="content-group"> |
|||
<div class="mt16 row"> |
|||
<label for="theme_color_appbar_color" string="Menu Color" class="col-3 o_light_label"/> |
|||
<field name="theme_color_appbar_color" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_appbar_background" string="Background" class="col-3 o_light_label"/> |
|||
<field name="theme_color_appbar_background" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_color_menu" string="Apps Color" class="col-3 o_light_label"/> |
|||
<field name="theme_color_menu" widget="color" class="oe_inline"/> |
|||
<div class="w-100"></div> |
|||
<label for="theme_background_blend_mode" string="Apps Blend" class="col-3 o_light_label"/> |
|||
<field name="theme_background_blend_mode" class="col-5"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<h2 id="web_theme_extension_title">Backend Theme Extensions</h2> |
|||
<div class="row mt16 o_settings_container" name="web_theme_extension"> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_mail"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_mail"/> |
|||
<div class="text-muted"> |
|||
Optimizes the mail chatter for the theme |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_branding"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_branding"/> |
|||
<div class="text-muted"> |
|||
Customize the theme according to your needs |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_website"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_website"/> |
|||
<div class="text-muted"> |
|||
Add theme styled website navigation |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12 col-lg-6 o_setting_box"> |
|||
<div class="o_setting_left_pane"> |
|||
<field name="module_muk_web_theme_mobile"/> |
|||
</div> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="module_muk_web_theme_mobile"/> |
|||
<div class="text-muted"> |
|||
Allow Odoo to be used as a PWA app |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</field> |
|||
</record> |
|||
|
|||
</odoo> |
@ -1,40 +1,45 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
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 <http://www.gnu.org/licenses/>. |
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<record id="res_users_preferences" model="ir.ui.view"> |
|||
<field name="name">res.users.preferences</field> |
|||
<field name="model">res.users</field> |
|||
<field name="inherit_id" ref="base.view_users_form_simple_modif" /> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//group[@name='preference_email']/parent::group" position="after"> |
|||
<group string="Theme Preferences" name="preference_theme"> |
|||
<group > |
|||
<field name="sidebar_type" readonly="0"/> |
|||
</group> |
|||
<group > |
|||
<field name="chatter_position" readonly="0" /> |
|||
</group> |
|||
</group> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
</odoo> |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<!-- |
|||
|
|||
Copyright (c) 2017-2019 MuK IT GmbH. |
|||
|
|||
This file is part of MuK Backend Theme |
|||
(see https://mukit.at). |
|||
|
|||
This program is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU Lesser 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 Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public License |
|||
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
--> |
|||
|
|||
<odoo> |
|||
|
|||
<record id="res_users_preferences" model="ir.ui.view"> |
|||
<field name="name">res.users.preferences</field> |
|||
<field name="model">res.users</field> |
|||
<field name="inherit_id" ref="base.view_users_form_simple_modif" /> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//group[@name='preference_email']/parent::group" position="after"> |
|||
<group string="Theme Preferences" name="preference_theme"> |
|||
<group > |
|||
<field name="sidebar_type" readonly="0"/> |
|||
</group> |
|||
<group > |
|||
<field name="chatter_position" readonly="0" /> |
|||
</group> |
|||
</group> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue