diff --git a/account_report_send_by_mail/README.rst b/account_report_send_by_mail/README.rst new file mode 100644 index 000000000..cc8ec9da7 --- /dev/null +++ b/account_report_send_by_mail/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/license-OPL--1-red.svg + :target: https://www.odoo.com/documentation/16.0/legal/licenses.html#odoo-apps + :alt: License: OPL-1 + +Account Report Send By Mail +=========================== +Create account report based on user requirements and send it by mail + +Configuration +============= +* configure 'Outgoing Mail Servers'. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Odoo Proprietary License v1.0 (OPL-1) +(https://www.odoo.com/documentation/user/12.0/legal/licenses/licenses.html) + +Credits +------- +* Developer: (V17) Swathy K S, + (V18) Busthana Shirin + Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/account_report_send_by_mail/__init__.py b/account_report_send_by_mail/__init__.py new file mode 100644 index 000000000..a750f032a --- /dev/null +++ b/account_report_send_by_mail/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ + +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions() +# +# This program is under the terms of the Odoo Proprietary License v1.0 +# (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +from .import wizard diff --git a/account_report_send_by_mail/__manifest__.py b/account_report_send_by_mail/__manifest__.py new file mode 100644 index 000000000..e2b79ff86 --- /dev/null +++ b/account_report_send_by_mail/__manifest__.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +################################################################################ + +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions() +# +# This program is under the terms of the Odoo Proprietary License v1.0 +# (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +{ + 'name': 'Account Report Send By Mail', + 'version': '18.0.1.0.0', + 'category': 'Accounting', + 'summary': "Create account report based on user requirements and send it " + "by mail", + 'description': "This app enables users to generate personalized " + "account reports based on their email address. Users have " + "the flexibility to choose the type of report they want, " + "catering to their specific needs. After selecting the " + "desired report type, users can input the recipients email " + "address to seamlessly send the generated report.", + 'company': 'Cybrosys Techno Solutions', + 'author': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['account', 'account_reports'], + 'data': [ + 'security/ir.model.access.csv', + 'data/account_report_mail_template.xml', + 'wizard/send_mail_report.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'account_report_send_by_mail/static/src/css/send_mail_report.css', + 'account_report_send_by_mail/static/src/js/report_action.js', + 'account_report_send_by_mail/static/src/xml/report_action.xml', + ], + }, + 'images': ['static/description/banner.jpg'], + 'license': 'OPL-1', + 'installable': True, + 'auto_install': True, + 'application': True, +} diff --git a/account_report_send_by_mail/data/account_report_mail_template.xml b/account_report_send_by_mail/data/account_report_mail_template.xml new file mode 100644 index 000000000..723bd25ad --- /dev/null +++ b/account_report_send_by_mail/data/account_report_mail_template.xml @@ -0,0 +1,26 @@ + + + + + + Account Report email template + + +
+
+

+ Hello, + +
+ +

+
+ Regards, +
+ +
+
+
+
+
diff --git a/account_report_send_by_mail/doc/RELEASE_NOTES.md b/account_report_send_by_mail/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..74cca556c --- /dev/null +++ b/account_report_send_by_mail/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 03.01.2025 +#### Version 18.0.1.0.0 +#### ADD + +- Initial commit for Account Report Send By Mail diff --git a/account_report_send_by_mail/security/ir.model.access.csv b/account_report_send_by_mail/security/ir.model.access.csv new file mode 100644 index 000000000..1a8b86d6a --- /dev/null +++ b/account_report_send_by_mail/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink +access_send_mail_report_user,access.send.mail.report.user,model_send_mail_report,base.group_user,1,1,1,1 diff --git a/account_report_send_by_mail/static/description/assets/icons/arrows-repeat.svg b/account_report_send_by_mail/static/description/assets/icons/arrows-repeat.svg new file mode 100755 index 000000000..1d7efabc5 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-1.png b/account_report_send_by_mail/static/description/assets/icons/banner-1.png new file mode 100755 index 000000000..c180db172 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/banner-1.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-2.svg b/account_report_send_by_mail/static/description/assets/icons/banner-2.svg new file mode 100755 index 000000000..e606d97d9 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-bg.png b/account_report_send_by_mail/static/description/assets/icons/banner-bg.png new file mode 100755 index 000000000..a8238d3c0 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/banner-bg.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-bg.svg b/account_report_send_by_mail/static/description/assets/icons/banner-bg.svg new file mode 100755 index 000000000..b1378103e --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-call.svg b/account_report_send_by_mail/static/description/assets/icons/banner-call.svg new file mode 100755 index 000000000..96c687e81 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-mail.svg b/account_report_send_by_mail/static/description/assets/icons/banner-mail.svg new file mode 100755 index 000000000..cbf0d158d --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-pattern.svg b/account_report_send_by_mail/static/description/assets/icons/banner-pattern.svg new file mode 100755 index 000000000..9c1c7e101 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/banner-promo.svg b/account_report_send_by_mail/static/description/assets/icons/banner-promo.svg new file mode 100755 index 000000000..d52791b11 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/brand-pair.svg b/account_report_send_by_mail/static/description/assets/icons/brand-pair.svg new file mode 100755 index 000000000..d8db7fc1e --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/check.png b/account_report_send_by_mail/static/description/assets/icons/check.png new file mode 100755 index 000000000..c8e85f51d Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/check.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/chevron.png b/account_report_send_by_mail/static/description/assets/icons/chevron.png new file mode 100755 index 000000000..2089293d6 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/chevron.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/close-icon.svg b/account_report_send_by_mail/static/description/assets/icons/close-icon.svg new file mode 100755 index 000000000..df8cce37a --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/cogs.png b/account_report_send_by_mail/static/description/assets/icons/cogs.png new file mode 100755 index 000000000..95d0bad62 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/cogs.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/collabarate-icon.svg b/account_report_send_by_mail/static/description/assets/icons/collabarate-icon.svg new file mode 100755 index 000000000..dd4e10518 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/consultation.png b/account_report_send_by_mail/static/description/assets/icons/consultation.png new file mode 100755 index 000000000..8319d4baa Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/consultation.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/cybro-logo.png b/account_report_send_by_mail/static/description/assets/icons/cybro-logo.png new file mode 100755 index 000000000..ff4b78220 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/cybro-logo.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/down.svg b/account_report_send_by_mail/static/description/assets/icons/down.svg new file mode 100755 index 000000000..f21c36271 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/account_report_send_by_mail/static/description/assets/icons/ecom-black.png b/account_report_send_by_mail/static/description/assets/icons/ecom-black.png new file mode 100755 index 000000000..a9385ff13 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/ecom-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/education-black.png b/account_report_send_by_mail/static/description/assets/icons/education-black.png new file mode 100755 index 000000000..3eb09b27b Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/education-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/faq.png b/account_report_send_by_mail/static/description/assets/icons/faq.png new file mode 100755 index 000000000..4250b5b81 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/faq.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/feature-icon.svg b/account_report_send_by_mail/static/description/assets/icons/feature-icon.svg new file mode 100755 index 000000000..fa0ea6850 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/feature.png b/account_report_send_by_mail/static/description/assets/icons/feature.png new file mode 100755 index 000000000..ac7a785c0 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/feature.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/gear.svg b/account_report_send_by_mail/static/description/assets/icons/gear.svg new file mode 100755 index 000000000..0cc66b6ea --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/hero.gif b/account_report_send_by_mail/static/description/assets/icons/hero.gif new file mode 100755 index 000000000..380654dfe Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/hero.gif differ diff --git a/account_report_send_by_mail/static/description/assets/icons/hire-odoo.svg b/account_report_send_by_mail/static/description/assets/icons/hire-odoo.svg new file mode 100755 index 000000000..e1ac089b0 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/hotel-black.png b/account_report_send_by_mail/static/description/assets/icons/hotel-black.png new file mode 100755 index 000000000..130f613be Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/hotel-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/license.png b/account_report_send_by_mail/static/description/assets/icons/license.png new file mode 100755 index 000000000..a5869797e Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/license.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/life-ring-icon.svg b/account_report_send_by_mail/static/description/assets/icons/life-ring-icon.svg new file mode 100755 index 000000000..3ae6e1d89 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/lifebuoy.png b/account_report_send_by_mail/static/description/assets/icons/lifebuoy.png new file mode 100755 index 000000000..658d56ccc Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/lifebuoy.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/mail.svg b/account_report_send_by_mail/static/description/assets/icons/mail.svg new file mode 100755 index 000000000..1eedde695 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/manufacturing-black.png b/account_report_send_by_mail/static/description/assets/icons/manufacturing-black.png new file mode 100755 index 000000000..697eb0e9f Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/manufacturing-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/notes.png b/account_report_send_by_mail/static/description/assets/icons/notes.png new file mode 100755 index 000000000..ee5e95404 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/notes.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/notification icon.svg b/account_report_send_by_mail/static/description/assets/icons/notification icon.svg new file mode 100755 index 000000000..053189973 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/odoo-consultancy.svg b/account_report_send_by_mail/static/description/assets/icons/odoo-consultancy.svg new file mode 100755 index 000000000..e05f65bde --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/odoo-licencing.svg b/account_report_send_by_mail/static/description/assets/icons/odoo-licencing.svg new file mode 100755 index 000000000..2606c88b0 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/odoo-logo.png b/account_report_send_by_mail/static/description/assets/icons/odoo-logo.png new file mode 100755 index 000000000..0e4d0eb5a Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/odoo-logo.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/patter.svg b/account_report_send_by_mail/static/description/assets/icons/patter.svg new file mode 100755 index 000000000..25c9c0a8f --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/pattern1.png b/account_report_send_by_mail/static/description/assets/icons/pattern1.png new file mode 100755 index 000000000..09ab0fb2d Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/pattern1.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/pos-black.png b/account_report_send_by_mail/static/description/assets/icons/pos-black.png new file mode 100755 index 000000000..97c0f90c1 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/pos-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/puzzle-piece-icon.svg b/account_report_send_by_mail/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100755 index 000000000..3e9ad9373 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/puzzle.png b/account_report_send_by_mail/static/description/assets/icons/puzzle.png new file mode 100755 index 000000000..65cf854e7 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/puzzle.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/replace-icon.svg b/account_report_send_by_mail/static/description/assets/icons/replace-icon.svg new file mode 100755 index 000000000..d0e3a7af1 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/restaurant-black.png b/account_report_send_by_mail/static/description/assets/icons/restaurant-black.png new file mode 100755 index 000000000..4a35eb939 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/restaurant-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/screenshot-main.png b/account_report_send_by_mail/static/description/assets/icons/screenshot-main.png new file mode 100755 index 000000000..575f8e676 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/screenshot-main.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/screenshot.png b/account_report_send_by_mail/static/description/assets/icons/screenshot.png new file mode 100755 index 000000000..cef272529 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/screenshot.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/service-black.png b/account_report_send_by_mail/static/description/assets/icons/service-black.png new file mode 100755 index 000000000..301ab51cb Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/service-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/skype-fill.svg b/account_report_send_by_mail/static/description/assets/icons/skype-fill.svg new file mode 100755 index 000000000..c17423639 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/skype.png b/account_report_send_by_mail/static/description/assets/icons/skype.png new file mode 100755 index 000000000..51b409fb3 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/skype.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/skype.svg b/account_report_send_by_mail/static/description/assets/icons/skype.svg new file mode 100755 index 000000000..df3dad39b --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/star-1.svg b/account_report_send_by_mail/static/description/assets/icons/star-1.svg new file mode 100755 index 000000000..7e55ab162 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/star-2.svg b/account_report_send_by_mail/static/description/assets/icons/star-2.svg new file mode 100755 index 000000000..5ae9f507a --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/support.png b/account_report_send_by_mail/static/description/assets/icons/support.png new file mode 100755 index 000000000..4f18b8b82 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/support.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/test-1 - Copy.png b/account_report_send_by_mail/static/description/assets/icons/test-1 - Copy.png new file mode 100755 index 000000000..f6a902663 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/test-1 - Copy.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/test-1.png b/account_report_send_by_mail/static/description/assets/icons/test-1.png new file mode 100755 index 000000000..0908add2b Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/test-1.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/test-2.png b/account_report_send_by_mail/static/description/assets/icons/test-2.png new file mode 100755 index 000000000..4671fe91e Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/test-2.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/trading-black.png b/account_report_send_by_mail/static/description/assets/icons/trading-black.png new file mode 100755 index 000000000..9398ba2f1 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/trading-black.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/training.png b/account_report_send_by_mail/static/description/assets/icons/training.png new file mode 100755 index 000000000..884ca024d Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/training.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/translate.svg b/account_report_send_by_mail/static/description/assets/icons/translate.svg new file mode 100755 index 000000000..af9c8a1aa --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/update.png b/account_report_send_by_mail/static/description/assets/icons/update.png new file mode 100755 index 000000000..ecbc5a01a Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/update.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/user.png b/account_report_send_by_mail/static/description/assets/icons/user.png new file mode 100755 index 000000000..6ffb23d9f Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/user.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/video.png b/account_report_send_by_mail/static/description/assets/icons/video.png new file mode 100755 index 000000000..576705b17 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/video.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/whatsapp.png b/account_report_send_by_mail/static/description/assets/icons/whatsapp.png new file mode 100755 index 000000000..d513a5356 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/whatsapp.png differ diff --git a/account_report_send_by_mail/static/description/assets/icons/wrench-icon.svg b/account_report_send_by_mail/static/description/assets/icons/wrench-icon.svg new file mode 100755 index 000000000..174b5a465 --- /dev/null +++ b/account_report_send_by_mail/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/account_report_send_by_mail/static/description/assets/icons/wrench.png b/account_report_send_by_mail/static/description/assets/icons/wrench.png new file mode 100755 index 000000000..6c04dea0f Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/icons/wrench.png differ diff --git a/account_report_send_by_mail/static/description/assets/modules/1.gif b/account_report_send_by_mail/static/description/assets/modules/1.gif new file mode 100755 index 000000000..ae3a880a2 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/modules/1.gif differ diff --git a/account_report_send_by_mail/static/description/assets/modules/2.gif b/account_report_send_by_mail/static/description/assets/modules/2.gif new file mode 100755 index 000000000..d19e2b352 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/modules/2.gif differ diff --git a/account_report_send_by_mail/static/description/assets/modules/3.png b/account_report_send_by_mail/static/description/assets/modules/3.png new file mode 100755 index 000000000..8513873ea Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/modules/3.png differ diff --git a/account_report_send_by_mail/static/description/assets/modules/4.png b/account_report_send_by_mail/static/description/assets/modules/4.png new file mode 100755 index 000000000..3bedf7981 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/modules/4.png differ diff --git a/account_report_send_by_mail/static/description/assets/modules/5.png b/account_report_send_by_mail/static/description/assets/modules/5.png new file mode 100755 index 000000000..0e311ca87 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/modules/5.png differ diff --git a/account_report_send_by_mail/static/description/assets/modules/6.jpg b/account_report_send_by_mail/static/description/assets/modules/6.jpg new file mode 100755 index 000000000..67c7f7062 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/modules/6.jpg differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/1.png b/account_report_send_by_mail/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..45744f707 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/1.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/2.png b/account_report_send_by_mail/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..ef1f7d91c Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/2.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/3.png b/account_report_send_by_mail/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..69e7d95b1 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/3.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/4.png b/account_report_send_by_mail/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..8691236d0 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/4.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/5.png b/account_report_send_by_mail/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..c20e47e3f Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/5.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/6.png b/account_report_send_by_mail/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..cd9fc186b Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/6.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/7.png b/account_report_send_by_mail/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..20c66202a Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/7.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/acc1.png b/account_report_send_by_mail/static/description/assets/screenshots/acc1.png new file mode 100644 index 000000000..c15cdad90 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/acc1.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/acc2.png b/account_report_send_by_mail/static/description/assets/screenshots/acc2.png new file mode 100644 index 000000000..6a3744a4f Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/acc2.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/acc3.png b/account_report_send_by_mail/static/description/assets/screenshots/acc3.png new file mode 100644 index 000000000..77afa88cc Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/acc3.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/acc5.png b/account_report_send_by_mail/static/description/assets/screenshots/acc5.png new file mode 100644 index 000000000..00b029605 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/acc5.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/acc6.png b/account_report_send_by_mail/static/description/assets/screenshots/acc6.png new file mode 100644 index 000000000..63a0bbe98 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/acc6.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/acc7.png b/account_report_send_by_mail/static/description/assets/screenshots/acc7.png new file mode 100644 index 000000000..ce3cd639d Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/acc7.png differ diff --git a/account_report_send_by_mail/static/description/assets/screenshots/hero.gif b/account_report_send_by_mail/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..2deb34517 Binary files /dev/null and b/account_report_send_by_mail/static/description/assets/screenshots/hero.gif differ diff --git a/account_report_send_by_mail/static/description/banner.jpg b/account_report_send_by_mail/static/description/banner.jpg new file mode 100644 index 000000000..9c4d566d7 Binary files /dev/null and b/account_report_send_by_mail/static/description/banner.jpg differ diff --git a/account_report_send_by_mail/static/description/icon.png b/account_report_send_by_mail/static/description/icon.png new file mode 100644 index 000000000..71c03f784 Binary files /dev/null and b/account_report_send_by_mail/static/description/icon.png differ diff --git a/account_report_send_by_mail/static/description/index.html b/account_report_send_by_mail/static/description/index.html new file mode 100644 index 000000000..8f6e2bec9 --- /dev/null +++ b/account_report_send_by_mail/static/description/index.html @@ -0,0 +1,917 @@ + + + + + + Account Report Send By Mail + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+
+ +
+
+
+
+

+ Create account report based on user requirements and send it + by mail +

+

Account Report Send By Mail +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

Key + Heighlights

+
+
+
+
+ +
+
+ Choose report type. +
+

+ The user can + select the type of report, whether it is a + current report or an unfolded line report.

+
+
+
+
+
+ +
+
+ Report send to mail. +
+

+ The PDF of + accounting report can be sent to the recipient's + email. +

+
+
+
+
+
+ +
+
+ Enterprise Support +
+

+ Available in + Odoo 17.0 Enterprise. +

+
+
+
+
+ +
+
+
+ Account Report Send By Mail +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Click 'Send Mail' button for choose report + type. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ When click 'Send Current Report' button then + it will display a wizard with attachment of + current report PDF. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Click on 'Send Mail' button, an email will + be send to recipient's mail +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Attached Current PDF report can be seen + here. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Current PDF Report

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ When click 'Send All Unfolded line Report' + button then it will display a wizard with + attachment of unfolded line report PDF

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Unfolded line Report

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Create account + report and send it by mail.

+
+ +
+
+
+
+
+
+ +
+

+ User can select + report type as current report or unfolded line + report.

+
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 03rd January, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/account_report_send_by_mail/static/src/css/send_mail_report.css b/account_report_send_by_mail/static/src/css/send_mail_report.css new file mode 100644 index 000000000..3a5b0bd91 --- /dev/null +++ b/account_report_send_by_mail/static/src/css/send_mail_report.css @@ -0,0 +1,32 @@ +/* Send mail wizard styles added here */ +#popup{ + padding:10px; + display:none; + } +#send_mail_content{ + padding:15px; + margin-top: 23%; + width: 500px; +} +#close{ + width:25px; + align:right; + border-radius:5px; + border:1px solid purple; + background-color:transparent; + color:purple; + margin:5px; +} +.close_button{ + width: 100%; + display: flex; + justify-content: flex-end; +} +.report-btn{ + display:flex; + justify-content:center; + align-items:center; + gap:20px; + padding-top:10px; + padding-bottom:15px; +} diff --git a/account_report_send_by_mail/static/src/js/report_action.js b/account_report_send_by_mail/static/src/js/report_action.js new file mode 100644 index 000000000..9291abdab --- /dev/null +++ b/account_report_send_by_mail/static/src/js/report_action.js @@ -0,0 +1,82 @@ +/** @odoo-module **/ +import { AccountReportButtonsBar } from "@account_reports/components/account_report/buttons_bar/buttons_bar"; +import { patch } from "@web/core/utils/patch"; +import { useService } from "@web/core/utils/hooks"; +const {useRef } = owl; +import { _t } from "@web/core/l10n/translation"; + +patch(AccountReportButtonsBar.prototype,{ +//created send mail report and report actions are performed here. + setup() { + // super the setup + super.setup(); + this.orm = useService("orm"); + this.actionService = useService('action'); + this.popup = useRef("popup"); + this.report_id = this.controller.actionReportId; + }, + close_button() { +// close the wizard + this.popup.el.style.display ="none"; + }, + send_mail() { +// display the send mail wizard + this.popup.el.style.display ="block"; + }, + send_current_report() { +// generate current pdf report and display on the mail wizard + var self = this; + var unfolded_list = [] + var unfolded = false + var lines = self.controller.data.lines + for (var line of lines){ + if (line.unfolded == true ){ + unfolded_list.push(line.id) + } + } + console.log(unfolded_list) + this.orm.call('send.mail.report', 'send_current_report', [{}], {context: {report: this.report_id, + unfolded_lines:unfolded_list,unfolded:unfolded}}) + .then(function(pdf) { + if (pdf) { + self.actionService.doAction({ + type: 'ir.actions.act_window', + name: _t('Send Mail'), + res_model: 'send.mail.report', + views: [[false, "form"]], + view_mode: 'form', + target: 'new', + context: { + 'default_report': self.report_id, + 'default_subject': 'Accounting Report', + 'default_attachment_ids': [pdf], + }, + }); + } + }); + this.close_button(); + }, + send_unfolded_report() { +// generate unfolded report pdf and display on the mail wizard + var self = this; + this.orm.call('send.mail.report', 'send_unfolded_report', [{}], {context: {report: this.report_id}}) + .then(function(pdf) { + if (pdf) { + self.actionService.doAction({ + type: 'ir.actions.act_window', + name: _t('Send Mail'), + res_model: 'send.mail.report', + views: [[false, "form"]], + view_mode: 'form', + target: 'new', + context: { + 'default_report': self.report_id, + 'default_subject': 'Accounting Report', + 'default_attachment_ids': [pdf], + }, + }); + } + }); + this.close_button(); + }, + }) diff --git a/account_report_send_by_mail/static/src/xml/report_action.xml b/account_report_send_by_mail/static/src/xml/report_action.xml new file mode 100644 index 000000000..9c78c4bdc --- /dev/null +++ b/account_report_send_by_mail/static/src/xml/report_action.xml @@ -0,0 +1,30 @@ + + + + + + +
+ + +
+
+
+
diff --git a/account_report_send_by_mail/wizard/__init__.py b/account_report_send_by_mail/wizard/__init__.py new file mode 100644 index 000000000..0f2e6bc73 --- /dev/null +++ b/account_report_send_by_mail/wizard/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ + +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions() +# +# This program is under the terms of the Odoo Proprietary License v1.0 +# (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +from .import send_mail_report diff --git a/account_report_send_by_mail/wizard/send_mail_report.py b/account_report_send_by_mail/wizard/send_mail_report.py new file mode 100644 index 000000000..37bb98b18 --- /dev/null +++ b/account_report_send_by_mail/wizard/send_mail_report.py @@ -0,0 +1,142 @@ +# -*- coding: utf-8 -*- +################################################################################ + +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions() +# +# This program is under the terms of the Odoo Proprietary License v1.0 +# (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the +# Software or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. +# +################################################################################ +import base64 +import markupsafe +from odoo import fields, models + + +class SendMailReport(models.TransientModel): + """Created a new transient model for send mail""" + _name = 'send.mail.report' + _description = "Display send mail wizard details" + + partner_id = fields.Many2one('res.partner', string='Recipient', + required=True, help="Select one recipient") + subject = fields.Char(string='Subject', required=True, + help="Subject of the email") + email_body = fields.Html(required=True, String="Content", + help="Body of the email") + attachment_ids = fields.Many2many( + 'ir.attachment', string='Attachments', readonly=True, + help="Report attachment ") + report = fields.Integer(string="Report", help="report id") + + def send_current_report(self): + """Create current accounting PDF report""" + report_value = False + return self.main_function(report_value) + + def send_unfolded_report(self): + """Create unfolded PDF report""" + report_value = True + return self.main_function(report_value) + + def main_function(self, report_value): + """Report action of current report and unfolded report + pdf is generated""" + report_id = self.env.context.get('report') + unfolded = self.env.context.get('unfolded_lines') + custom_context = { + 'mode': 'print', + 'base_url': self.env['ir.config_parameter'].sudo().get_param( + 'report.url') or + self.env['ir.config_parameter'].sudo().get_param( + 'web.base.url'), + 'company': self.env.company, + } + if self.report: + custom_reports_to_print = self.env['account.report'].browse( + self.report) + else: + custom_reports_to_print = self.env['account.report'].browse( + report_id) + self.report = report_id + custom_bodies = [] + max_custom_col_number = 0 + for custom_report in custom_reports_to_print: + if not report_value: + custom_report_options = custom_report.get_options( + previous_options={'selected_section_id': custom_report.id, + 'unfolded_lines': unfolded} + ) + else: + custom_report_options = custom_report.get_options( + previous_options={'selected_section_id': custom_report.id, + 'unfold_all': True} + ) + max_custom_col_number = max(max_custom_col_number, + len(custom_report_options[ + 'columns']) * len( + custom_report_options[ + 'column_groups'])) + custom_bodies.append(custom_report._get_pdf_export_html( + custom_report_options, + custom_report._filter_out_folded_children( + custom_report._get_lines(custom_report_options)), + additional_context={'base_url': self.env[ + 'ir.config_parameter'].sudo().get_param( + 'report.url') or self.env[ + 'ir.config_parameter'].sudo().get_param( + 'web.base.url')} + )) + custom_footer_data = self.env['ir.actions.report']._render_template( + "account_reports.internal_layout", values=custom_context) + footer_decode = custom_footer_data.decode() + custom_footer = self.env['ir.actions.report']._render_template( + "web.minimal_layout", values=dict(custom_context, subst=True, + body=markupsafe.Markup( + footer_decode))) + custom_file_content = self.env['ir.actions.report']._run_wkhtmltopdf( + custom_bodies, + footer=custom_footer.decode(), + landscape=max_custom_col_number > 5, + specific_paperformat_args={ + 'data-report-margin-top': 10, + 'data-report-header-spacing': 10, + 'data-report-margin-bottom': 15, + } + ) + if report_id: + report_name = self.env['account.report'].browse(report_id).name + attachment_values = {'name': f"""{report_name}.pdf""", + 'type': 'binary', + 'datas': base64.b64encode(custom_file_content), + 'mimetype': 'application/pdf', + 'res_model': 'account.report', + 'res_id': report_id} + attachment = self.env['ir.attachment'].sudo().create( + attachment_values) + return attachment.id + + def action_send_report_mail(self): + """Action for send account PDF report to recipient mail""" + mail_template = (self.env.ref( + 'account_report_send_by_mail.email_template_account_report')) + email_values = {'email_from': self.env.user.email, + 'email_to': self.partner_id.email, + 'subject': self.subject, + 'attachment_ids': [(4, self.attachment_ids.id)], + } + mail_template.send_mail(self.id, email_values=email_values, + force_send=True) + mail_template.attachment_ids = [(5, 0, 0)] diff --git a/account_report_send_by_mail/wizard/send_mail_report.xml b/account_report_send_by_mail/wizard/send_mail_report.xml new file mode 100644 index 000000000..bf761e749 --- /dev/null +++ b/account_report_send_by_mail/wizard/send_mail_report.xml @@ -0,0 +1,24 @@ + + + + + send.mail.report.view.form + send.mail.report + +
+ + + + + + + + +
+
+
+
+
+
diff --git a/activity_reminder/README.rst b/activity_reminder/README.rst new file mode 100644 index 000000000..8062ab9d1 --- /dev/null +++ b/activity_reminder/README.rst @@ -0,0 +1,55 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Activity Reminder +================= + This app allows us to set an reminder email to the employees regarding their activities + +Configuration +============= +* Enable Set Activity Alarm button in users, settings + +Installation +============ +- www.odoo.com/documentation/17.0/setup/install.html +- Install our custom addon + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developers: + (V16) Dhanya Babu, + (V17) Jumana Haseen, + (V18) Ranjith R, +Contact : odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/activity_reminder/__init__.py b/activity_reminder/__init__.py new file mode 100644 index 000000000..d96aecdec --- /dev/null +++ b/activity_reminder/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/activity_reminder/__manifest__.py b/activity_reminder/__manifest__.py new file mode 100644 index 000000000..12da20efd --- /dev/null +++ b/activity_reminder/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Activity Reminder', + 'version': '18.0.1.0.0', + 'category': 'Discuss', + 'summary': "Setting an reminder email to employees for their activity ", + 'description': "Setting a reminder email to employees for their activity by" + " scheduling a cron job involves automating the process of " + "sending reminder emails at specified intervals " + "using a cron job.", + 'author': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['mail'], + 'data': + [ + 'security/mail_activity_schedule_groups.xml', + 'data/mail_activity_schedule_data.xml', + 'views/mail_activity_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/activity_reminder/data/mail_activity_schedule_data.xml b/activity_reminder/data/mail_activity_schedule_data.xml new file mode 100644 index 000000000..5282b7812 --- /dev/null +++ b/activity_reminder/data/mail_activity_schedule_data.xml @@ -0,0 +1,12 @@ + + + + + Activity Reminder + + code + model.activity_cron() + 1 + days + + diff --git a/activity_reminder/doc/RELEASE_NOTES.md b/activity_reminder/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..5679ccddb --- /dev/null +++ b/activity_reminder/doc/RELEASE_NOTES.md @@ -0,0 +1,5 @@ +## Module +#### 02.01.2025 +#### Version 18.0.1.0.0 +#### ADD +- Initial Commit For Activity Reminder diff --git a/activity_reminder/models/__init__.py b/activity_reminder/models/__init__.py new file mode 100644 index 000000000..4d7aef707 --- /dev/null +++ b/activity_reminder/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import mail_activity_schedule diff --git a/activity_reminder/models/mail_activity_schedule.py b/activity_reminder/models/mail_activity_schedule.py new file mode 100644 index 000000000..b526d3bb4 --- /dev/null +++ b/activity_reminder/models/mail_activity_schedule.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class MailActivitySchedule(models.TransientModel): + """Inheriting model 'mail.activity.schedule' to add fields""" + _inherit = 'mail.activity.schedule' + + reminder_due_date = fields.Date( + string='Reminder Due Date', + help='Reminder due date', + groups='activity_reminder.group_set_activity_alarm') + + def activity_cron(self): + """Scheduling a cron job to identify activities + with a reminder due date matching the current date.""" + # Manually add the group to the user + activities = self.env['mail.activity.schedule'].search( + [('reminder_due_date', '=', fields.date.today())]) + for activity in activities: + mail_values = { + 'subject': 'Reminder: Activity {} is due ' + '{}.'.format(activity.summary, + activity.date_deadline), + 'body_html': 'This is a reminder that ' + 'activity {}' + ' is due {}. Please take action' + ' accordingly.Its due date is ' + '{}.'.format(activity.summary, + activity.date_deadline, + activity.date_deadline), + 'email_from': self.env.user.email, + 'email_to': activity.activity_user_id.email, + } + self.env['mail.mail'].create(mail_values).send() diff --git a/activity_reminder/security/mail_activity_schedule_groups.xml b/activity_reminder/security/mail_activity_schedule_groups.xml new file mode 100644 index 000000000..f964a8adc --- /dev/null +++ b/activity_reminder/security/mail_activity_schedule_groups.xml @@ -0,0 +1,12 @@ + + + + + Activity Alarm + 20 + + + + Set Activity Alarm + + diff --git a/activity_reminder/static/description/assets/cybro-icon.png b/activity_reminder/static/description/assets/cybro-icon.png new file mode 100755 index 000000000..06e73e11d Binary files /dev/null and b/activity_reminder/static/description/assets/cybro-icon.png differ diff --git a/activity_reminder/static/description/assets/cybro-odoo.png b/activity_reminder/static/description/assets/cybro-odoo.png new file mode 100755 index 000000000..ed02e07a4 Binary files /dev/null and b/activity_reminder/static/description/assets/cybro-odoo.png differ diff --git a/activity_reminder/static/description/assets/h2.png b/activity_reminder/static/description/assets/h2.png new file mode 100755 index 000000000..0bfc4707d Binary files /dev/null and b/activity_reminder/static/description/assets/h2.png differ diff --git a/activity_reminder/static/description/assets/icons/arrows-repeat.svg b/activity_reminder/static/description/assets/icons/arrows-repeat.svg new file mode 100755 index 000000000..1d7efabc5 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/banner-1.png b/activity_reminder/static/description/assets/icons/banner-1.png new file mode 100755 index 000000000..c180db172 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/banner-1.png differ diff --git a/activity_reminder/static/description/assets/icons/banner-2.svg b/activity_reminder/static/description/assets/icons/banner-2.svg new file mode 100755 index 000000000..e606d97d9 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/banner-bg.png b/activity_reminder/static/description/assets/icons/banner-bg.png new file mode 100755 index 000000000..a8238d3c0 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/banner-bg.png differ diff --git a/activity_reminder/static/description/assets/icons/banner-bg.svg b/activity_reminder/static/description/assets/icons/banner-bg.svg new file mode 100755 index 000000000..b1378103e --- /dev/null +++ b/activity_reminder/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/banner-call.svg b/activity_reminder/static/description/assets/icons/banner-call.svg new file mode 100755 index 000000000..96c687e81 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/activity_reminder/static/description/assets/icons/banner-mail.svg b/activity_reminder/static/description/assets/icons/banner-mail.svg new file mode 100755 index 000000000..cbf0d158d --- /dev/null +++ b/activity_reminder/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/activity_reminder/static/description/assets/icons/banner-pattern.svg b/activity_reminder/static/description/assets/icons/banner-pattern.svg new file mode 100755 index 000000000..9c1c7e101 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/banner-promo.svg b/activity_reminder/static/description/assets/icons/banner-promo.svg new file mode 100755 index 000000000..d52791b11 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/brand-pair.svg b/activity_reminder/static/description/assets/icons/brand-pair.svg new file mode 100755 index 000000000..d8db7fc1e --- /dev/null +++ b/activity_reminder/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/check.png b/activity_reminder/static/description/assets/icons/check.png new file mode 100755 index 000000000..c8e85f51d Binary files /dev/null and b/activity_reminder/static/description/assets/icons/check.png differ diff --git a/activity_reminder/static/description/assets/icons/chevron.png b/activity_reminder/static/description/assets/icons/chevron.png new file mode 100755 index 000000000..2089293d6 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/chevron.png differ diff --git a/activity_reminder/static/description/assets/icons/close-icon.svg b/activity_reminder/static/description/assets/icons/close-icon.svg new file mode 100755 index 000000000..df8cce37a --- /dev/null +++ b/activity_reminder/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/activity_reminder/static/description/assets/icons/cogs.png b/activity_reminder/static/description/assets/icons/cogs.png new file mode 100755 index 000000000..95d0bad62 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/cogs.png differ diff --git a/activity_reminder/static/description/assets/icons/collabarate-icon.svg b/activity_reminder/static/description/assets/icons/collabarate-icon.svg new file mode 100755 index 000000000..dd4e10518 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/activity_reminder/static/description/assets/icons/consultation.png b/activity_reminder/static/description/assets/icons/consultation.png new file mode 100755 index 000000000..8319d4baa Binary files /dev/null and b/activity_reminder/static/description/assets/icons/consultation.png differ diff --git a/activity_reminder/static/description/assets/icons/cybro-logo.png b/activity_reminder/static/description/assets/icons/cybro-logo.png new file mode 100755 index 000000000..ff4b78220 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/cybro-logo.png differ diff --git a/activity_reminder/static/description/assets/icons/down.svg b/activity_reminder/static/description/assets/icons/down.svg new file mode 100755 index 000000000..f21c36271 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/activity_reminder/static/description/assets/icons/ecom-black.png b/activity_reminder/static/description/assets/icons/ecom-black.png new file mode 100755 index 000000000..a9385ff13 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/ecom-black.png differ diff --git a/activity_reminder/static/description/assets/icons/education-black.png b/activity_reminder/static/description/assets/icons/education-black.png new file mode 100755 index 000000000..3eb09b27b Binary files /dev/null and b/activity_reminder/static/description/assets/icons/education-black.png differ diff --git a/activity_reminder/static/description/assets/icons/faq.png b/activity_reminder/static/description/assets/icons/faq.png new file mode 100755 index 000000000..4250b5b81 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/faq.png differ diff --git a/activity_reminder/static/description/assets/icons/feature-icon.svg b/activity_reminder/static/description/assets/icons/feature-icon.svg new file mode 100755 index 000000000..fa0ea6850 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/feature.png b/activity_reminder/static/description/assets/icons/feature.png new file mode 100755 index 000000000..ac7a785c0 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/feature.png differ diff --git a/activity_reminder/static/description/assets/icons/gear.svg b/activity_reminder/static/description/assets/icons/gear.svg new file mode 100755 index 000000000..0cc66b6ea --- /dev/null +++ b/activity_reminder/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/hero.gif b/activity_reminder/static/description/assets/icons/hero.gif new file mode 100755 index 000000000..380654dfe Binary files /dev/null and b/activity_reminder/static/description/assets/icons/hero.gif differ diff --git a/activity_reminder/static/description/assets/icons/hire-odoo.svg b/activity_reminder/static/description/assets/icons/hire-odoo.svg new file mode 100755 index 000000000..e1ac089b0 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/hotel-black.png b/activity_reminder/static/description/assets/icons/hotel-black.png new file mode 100755 index 000000000..130f613be Binary files /dev/null and b/activity_reminder/static/description/assets/icons/hotel-black.png differ diff --git a/activity_reminder/static/description/assets/icons/license.png b/activity_reminder/static/description/assets/icons/license.png new file mode 100755 index 000000000..a5869797e Binary files /dev/null and b/activity_reminder/static/description/assets/icons/license.png differ diff --git a/activity_reminder/static/description/assets/icons/life-ring-icon.svg b/activity_reminder/static/description/assets/icons/life-ring-icon.svg new file mode 100755 index 000000000..3ae6e1d89 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/lifebuoy.png b/activity_reminder/static/description/assets/icons/lifebuoy.png new file mode 100755 index 000000000..658d56ccc Binary files /dev/null and b/activity_reminder/static/description/assets/icons/lifebuoy.png differ diff --git a/activity_reminder/static/description/assets/icons/mail.svg b/activity_reminder/static/description/assets/icons/mail.svg new file mode 100755 index 000000000..1eedde695 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/activity_reminder/static/description/assets/icons/manufacturing-black.png b/activity_reminder/static/description/assets/icons/manufacturing-black.png new file mode 100755 index 000000000..697eb0e9f Binary files /dev/null and b/activity_reminder/static/description/assets/icons/manufacturing-black.png differ diff --git a/activity_reminder/static/description/assets/icons/notes.png b/activity_reminder/static/description/assets/icons/notes.png new file mode 100755 index 000000000..ee5e95404 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/notes.png differ diff --git a/activity_reminder/static/description/assets/icons/notification icon.svg b/activity_reminder/static/description/assets/icons/notification icon.svg new file mode 100755 index 000000000..053189973 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/odoo-consultancy.svg b/activity_reminder/static/description/assets/icons/odoo-consultancy.svg new file mode 100755 index 000000000..e05f65bde --- /dev/null +++ b/activity_reminder/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/activity_reminder/static/description/assets/icons/odoo-licencing.svg b/activity_reminder/static/description/assets/icons/odoo-licencing.svg new file mode 100755 index 000000000..2606c88b0 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/activity_reminder/static/description/assets/icons/odoo-logo.png b/activity_reminder/static/description/assets/icons/odoo-logo.png new file mode 100755 index 000000000..0e4d0eb5a Binary files /dev/null and b/activity_reminder/static/description/assets/icons/odoo-logo.png differ diff --git a/activity_reminder/static/description/assets/icons/patter.svg b/activity_reminder/static/description/assets/icons/patter.svg new file mode 100755 index 000000000..25c9c0a8f --- /dev/null +++ b/activity_reminder/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/pattern1.png b/activity_reminder/static/description/assets/icons/pattern1.png new file mode 100755 index 000000000..09ab0fb2d Binary files /dev/null and b/activity_reminder/static/description/assets/icons/pattern1.png differ diff --git a/activity_reminder/static/description/assets/icons/pos-black.png b/activity_reminder/static/description/assets/icons/pos-black.png new file mode 100755 index 000000000..97c0f90c1 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/pos-black.png differ diff --git a/activity_reminder/static/description/assets/icons/puzzle-piece-icon.svg b/activity_reminder/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100755 index 000000000..3e9ad9373 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/puzzle.png b/activity_reminder/static/description/assets/icons/puzzle.png new file mode 100755 index 000000000..65cf854e7 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/puzzle.png differ diff --git a/activity_reminder/static/description/assets/icons/replace-icon.svg b/activity_reminder/static/description/assets/icons/replace-icon.svg new file mode 100755 index 000000000..d0e3a7af1 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/restaurant-black.png b/activity_reminder/static/description/assets/icons/restaurant-black.png new file mode 100755 index 000000000..4a35eb939 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/restaurant-black.png differ diff --git a/activity_reminder/static/description/assets/icons/screenshot-main.png b/activity_reminder/static/description/assets/icons/screenshot-main.png new file mode 100755 index 000000000..575f8e676 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/screenshot-main.png differ diff --git a/activity_reminder/static/description/assets/icons/screenshot.png b/activity_reminder/static/description/assets/icons/screenshot.png new file mode 100755 index 000000000..cef272529 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/screenshot.png differ diff --git a/activity_reminder/static/description/assets/icons/service-black.png b/activity_reminder/static/description/assets/icons/service-black.png new file mode 100755 index 000000000..301ab51cb Binary files /dev/null and b/activity_reminder/static/description/assets/icons/service-black.png differ diff --git a/activity_reminder/static/description/assets/icons/skype-fill.svg b/activity_reminder/static/description/assets/icons/skype-fill.svg new file mode 100755 index 000000000..c17423639 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/skype.png b/activity_reminder/static/description/assets/icons/skype.png new file mode 100755 index 000000000..51b409fb3 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/skype.png differ diff --git a/activity_reminder/static/description/assets/icons/skype.svg b/activity_reminder/static/description/assets/icons/skype.svg new file mode 100755 index 000000000..df3dad39b --- /dev/null +++ b/activity_reminder/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/activity_reminder/static/description/assets/icons/star-1.svg b/activity_reminder/static/description/assets/icons/star-1.svg new file mode 100755 index 000000000..7e55ab162 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/star-2.svg b/activity_reminder/static/description/assets/icons/star-2.svg new file mode 100755 index 000000000..5ae9f507a --- /dev/null +++ b/activity_reminder/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/support.png b/activity_reminder/static/description/assets/icons/support.png new file mode 100755 index 000000000..4f18b8b82 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/support.png differ diff --git a/activity_reminder/static/description/assets/icons/test-1 - Copy.png b/activity_reminder/static/description/assets/icons/test-1 - Copy.png new file mode 100755 index 000000000..f6a902663 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/test-1 - Copy.png differ diff --git a/activity_reminder/static/description/assets/icons/test-1.png b/activity_reminder/static/description/assets/icons/test-1.png new file mode 100755 index 000000000..0908add2b Binary files /dev/null and b/activity_reminder/static/description/assets/icons/test-1.png differ diff --git a/activity_reminder/static/description/assets/icons/test-2.png b/activity_reminder/static/description/assets/icons/test-2.png new file mode 100755 index 000000000..4671fe91e Binary files /dev/null and b/activity_reminder/static/description/assets/icons/test-2.png differ diff --git a/activity_reminder/static/description/assets/icons/trading-black.png b/activity_reminder/static/description/assets/icons/trading-black.png new file mode 100755 index 000000000..9398ba2f1 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/trading-black.png differ diff --git a/activity_reminder/static/description/assets/icons/training.png b/activity_reminder/static/description/assets/icons/training.png new file mode 100755 index 000000000..884ca024d Binary files /dev/null and b/activity_reminder/static/description/assets/icons/training.png differ diff --git a/activity_reminder/static/description/assets/icons/translate.svg b/activity_reminder/static/description/assets/icons/translate.svg new file mode 100755 index 000000000..af9c8a1aa --- /dev/null +++ b/activity_reminder/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/update.png b/activity_reminder/static/description/assets/icons/update.png new file mode 100755 index 000000000..ecbc5a01a Binary files /dev/null and b/activity_reminder/static/description/assets/icons/update.png differ diff --git a/activity_reminder/static/description/assets/icons/user.png b/activity_reminder/static/description/assets/icons/user.png new file mode 100755 index 000000000..6ffb23d9f Binary files /dev/null and b/activity_reminder/static/description/assets/icons/user.png differ diff --git a/activity_reminder/static/description/assets/icons/video.png b/activity_reminder/static/description/assets/icons/video.png new file mode 100755 index 000000000..576705b17 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/video.png differ diff --git a/activity_reminder/static/description/assets/icons/whatsapp.png b/activity_reminder/static/description/assets/icons/whatsapp.png new file mode 100755 index 000000000..d513a5356 Binary files /dev/null and b/activity_reminder/static/description/assets/icons/whatsapp.png differ diff --git a/activity_reminder/static/description/assets/icons/wrench-icon.svg b/activity_reminder/static/description/assets/icons/wrench-icon.svg new file mode 100755 index 000000000..174b5a465 --- /dev/null +++ b/activity_reminder/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/activity_reminder/static/description/assets/icons/wrench.png b/activity_reminder/static/description/assets/icons/wrench.png new file mode 100755 index 000000000..6c04dea0f Binary files /dev/null and b/activity_reminder/static/description/assets/icons/wrench.png differ diff --git a/activity_reminder/static/description/assets/modules/1.jpg b/activity_reminder/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..3cb15fe01 Binary files /dev/null and b/activity_reminder/static/description/assets/modules/1.jpg differ diff --git a/activity_reminder/static/description/assets/modules/2.jpg b/activity_reminder/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..662cadcc3 Binary files /dev/null and b/activity_reminder/static/description/assets/modules/2.jpg differ diff --git a/activity_reminder/static/description/assets/modules/3.jpg b/activity_reminder/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..717a00443 Binary files /dev/null and b/activity_reminder/static/description/assets/modules/3.jpg differ diff --git a/activity_reminder/static/description/assets/modules/4.png b/activity_reminder/static/description/assets/modules/4.png new file mode 100644 index 000000000..00ebf54ad Binary files /dev/null and b/activity_reminder/static/description/assets/modules/4.png differ diff --git a/activity_reminder/static/description/assets/modules/5.jpg b/activity_reminder/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..7c67e2eec Binary files /dev/null and b/activity_reminder/static/description/assets/modules/5.jpg differ diff --git a/activity_reminder/static/description/assets/modules/6.gif b/activity_reminder/static/description/assets/modules/6.gif new file mode 100644 index 000000000..a35ece8df Binary files /dev/null and b/activity_reminder/static/description/assets/modules/6.gif differ diff --git a/activity_reminder/static/description/assets/screenshots/1.png b/activity_reminder/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..a9160732d Binary files /dev/null and b/activity_reminder/static/description/assets/screenshots/1.png differ diff --git a/activity_reminder/static/description/assets/screenshots/2.png b/activity_reminder/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..c67974190 Binary files /dev/null and b/activity_reminder/static/description/assets/screenshots/2.png differ diff --git a/activity_reminder/static/description/assets/screenshots/3.png b/activity_reminder/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..9cd9a9c2e Binary files /dev/null and b/activity_reminder/static/description/assets/screenshots/3.png differ diff --git a/activity_reminder/static/description/assets/screenshots/4.png b/activity_reminder/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..d5fe01751 Binary files /dev/null and b/activity_reminder/static/description/assets/screenshots/4.png differ diff --git a/activity_reminder/static/description/assets/screenshots/5.png b/activity_reminder/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..1e3dc3840 Binary files /dev/null and b/activity_reminder/static/description/assets/screenshots/5.png differ diff --git a/activity_reminder/static/description/assets/screenshots/hero.gif b/activity_reminder/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..9ef69a841 Binary files /dev/null and b/activity_reminder/static/description/assets/screenshots/hero.gif differ diff --git a/activity_reminder/static/description/assets/y18.jpg b/activity_reminder/static/description/assets/y18.jpg new file mode 100755 index 000000000..eea1714f2 Binary files /dev/null and b/activity_reminder/static/description/assets/y18.jpg differ diff --git a/activity_reminder/static/description/banner.jpg b/activity_reminder/static/description/banner.jpg new file mode 100644 index 000000000..c6ba38ebd Binary files /dev/null and b/activity_reminder/static/description/banner.jpg differ diff --git a/activity_reminder/static/description/icon.png b/activity_reminder/static/description/icon.png new file mode 100644 index 000000000..64e574bc4 Binary files /dev/null and b/activity_reminder/static/description/icon.png differ diff --git a/activity_reminder/static/description/index.html b/activity_reminder/static/description/index.html new file mode 100644 index 000000000..b8170ed0d --- /dev/null +++ b/activity_reminder/static/description/index.html @@ -0,0 +1,1092 @@ + + + + + + Activity Reminder + + + + + + + + + + +
+
+ + + +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ This app remind your employees about their + scheduled + activities by sending an email. +

+

Activity Reminder +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ This app remind your employees about their + scheduled + activities by sending an email. +
+
+
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Employee will get a Reminder Email about + their activity. +
+
+
+
+
+
+ +
+
+ Community & Enterprise + Support.
+
+
+
+
+ +
+
+
+ Activity Reminder +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ To Set An Activity Alarm, Enable the Boolean Field. + +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Go to the Activities Button +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ + Set an activity and add the type of activity reminder, reminder due date. + +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ +Set a schedule action for the reminder. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ +Employee will get email reminder. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Available in Community and + Enterprise +

+
+
+
+
+
+
+
+ +
+

+ Employee to get a Reminder + Email about their + activity.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ Employees + receive reminder + emails about + their scheduled + activities, + helping them + stay on top of + their tasks and + deadlines. +

+
+
+ +
+ +
+

+ Reminder emails + are triggered + based on the + scheduled + activity date + and type. The + system + automatically + sends + notifications to + ensure employees + are informed. +

+
+
+ +
+ +
+

+ Minimal setup is + required. Users + must ensure that + the email server + is correctly + configured in + Odoo, and + scheduled + activities are + assigned with + proper + deadlines. +

+
+
+ +
+ +
+

+ By providing + timely + reminders, the + module reduces + the chances of + missed deadlines + and helps + employees + prioritize tasks + effectively. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 2nd January, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • Initial Commit for + Activity Reminder + +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+
+ +
+
+ .... +
+
+ +
+
+ +
+
+ + + + + + diff --git a/activity_reminder/views/mail_activity_views.xml b/activity_reminder/views/mail_activity_views.xml new file mode 100644 index 000000000..05fcc4a61 --- /dev/null +++ b/activity_reminder/views/mail_activity_views.xml @@ -0,0 +1,18 @@ + + + + + + mail.activity.schedule.view.form.inherit.activity.reminder + + mail.activity.schedule + 21 + + + + + + + + diff --git a/advance_signup_page/README.rst b/advance_signup_page/README.rst new file mode 100644 index 000000000..55c69d40d --- /dev/null +++ b/advance_signup_page/README.rst @@ -0,0 +1,47 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Advance Signup Page +==================== +The user can create the Sign-Up page for their Odoo website using the Odoo Advance Sign Up tool. + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Affero General Public License, Version 3 (AGPL v3) +( https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developers: (V18): Ammu Raj, +Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/advance_signup_page/__init__.py b/advance_signup_page/__init__.py new file mode 100644 index 000000000..16d6e4700 --- /dev/null +++ b/advance_signup_page/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import controllers +from . import models diff --git a/advance_signup_page/__manifest__.py b/advance_signup_page/__manifest__.py new file mode 100644 index 000000000..bb1dfdd18 --- /dev/null +++ b/advance_signup_page/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': "Advance Signup Page", + 'version': '18.0.1.0.0', + 'category': 'Website', + 'summary': "The user can design a more creative and distinctive sign-up page" + "for their Odoo website by using Odoo Advance Sign Up", + 'description': "The user may create the Sign-Up page for their Odoo website" + "using the Odoo Advance Sign Up tool. Various dynamic fields" + "can be added by the Odoo admin as needed to the signup" + "form.The website page for signup, login, and password reset" + "can have custom background picture selected by the Odoo" + "admin. Admins may also add content to the login, register," + "and reset password pages from the Odoo backend.", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['website', 'auth_signup'], + 'data': [ + 'security/ir.model.access.csv', + 'views/signup_configuration_views.xml', + 'views/signup_fields_views.xml', + 'views/auth_signup_templates.xml' + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/advance_signup_page/controllers/__init__.py b/advance_signup_page/controllers/__init__.py new file mode 100644 index 000000000..03b8a03a1 --- /dev/null +++ b/advance_signup_page/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import auth_signup diff --git a/advance_signup_page/controllers/auth_signup.py b/advance_signup_page/controllers/auth_signup.py new file mode 100644 index 000000000..1f546a485 --- /dev/null +++ b/advance_signup_page/controllers/auth_signup.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +import logging +from werkzeug.urls import url_encode +from odoo import http, _ +from odoo.exceptions import UserError +from odoo.http import request +from odoo.addons.auth_signup.controllers.main import AuthSignupHome +from odoo.addons.auth_signup.models.res_users import SignupError +from odoo.addons.web.controllers.home import ensure_db + +_logger = logging.getLogger(__name__) + + +class AuthSignupHome(AuthSignupHome): + """Custom AuthSignupHome Controller for Handling Signup.This custom + AuthSignupHome controller extends the default Odoo 'AuthSignupHome' + controller to handle signup functionality.It provides methods for web + login and signup, including additional configuration fields.""" + @http.route() + def web_login(self, *args, **kw): + """ Perform web login.""" + ensure_db() + response = super().web_login(*args, **kw) + response.qcontext.update(self.get_auth_signup_config()) + if request.session.uid: + if request.httprequest.method == 'GET' and request.params.get( + 'redirect'): + # Redirect if already logged in and redirect param is present + return request.redirect(request.params.get('redirect')) + # Add message for non-internal user account without redirect + # if account was just created + if response.location == '/web/login_successful' and kw.get( + 'confirm_password'): + return request.redirect_query('/web/login_successful', + query={'account_created': True}) + return response + + @http.route('/web/signup', type='http', auth='public', website=True, + sitemap=False) + def web_auth_signup(self, *args, **kw): + """Overridden the controller function to add the configuration into + the qcontext""" + qcontext = self.get_auth_signup_qcontext() + configuration = request.env['signup.configuration'].sudo(). \ + search([('website_id', '=', request.website.id)], limit=1) + for key in kw: + qcontext[key] = kw[key] + if configuration: + qcontext.update({ + 'configuration': configuration + }) + if 'error' not in qcontext and request.httprequest.method == 'POST': + try: + self.do_signup(qcontext) + # Send an account creation confirmation email + user = request.env['res.users'] + user_sudo = user.sudo().search( + user._get_login_domain(qcontext.get('login')), + order=user._get_login_order(), limit=1 + ) + template = request.env.ref( + 'auth_signup.mail_template_user_signup_account_created', + raise_if_not_found=False) + if user_sudo and template: + template.sudo().send_mail(user_sudo.id, force_send=True) + return self.web_login(*args, **kw) + except UserError as e: + qcontext['error'] = e.args[0] + except (SignupError, AssertionError) as e: + if request.env["res.users"].sudo().search( + [("login", "=", qcontext.get("login"))]): + qcontext["error"] = _( + "Another user is already registered using this email " + "address.") + else: + _logger.error("%s", e) + qcontext['error'] = _("Could not create a new account.") + elif 'signup_email' in qcontext: + user = request.env['res.users'].sudo().search( + [('email', '=', qcontext.get('signup_email')), + ('state', '!=', 'new')], limit=1) + if user: + return request.redirect('/web/login?%s' % url_encode( + {'login': user.login, 'redirect': '/web'})) + response = request.render('auth_signup.signup', qcontext) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" + return response + + def _prepare_signup_values(self, qcontext): + """Updated the values with newly added fields""" + keys = ['login', 'name', 'password'] + configuration = request.env['signup.configuration'] \ + .sudo().search([], limit=1) + for field in configuration.signup_field_ids: + keys.append(field.field_id.name) + values = {key: qcontext.get(key) for key in keys} + if not values: + raise UserError(_("The form was not properly filled in.")) + if values.get('password') != qcontext.get('confirm_password'): + raise UserError(_("Passwords do not match; please retype them.")) + supported_lang_codes = [code for code, _ in + request.env['res.lang'].sudo().get_installed()] + lang = request.context.get('lang', '') + if lang in supported_lang_codes: + values['lang'] = lang + return values + + @http.route('/web/signup', type='http', auth="public", website=True, + sitemap=False) + def website_signup(self): + """Perform website signup.""" + values = {} + configuration_signup = request.env[ + 'configuration.signup'].sudo().search([], limit=1) + if configuration_signup.is_show_terms_conditions: + values[ + 'terms_and_conditions'] = configuration_signup \ + .terms_and_conditions + return request.render( + "advance_signup_portal.advance_signup_portal.fields", values) diff --git a/advance_signup_page/doc/RELEASE_NOTES.md b/advance_signup_page/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..4f18612d0 --- /dev/null +++ b/advance_signup_page/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 02.12.2024 +#### Version 18.0.1.0.0 +#### ADD + - Initial Commit for Advance Signup Page diff --git a/advance_signup_page/models/__init__.py b/advance_signup_page/models/__init__.py new file mode 100644 index 000000000..6199e0589 --- /dev/null +++ b/advance_signup_page/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import signup_configuration +from . import signup_field diff --git a/advance_signup_page/models/signup_configuration.py b/advance_signup_page/models/signup_configuration.py new file mode 100644 index 000000000..b8992a019 --- /dev/null +++ b/advance_signup_page/models/signup_configuration.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import fields, models + + +class SignupConfiguration(models.Model): + """Model for Signup Configuration.This class represents the Signup + Configuration model for the Odoo website.It is used to configure the + signup page, including defining fields, content,and other settings.""" + _name = 'signup.configuration' + _description = 'Signup Configuration' + _sql_constraints = [('website_id', 'unique(website_id)', + 'A record for this website is already exist')] + + name = fields.Char(string='Name', copy=False, required=True, + help='The name of the signup configuration.') + website_id = fields.Many2one(comodel_name='website', + string='Website', required=True, + help='The website associated with the signup' + ' configuration.') + is_active = fields.Boolean(string='Active', default=True, + help='Specifies if the signup configuration is ' + 'active or not.') + signup_field_ids = fields.One2many(comodel_name='signup.field', + inverse_name='configuration_id', + string='Signup Fields', + help='The fields associated with the ' + 'signup configuration.') + signup_page_content = fields.Html(string='Signup Page Content', + help='The content of the signup page.') + login_page_content = fields.Html(string='Login Page Content', + help='The content of the login page.') + reset_password_content = fields.Html(string='Reset Password Content', + help='The content of the reset' + ' password page.') + background_image = fields.Binary(string='Background Image', + help='The background image for the ' + 'signup page.') + is_show_terms_conditions = fields.Boolean( + string='Show Terms and Condition in Signup Page', + help='Specifies if the terms and conditions ' + 'should be shown on the signup page.') + terms_and_conditions = fields.Html(string='Terms and Conditions', + help='The terms and conditions' + ' text for the signup page.') diff --git a/advance_signup_page/models/signup_field.py b/advance_signup_page/models/signup_field.py new file mode 100644 index 000000000..ad658b2da --- /dev/null +++ b/advance_signup_page/models/signup_field.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Ammu Raj (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class SignupFields(models.Model): + """ Model for Signup Fields.This class represents the Signup Fields model + for the Odoo website. It is used to define and manage the fields that + users can sign up with.""" + _name = 'signup.field' + _description = 'Signup Fields for Website' + + field_id = fields.Many2one(comodel_name='ir.model.fields', + string='Signup Field', + domain=[('model_id.model', '=', 'res.users'), + ('ttype', 'in', ['char', 'integer', + 'float', 'text', 'date', + 'datetime', + 'binary', 'boolean'])], + help='The field associated with the ' + 'signup field.') + name = fields.Char(string='Field Label', + related='field_id.field_description', + help='The label of the signup field.') + placeholder = fields.Char(string='Placeholder', + help='The placeholder text for the ' + 'signup field.') + help_description = fields.Text(string='Help', + help='Additional help or description ' + 'for the signup field.') + field_type = fields.Char(string='Field Type', + readonly=True, + help='The type of the signup field.') + number_of_cols = fields.Selection(selection=[('2', '2'), ('3', '3'), + ('4', '4'), ('6', '6'), + ('12', '12')], + string='Number of Columns', + help='The number of columns for the ' + 'signup field layout.') + is_required = fields.Boolean(string='Is Required', + help='Specifies if the signup field is ' + 'required.') + configuration_id = fields.Many2one(comodel_name='signup.configuration', + help='The signup configuration ' + 'associated with the signup field') + + @api.model_create_multi + def create(self, vals_list): + """Create records for the SignupFields model.""" + field_ids = [vals['field_id'] for vals in vals_list if + 'field_id' in vals] + field_types = self.env['ir.model.fields'].browse(field_ids).mapped( + 'ttype') + for vals in vals_list: + if 'field_id' in vals: + vals['field_type'] = field_types[ + field_ids.index(vals['field_id'])] + records = super(SignupFields, self).create( + [vals for vals in vals_list if 'field_id' in vals]) + return records + + def write(self, vals): + """Override the function to update the field type while saving the + record""" + if 'field_id' in vals: + vals['field_type'] = self.env['ir.model.fields'].browse( + vals['field_id']).ttype + return super(SignupFields, self).write(vals) diff --git a/advance_signup_page/security/ir.model.access.csv b/advance_signup_page/security/ir.model.access.csv new file mode 100644 index 000000000..90b9346d5 --- /dev/null +++ b/advance_signup_page/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_signup_configuration_user,access.signup.configuration.user,model_signup_configuration,base.group_user,1,1,1,1 +access_signup_field_user,access.signup.field.user,model_signup_field,base.group_user,1,1,1,1 diff --git a/advance_signup_page/static/description/assets/cybro-icon.png b/advance_signup_page/static/description/assets/cybro-icon.png new file mode 100644 index 000000000..06e73e11d Binary files /dev/null and b/advance_signup_page/static/description/assets/cybro-icon.png differ diff --git a/advance_signup_page/static/description/assets/cybro-odoo.png b/advance_signup_page/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/advance_signup_page/static/description/assets/cybro-odoo.png differ diff --git a/advance_signup_page/static/description/assets/h2.png b/advance_signup_page/static/description/assets/h2.png new file mode 100644 index 000000000..0bfc4707d Binary files /dev/null and b/advance_signup_page/static/description/assets/h2.png differ diff --git a/advance_signup_page/static/description/assets/icons/arrows-repeat.svg b/advance_signup_page/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/banner-1.png b/advance_signup_page/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/banner-1.png differ diff --git a/advance_signup_page/static/description/assets/icons/banner-2.svg b/advance_signup_page/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/banner-bg.png b/advance_signup_page/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/banner-bg.png differ diff --git a/advance_signup_page/static/description/assets/icons/banner-bg.svg b/advance_signup_page/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/banner-call.svg b/advance_signup_page/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/advance_signup_page/static/description/assets/icons/banner-mail.svg b/advance_signup_page/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/advance_signup_page/static/description/assets/icons/banner-pattern.svg b/advance_signup_page/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/banner-promo.svg b/advance_signup_page/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/brand-pair.svg b/advance_signup_page/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/check.png b/advance_signup_page/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/check.png differ diff --git a/advance_signup_page/static/description/assets/icons/chevron.png b/advance_signup_page/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/chevron.png differ diff --git a/advance_signup_page/static/description/assets/icons/close-icon.svg b/advance_signup_page/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/advance_signup_page/static/description/assets/icons/cogs.png b/advance_signup_page/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/cogs.png differ diff --git a/advance_signup_page/static/description/assets/icons/collabarate-icon.svg b/advance_signup_page/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/advance_signup_page/static/description/assets/icons/consultation.png b/advance_signup_page/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/consultation.png differ diff --git a/advance_signup_page/static/description/assets/icons/cybro-logo.png b/advance_signup_page/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/cybro-logo.png differ diff --git a/advance_signup_page/static/description/assets/icons/down.svg b/advance_signup_page/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/advance_signup_page/static/description/assets/icons/ecom-black.png b/advance_signup_page/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/ecom-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/education-black.png b/advance_signup_page/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/education-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/faq.png b/advance_signup_page/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/faq.png differ diff --git a/advance_signup_page/static/description/assets/icons/feature-icon.svg b/advance_signup_page/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/feature.png b/advance_signup_page/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/feature.png differ diff --git a/advance_signup_page/static/description/assets/icons/gear.svg b/advance_signup_page/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/hero.gif b/advance_signup_page/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..380654dfe Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/hero.gif differ diff --git a/advance_signup_page/static/description/assets/icons/hire-odoo.svg b/advance_signup_page/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/hotel-black.png b/advance_signup_page/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/hotel-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/license.png b/advance_signup_page/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/license.png differ diff --git a/advance_signup_page/static/description/assets/icons/life-ring-icon.svg b/advance_signup_page/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/lifebuoy.png b/advance_signup_page/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/lifebuoy.png differ diff --git a/advance_signup_page/static/description/assets/icons/mail.svg b/advance_signup_page/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/advance_signup_page/static/description/assets/icons/manufacturing-black.png b/advance_signup_page/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/manufacturing-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/notes.png b/advance_signup_page/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/notes.png differ diff --git a/advance_signup_page/static/description/assets/icons/notification icon.svg b/advance_signup_page/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/odoo-consultancy.svg b/advance_signup_page/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/advance_signup_page/static/description/assets/icons/odoo-licencing.svg b/advance_signup_page/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/advance_signup_page/static/description/assets/icons/odoo-logo.png b/advance_signup_page/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/odoo-logo.png differ diff --git a/advance_signup_page/static/description/assets/icons/patter.svg b/advance_signup_page/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/pattern1.png b/advance_signup_page/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/pattern1.png differ diff --git a/advance_signup_page/static/description/assets/icons/pos-black.png b/advance_signup_page/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/pos-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/puzzle-piece-icon.svg b/advance_signup_page/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/puzzle.png b/advance_signup_page/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/puzzle.png differ diff --git a/advance_signup_page/static/description/assets/icons/replace-icon.svg b/advance_signup_page/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/restaurant-black.png b/advance_signup_page/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/restaurant-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/screenshot-main.png b/advance_signup_page/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/screenshot-main.png differ diff --git a/advance_signup_page/static/description/assets/icons/screenshot.png b/advance_signup_page/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/screenshot.png differ diff --git a/advance_signup_page/static/description/assets/icons/service-black.png b/advance_signup_page/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/service-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/skype-fill.svg b/advance_signup_page/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/skype.png b/advance_signup_page/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/skype.png differ diff --git a/advance_signup_page/static/description/assets/icons/skype.svg b/advance_signup_page/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/advance_signup_page/static/description/assets/icons/star-1.svg b/advance_signup_page/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/star-2.svg b/advance_signup_page/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/support.png b/advance_signup_page/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/support.png differ diff --git a/advance_signup_page/static/description/assets/icons/test-1 - Copy.png b/advance_signup_page/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/test-1 - Copy.png differ diff --git a/advance_signup_page/static/description/assets/icons/test-1.png b/advance_signup_page/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/test-1.png differ diff --git a/advance_signup_page/static/description/assets/icons/test-2.png b/advance_signup_page/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/test-2.png differ diff --git a/advance_signup_page/static/description/assets/icons/trading-black.png b/advance_signup_page/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/trading-black.png differ diff --git a/advance_signup_page/static/description/assets/icons/training.png b/advance_signup_page/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/training.png differ diff --git a/advance_signup_page/static/description/assets/icons/translate.svg b/advance_signup_page/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/update.png b/advance_signup_page/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/update.png differ diff --git a/advance_signup_page/static/description/assets/icons/user.png b/advance_signup_page/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/user.png differ diff --git a/advance_signup_page/static/description/assets/icons/video.png b/advance_signup_page/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/video.png differ diff --git a/advance_signup_page/static/description/assets/icons/whatsapp.png b/advance_signup_page/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/whatsapp.png differ diff --git a/advance_signup_page/static/description/assets/icons/wrench-icon.svg b/advance_signup_page/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/advance_signup_page/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/advance_signup_page/static/description/assets/icons/wrench.png b/advance_signup_page/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/advance_signup_page/static/description/assets/icons/wrench.png differ diff --git a/advance_signup_page/static/description/assets/modules/1.jpg b/advance_signup_page/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..3cb15fe01 Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/1.jpg differ diff --git a/advance_signup_page/static/description/assets/modules/2.jpg b/advance_signup_page/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..662cadcc3 Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/2.jpg differ diff --git a/advance_signup_page/static/description/assets/modules/3.jpg b/advance_signup_page/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..717a00443 Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/3.jpg differ diff --git a/advance_signup_page/static/description/assets/modules/4.png b/advance_signup_page/static/description/assets/modules/4.png new file mode 100644 index 000000000..00ebf54ad Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/4.png differ diff --git a/advance_signup_page/static/description/assets/modules/5.jpg b/advance_signup_page/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..7c67e2eec Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/5.jpg differ diff --git a/advance_signup_page/static/description/assets/modules/6.gif b/advance_signup_page/static/description/assets/modules/6.gif new file mode 100644 index 000000000..a35ece8df Binary files /dev/null and b/advance_signup_page/static/description/assets/modules/6.gif differ diff --git a/advance_signup_page/static/description/assets/screenshots/1.png b/advance_signup_page/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..2a5ef1c42 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/1.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/2.png b/advance_signup_page/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..b6feb50c0 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/2.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/3.png b/advance_signup_page/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..0f2c3f924 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/3.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/4.png b/advance_signup_page/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..509624a86 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/4.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/5.png b/advance_signup_page/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..ab0ba0cba Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/5.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/6.png b/advance_signup_page/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..f4acff85b Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/6.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/7.png b/advance_signup_page/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..7dcd5c917 Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/7.png differ diff --git a/advance_signup_page/static/description/assets/screenshots/GIF.gif b/advance_signup_page/static/description/assets/screenshots/GIF.gif new file mode 100644 index 000000000..3ae29bbbf Binary files /dev/null and b/advance_signup_page/static/description/assets/screenshots/GIF.gif differ diff --git a/advance_signup_page/static/description/assets/y18.jpg b/advance_signup_page/static/description/assets/y18.jpg new file mode 100644 index 000000000..eea1714f2 Binary files /dev/null and b/advance_signup_page/static/description/assets/y18.jpg differ diff --git a/advance_signup_page/static/description/banner.jpg b/advance_signup_page/static/description/banner.jpg new file mode 100644 index 000000000..4dff0a24b Binary files /dev/null and b/advance_signup_page/static/description/banner.jpg differ diff --git a/advance_signup_page/static/description/icon.png b/advance_signup_page/static/description/icon.png new file mode 100644 index 000000000..e9d3a1eb1 Binary files /dev/null and b/advance_signup_page/static/description/icon.png differ diff --git a/advance_signup_page/static/description/index.html b/advance_signup_page/static/description/index.html new file mode 100644 index 000000000..2a72ca356 --- /dev/null +++ b/advance_signup_page/static/description/index.html @@ -0,0 +1,1078 @@ + + + + + + Advance Signup Page + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+ + + + +
+
+ +
+
+
+
+

+ Using Odoo Advance Sign Up, The User Can Generate a Creative and Unique Sign-Up Page. +

+

Advance Signup Page +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Community, Enterprise & SH Support +
+

+ Available in Odoo 18.0 Community, Enterprise & SH. +

+
+
+
+
+
+ +
+
+ Advance Signup Facilities +
+

+ Advance Signup Facilitates the User to Design the Sign-Up Page for Odoo Website +

+
+
+
+
+
+ +
+
+ Various Dynamic Fields in the Signup Form +
+

+ The Odoo Admin can Add Various Dynamic Fields in the Signup Form as per the Requirements. +

+
+
+ +
+
+ +
+
+
+ Advance Signup Page +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Configuration + +

+
+
+

+ From Website Configuration -> Choose Signup Configuration. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ + Add Dynamic Field +

+
+
+

+ Admin can Add any Dynamic Field in the Signup Page. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Manage Content Settings + +

+
+
+

+ Manage Content Settings of the Signup Page. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Set Background Images + +

+
+
+

+ Manage Background Settings of the Signup Page. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Other Settings + +

+
+
+

+ Manage Other Settings of the Signup Page. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Website + +

+
+
+

+ After Saving the Changes, You Can Go to the Website Frontend and can Notice the Difference in Login Page. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Reset Password Page + +

+
+
+

+ Reset Password Page. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Easy to Calculate Interest for Overdue Invoices +

+
+ +
+
+
+
+
+
+ +
+

+ Available in Odoo 18.0 Community, Enterprise and Odoo.sh

+
+
+
+
+
+
+
+ +
+

+ Advance Signup Facilitates the User to Design the Sign-Up Page for Odoo Website.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ It allows you to design and customize the sign-up page on the Odoo website. +

+
+
+ +
+ +
+

+ Yes, you can add custom fields to collect additional information during registration. +

+
+
+ +
+ +
+

+ Yes, it allows styling and personalizing the sign-up page to match your branding. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 30th September, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/advance_signup_page/views/auth_signup_templates.xml b/advance_signup_page/views/auth_signup_templates.xml new file mode 100644 index 000000000..8209acafc --- /dev/null +++ b/advance_signup_page/views/auth_signup_templates.xml @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + diff --git a/advance_signup_page/views/signup_configuration_views.xml b/advance_signup_page/views/signup_configuration_views.xml new file mode 100644 index 000000000..1c58fe307 --- /dev/null +++ b/advance_signup_page/views/signup_configuration_views.xml @@ -0,0 +1,82 @@ + + + + + signup.configuration.view.list + signup.configuration + + + + + + + + + + signup.configuration.view.form + signup.configuration + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + Signup Configuration + signup.configuration + list,form + + + +
diff --git a/advance_signup_page/views/signup_fields_views.xml b/advance_signup_page/views/signup_fields_views.xml new file mode 100644 index 000000000..22b270197 --- /dev/null +++ b/advance_signup_page/views/signup_fields_views.xml @@ -0,0 +1,45 @@ + + + + + signup.field.view.list + signup.field + + + + + + + + + + + + signup.field.view.form + signup.field + +
+ + + + + + + + + + + + + + + + + +
+
+
+
diff --git a/amount_in_words_invoice/static/description/index.html b/amount_in_words_invoice/static/description/index.html index bb643007b..e1a780e2b 100644 --- a/amount_in_words_invoice/static/description/index.html +++ b/amount_in_words_invoice/static/description/index.html @@ -218,7 +218,7 @@ font-size: 40px; font-weight: 700; text-transform: uppercase; padding-bottom: 50px;">Key - Highlights + Heighlights
`__ + +Credits +------- +Developer: (V14) Varsha Vivek, + (V15) Mohammed Musthafa, + (V16) Sumith Sivan, + (V17) Anagha S, + (V18) Nivedhya T, +Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +---------- +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com. + +Further information +=================== +HTML Description: ``__ diff --git a/automatic_payroll/__init__.py b/automatic_payroll/__init__.py new file mode 100644 index 000000000..2d5f0062a --- /dev/null +++ b/automatic_payroll/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# A part of Open HRMS Project +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/automatic_payroll/__manifest__.py b/automatic_payroll/__manifest__.py new file mode 100644 index 000000000..97cb8b6df --- /dev/null +++ b/automatic_payroll/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################# +# A part of Open HRMS Project +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Automatic Payroll', + 'version': '18.0.1.0.0', + 'category': 'Human Resources', + 'summary': 'Automatic Payroll Processing for Active Employees in Odoo 18', + 'description': """ This module automates the creation of payslip batches + specifically for active employees with active contracts, providing a + hassle-free solution for payroll management.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'hr_payroll_community'], + 'data': [ + 'data/ir_cron_data.xml', + 'views/res_config_settings_views.xml' + ], + 'images': ['static/description/banner.jpg'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/automatic_payroll/data/ir_cron_data.xml b/automatic_payroll/data/ir_cron_data.xml new file mode 100644 index 000000000..1936de15f --- /dev/null +++ b/automatic_payroll/data/ir_cron_data.xml @@ -0,0 +1,12 @@ + + + + + Payroll: Generate payslip batches and payslips + + code + model._check_options() + 1 + days + + diff --git a/automatic_payroll/doc/RELEASE_NOTES.md b/automatic_payroll/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..6859c8000 --- /dev/null +++ b/automatic_payroll/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 05.12.2024 +#### Version 18.0.1.0.0 +##### ADD +- Initial Commit for Automatic Payroll \ No newline at end of file diff --git a/automatic_payroll/models/__init__.py b/automatic_payroll/models/__init__.py new file mode 100644 index 000000000..31952d6e3 --- /dev/null +++ b/automatic_payroll/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# A part of Open HRMS Project +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import hr_payslip_run +from . import res_config_settings diff --git a/automatic_payroll/models/hr_payslip_run.py b/automatic_payroll/models/hr_payslip_run.py new file mode 100644 index 000000000..236dab593 --- /dev/null +++ b/automatic_payroll/models/hr_payslip_run.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +############################################################################# +# A part of Open HRMS Project +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models, _ +from odoo.exceptions import UserError +from datetime import date, datetime +from dateutil.relativedelta import relativedelta + + +class HrPayslipRun(models.Model): + """ Automation of payslip generation based on specified options: + 1.Month First + 2.Specific Date + 3.Month End """ + _inherit = 'hr.payslip.run' + + def _check_options(self): + """Check the options and call the corresponding methods.""" + if self.env['ir.config_parameter'].sudo().get_param('automatic_payroll.generate_payslip'): + if self.env['ir.config_parameter'].sudo().get_param( + 'automatic_payroll.option', 'first') == 'first': + self.month_first() + elif self.env['ir.config_parameter'].sudo().get_param( + 'automatic_payroll.option', 'specific') == 'specific': + self.specific_date() + elif self.env['ir.config_parameter'].sudo().get_param( + 'automatic_payroll.option', 'end') == 'end': + self.month_end() + else: + raise UserError(_("Enable configuration settings")) + + def month_first(self): + """Automates payslip generation for the 'Month First' option.""" + today = fields.Date.today() + day = today.day + if day == 1: + self.generate_payslips() + else: + raise UserError(_("Today is not month first")) + pass + + def month_end(self): + """Automates payslip generation for the 'Month End' option""" + today = fields.Date.today() + day_today = today.day + last_date = today + relativedelta(day=1, months=+1, days=-1) + last_day = last_date.day + if day_today == last_day: + self.generate_payslips() + else: + raise UserError(_("Today is not month end")) + pass + + def specific_date(self): + """Automates payslip generation for the 'Specific date' option""" + val = int(self.env['ir.config_parameter'].sudo().get_param('automatic_payroll.generate_day')) + today = fields.Date.today() + day = today.day + if day == val: + self.generate_payslips() + else: + raise UserError(_("Can't generate payslips today")) + + def generate_payslips(self): + """Method for generate payslip batches and payslips, + before that you must assign ongoing contracts for employees.""" + batch_id = self.create([{ + 'name': 'Payslip Batch For ' + date.today().strftime( + '%B') + ' ' + str(date.today().year), + 'date_start': fields.Date.to_string(date.today().replace(day=1)), + 'date_end': fields.Date.to_string((datetime.now() + relativedelta( + months=+1, day=1, days=-1)).date())}]) + generate_payslip = self.env['hr.payslip.employees'] + contract_ids = self.env['hr.contract'].search([('state', '=', 'open')]) + employee_ids = [] + for line in contract_ids: + employee_ids.append(line.employee_id) + generate_payslip.create( + {'employee_ids': [(4, line.employee_id.id)]}) + payslips = self.env['hr.payslip'] + [run_data] = batch_id.read(['date_start', 'date_end', 'credit_note']) + from_date = run_data.get('date_start') + to_date = run_data.get('date_end') + if not employee_ids: + raise UserError(_("You must select employees to generate payslip.")) + for employee in employee_ids: + slip_data = self.env['hr.payslip'].onchange_employee_id( + from_date, to_date, employee.id, contract_id=False) + res = { + 'employee_id': employee.id, + 'name': slip_data['value'].get('name'), + 'struct_id': slip_data['value'].get('struct_id'), + 'contract_id': slip_data['value'].get('contract_id'), + 'payslip_run_id': batch_id.id, + 'input_line_ids': [(0, 0, x) for x in slip_data['value'].get('input_line_ids')], + 'worked_days_line_ids': [ + (0, 0, x) for x in slip_data['value'].get('worked_days_line_ids')], + 'date_from': from_date, + 'date_to': to_date, + 'credit_note': run_data.get('credit_note'), + 'company_id': employee.company_id.id} + payslips += self.env['hr.payslip'].create(res) + payslips.action_compute_sheet() + return {'type': 'ir.actions.act_window_close'} diff --git a/automatic_payroll/models/res_config_settings.py b/automatic_payroll/models/res_config_settings.py new file mode 100644 index 000000000..7e114f61f --- /dev/null +++ b/automatic_payroll/models/res_config_settings.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################# +# A part of Open HRMS Project +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + """Extends the default ResConfigSettings model to add configuration settings + for automatic payroll generation.""" + _inherit = 'res.config.settings' + + generate_payslip = fields.Boolean(string="Generate Payslip", + config_parameter="automatic_payroll.generate_payslip", + help="Automatic generation of payslip " + "batches and payslips (Monthly)") + option = fields.Selection( + [('first', 'Month First'), ('specific', 'Specific date'), + ('end', 'Month End'), ], string='Option', default='first', + config_parameter="automatic_payroll.option", + help='Option to select the date to generate payslips') + generate_day = fields.Integer(string="Day", default=1, + config_parameter="automatic_payroll.generate_day", + help="payslip generated day in a month") diff --git a/automatic_payroll/static/description/assets/cybro-odoo.png b/automatic_payroll/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/automatic_payroll/static/description/assets/cybro-odoo.png differ diff --git a/automatic_payroll/static/description/assets/icons/arrows-repeat.svg b/automatic_payroll/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/banner-1.png b/automatic_payroll/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/banner-1.png differ diff --git a/automatic_payroll/static/description/assets/icons/banner-2.svg b/automatic_payroll/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/banner-bg.png b/automatic_payroll/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/banner-bg.png differ diff --git a/automatic_payroll/static/description/assets/icons/banner-bg.svg b/automatic_payroll/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/banner-call.svg b/automatic_payroll/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/automatic_payroll/static/description/assets/icons/banner-mail.svg b/automatic_payroll/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/automatic_payroll/static/description/assets/icons/banner-pattern.svg b/automatic_payroll/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/banner-promo.svg b/automatic_payroll/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/brand-pair.svg b/automatic_payroll/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/check.png b/automatic_payroll/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/check.png differ diff --git a/automatic_payroll/static/description/assets/icons/chevron.png b/automatic_payroll/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/chevron.png differ diff --git a/automatic_payroll/static/description/assets/icons/close-icon.svg b/automatic_payroll/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/automatic_payroll/static/description/assets/icons/cogs.png b/automatic_payroll/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/cogs.png differ diff --git a/automatic_payroll/static/description/assets/icons/collabarate-icon.svg b/automatic_payroll/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/automatic_payroll/static/description/assets/icons/consultation.png b/automatic_payroll/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/consultation.png differ diff --git a/automatic_payroll/static/description/assets/icons/cybro-logo.png b/automatic_payroll/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/cybro-logo.png differ diff --git a/automatic_payroll/static/description/assets/icons/down.svg b/automatic_payroll/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/automatic_payroll/static/description/assets/icons/ecom-black.png b/automatic_payroll/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/ecom-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/education-black.png b/automatic_payroll/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/education-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/faq.png b/automatic_payroll/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/faq.png differ diff --git a/automatic_payroll/static/description/assets/icons/feature-icon.svg b/automatic_payroll/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/feature.png b/automatic_payroll/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/feature.png differ diff --git a/automatic_payroll/static/description/assets/icons/gear.svg b/automatic_payroll/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/hero.gif b/automatic_payroll/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..d656605d5 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/hero.gif differ diff --git a/automatic_payroll/static/description/assets/icons/hire-odoo.svg b/automatic_payroll/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/hotel-black.png b/automatic_payroll/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/hotel-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/license.png b/automatic_payroll/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/license.png differ diff --git a/automatic_payroll/static/description/assets/icons/life-ring-icon.svg b/automatic_payroll/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/lifebuoy.png b/automatic_payroll/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/lifebuoy.png differ diff --git a/automatic_payroll/static/description/assets/icons/mail.svg b/automatic_payroll/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/automatic_payroll/static/description/assets/icons/manufacturing-black.png b/automatic_payroll/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/manufacturing-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/notes.png b/automatic_payroll/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/notes.png differ diff --git a/automatic_payroll/static/description/assets/icons/notification icon.svg b/automatic_payroll/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/odoo-consultancy.svg b/automatic_payroll/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/automatic_payroll/static/description/assets/icons/odoo-licencing.svg b/automatic_payroll/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/automatic_payroll/static/description/assets/icons/odoo-logo.png b/automatic_payroll/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/odoo-logo.png differ diff --git a/automatic_payroll/static/description/assets/icons/patter.svg b/automatic_payroll/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/pattern1.png b/automatic_payroll/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/pattern1.png differ diff --git a/automatic_payroll/static/description/assets/icons/pos-black.png b/automatic_payroll/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/pos-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/puzzle-piece-icon.svg b/automatic_payroll/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/puzzle.png b/automatic_payroll/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/puzzle.png differ diff --git a/automatic_payroll/static/description/assets/icons/replace-icon.svg b/automatic_payroll/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/restaurant-black.png b/automatic_payroll/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/restaurant-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/screenshot-main.png b/automatic_payroll/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/screenshot-main.png differ diff --git a/automatic_payroll/static/description/assets/icons/screenshot.png b/automatic_payroll/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/screenshot.png differ diff --git a/automatic_payroll/static/description/assets/icons/service-black.png b/automatic_payroll/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/service-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/skype-fill.svg b/automatic_payroll/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/skype.png b/automatic_payroll/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/skype.png differ diff --git a/automatic_payroll/static/description/assets/icons/skype.svg b/automatic_payroll/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/automatic_payroll/static/description/assets/icons/star-1.svg b/automatic_payroll/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/star-2.svg b/automatic_payroll/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/support.png b/automatic_payroll/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/support.png differ diff --git a/automatic_payroll/static/description/assets/icons/test-1 - Copy.png b/automatic_payroll/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/test-1 - Copy.png differ diff --git a/automatic_payroll/static/description/assets/icons/test-1.png b/automatic_payroll/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/test-1.png differ diff --git a/automatic_payroll/static/description/assets/icons/test-2.png b/automatic_payroll/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/test-2.png differ diff --git a/automatic_payroll/static/description/assets/icons/trading-black.png b/automatic_payroll/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/trading-black.png differ diff --git a/automatic_payroll/static/description/assets/icons/training.png b/automatic_payroll/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/training.png differ diff --git a/automatic_payroll/static/description/assets/icons/translate.svg b/automatic_payroll/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/update.png b/automatic_payroll/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/update.png differ diff --git a/automatic_payroll/static/description/assets/icons/user.png b/automatic_payroll/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/user.png differ diff --git a/automatic_payroll/static/description/assets/icons/video.png b/automatic_payroll/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/video.png differ diff --git a/automatic_payroll/static/description/assets/icons/whatsapp.png b/automatic_payroll/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/whatsapp.png differ diff --git a/automatic_payroll/static/description/assets/icons/wrench-icon.svg b/automatic_payroll/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/automatic_payroll/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/automatic_payroll/static/description/assets/icons/wrench.png b/automatic_payroll/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/automatic_payroll/static/description/assets/icons/wrench.png differ diff --git a/automatic_payroll/static/description/assets/modules/b03.png b/automatic_payroll/static/description/assets/modules/b03.png new file mode 100644 index 000000000..05239cada Binary files /dev/null and b/automatic_payroll/static/description/assets/modules/b03.png differ diff --git a/automatic_payroll/static/description/assets/modules/b1.png b/automatic_payroll/static/description/assets/modules/b1.png new file mode 100644 index 000000000..82f8c6260 Binary files /dev/null and b/automatic_payroll/static/description/assets/modules/b1.png differ diff --git a/automatic_payroll/static/description/assets/modules/b2.png b/automatic_payroll/static/description/assets/modules/b2.png new file mode 100644 index 000000000..5d7ca7c19 Binary files /dev/null and b/automatic_payroll/static/description/assets/modules/b2.png differ diff --git a/automatic_payroll/static/description/assets/modules/b4.png b/automatic_payroll/static/description/assets/modules/b4.png new file mode 100644 index 000000000..b7f57430d Binary files /dev/null and b/automatic_payroll/static/description/assets/modules/b4.png differ diff --git a/automatic_payroll/static/description/assets/modules/b5.png b/automatic_payroll/static/description/assets/modules/b5.png new file mode 100644 index 000000000..817ba4bb3 Binary files /dev/null and b/automatic_payroll/static/description/assets/modules/b5.png differ diff --git a/automatic_payroll/static/description/assets/modules/b6.png b/automatic_payroll/static/description/assets/modules/b6.png new file mode 100644 index 000000000..54b45eadf Binary files /dev/null and b/automatic_payroll/static/description/assets/modules/b6.png differ diff --git a/automatic_payroll/static/description/assets/screenshots/screenshot1.png b/automatic_payroll/static/description/assets/screenshots/screenshot1.png new file mode 100644 index 000000000..ce6f89195 Binary files /dev/null and b/automatic_payroll/static/description/assets/screenshots/screenshot1.png differ diff --git a/automatic_payroll/static/description/assets/screenshots/screenshot2.png b/automatic_payroll/static/description/assets/screenshots/screenshot2.png new file mode 100644 index 000000000..16ea4c373 Binary files /dev/null and b/automatic_payroll/static/description/assets/screenshots/screenshot2.png differ diff --git a/automatic_payroll/static/description/assets/screenshots/screenshot3.png b/automatic_payroll/static/description/assets/screenshots/screenshot3.png new file mode 100644 index 000000000..6744ce9d8 Binary files /dev/null and b/automatic_payroll/static/description/assets/screenshots/screenshot3.png differ diff --git a/automatic_payroll/static/description/assets/screenshots/screenshot4.png b/automatic_payroll/static/description/assets/screenshots/screenshot4.png new file mode 100644 index 000000000..10886eaee Binary files /dev/null and b/automatic_payroll/static/description/assets/screenshots/screenshot4.png differ diff --git a/automatic_payroll/static/description/assets/screenshots/screenshot5.png b/automatic_payroll/static/description/assets/screenshots/screenshot5.png new file mode 100644 index 000000000..5156c5abc Binary files /dev/null and b/automatic_payroll/static/description/assets/screenshots/screenshot5.png differ diff --git a/automatic_payroll/static/description/banner.jpg b/automatic_payroll/static/description/banner.jpg new file mode 100644 index 000000000..25f627af8 Binary files /dev/null and b/automatic_payroll/static/description/banner.jpg differ diff --git a/automatic_payroll/static/description/icon.png b/automatic_payroll/static/description/icon.png new file mode 100644 index 000000000..036d1efe4 Binary files /dev/null and b/automatic_payroll/static/description/icon.png differ diff --git a/automatic_payroll/static/description/index.html b/automatic_payroll/static/description/index.html new file mode 100644 index 000000000..71e2788ab --- /dev/null +++ b/automatic_payroll/static/description/index.html @@ -0,0 +1,997 @@ + + + + + + Automatic Payroll + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+
+ +
+
+
+
+

+ Generate payslip batches automatically. +

+

Automatic Payroll +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Heighlights

+
+
+
+
+ +
+
+ Odoo 18 Community + Support. +
+

+ Available + in Odoo 18.0 Community.

+
+
+
+
+
+ +
+
+ Create payslip by month start, end or a specific date. +
+

+ The module provisions to generate payslip batches automatically once in a month. +

+
+
+
+
+
+ +
+
+ The feature works with the help of scheduler. +
+

+ Scheduler would check the options in the + configuration settings and automatically generate payslip batches + via adding all active employees possessing active contracts. +

+
+
+
+
+
+ +
+
+ confirm generated payslip. +
+

+ The end user can confirm the generated payslip batch as well as the payslips in draft state. +

+
+
+
+ +
+
+
+ Automatic Payroll +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Automatic Payroll + + Configuration. +

+
+
+

+ Go to Payroll > Configuration > Settings > Enable/Disable Automatic Payroll. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Three options are + + available. +

+
+
+

+ +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Selecting the + + option. +

+
+
+

+ Upon selecting the second + option (Specific date), + there appears a field to enter + specific date of the month. Based + on date the scheduler shall generate + payslip batches for the month. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ The feature works with the + + + help of scheduler. +

+
+
+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Payslip + + + batches. +

+
+
+

+ During execution of scheduler, + it would check contract table for active contracts and later create a new payslip batch via adding all active employees +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Create payslip by month start, end or a specific date.

+
+ +
+
+
+
+
+
+ +
+

+ The feature works with the help of scheduler.

+
+
+
+
+
+
+
+ +
+

+ The end user can confirm the generated payslip batch as well as the payslips in draft state.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ Yes, you can manually + adjust the payslip batch + after it has been generated. + The module allows for flexibility + in adding or removing employees + before finalizing the payroll. +

+
+
+ +
+ +
+

+ Yes, the module can accommodate + different pay schedules (e.g., Month first, Specific date, Month end). +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 05th December, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/automatic_payroll/views/res_config_settings_views.xml b/automatic_payroll/views/res_config_settings_views.xml new file mode 100644 index 000000000..ba4423e82 --- /dev/null +++ b/automatic_payroll/views/res_config_settings_views.xml @@ -0,0 +1,45 @@ + + + + + res.config.settings.view.form.inherit.automatic.payroll + res.config.settings + + + +
+
+ +
+
+
+
+
+
+
+
diff --git a/autosuggestion_in_discuss/README.rst b/autosuggestion_in_discuss/README.rst new file mode 100755 index 000000000..a82fadce5 --- /dev/null +++ b/autosuggestion_in_discuss/README.rst @@ -0,0 +1,50 @@ +.. image:: https://img.shields.io/badge/licenses-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Autosuggestion in Discuss +========================== +This module suggests previous chats in Odoo. + +Configuration +============= +*No Additional configuration is needed. + +License +------- +Affero General Public License v3.0 (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +Developer: + (V16) Swetha Anand, + (V17) Anjhana A K, + (V18) Anzil K A + Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/autosuggestion_in_discuss/__init__.py b/autosuggestion_in_discuss/__init__.py new file mode 100644 index 000000000..6834b6747 --- /dev/null +++ b/autosuggestion_in_discuss/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Anzil K A (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import model diff --git a/autosuggestion_in_discuss/__manifest__.py b/autosuggestion_in_discuss/__manifest__.py new file mode 100644 index 000000000..1edba5205 --- /dev/null +++ b/autosuggestion_in_discuss/__manifest__.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Anzil K A (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': 'Autosuggestion in Discuss', + 'version': '18.0.1.0.0', + 'category': 'Discuss', + 'summary': 'Show auto suggestion in chat in Odoo.', + 'description': 'Previous messages of user will be ' + 'shown as autosuggestion in the chat.', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'images': ['static/description/banner.png'], + 'website': 'https://www.cybrosys.com', + 'depends': ['base', 'mail'], + 'assets': { + 'web.assets_backend': [ + 'autosuggestion_in_discuss/static/src/scss/autosuggest.scss', + 'autosuggestion_in_discuss/static/src/xml/composer_view.xml', + 'autosuggestion_in_discuss/static/src/js/composer.js', + ] + }, + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/autosuggestion_in_discuss/doc/RELEASE_NOTES.md b/autosuggestion_in_discuss/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..2f8f91435 --- /dev/null +++ b/autosuggestion_in_discuss/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 29.12.2024 +#### Version 18.0.1.0.0 +#### ADD +- Initial commit for Autosuggestion in Discuss diff --git a/autosuggestion_in_discuss/model/__init__.py b/autosuggestion_in_discuss/model/__init__.py new file mode 100644 index 000000000..407f33f97 --- /dev/null +++ b/autosuggestion_in_discuss/model/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Anzil K A (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import mail_message diff --git a/autosuggestion_in_discuss/model/mail_message.py b/autosuggestion_in_discuss/model/mail_message.py new file mode 100644 index 000000000..5c41bb4cd --- /dev/null +++ b/autosuggestion_in_discuss/model/mail_message.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Anzil K A (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +import re +from odoo import api, models + + +class MailMessage(models.Model): + """ + It inherits mail.message. + Here adds a new function get_message() + that searches messages in the html field + mail_message, removes the markup, + and returns the data. + """ + _inherit = 'mail.message' + + @api.model + def get_message(self): + """ + Search messages in mail_message which is a html field + and remove the markup and return the data. + """ + value = [] + search = self.env['mail.message'].search_read( + [('model', '=', 'discuss.channel')], ['body']) + search_item = [values.get('body') for values in search] + for record in search_item: + pattern = re.compile('<.*?>') + result = re.sub(pattern, '', record) + value.append(result) + return value diff --git a/autosuggestion_in_discuss/static/description/GIF.gif b/autosuggestion_in_discuss/static/description/GIF.gif new file mode 100644 index 000000000..9e273eee8 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/GIF.gif differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/GIF.gif b/autosuggestion_in_discuss/static/description/assets/icons/GIF.gif new file mode 100644 index 000000000..9e273eee8 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/GIF.gif differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/arrows-repeat.svg b/autosuggestion_in_discuss/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-1.png b/autosuggestion_in_discuss/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/banner-1.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-2.svg b/autosuggestion_in_discuss/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-bg.png b/autosuggestion_in_discuss/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/banner-bg.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-bg.svg b/autosuggestion_in_discuss/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-call.svg b/autosuggestion_in_discuss/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-mail.svg b/autosuggestion_in_discuss/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-pattern.svg b/autosuggestion_in_discuss/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/banner-promo.svg b/autosuggestion_in_discuss/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/brand-pair.svg b/autosuggestion_in_discuss/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/check.png b/autosuggestion_in_discuss/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/check.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/chevron.png b/autosuggestion_in_discuss/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/chevron.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/close-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/cogs.png b/autosuggestion_in_discuss/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/cogs.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/collabarate-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/consultation.png b/autosuggestion_in_discuss/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/consultation.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/cybro-logo.png b/autosuggestion_in_discuss/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/cybro-logo.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/down.svg b/autosuggestion_in_discuss/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/autosuggestion_in_discuss/static/description/assets/icons/ecom-black.png b/autosuggestion_in_discuss/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/ecom-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/education-black.png b/autosuggestion_in_discuss/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/education-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/faq.png b/autosuggestion_in_discuss/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/faq.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/feature-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/feature.png b/autosuggestion_in_discuss/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/feature.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/gear.svg b/autosuggestion_in_discuss/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/hire-odoo.svg b/autosuggestion_in_discuss/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/hotel-black.png b/autosuggestion_in_discuss/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/hotel-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/license.png b/autosuggestion_in_discuss/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/license.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/life-ring-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/lifebuoy.png b/autosuggestion_in_discuss/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/lifebuoy.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/mail.svg b/autosuggestion_in_discuss/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/manufacturing-black.png b/autosuggestion_in_discuss/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/manufacturing-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/notes.png b/autosuggestion_in_discuss/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/notes.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/notification icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/odoo-consultancy.svg b/autosuggestion_in_discuss/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/odoo-licencing.svg b/autosuggestion_in_discuss/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/odoo-logo.png b/autosuggestion_in_discuss/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/odoo-logo.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/patter.svg b/autosuggestion_in_discuss/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/pattern1.png b/autosuggestion_in_discuss/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/pattern1.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/pos-black.png b/autosuggestion_in_discuss/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/pos-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/puzzle-piece-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/puzzle.png b/autosuggestion_in_discuss/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/puzzle.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/replace-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/restaurant-black.png b/autosuggestion_in_discuss/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/restaurant-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/screenshot-main.png b/autosuggestion_in_discuss/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/screenshot-main.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/screenshot.png b/autosuggestion_in_discuss/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/screenshot.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/service-black.png b/autosuggestion_in_discuss/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/service-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/skype-fill.svg b/autosuggestion_in_discuss/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/skype.png b/autosuggestion_in_discuss/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/skype.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/skype.svg b/autosuggestion_in_discuss/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/star-1.svg b/autosuggestion_in_discuss/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/star-2.svg b/autosuggestion_in_discuss/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/support.png b/autosuggestion_in_discuss/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/support.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/test-1 - Copy.png b/autosuggestion_in_discuss/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/test-1 - Copy.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/test-1.png b/autosuggestion_in_discuss/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/test-1.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/test-2.png b/autosuggestion_in_discuss/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/test-2.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/trading-black.png b/autosuggestion_in_discuss/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/trading-black.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/training.png b/autosuggestion_in_discuss/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/training.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/translate.svg b/autosuggestion_in_discuss/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/update.png b/autosuggestion_in_discuss/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/update.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/user.png b/autosuggestion_in_discuss/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/user.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/video.png b/autosuggestion_in_discuss/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/video.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/whatsapp.png b/autosuggestion_in_discuss/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/whatsapp.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/icons/wrench-icon.svg b/autosuggestion_in_discuss/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/icons/wrench.png b/autosuggestion_in_discuss/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/icons/wrench.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/Cybrosys R.png b/autosuggestion_in_discuss/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/Cybrosys R.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/categories.png b/autosuggestion_in_discuss/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/categories.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/check-box.png b/autosuggestion_in_discuss/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/check-box.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/compass.png b/autosuggestion_in_discuss/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/compass.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/corporate.png b/autosuggestion_in_discuss/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/corporate.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/customer-support.png b/autosuggestion_in_discuss/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/customer-support.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/cybrosys-logo.png b/autosuggestion_in_discuss/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/cybrosys-logo.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/email.svg b/autosuggestion_in_discuss/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/features.png b/autosuggestion_in_discuss/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/features.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/logo.png b/autosuggestion_in_discuss/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/logo.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/phone.svg b/autosuggestion_in_discuss/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/pictures.png b/autosuggestion_in_discuss/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/pictures.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/pie-chart.png b/autosuggestion_in_discuss/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/pie-chart.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/right-arrow.png b/autosuggestion_in_discuss/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/right-arrow.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/star (1) 2.svg b/autosuggestion_in_discuss/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/star.png b/autosuggestion_in_discuss/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/star.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/support (1) 1.svg b/autosuggestion_in_discuss/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/support-email.svg b/autosuggestion_in_discuss/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/support.png b/autosuggestion_in_discuss/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/support.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/tick-mark.svg b/autosuggestion_in_discuss/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/whatsapp 1.svg b/autosuggestion_in_discuss/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/misc/whatsapp.png b/autosuggestion_in_discuss/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/misc/whatsapp.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/misc/whatsapp.svg b/autosuggestion_in_discuss/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/autosuggestion_in_discuss/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/autosuggestion_in_discuss/static/description/assets/modules/1.gif b/autosuggestion_in_discuss/static/description/assets/modules/1.gif new file mode 100755 index 000000000..ae3a880a2 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/modules/1.gif differ diff --git a/autosuggestion_in_discuss/static/description/assets/modules/2.gif b/autosuggestion_in_discuss/static/description/assets/modules/2.gif new file mode 100755 index 000000000..d19e2b352 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/modules/2.gif differ diff --git a/autosuggestion_in_discuss/static/description/assets/modules/3.png b/autosuggestion_in_discuss/static/description/assets/modules/3.png new file mode 100755 index 000000000..8513873ea Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/modules/3.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/modules/4.png b/autosuggestion_in_discuss/static/description/assets/modules/4.png new file mode 100755 index 000000000..3bedf7981 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/modules/4.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/modules/5.png b/autosuggestion_in_discuss/static/description/assets/modules/5.png new file mode 100755 index 000000000..0e311ca87 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/modules/5.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/modules/6.jpg b/autosuggestion_in_discuss/static/description/assets/modules/6.jpg new file mode 100755 index 000000000..67c7f7062 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/modules/6.jpg differ diff --git a/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot1.png b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot1.png new file mode 100644 index 000000000..4ea41fd63 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot1.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot2.png b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot2.png new file mode 100644 index 000000000..f00fe11e7 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot2.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot3.png b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot3.png new file mode 100644 index 000000000..36624e952 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot3.png differ diff --git a/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot4.png b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot4.png new file mode 100644 index 000000000..a80407d8f Binary files /dev/null and b/autosuggestion_in_discuss/static/description/assets/screenshots/Screenshot4.png differ diff --git a/autosuggestion_in_discuss/static/description/banner.png b/autosuggestion_in_discuss/static/description/banner.png new file mode 100644 index 000000000..466045460 Binary files /dev/null and b/autosuggestion_in_discuss/static/description/banner.png differ diff --git a/autosuggestion_in_discuss/static/description/icon.png b/autosuggestion_in_discuss/static/description/icon.png new file mode 100644 index 000000000..6279813fd Binary files /dev/null and b/autosuggestion_in_discuss/static/description/icon.png differ diff --git a/autosuggestion_in_discuss/static/description/index.html b/autosuggestion_in_discuss/static/description/index.html new file mode 100644 index 000000000..504468358 --- /dev/null +++ b/autosuggestion_in_discuss/static/description/index.html @@ -0,0 +1,881 @@ + + + + + + Autosuggestion in Discuss + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Previous Chats with Auto Suggestion in Odoo. + +

+

Autosuggestion in Discuss +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Autosuggestion in Discuss +
+

+ Because auto recommendations are not an option in Odoo, we may utilise this app to display the user's most recent chat as a suggestion.Using the keyboard's 'Tab' key, we can employ the suggested technique. +

+
+
+
+
+ +
+
+
+ Autosuggestion in Discuss + +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Open Discuss + +

+
+
+

+ Choose the message option, Start Typing.... +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Auto suggestion + +

+
+
+

+ In chat, auto-suggestions from past chats are displayed as you type. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Select the suggested Message + +

+
+
+

+ Select the suggested message using the tab or arrow right key on your keyboard. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ + +

+
+
+

+

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Based on past conversations, we can receive recommendations.

+
+ +
+
+
+
+
+
+ +
+

+ Enhances chat speed.

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 18th October, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/autosuggestion_in_discuss/static/src/js/composer.js b/autosuggestion_in_discuss/static/src/js/composer.js new file mode 100644 index 000000000..07d15c2d3 --- /dev/null +++ b/autosuggestion_in_discuss/static/src/js/composer.js @@ -0,0 +1,128 @@ +/** @odoo-module **/ +import { Composer } from "@mail/core/common/composer"; +import { useService } from "@web/core/utils/hooks"; +import { patch } from "@web/core/utils/patch"; +import { rpc } from "@web/core/network/rpc"; +import {toRaw} from "@odoo/owl"; +import { isEventHandled, markEventHandled} from "@web/core/utils/misc"; + +patch(Composer.prototype, { + setup() { + super.setup(); + }, + onKeydown(ev) { + const composer = toRaw(this.props.composer); + const el = this.ref.el; + const self = this + /*While keydown works on a keyboard this function takes the value in the input area and + compares it with the ones in the list and finds a proper match.On clicking the tab the full + sentence or word will be available.*/ + let autoCompleteTextAreaEl = document.querySelector('#autoCompleteText'); + let userTextAreaEl = document.querySelector('#userInputText'); + var value = userTextAreaEl.value; + rpc('/web/dataset/call_kw', { + model: 'mail.message', + method: 'get_message', + args: [], + kwargs: {}, + }).then(function (data) { + var search_terms = data + if (value !== '/') { + /*Matching sentences or words are taken from the list search_terms*/ + //Escape special characters from regular expression to avoid errors + value = value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + const matcher = new RegExp(`^${value}`, 'g'); + var filter_list = search_terms.filter(word => word.match(matcher)); + filter_list.sort(); + if (filter_list[0] == null) { + autoCompleteTextAreaEl.value = ' '; + } + else { + autoCompleteTextAreaEl.value = filter_list[0]; + } + if (value == '') { + autoCompleteTextAreaEl.value = " "; + } + switch (ev.key) { + case 'Tab': + if (filter_list[0]){ + userTextAreaEl.value = filter_list[0]; + // composer.text = filter_list[0]; + autoCompleteTextAreaEl.value = ' '; + el.focus(); + break; + } + case ' ': + autoCompleteTextAreaEl.value = ' '; + break; + case 'Enter': + autoCompleteTextAreaEl.value = ' '; + if (isEventHandled(ev, "NavigableList.select") || !self.state.active) { + ev.preventDefault(); + return; + } + const shouldPost = self.props.mode === "extended" ? ev.ctrlKey : !ev.shiftKey; + if (!shouldPost) { + return; + } + ev.preventDefault(); // to prevent useless return + if (composer.message) { + self.editMessage(); + } else { + self.sendMessage(); + } + break; + case "Escape": + if (isEventHandled(ev, "NavigableList.close")) { + return; + } + if (self.props.onDiscardCallback) { + self.props.onDiscardCallback(); + markEventHandled(ev, "Composer.discard"); + } + break; + case 'ArrowRight': + if (filter_list[0]){ + userTextAreaEl.value = filter_list[0]; + autoCompleteTextAreaEl.value = ' '; + break; + } + } + } + }); + }, + + onKeyupTextarea(ev) { + /*While keyup works on a keyboard this function takes the value in the input area and + compares it with the ones in the list and finds a proper match.While using onKeyupTextarea() + the value from the text area will be available without any delay.*/ + let autoCompleteTextAreaEl = document.querySelector('#autoCompleteText'); + let userTextAreaEl = document.querySelector('#userInputText'); + var value = userTextAreaEl.value; + rpc('/web/dataset/call_kw', { + model: 'mail.message', + method: 'get_message', + args: [], + kwargs: {}, + }).then(function (data) { + var search_terms = data + if (value !== '/') { + /*Matching sentences or words are taken from the list search_terms*/ + //Escape special characters from regular expression to avoid errors + value = value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + const matcher = new RegExp(`^${value}`, 'g'); + var filter_list = search_terms.filter(word => word.match(matcher)); + filter_list.sort(); + if (filter_list[0] == null) { + autoCompleteTextAreaEl.value = ' '; + } + else { + autoCompleteTextAreaEl.value = filter_list[0]; + } + if (value == '') { + autoCompleteTextAreaEl.value = " "; + } + } + }) + }, + }); diff --git a/autosuggestion_in_discuss/static/src/scss/autosuggest.scss b/autosuggestion_in_discuss/static/src/scss/autosuggest.scss new file mode 100644 index 000000000..be1317c31 --- /dev/null +++ b/autosuggestion_in_discuss/static/src/scss/autosuggest.scss @@ -0,0 +1,23 @@ +.ac-user-input--autocomplete{ + border: none; + resize: none; + background: transparent; + position: absolute; + left: 0.18px; + top: -1.85px; + pointer-events: none; + z-index: 0; +} +.ac-input-container{ + position: relative; +} +.ac-user-input--user{ + background: transparent; + z-index: 2; + color: #000; +} +.o-mail-Composer-input { + padding-top: 0px; + padding-bottom:0px; + line-height: 24px; +} diff --git a/autosuggestion_in_discuss/static/src/xml/composer_view.xml b/autosuggestion_in_discuss/static/src/xml/composer_view.xml new file mode 100644 index 000000000..3516508d9 --- /dev/null +++ b/autosuggestion_in_discuss/static/src/xml/composer_view.xml @@ -0,0 +1,25 @@ + + + + diff --git a/cts_theme_rozz/views/footer_templates.xml b/cts_theme_rozz/views/footer_templates.xml new file mode 100644 index 000000000..5d824998e --- /dev/null +++ b/cts_theme_rozz/views/footer_templates.xml @@ -0,0 +1,169 @@ + + + + + diff --git a/cts_theme_rozz/views/header_templates.xml b/cts_theme_rozz/views/header_templates.xml new file mode 100644 index 000000000..045285038 --- /dev/null +++ b/cts_theme_rozz/views/header_templates.xml @@ -0,0 +1,83 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/about_us.xml b/cts_theme_rozz/views/snippets/about_us.xml new file mode 100644 index 000000000..a9202c9fd --- /dev/null +++ b/cts_theme_rozz/views/snippets/about_us.xml @@ -0,0 +1,117 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/portfolio_details.xml b/cts_theme_rozz/views/snippets/portfolio_details.xml new file mode 100644 index 000000000..805767a09 --- /dev/null +++ b/cts_theme_rozz/views/snippets/portfolio_details.xml @@ -0,0 +1,240 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/portfolio_page.xml b/cts_theme_rozz/views/snippets/portfolio_page.xml new file mode 100644 index 000000000..42180d316 --- /dev/null +++ b/cts_theme_rozz/views/snippets/portfolio_page.xml @@ -0,0 +1,139 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/rozz_aboutus.xml b/cts_theme_rozz/views/snippets/rozz_aboutus.xml new file mode 100644 index 000000000..6650adceb --- /dev/null +++ b/cts_theme_rozz/views/snippets/rozz_aboutus.xml @@ -0,0 +1,43 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/rozz_banner.xml b/cts_theme_rozz/views/snippets/rozz_banner.xml new file mode 100644 index 000000000..0fa2143c1 --- /dev/null +++ b/cts_theme_rozz/views/snippets/rozz_banner.xml @@ -0,0 +1,120 @@ + + + + + + + diff --git a/cts_theme_rozz/views/snippets/rozz_services.xml b/cts_theme_rozz/views/snippets/rozz_services.xml new file mode 100644 index 000000000..0dd66c002 --- /dev/null +++ b/cts_theme_rozz/views/snippets/rozz_services.xml @@ -0,0 +1,92 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/rozz_subscribe.xml b/cts_theme_rozz/views/snippets/rozz_subscribe.xml new file mode 100644 index 000000000..8bf769bed --- /dev/null +++ b/cts_theme_rozz/views/snippets/rozz_subscribe.xml @@ -0,0 +1,49 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/rozz_team.xml b/cts_theme_rozz/views/snippets/rozz_team.xml new file mode 100644 index 000000000..ca78102f7 --- /dev/null +++ b/cts_theme_rozz/views/snippets/rozz_team.xml @@ -0,0 +1,77 @@ + + + + + diff --git a/cts_theme_rozz/views/snippets/services_page.xml b/cts_theme_rozz/views/snippets/services_page.xml new file mode 100644 index 000000000..dae7ab7a0 --- /dev/null +++ b/cts_theme_rozz/views/snippets/services_page.xml @@ -0,0 +1,186 @@ + + + + + diff --git a/customer_product_qrcode/static/description/index.html b/customer_product_qrcode/static/description/index.html index fd1b8a2ac..a7465a684 100644 --- a/customer_product_qrcode/static/description/index.html +++ b/customer_product_qrcode/static/description/index.html @@ -219,7 +219,7 @@ font-size: 40px; font-weight: 700; text-transform: uppercase; padding-bottom: 50px;">Key - Highlights + Heighlights
Key - Highlights + Heighlights
+ + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Send an email directly to the Customer/Vendor. +

+

Direct Send Email +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Direct Mailing of Sale Quotation/Sale Order. +
+
+
+
+
+
+ +
+
+ Direct Mailing of Invoice, Credit note, Bill and Refund. +
+
+
+
+
+
+ +
+
+ Direct Mailing of Request for Quotation and Purchase Order. +
+
+
+
+
+ +
+
+
+ Direct Send Email +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Set default + + Sale email template +

+
+
+

+ Go to Sales --> Configuration --> Settings --> Direct Send Email + and Select the Templates for Quotation and Sale Order. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Direct Send in + + Sales +

+
+
+

+ By clicking the "Direct Send" button, the + Customer will Receive an Email with the Default Sales Template. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Email + Sent +

+
+
+

+ Email Sent to Customer/Vendor based on Default Email Template. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Set Default + + Purchase Email Template +

+
+
+

+ Go to Purchase --> Configuration --> Settings -> Enable "Direct Send Email" + and Select Email Templates for Request for Quotation and Purchase Order. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Direct Send in + + Purchase +

+
+
+

+ By clicking the "Direct Send" Button, the + Customer will Receive an Email with the + Default Purchase Template. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Set default + + Invoice Email Template +

+
+
+

+ Go to Invoicing --> Configuration --> Settings -> Enable "Direct Send Email" + and Select Email Templates for Customer Invoice, Credit Note, Vendor Bill and Refund. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Direct Send + + in Invoice +

+
+
+

+ By clicking the "Direct Send" button, the + Customer will Receive an Email with the + Default Invoice Template. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Email + + Sent +

+
+
+

+ Email Sent to Customer/Vendor based on + Default Email Template. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Send Email from Sales, Purchase and Invoices to Customer/Vendors.

+
+
+
+
+
+
+
+ +
+

+ Available in both Community and Enterprise.

+
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 9th December, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ +
+

+ Our Services

+
+ + + +
+
+ .... +
+
+ + +
+ +
+
+ + + + + + diff --git a/direct_send_email_template/views/account_move_views.xml b/direct_send_email_template/views/account_move_views.xml new file mode 100644 index 000000000..a2c20ae8d --- /dev/null +++ b/direct_send_email_template/views/account_move_views.xml @@ -0,0 +1,39 @@ + + + + + account.move.view.form.inherit.direct.send.email.template + account.move + + + + +
+
+
+ +
+ +
+ +
+ +
+
+
+ +
+ + + + + + + + +
+
+ + + +
+
+ +
+
+
+ Balance +
+
+ +
+
+ +
+
+ Last Statement +
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+ + + + + +
+ +
+ +
+
+
+ + +
+
+
+
+ + + + +
+ +
+ +
+
+
+ +
+
+ + + + + + + + + + Fee Dashboard + account.journal + kanban,form + + menu + {'search_default_dashboard':1} + [] + +

+ This is the Fee dashboard +

+

+ If you have not installed a chart of account, please install one + first. +
+ + Browse + available countries. + +

+
+
+ + + diff --git a/education_fee/views/account_journal_views.xml b/education_fee/views/account_journal_views.xml new file mode 100644 index 000000000..54d8025e4 --- /dev/null +++ b/education_fee/views/account_journal_views.xml @@ -0,0 +1,14 @@ + + + + + account.journal.view.form.inherit.education.fee + account.journal + + + + + + + + diff --git a/education_fee/views/account_move_views.xml b/education_fee/views/account_move_views.xml new file mode 100644 index 000000000..e7e83b336 --- /dev/null +++ b/education_fee/views/account_move_views.xml @@ -0,0 +1,1832 @@ + + + + + + account.move.line.view.form + account.move.line + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + account.move.line.view.kanban + account.move.line + + + + + + + + +
+
+ + + + + + + +
+ +
+
+ +
+
+
+
+
+
+
+
+ + + account.move.line.view.pivot + account.move.line + + + + + + + + + + + account.move.line.view.list + account.move.line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + account.move.line.list.grouped + account.move.line + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +

+ + Draft + +

+ + + The current highest number is. You might want to put a + higher number here. + +

+ +

+
+ + + + + + + + + + + + +
+
+ +
+ + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+ + + + + +
+ Quantity: + + +
+
+ Unit Price: + +
+ + + + + + +
+
+
+ +
+
+ + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/jazzy_backend_theme/static/description/theme_screenshot.jpg b/jazzy_backend_theme/static/description/theme_screenshot.jpg new file mode 100644 index 000000000..f35c3509c Binary files /dev/null and b/jazzy_backend_theme/static/description/theme_screenshot.jpg differ diff --git a/jazzy_backend_theme/static/src/components/app_menu/menu_order.css b/jazzy_backend_theme/static/src/components/app_menu/menu_order.css new file mode 100644 index 000000000..7aa8843c4 --- /dev/null +++ b/jazzy_backend_theme/static/src/components/app_menu/menu_order.css @@ -0,0 +1,254 @@ +@keyframes fadeIn{ + 0%{ + opacity: 0; + } + 100%{ + opacity: 1; + } +} +o_setting_search { + position: relative; +} +.o_setting_search .searchInput { + height: 28px; + padding: 0px; + border: 0px; + box-shadow: none; + font-weight: 500; +} +.o_setting_search .searchIcon { + color: gray('700'); +} +.o_kanban_renderer{ + background-color: var(--kanban-bg-color); +} +.oe_kanban_global_click{ + border-radius: 15px; +} + .search-container.has-results .search-input { + height: 3em; +} + .search-container.has-results .search-results { + height: calc(100% - 3em); + overflow: auto; + margin-top: 10px; +} + +.o_setting_search.col-md-10{ + padding: 20px; +} +.app-menu { + width: 100%; + display: flex; + flex-wrap: wrap; + padding-left: calc((100vw - 850px) / 2); + padding-right: calc((100vw - 850px) / 2); + +} +.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto { + background-repeat: no-repeat; + background-size: contain; + padding-left: 5.5rem; +} +.form-control { + padding: 0 !important; +} +@media (max-width: 1371px){ + +} +@media (max-width:992px) { + +} +@media (max-width:400px) { + +} +.o_main_navbar .o_menu_brand { + text-decoration: none !important; + margin-left: 10px; +} +.o_navbar .o_main_navbar .dropdown-toggle .dropdown-menu .search-container { + padding-left: calc((100vw - 850px) / 2); + padding-right: calc((100vw - 850px) / 2); + padding-top:20px; + padding-bottom:20px; + display: table; +} +.o_apps_menu_opened .o_main_navbar .o_menu_brand{ + display:none; +} +.app_components { + position: absolute; + height: 100vh; + width: 100%; + background: #f5f5f5f0; + z-index: 99; + top: 40px; + display:none; + background: url("../../src/img/background.jpg"), linear-gradient(to bottom, #71639e, #b0adba); +} +.app-menu a{ + flex-basis: 19%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + margin-bottom: 23px; +} +o_setting_search { + position: relative; +} +.o_setting_search .searchInput { + height: 28px; + padding: 0px; + border: 0px; + box-shadow: none; + font-weight: 500; +} +.o_setting_search .searchIcon { + color: gray('700'); +} + .search-container.has-results .search-input { + height: 3em; + display: table; +} + .search-container.has-results .search-results { + height: calc(100% - 3em); + overflow: auto; + margin-top: 10px; +} + +.o_setting_search.col-md-10{ + padding: 20px; +} +.app-menu { + width: 100%; + display: flex; + flex-wrap: wrap; + padding-left: calc((100vw - 850px) / 2); + padding-right: calc((100vw - 850px) / 2); + +} + +.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto { + background-repeat: no-repeat; + background-size: contain; + padding-left: 3rem; +} +.form-control { + padding: 0 !important; +} +@media (max-width: 1371px){ + +} +@media (max-width:992px) { + +} +@media (max-width:400px) { + +} +.o_main_navbar .o_menu_brand { + text-decoration: none !important; + margin-left: 10px; +} +.o_navbar .o_main_navbar .dropdown-toggle .dropdown-menu .search-container { + padding-left: calc((100vw - 850px) / 2); + padding-right: calc((100vw - 850px) / 2); + padding-top:20px; + padding-bottom:20px; +} +.o_apps_menu_opened .o_main_navbar .o_menu_brand{ + display:none; +} +.app_components { + position: absolute; + height: 100vh; + width: 100%; + background: #f5f5f5f0; + z-index: 99; + top: 40px; + display:none; + background: url("../../img/background.jpg"), linear-gradient(to bottom, #71639e, #b0adba); +} +.app-menu a{ + flex-basis: 19%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + margin-bottom: 23px; + cursor:pointer; +} +.app_components .search-input{ + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(0, 0, 0, 0.1); + border-radius: 4px; + width:100%; + background-color: rgba(255, 255, 255, 0.1); + margin-bottom:1rem; + text-shadow: 0 1px 0 rgb(0 0 0 / 50%); +} +.o_navbar .o_main_navbar .o_main-menu-button:hover{ + background:rgba(0, 0, 0, 0.08); + cursor: pointer; +} +@media (max-width: 850px) { + .app_components .search-input { + width:90%; + margin:0 auto; + } + .app-menu { + width:90%; + margin:0 auto; + } +} +@media (max-width: 444px) { + .app-menu{ + width:80%; + } + .app-menu a{ + flex-basis: 25%; + } +} + /* Container styling */ + .search-results { + border-radius: 8px; + padding: 20px; + } + + /* Unordered list styling */ + .search-results ul { + list-style-type: none; /* Remove default bullets */ + padding: 0; /* Remove default padding */ + margin: 0; /* Remove default margin */ + } + + /* List item styling */ + .search-results li { + margin-bottom: 10px; /* Space between items */ + border-radius: 5px; /* Rounded corners */ + padding: 15px; /* Inner padding */ + cursor: pointer; /* Pointer cursor on hover */ + transition: background 0.3s ease; /* Smooth background transition */ + } + + /* Text styling for menu name */ + .search-results li span { + font-size: 16px; + color: var(--app-menu-font-color) !important; + } +.o_main_navbar .o_menu_brand, .o_main_navbar .o_navbar_apps_menu .dropdown-toggle, .o_main_navbar .o_nav_entry, .o_main_navbar .dropdown-toggle:not(.o-dropdown-toggle-custo), .o_main_navbar .o_menu_toggle { + color: var(--app-menu-font-color) !important; +} +.o_main_navbar .o_menu_brand, .o_main_navbar .o_navbar_breadcrumbs, .o_main_navbar .o_navbar_breadcrumbs .btn { +color: var(--app-menu-font-color) !important; +} + /* Hover effect for each list item */ + .search-results li:hover { + background-color: #007bff; /* Change background color on hover */ + color: #fff; /* Change text color on hover */ + border-color: #007bff; /* Change border color on hover */ + } + + /* Hover effect for the text inside the list item */ + .search-results li:hover span { + color: #fff; /* Change text color on hover */ + } diff --git a/jazzy_backend_theme/static/src/components/app_menu/search_apps.js b/jazzy_backend_theme/static/src/components/app_menu/search_apps.js new file mode 100644 index 000000000..3df97043d --- /dev/null +++ b/jazzy_backend_theme/static/src/components/app_menu/search_apps.js @@ -0,0 +1,268 @@ +/** @odoo-module */ +import { NavBar } from "@web/webclient/navbar/navbar"; +import { registry } from "@web/core/registry"; +import { fuzzyLookup } from "@web/core/utils/search"; +import { computeAppsAndMenuItems } from "@web/webclient/menus/menu_helpers"; +import { useService } from "@web/core/utils/hooks"; +import { onMounted, useRef, useState} from "@odoo/owl"; +import { patch } from "@web/core/utils/patch"; + +patch(NavBar.prototype, { + // To modify the Navbar properties and functions. + setup() { + super.setup() + this._search_def = this.createDeferred(); + this.search_container = useRef("search-container"); + this.search_input = useRef("search-input"); + this.search_result = useRef("search-results"); + this.app_menu = useRef("app-menu"); + this.sidebar_panel = useRef("sidebar_panel"); + this.app_components = useRef("app_components"); + this.state = useState({...this.state, menus: [], searchQuery: ""}) + let { apps, menuItems } = computeAppsAndMenuItems(this.menuService.getMenuAsTree("root")); + this._apps = apps; + this._searchableMenus = menuItems; + this.fetch_data() + onMounted(() => { + this.setClass() + }) + }, + createDeferred() { + let deferred = {}; + + deferred.promise = new Promise((resolve, reject) => { + deferred.resolve = resolve; + deferred.reject = reject; + }); + + return deferred; +}, + async fetch_data() { + // To fetch colors from database. + this.orm = useService("orm") + var result = await this.orm.call("res.config.settings", "config_color_settings", [0]) + if (result.primary_accent !== false){ + document.documentElement.style.setProperty("--primary-accent",result.primary_accent) + } + if (result.appbar_color !== false){ + document.documentElement.style.setProperty("--app-bar-accent",result.appbar_color) + } + if (result.primary_hover !== false){ + document.documentElement.style.setProperty("--primary-hover",result.primary_hover) + } + if (result.full_bg_img !== false) { + var imageUrl = 'url(data:image/png;base64,' + result.full_bg_img + ')'; + var appComponentsDivs = document.getElementsByClassName('app_components'); + + for (var i = 0; i < appComponentsDivs.length; i++) { + appComponentsDivs[i].style.backgroundImage = imageUrl; + } + } + if (result.appbar_text !== false){ + document.documentElement.style.setProperty("--app-menu-font-color",result.appbar_text) + } + if (result.secondary_hover !== false){ + document.documentElement.style.setProperty("--secondary-hover",result.secondary_hover) + } + if (result.kanban_bg_color !== false) { + document.documentElement.style.setProperty("--kanban-bg-color", result.kanban_bg_color) + } + }, + setClass() { + // Set variable for html elements. + this.$search_container = this.search_container; + this.$search_input = this.search_input; + this.$search_results = this.search_result; + this.$app_menu = this.app_menu; + }, + _searchMenusSchedule() { + this.$search_results.el.classList.remove("o_hidden"); + this.$app_menu.el.classList.add("o_hidden"); + this._search_def = this.createDeferred(); + this._searchMenus(); + }, + _searchMenus() { + // App menu search function + var query = this.state.searchQuery; + if (query === "") { + this.$search_container.el.classList.remove("has-results"); + this.$search_results.el.classList.add("o_hidden") + this.$app_menu.el.classList.remove("o_hidden"); + return; + } + var results = []; + fuzzyLookup(query, this._apps, (menu) => menu.label) + .forEach((menu) => { + results.push({ + category: "apps", + name: menu.label, + actionID: menu.actionID, + id: menu.id, + webIconData: menu.webIconData, + }); + }); + fuzzyLookup(query, this._searchableMenus, (menu) => + (menu.parents + " / " + menu.label).split("/").reverse().join("/") + ).forEach((menu) => { + results.push({ + category: "menu_items", + name: menu.parents + " / " + menu.label, + actionID: menu.actionID, + id: menu.id, + }); + }); + this.state.menus = results + }, + get menus() { + return this.state.menus + }, + handleClick(menu) { + this.app_components.el.nextSibling.style.display = "block"; + this.app_components.el.style.display = "none"; + + this.sidebar_panel.el.style.display = "block"; + this.app_menu.el.classList.remove('o_hidden'); + + let children = this.app_components.el.parentElement.children; + let oNavbar = null; + + for (let i = 0; i < children.length; i++) { + if (children[i].classList.contains('o_navbar')) { + oNavbar = children[i]; + break; + } + } + + let navChild = oNavbar.children[0].children; + for (let i = 0; i < navChild.length; i++) { + if (navChild[i].classList.contains('o_menu_brand')) { + navChild[i].classList.remove('d-none'); + navChild[i].classList.add('d-block'); + } + if (navChild[i].classList.contains('o_menu_sections')) { + navChild[i].classList.remove('d-none'); + navChild[i].classList.add('d-block'); + } + } + + if (menu) { + this.menuService.selectMenu(menu) + .then(() => { + // Trigger page refresh after the menu is loaded + location.reload(); + }) + .catch(err => { + console.error('Menu navigation failed:', err); + }); + } + }, + OnClickMainMenu() { + // To show search screen + if (this.app_components.el.style.display === "" || this.app_components.el.style.display === "none" ) { + let children = this.app_components.el.parentElement.children; + let oNavbar = null; + for (let i = 0; i < children.length; i++) { + if (children[i].classList.contains('o_navbar')) { + oNavbar = children[i]; + break; + } + } + let navChild = oNavbar.children[0].children + for (let i = 0; i < navChild.length; i++) { + if (navChild[i].classList.contains('o_menu_brand')) { + navChild[i].classList.add('d-none') + } + if (navChild[i].classList.contains('o_menu_sections')) { + navChild[i].classList.add('d-none') + } + } + this.app_components.el.style.transition = "opacity 0.25s" + this.app_components.el.style.opacity="1" + this.app_components.el.style.display = "block" + this.app_components.el.nextSibling.style.display = "none" + this.sidebar_panel.el.style.display = "none" + } else { + this.app_components.el.style.transition = "opacity 0.05s"; + this.app_components.el.style.opacity = "0"; + setTimeout(() => { + this.app_components.el.style.display = "none"; + }, 50); + this.app_components.el.nextSibling.style.display = "block" + this.sidebar_panel.el.style.display = "block" + let children = this.app_components.el.parentElement.children; + let oNavbar = null; + for (let i = 0; i < children.length; i++) { + if (children[i].classList.contains('o_navbar')) { + oNavbar = children[i]; + break; + } + } + let navChild = oNavbar.children[0].children + for (let i = 0; i < navChild.length; i++) { + if (navChild[i].classList.contains('o_menu_brand')) { + navChild[i].classList.remove('d-none') + } + if (navChild[i].classList.contains('o_menu_sections')) { + navChild[i].classList.remove('d-none') + } + } + } + }, + onNavBarDropdownItemSelection(app) { + // To go to app menu + this.app_components.el.style.display = "none"; + this.app_components.el.nextSibling.style.display = "block" + this.sidebar_panel.el.style.display = "block" + let children = this.app_components.el.parentElement.children; + let oNavbar = null; + for (let i = 0; i < children.length; i++) { + if (children[i].classList.contains('o_navbar')) { + oNavbar = children[i]; + break; + } + } + let navChild = oNavbar.children[0].children + for (let i = 0; i < navChild.length; i++) { + if (navChild[i].classList.contains('o_menu_brand')) { + navChild[i].classList.add('d-flex') + navChild[i].classList.remove('d-none') + } + if (navChild[i].classList.contains('o_menu_sections')) { + navChild[i].classList.add('d-flex') + navChild[i].classList.remove('d-none') + } + } + if (app) { + this.menuService.selectMenu(app); + + } + }, + refreshNavBar() { + // Find the navbar element + let children = this.app_components.el.parentElement.children; + let oNavbar = null; + + // Locate the navbar component + for (let i = 0; i < children.length; i++) { + if (children[i].classList.contains('o_navbar')) { + oNavbar = children[i]; + break; + } + } + + if (oNavbar) { + let navChild = oNavbar.children[0].children; + // Ensure the navbar sections are displayed correctly + for (let i = 0; i < navChild.length; i++) { + if (navChild[i].classList.contains('o_menu_brand')) { + navChild[i].classList.remove('d-none'); + navChild[i].classList.add('d-block'); + } + if (navChild[i].classList.contains('o_menu_sections')) { + navChild[i].classList.remove('d-none'); + navChild[i].classList.add('d-block'); + } + } + } + } +}) diff --git a/jazzy_backend_theme/static/src/components/app_menu/side_menu.xml b/jazzy_backend_theme/static/src/components/app_menu/side_menu.xml new file mode 100644 index 000000000..d88f00e80 --- /dev/null +++ b/jazzy_backend_theme/static/src/components/app_menu/side_menu.xml @@ -0,0 +1,120 @@ + + + + +
+ +
+
+
+ + + +
+
+
+
+
+
+ +
+
+ +
+
+
+
    + +
  • + +
  • +
    + +
+ +
+
+
+ + + + + + + +
+
+
+
+ + + + + + + + + + + + +
diff --git a/jazzy_backend_theme/static/src/img/background.jpg b/jazzy_backend_theme/static/src/img/background.jpg new file mode 100644 index 000000000..d1a36628f Binary files /dev/null and b/jazzy_backend_theme/static/src/img/background.jpg differ diff --git a/jazzy_backend_theme/static/src/layout/style/color.css b/jazzy_backend_theme/static/src/layout/style/color.css new file mode 100644 index 000000000..fc8743df0 --- /dev/null +++ b/jazzy_backend_theme/static/src/layout/style/color.css @@ -0,0 +1,14 @@ +:root{ + --primary_accent: black !default; + --secondary_accent: #ffffff !default; + --inverse_accent: #ffffff !default; + --kanban-bg-color:#f7f7f7; + --o-kanban-color-border-width: 8px; + --selected_row: #ffffff !default; + --bg_white: #ffffff !default; + --f_color: #555b6d !default; + --color_white : #ffffff !default; + --primary_hover: #00376e !default; + --light_hover: #d5d5d5; + --fullscreen-bg-color: #C5F0FC !important; +} diff --git a/jazzy_backend_theme/static/src/layout/style/layout_colors.scss b/jazzy_backend_theme/static/src/layout/style/layout_colors.scss new file mode 100644 index 000000000..6e62a901e --- /dev/null +++ b/jazzy_backend_theme/static/src/layout/style/layout_colors.scss @@ -0,0 +1,30 @@ +$primary_accent: var(--primary-accent) !important; +$secondary_accent: var(--secondary-accent) !important; +$inverse_accent: var(--inverse-accent) !important; +$kanban-bg-color:var(--kanban-bg-color) !important; +$o-kanban-color-border-width: var(--o-kanban-color-border-width) !important; +$selected_row: var(--selected-row) !important; +$bg_white: var(--bg-white) !important; +$f_color: var(--f-color) !important; +$color_white : var(--color-white) !important; +$primary_hover: var(--primary-hover) !important; +$light_hover: var(--light-hover) !important; +$fullscreen-bg-color: var(--fullscreen-bg-color) !important; + +:root{ + --primary-accent: #004589 ; + --primary-accent-border: #ffffff; + --app-bar-accent: #ffffff; + --full-screen-bg: url(/jazzy_backend_theme/static/src/img/background.jpg) ; + --kanban-bg-color:#f7f7f7; + --o-kanban-color-border-width: 8px !important; + --selected-row: #ffffff !important; + --app-menu-font-color:#ffffff; + --bg-white: #ffffff !important; + --f-color: #555b6d !important; + --color-white : #ffffff !important; + --primary-hover: #00376e; + --light-hover: #d5d5d5 ; + --secondary-hover:#ffffff; + --fullscreen-bg-color: #C5F0FC !important; +} diff --git a/jazzy_backend_theme/static/src/layout/style/layout_style.scss b/jazzy_backend_theme/static/src/layout/style/layout_style.scss new file mode 100644 index 000000000..329625fcb --- /dev/null +++ b/jazzy_backend_theme/static/src/layout/style/layout_style.scss @@ -0,0 +1,506 @@ +.bg-primary{ + background-color: var(--primary-accent) !important; +} +.o_field_widget.o_field_many2one .o_external_button { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + flex: 0 0 auto; + padding-left:1%; + padding-right:0.5%; + margin-left: 2px; + font-size: 19px; + color: #7C7BAD; + border: none; +} +.app_bar .app_container a:hover{ + background:var(--secondary-hover) !important; +} +.fullscreen-menu{ + height: calc(100vh - 46px); + background: var(--full-screen-bg); + background-size: cover; + background-repeat: no-repeat; + min-width: 100%; + overflow-y: auto !important; + overflow-x: hidden !important; + margin-top: 0; + position: fixed; + top: 46px; + left: -1px; + padding: 2.5rem 0; +} +.a_app_menu_title{ + color: var(--app-menu-font-color) !important; +} +.o_main_navbar{ + background-color:var(--primary-accent) !important; + border-bottom: 1px solid var(--primary-hover) !important; +} +.dropdown-toggle { + &:hover{ + background: var(--primary-hover) !important; + } +} +.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto { + + background-repeat: no-repeat; + background-size: 23px; + padding-left: 40px; + margin-bottom: 5px; + +} +//Top bar + +//Icon color +.o_searchview .o_searchview_facet .o_searchview_facet_label { + background-color: var(--primary-accent) !important; +} +.btn-secondary { + color: #fff !important; + background-color: var(--primary-accent) !important; + border-color: var(--primary-accent) !important; + margin:0 5px 0 0; + &:hover{ + background-color: var(--primary-hover) !important; + } +} +.btn-outline-primary { + border-color: var(--primary-hover); + color: var(--primary-hover); +} +.btn-outline-primary:hover { + color: #fff; + background-color: var(--primary-hover); + border-color: var(--primary-hover); +} +.o_searchview { + background-color: var(--bg-white) !important; + border: 1px solid #ccc; + border-radius: 10px; + padding: 1px 25px 3px 5px; +} +.o_searchview .o_searchview_input_container { + display: flex; + flex-flow: row wrap; + position: relative; + border-radius: 10px; +} +.o_searchview .o_searchview_input_container .o_searchview_facet { + display: flex; + -webkit-box-flex: 0; + flex: 0 0 auto; + margin: 1px 3px 0 0; + max-width: 100%; + border-radius: 10px; + position: relative; +} +.o_searchview .o_searchview_facet .o_facet_values{ + border-radius: 10px !important; + background-color: #e2e2e0 !important; +} +.o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label { + align-items: center; + color: var(--bg-white) !important; + -webkit-box-flex: 0; + flex: 0 0 auto; + padding: 0 3px; + border-radius: 10px; + display: flex; + max-width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + vertical-align: top; +} +// Module icon +.oe_module_icon { + width: 70px; + max-height: 70px; + max-width: 23%; + float: left; + border-radius: 10px; +} +.o_base_settings .o_setting_container .settings_tab .selected{ + background-color: var(--primary-hover); +} +.app_bar .app_container .scroll_container .app_items_wrapper .app_items{ + background-color:var(--app-bar-accent); +} +.app_bar .app_container .scroll_container .app_items_wrapper .app_items .o-app-icon { + width: 32px; + height: 32px; + border-radius: 5px; +} +// Photo +.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left { + margin-top: -8px; + margin-bottom: -8px; + margin-left: -8px; + border-radius: 10px; +} +// Drowpdowm +.o-dropdown.dropup > .o-dropdown--menu, .o-dropdown.dropdown > .o-dropdown--menu, .o-dropdown.dropleft > .o-dropdown--menu, .o-dropdown.dropright > .o-dropdown--menu { + left: auto; + right: auto; + margin-left: 0; + margin-right: 0; + border-radius: 10px; +} +// Kanban +.o_kanban_view.o_kanban_grouped .o_kanban_record, .o_kanban_view.o_kanban_grouped .o_kanban_quick_create { + width: 100%; + margin-left: 0; + margin-right: 0; + border-radius: 10px; +} +.o_form_view .oe_button_box .btn.oe_stat_button { + color: var(--primary-accent) !important; + height: 44px; + padding: 0 6px 0 0 !important; + text-align: left; + white-space: nowrap; + background-color: transparent; + opacity: 0.8; + border-radius: 0px; + margin-bottom: 0; +} +.o_dashboards .o_website_dashboard div.o_box { + color: rgba(73, 80, 87, 0.76); + background-color: white; + background-size: cover; + margin-top: 16px; + position: static; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3); + border-radius: 10px; +} +// Button +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: var(--primary-accent) !important; + background-color: var(--primary-accent) !important; +} +// Current date calender +.o_calendar_view .o_calendar_widget .fc-timeGridDay-view .fc-widget-header.fc-today, .o_calendar_view .o_calendar_widget .fc-timeGridWeek-view .fc-widget-header.fc-today { + border-radius: 25px; + background: var(--primary-accent) !important; + color: var(--bg-white) !important; +} +// Tabs Start +.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { + border: none; + border-bottom: solid; + font-weight: bold; + background: var(--primary-accent) !important; + color: var(--bg-white) !important; + border-radius: 5px,50px,5px,50px; +} +// Website +.o_dashboards .o_website_dashboard .o_dashboard_common .o_inner_box { + padding-top: 10px; + text-align: center; + border: 1px solid var(--bg-white) !important; + height: 80px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + color: var(--color-white) !important; + background-color: var(--primary-accent) !important; + border-radius:10px; + &:hover{ + background-color: var(--primary-hover) !important; + } +} +.o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main { + background-color: var(--primary-accent) !important; + border-radius:10px; +} +.dropdown-menu.show { + display: block; + border-radius: 0; +} +.o_mail_preview .o_mail_preview_image.o_mail_preview_app > img { + border-radius: 10px; +} +// Graph +.o_calendar_view .fc-view .fc-event.o_calendar_color_3:not(.o_calendar_hatched):not(.o_calendar_striked) { + background: var(--primary-hover) !important; + border-radius: 10px; +} +//Event +.text-center { + text-align: center !important; + border-radius: 10px; +} +// Form control icons +.o_form_view .oe_button_box .oe_stat_button .o_button_icon { + color: var(--primary-accent) !important; +} +// Small icons +.o_search_panel .o_search_panel_category .o_search_panel_section_icon { + color: var(--primary-accent) !important; +} +.badge-primary { + color: var(--color-white) !important; + background-color: var(--primary-accent) !important; +} +// Wizard +.modal.o_technical_modal .modal-content { + border-radius: 10px; +} +// Navbar +.nav-container{ + height: auto !important; + background: transparent !important; + float: none !important; + padding: 0 !important; + width: 850px !important; + margin: 0 auto !important; +} +.o_nav_entry{ + &:hover{ + background-color: var(--primary-hover) !important; + } +} + .app-menu{ + width: 100%; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + margin: 0 auto; + margin-right: 70px; + +} +//Responsive +.o_MobileMessagingNavbar_tab.o-active{ + color: var(--primary-accent) !important; +} +@media (max-width: 768px){ + .app-menu{ + width: 100%; + display: grid; + grid-template-columns: 1fr 1fr 1fr; + justify-content: flex-start; + margin: 0 auto; + } + .o_cp_bottom{ + flex-wrap: wrap !important; + } + .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled { + + margin-right: 10px; + } + .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary), .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):hover, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):focus + { + margin-left:10px; + } + .o_form_view .o_form_statusbar > .o_field_widget { + margin-left: -24px !important; + margin-top: 1px !important; + } + .o_form_view .o_form_statusbar{ + flex-direction: column !important; + padding-left: 0px !important; + } +} +@media (min-width: 768px){ + .o_form_view .o_form_sheet_bg > .o_form_sheet { + border-radius: 10px; + } + .search-container{ + width: 750px; + margin: 0 auto; + } +} +@media (max-width:767px){ + .o_form_view .o_group{ + width:100% !important; + } + .dropdown-menu.show { + display: block; + border-radius:0; + } + .o_control_panel .breadcrumb > li { + display: inline-block; + max-width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + vertical-align: top; + } + .o_control_panel .o_cp_top_right { + min-height: 30px; + max-width: 100%; + margin-left: 10%; + } + .o_form_view .o_form_sheet_bg > .o_form_sheet { + min-width: 100%; + max-width: 100%; + min-height: 100%; + border: 1px solid #c8c8d3; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); + background: white; + margin: 4.8px auto; + padding: 24px; + padding-right: 16px; + padding-left: 16px; + } + .oe_topbar_name{ + display:none; + } + .nav-container { + position: relative; + width: 100vw !important; + display: flex; + align-items: start; + margin-top: 2rem; + } + .o_cp_top{ + flex-wrap: wrap !important; + } + .o_cp_top_left, .o_cp_searchview{ + width: 100%; + } + .o_cp_top_right{ + width: 100%; + margin: 1.5rem auto; + margin-left: 0 !important; + } + //Search Panel + .o_content o_controller_with_searchpanel, .o_controller_with_searchpanel{ + display:flex !important; + flex-direction: column !important; + } + .o_search_panel{ + display: flex; + overflow-x: auto; + overflow-y: auto; + height: 200px; + width: 100%; + section{ + margin-right: 1rem; + } + } + .o_search_panel section { + width: 100% !important; + } + .o_setting_container{ + display: flex; + flex-direction: column; + } + .settings_tab{ + display: flex; + flex-direction: row !important; + overflow-x: auto; + height: 40px; + } + .settings{ + margin-top: 1.5rem; + } +} +@media (max-width:524px){ + .o_control_panel .o_cp_bottom_right > .o_cp_pager + { + margin-top:5px; + } + div.app-menu *::before{ + box-sizing:none; + } + div.app-menu *::after{ + box-sizing:none; + } +} +@media (max-width:493px){ + .o_control_panel .o_cp_bottom_left > .o_cp_action_menus { + margin-left: 0px; + padding-right: 10px; + } +} +// V17 Fixes +@media (min-width:1096px){ + .app_components .search-input { + width:725px !important; + } +} +@media (max-width:768px){ + .app_components .search-input { + margin-left: 60px !important; + } + .search-container.has-results .search-results { + margin-left: 60px !important; + } + .o_field_statusbar > .o_statusbar_status { + width: 314px !important; + } + .o_form_view .o_cp_buttons { + overflow: auto !important; + } +} +.o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_sections .dropdown-toggle { + background: var(--primary-accent) !important; +} +.btn-primary { + background: var(--primary-accent) !important; + color: white !important; +} +.btn-primary:hover { + background: var(--primary-hover) !important; +} +.o_statusbar_status .o_arrow_button.btn-secondary { + margin: 0px !important; + color: var(--primary-accent) !important; + background-color: white !important; +} +.o_statusbar_status .o_arrow_button.btn-secondary.o_arrow_button_current { + color: white !important; + background-color: var(--primary-accent) !important; + font-family: inherit !important; +} +.o_statusbar_status .o_arrow_button.btn-secondary::after { + border-left-color: white !important; +} +.o_statusbar_status .o_arrow_button.btn-secondary.o_arrow_button_current::after { + border-left-color: var(--primary-accent) !important; +} +.o_statusbar_status .o_arrow_button.btn-secondary::before { + border-left-color: var(--primary-accent) !important; +} +.search-results a{ + color: white !important; + cursor: pointer !important; +} +.app_components { + background-repeat: no-repeat !important; + background-size: cover !important; +} +.nav-link, o_form_view .o_form_uri, .o_form_view .o_form_uri > span:first-child { + color: var(--primary-accent) !important; +} + +.form-check-input:checked { + background-color: var(--primary-accent) !important; + border-color: var(--primary-accent) !important; +} +a, .btn { + color: var(--primary-accent); + +} +.btn:hover { + color: var(--primary-hover); + background-color: var(--primary-accent); +} +.text-bg-primary { + background-color: var(--primary-accent) !important; +} +.btn-info { + color: white !important; +} +.dropdown-toggle:hover { + color: white !important; +} +.o_searchview_icon { + margin-left: 8px; +} +.text-action { + color: var(--primary-accent) !important; +} diff --git a/jazzy_backend_theme/static/src/layout/style/login.scss b/jazzy_backend_theme/static/src/layout/style/login.scss new file mode 100644 index 000000000..b1b808958 --- /dev/null +++ b/jazzy_backend_theme/static/src/layout/style/login.scss @@ -0,0 +1,156 @@ +#wrapwrap > main { + background: #f8f8fb; +} +.navbar { + background: #fff !important; +} + +body { + font-family: 'Poppins', sans-serif !important; +} +body.bg-100 { + background-color: #000000 !important; +} +.card.o_database_list { + align-items: center; + max-width: 450px !important +} +.card.o_database_list .card-body { + background-color: #fff !important; + border-radius: 5px !important; + -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; + box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important; +} +.o_main_navbar .o_menu_sections { + flex-wrap: w +} +a { + color: #556ee6; + text-decoration: none; +} +a:hover { + color: #4458b8; + text-decoration: underline; +} +.alert-info { + color: #306391; + background-color: #dcedfc; + border-color: #cbe4fb; +} +.oe_login_form button.btn-link { + color: #495057; + font-weight: 500; + font-size: 14px !important; +} +.oe_login_form button.btn-link:hover { + color: #171a1c; +} +// Login button starts +.btn-primary { + color: #fff; + background-color: #556ee6; + border-color: #556ee6; +} +.btn-primary:hover { + color: #fff; + background-color: #485ec4; + border-color: #4458b8; +} +.btn-outline-primary { + border-color: #556ee6; + color: #556ee6; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #556ee6; + border-color: #556ee6; +} +.btn-check:active+.btn-primary, +.btn-check:checked+.btn-primary, +.btn-primary.active,.btn-primary:active, +.show>.btn-primary.dropdown-toggle { + color: #fff; + background-color: #4458b8 !important; + border-color: #4053ad !important; +} +.btn-check:focus+.btn-primary, .btn-primary:focus { + color: #fff; + background-color: #485ec4 !important; + border-color: #4458b8 !important; + -webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important; + box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important; +} +.oe_login_form .btn { + display: inline-block; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + padding: .47rem .75rem; + border-radius: .25rem; + -webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; +} +.btn-secondary { + color: #fff !important; + background-color: #74788d !important; + border-color: #74788d !important; +} +.btn-secondary:hover { + color: #fff !important; + background-color: #636678 !important; + border-color: #5d6071 !important; +} +.btn-secondary:active { + color: #fff; + background-color: #5d6071 !important; + border-color: #575a6a !important; +} +.btn-secondary i,.btn-secondary span { + color: #fff !important; +} +.btn-fill-secondary:focus, .btn-secondary:focus, .btn-fill-secondary.focus, .focus.btn-secondary { + box-shadow: none !important; +} +// Login button ends + +// Input starts +.oe_login_form input { + display: block; + width: 100%; + height: 40px !important; + padding: 10px 20px; + font-size: 13px; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da !important; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: .25rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + box-shadow: none !important; + margin-bottom:10px !important; +} +form label { + font-weight: 400 !important; +} +.oe_login_form a.btn.btn-secondary { + height: 40px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.35rem 0.75rem; +} +.oe_login_form a.btn.btn-secondary i.fa.fa-database { + margin-left: 5px; +} diff --git a/jazzy_backend_theme/static/src/layout/style/sidebar.scss b/jazzy_backend_theme/static/src/layout/style/sidebar.scss new file mode 100644 index 000000000..300433bb9 --- /dev/null +++ b/jazzy_backend_theme/static/src/layout/style/sidebar.scss @@ -0,0 +1,61 @@ +#sidebar_panel { + height: calc(100% - 0%); + position: fixed; + background-color: var(--app-bar-accent); + width: 50px; + overflow-y: scroll; + -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */ + scrollbar-width: none; /* Hide scrollbar for Firefox */ + z-index: 999; +} +#sidebar_panel::-webkit-scrollbar { + display: none; /* Hide scrollbar for Chrome, Safari and Opera */ +} +.sidebar_panel .sidebar { + padding: 0; + white-space: nowrap; + padding-bottom: 20px; + padding-top: 5px; +} +.sidebar_panel .sidebar .sidebar_menu { + list-style: none; + margin: 0; + padding: 0; +} +.sidebar_panel .sidebar .sidebar_menu li { + margin: 0; + padding: 0; + border: 0px; + display: block; +} +.dropdown-item{ + padding: 10px 10px 10px 10px; +} +.o_main_navbar .o_menu_brand { + text-decoration: none !important; + margin-left: 10px; +} +.sidebar_panel .sidebar .sidebar_menu li a { + margin: 0; + border: 0px; + display: block; + cursor: pointer; + overflow: hidden; + color: #ffffff; + font-size: 13px; + transition:.3s all; +} +.sidebar_panel .sidebar .sidebar_menu li:hover a { + background: var(--secondary-hover) !important; + color: #fff; +} +.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img { + width: 30px; + border-radius:5px; +} +html .o_web_client > .o_action_manager{ + margin-left:50px; +} +.sidebar_panel .sidebar .sidebar_menu li .nav-link { + padding:10px 10px 10px 10px; +} diff --git a/jazzy_backend_theme/views/layout_templates.xml b/jazzy_backend_theme/views/layout_templates.xml new file mode 100644 index 000000000..7c5cc4ecb --- /dev/null +++ b/jazzy_backend_theme/views/layout_templates.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/jazzy_backend_theme/views/res_config_settings_views.xml b/jazzy_backend_theme/views/res_config_settings_views.xml new file mode 100644 index 000000000..5f0ea932c --- /dev/null +++ b/jazzy_backend_theme/views/res_config_settings_views.xml @@ -0,0 +1,47 @@ + + + + res.config.settings.view.form.inherit.jazzy.backend.theme + res.config.settings + + + + + + +
+ Background Image + +
+
+ App Bar Background Color + +
+
+ App Menu Text Color + +
+
+ AppBar Hover Color + +
+
+ +
+ Navbar Background Color + +
+
+ Primary Button Hover + +
+
+ Kanban Background Color + +
+
+
+
+
+
+
diff --git a/lunch_order_pdf/static/description/index.html b/lunch_order_pdf/static/description/index.html index a0f63914a..f11f4908b 100644 --- a/lunch_order_pdf/static/description/index.html +++ b/lunch_order_pdf/static/description/index.html @@ -79,9 +79,7 @@ display: flex; justify-content: center; align-items: center; - } - @@ -218,7 +216,7 @@ font-size: 40px; font-weight: 700; text-transform: uppercase; padding-bottom: 50px;">Key - Highlights + Heighlights
`__ + +License +======= +Affero General Public License, v3.0 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developers: (V17) Bhagyadev KP, + (V18) Aysha Shalin + Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/multi_pricelist/__init__.py b/multi_pricelist/__init__.py new file mode 100644 index 000000000..2e9c4afff --- /dev/null +++ b/multi_pricelist/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import models +from . import wizard diff --git a/multi_pricelist/__manifest__.py b/multi_pricelist/__manifest__.py new file mode 100644 index 000000000..00a2376e3 --- /dev/null +++ b/multi_pricelist/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': "Sale Order Multiple Pricelist", + 'version': '18.0.1.0.0', + 'category': 'Sales', + 'summary': 'Multiple price lists can be applied to the same Sale Order.', + 'description': """Users can apply different price lists for ech order lines + of the same Sale Order.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['sale_management'], + 'data': [ + 'security/ir.model.access.csv', + 'views/sale_order_views.xml', + 'views/res_config_settings_views.xml', + 'wizard/pricelist_product_views.xml' + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/multi_pricelist/doc/RELEASE_NOTES.md b/multi_pricelist/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..2ec04e25d --- /dev/null +++ b/multi_pricelist/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 03.01.2025 +#### Version 18.0.1.0.0 +##### ADD +- Initial Commit for Sale Order Multiple Pricelist diff --git a/multi_pricelist/models/__init__.py b/multi_pricelist/models/__init__.py new file mode 100644 index 000000000..a80e6cb0b --- /dev/null +++ b/multi_pricelist/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import res_config_settings +from . import sale_order_line diff --git a/multi_pricelist/models/res_config_settings.py b/multi_pricelist/models/res_config_settings.py new file mode 100644 index 000000000..4987a906f --- /dev/null +++ b/multi_pricelist/models/res_config_settings.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + """ This class inherits res.config.settings model to add the settings + for multiple price lists """ + _inherit = 'res.config.settings' + + multi_pricelist = fields.Boolean(string="Multiple Pricelists", + help="Multiple price lists" + "for the same sale order") + + @api.model + def get_values(self): + """ Supering the get_values method to get multi_price list field """ + res = super(ResConfigSettings, self).get_values() + multi_pricelist = self.env[ + 'ir.config_parameter'].sudo().get_param( + 'multi_pricelist.multi_pricelist') + res.update( + multi_pricelist=multi_pricelist, + ) + return res + + def set_values(self): + """ Supering the set_values method to set multi_price list field """ + super(ResConfigSettings, self).set_values() + param = self.env['ir.config_parameter'].sudo() + param.set_param('multi_pricelist.multi_pricelist', + self.multi_pricelist) diff --git a/multi_pricelist/models/sale_order_line.py b/multi_pricelist/models/sale_order_line.py new file mode 100644 index 000000000..c6f6cb3dc --- /dev/null +++ b/multi_pricelist/models/sale_order_line.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from datetime import datetime +from odoo import fields, models, _ +from odoo.exceptions import UserError + + +class SaleOrderLine(models.Model): + """ Inherits sale.order.line to add the functions for checking the + visibility of the pricelists in order lines and applying the pricelists + to order lines. """ + _inherit = 'sale.order.line' + + pricelist_visibility = fields.Boolean( + compute="_compute_pricelist_visibility", string="Pricelist Visible", + help="Multi Pricelist enabled or not") + applied_pricelist_id = fields.Many2one( + 'product.pricelist', + string="PriceList", + help="Price lists that is applied to the order line.") + + def _get_pricelist_price(self): + """ Overriding the _get_pricelist_price method to apply multiple + pricelists """ + self.ensure_one() + self.product_id.ensure_one() + if self.applied_pricelist_id: + for line in self: + line.pricelist_item_id = line.applied_pricelist_id._get_product_rule( + line.product_id, + quantity=line.product_uom_qty or 1.0, + uom=line.product_uom, + date=line.order_id.date_order, + ) + price = self.pricelist_item_id._compute_price( + product=self.product_id.with_context( + **self._get_product_price_context()), + quantity=self.product_uom_qty or 1.0, + uom=self.product_uom, + date=self.order_id.date_order, + currency=self.currency_id, + ) + return price + else: + price = self.pricelist_item_id._compute_price( + product=self.product_id.with_context( + **self._get_product_price_context()), + quantity=self.product_uom_qty or 1.0, + uom=self.product_uom, + date=self.order_id.date_order, + currency=self.currency_id, + ) + return price + + def apply_pricelist(self): + """ This function will help to select all the pricelists for a product + in order line and apply it""" + for rec in self: + date_time_today = datetime.today().strftime("%Y-%m-%d %H:%M:%S") + # find the matching price list for a product + price_ids = self.env['product.pricelist.item'].search( + ['|', '|', ('product_tmpl_id', '=', False), + ('categ_id', '=', rec.product_id.categ_id.id), + ('product_tmpl_id', '=', rec.product_id.product_tmpl_id.id), + ('min_quantity', '<=', rec.product_uom_qty),'|', + ('date_start', '<=', date_time_today), + ('date_start', '=', False), '|', + ('date_end', '>=', date_time_today), + ('date_end', '=', False), + ]) + variant_ids = self.env['product.pricelist.item'].search( + [ + ('product_id', '=', rec.product_id.id), + ('min_quantity', '<=', rec.product_uom_qty), + '|', ('date_start', '<=', date_time_today), + ('date_start', '=', False), '|', + ('date_end', '>=', date_time_today), + ('date_end', '=', False), + ]) + combined_ids = price_ids + variant_ids + if combined_ids: + pricelist_wizard = self.env['pricelist.product'].create({ + 'order_line_id': rec.id, + 'line_ids': [(0, 0, { + 'pricelist_id': price.pricelist_id.id, + 'product_id': rec.product_id.id, + 'unit_price': self.unit_price(price), + 'unit_cost': rec.product_id.standard_price, + 'uom_id': rec.product_id.uom_id.id + }) for price in combined_ids], + }) + else: + raise UserError(_( + "No price list is configured for this product!")) + return { + 'type': 'ir.actions.act_window', + 'target': 'new', + 'name': 'Select Pricelist', + 'view_mode': 'form', + 'view_id': self.env.ref( + "multi_pricelist.pricelist_wizard_view_form", False).id, + 'res_model': 'pricelist.product', + 'res_id': pricelist_wizard.id, + } + + def _compute_pricelist_visibility(self): + """ Computes pricelist_visibility by checking the config parameter """ + for rec in self: + rec.pricelist_visibility = self.env[ + 'ir.config_parameter'].sudo().get_param( + 'multi_pricelist.multi_pricelist') + if rec.order_id.state in ['sale', 'done', 'cancel']: + rec.pricelist_visibility = False + + def unit_price(self, price): + """ Compute the unit price of the product according to the + price_list_item. """ + if price.compute_price == 'fixed': + unt_price = price.fixed_price + elif price.compute_price == 'percentage' and price.percent_price != 0: + unt_price = self.product_id.list_price * ( + 1 - price.percent_price / 100) + elif price.compute_price == 'formula' and price.base == 'list_price': + unt_price = (self.product_id.list_price * ( + 1 - price.price_discount / 100) + price.price_surcharge) + if price.price_min_margin or price.price_max_margin: + if (unt_price < price.price_min_margin + + self.product_id.list_price): + unt_price = (price.price_min_margin + + self.product_id.list_price) + elif (unt_price > price.price_max_margin + + self.product_id.list_price): + unt_price = (price.price_max_margin + + self.product_id.list_price) + else: + unt_price = unt_price + elif price.compute_price == 'formula' and price.base == 'standard_price': + unt_price = (self.product_id.standard_price * ( + 1 - price.price_discount / 100) + price.price_surcharge) + if price.price_min_margin or price.price_max_margin: + if (unt_price < price.price_min_margin + + self.product_id.list_price): + unt_price = (price.price_min_margin + + self.product_id.list_price) + elif (unt_price > price.price_max_margin + + self.product_id.list_price): + unt_price = (price.price_max_margin + + self.product_id.list_price) + else: + unt_price = unt_price + elif price.compute_price == 'formula' and price.base == 'pricelist': + unt_price = (self.unit_price(price.base_pricelist_id.item_ids) * ( + 1 - price.price_discount / 100) + price.price_surcharge) + if price.price_min_margin or price.price_max_margin: + if (unt_price < price.price_min_margin + + self.product_id.list_price): + unt_price = (price.price_min_margin + + self.product_id.list_price) + elif (unt_price > price.price_max_margin + + self.product_id.list_price): + unt_price = (price.price_max_margin + + self.product_id.list_price) + else: + unt_price = unt_price + else: + unt_price = self.product_id.list_price + return unt_price diff --git a/multi_pricelist/security/ir.model.access.csv b/multi_pricelist/security/ir.model.access.csv new file mode 100644 index 000000000..ef20ab934 --- /dev/null +++ b/multi_pricelist/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_pricelist_product_user,access.pricelist.product.user,model_pricelist_product,base.group_user,1,1,1,1 +access_pricelist_line_user,access.pricelist.line.user,model_pricelist_line,base.group_user,1,1,1,1 diff --git a/multi_pricelist/static/description/assets/icons/arrows-repeat.svg b/multi_pricelist/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/banner-1.png b/multi_pricelist/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/banner-1.png differ diff --git a/multi_pricelist/static/description/assets/icons/banner-2.svg b/multi_pricelist/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/banner-bg.png b/multi_pricelist/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/banner-bg.png differ diff --git a/multi_pricelist/static/description/assets/icons/banner-bg.svg b/multi_pricelist/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/banner-call.svg b/multi_pricelist/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/multi_pricelist/static/description/assets/icons/banner-mail.svg b/multi_pricelist/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/multi_pricelist/static/description/assets/icons/banner-pattern.svg b/multi_pricelist/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/banner-promo.svg b/multi_pricelist/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/brand-pair.svg b/multi_pricelist/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/check.png b/multi_pricelist/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/check.png differ diff --git a/multi_pricelist/static/description/assets/icons/chevron.png b/multi_pricelist/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/chevron.png differ diff --git a/multi_pricelist/static/description/assets/icons/close-icon.svg b/multi_pricelist/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/multi_pricelist/static/description/assets/icons/cogs.png b/multi_pricelist/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/cogs.png differ diff --git a/multi_pricelist/static/description/assets/icons/collabarate-icon.svg b/multi_pricelist/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/multi_pricelist/static/description/assets/icons/consultation.png b/multi_pricelist/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/consultation.png differ diff --git a/multi_pricelist/static/description/assets/icons/cybro-logo.png b/multi_pricelist/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/cybro-logo.png differ diff --git a/multi_pricelist/static/description/assets/icons/down.svg b/multi_pricelist/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/multi_pricelist/static/description/assets/icons/ecom-black.png b/multi_pricelist/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/ecom-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/education-black.png b/multi_pricelist/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/education-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/faq.png b/multi_pricelist/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/faq.png differ diff --git a/multi_pricelist/static/description/assets/icons/feature-icon.svg b/multi_pricelist/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/feature.png b/multi_pricelist/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/feature.png differ diff --git a/multi_pricelist/static/description/assets/icons/gear.svg b/multi_pricelist/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/hero.gif b/multi_pricelist/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..380654dfe Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/hero.gif differ diff --git a/multi_pricelist/static/description/assets/icons/hire-odoo.svg b/multi_pricelist/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/hotel-black.png b/multi_pricelist/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/hotel-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/license.png b/multi_pricelist/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/license.png differ diff --git a/multi_pricelist/static/description/assets/icons/life-ring-icon.svg b/multi_pricelist/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/lifebuoy.png b/multi_pricelist/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/lifebuoy.png differ diff --git a/multi_pricelist/static/description/assets/icons/mail.svg b/multi_pricelist/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/multi_pricelist/static/description/assets/icons/manufacturing-black.png b/multi_pricelist/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/manufacturing-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/notes.png b/multi_pricelist/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/notes.png differ diff --git a/multi_pricelist/static/description/assets/icons/notification icon.svg b/multi_pricelist/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/odoo-consultancy.svg b/multi_pricelist/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/multi_pricelist/static/description/assets/icons/odoo-licencing.svg b/multi_pricelist/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/multi_pricelist/static/description/assets/icons/odoo-logo.png b/multi_pricelist/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/odoo-logo.png differ diff --git a/multi_pricelist/static/description/assets/icons/patter.svg b/multi_pricelist/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/pattern1.png b/multi_pricelist/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/pattern1.png differ diff --git a/multi_pricelist/static/description/assets/icons/pos-black.png b/multi_pricelist/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/pos-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/puzzle-piece-icon.svg b/multi_pricelist/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/puzzle.png b/multi_pricelist/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/puzzle.png differ diff --git a/multi_pricelist/static/description/assets/icons/replace-icon.svg b/multi_pricelist/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/restaurant-black.png b/multi_pricelist/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/restaurant-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/screenshot-main.png b/multi_pricelist/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/screenshot-main.png differ diff --git a/multi_pricelist/static/description/assets/icons/screenshot.png b/multi_pricelist/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/screenshot.png differ diff --git a/multi_pricelist/static/description/assets/icons/service-black.png b/multi_pricelist/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/service-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/skype-fill.svg b/multi_pricelist/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/skype.png b/multi_pricelist/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/skype.png differ diff --git a/multi_pricelist/static/description/assets/icons/skype.svg b/multi_pricelist/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/multi_pricelist/static/description/assets/icons/star-1.svg b/multi_pricelist/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/star-2.svg b/multi_pricelist/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/support.png b/multi_pricelist/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/support.png differ diff --git a/multi_pricelist/static/description/assets/icons/test-1 - Copy.png b/multi_pricelist/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/test-1 - Copy.png differ diff --git a/multi_pricelist/static/description/assets/icons/test-1.png b/multi_pricelist/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/test-1.png differ diff --git a/multi_pricelist/static/description/assets/icons/test-2.png b/multi_pricelist/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/test-2.png differ diff --git a/multi_pricelist/static/description/assets/icons/trading-black.png b/multi_pricelist/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/trading-black.png differ diff --git a/multi_pricelist/static/description/assets/icons/training.png b/multi_pricelist/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/training.png differ diff --git a/multi_pricelist/static/description/assets/icons/translate.svg b/multi_pricelist/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/update.png b/multi_pricelist/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/update.png differ diff --git a/multi_pricelist/static/description/assets/icons/user.png b/multi_pricelist/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/user.png differ diff --git a/multi_pricelist/static/description/assets/icons/video.png b/multi_pricelist/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/video.png differ diff --git a/multi_pricelist/static/description/assets/icons/whatsapp.png b/multi_pricelist/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/whatsapp.png differ diff --git a/multi_pricelist/static/description/assets/icons/wrench-icon.svg b/multi_pricelist/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/multi_pricelist/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/multi_pricelist/static/description/assets/icons/wrench.png b/multi_pricelist/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/multi_pricelist/static/description/assets/icons/wrench.png differ diff --git a/multi_pricelist/static/description/assets/modules/1.png b/multi_pricelist/static/description/assets/modules/1.png new file mode 100644 index 000000000..906d51bf5 Binary files /dev/null and b/multi_pricelist/static/description/assets/modules/1.png differ diff --git a/multi_pricelist/static/description/assets/modules/2.jpg b/multi_pricelist/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..73613d2fb Binary files /dev/null and b/multi_pricelist/static/description/assets/modules/2.jpg differ diff --git a/multi_pricelist/static/description/assets/modules/3.png b/multi_pricelist/static/description/assets/modules/3.png new file mode 100644 index 000000000..5a36b384e Binary files /dev/null and b/multi_pricelist/static/description/assets/modules/3.png differ diff --git a/multi_pricelist/static/description/assets/modules/4.png b/multi_pricelist/static/description/assets/modules/4.png new file mode 100644 index 000000000..3a3ee8e83 Binary files /dev/null and b/multi_pricelist/static/description/assets/modules/4.png differ diff --git a/multi_pricelist/static/description/assets/modules/5.png b/multi_pricelist/static/description/assets/modules/5.png new file mode 100644 index 000000000..5ecbe9819 Binary files /dev/null and b/multi_pricelist/static/description/assets/modules/5.png differ diff --git a/multi_pricelist/static/description/assets/modules/6.png b/multi_pricelist/static/description/assets/modules/6.png new file mode 100644 index 000000000..29c325870 Binary files /dev/null and b/multi_pricelist/static/description/assets/modules/6.png differ diff --git a/multi_pricelist/static/description/assets/screenshots/1.png b/multi_pricelist/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..5dae53339 Binary files /dev/null and b/multi_pricelist/static/description/assets/screenshots/1.png differ diff --git a/multi_pricelist/static/description/assets/screenshots/2.png b/multi_pricelist/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..49c8959e1 Binary files /dev/null and b/multi_pricelist/static/description/assets/screenshots/2.png differ diff --git a/multi_pricelist/static/description/assets/screenshots/3.png b/multi_pricelist/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..3bebad1e1 Binary files /dev/null and b/multi_pricelist/static/description/assets/screenshots/3.png differ diff --git a/multi_pricelist/static/description/assets/screenshots/4.png b/multi_pricelist/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..bd2ffa9d3 Binary files /dev/null and b/multi_pricelist/static/description/assets/screenshots/4.png differ diff --git a/multi_pricelist/static/description/assets/screenshots/5.png b/multi_pricelist/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..c7c57f44b Binary files /dev/null and b/multi_pricelist/static/description/assets/screenshots/5.png differ diff --git a/multi_pricelist/static/description/assets/screenshots/hero.gif b/multi_pricelist/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..5ea6d25b5 Binary files /dev/null and b/multi_pricelist/static/description/assets/screenshots/hero.gif differ diff --git a/multi_pricelist/static/description/banner.jpg b/multi_pricelist/static/description/banner.jpg new file mode 100644 index 000000000..31bf1d870 Binary files /dev/null and b/multi_pricelist/static/description/banner.jpg differ diff --git a/multi_pricelist/static/description/icon.png b/multi_pricelist/static/description/icon.png new file mode 100644 index 000000000..b45851446 Binary files /dev/null and b/multi_pricelist/static/description/icon.png differ diff --git a/multi_pricelist/static/description/index.html b/multi_pricelist/static/description/index.html new file mode 100644 index 000000000..c28b53067 --- /dev/null +++ b/multi_pricelist/static/description/index.html @@ -0,0 +1,1063 @@ + + + + + + Sale Order Multiple Pricelist + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Multiple Price Lists Can Be Applied For Same Sale Order. +

+

Sale Order Multiple Pricelist +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Heighlights

+
+
+
+
+ +
+
+ Multiple Price Lists per Order +
+
+
+
+
+
+ +
+
+ Each Lines may have different Price Lists +
+
+
+
+
+
+ +
+
+ View Margin in Percentage +
+
+
+
+
+ +
+
+
+ Sale Order Multiple Pricelist +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Enable + + Multiple Pricelists +

+
+
+

+ Enable Pricelists and Multiple Pricelists + from Sale Order configuration Settings. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Configure Multiple + + Pricelists +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Apply Pricelist in the + Order lines +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Select and Apply the + + Pricelist +

+
+
+

+ You can choose the price list from the popup window by + clicking the 'Apply Pricelist' button. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Updated + + Price +

+
+
+

+ The price of that product has been updated according to the selected price list. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Multiple price lists per order.

+
+ +
+
+
+
+
+
+ +
+

+ Each line may have different price lists.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ While configuring a + backup, selecting + the Zip option will + include the + filestore in the + backup, while + choosing the Dump + option will create a + backup without the + filestore. +

+
+
+ +
+ +
+

+ Enable the "Remove + Old Backups" option + in the backup + creation view to + automatically delete + previous backups + based on the number + of days specified. +

+
+
+ +
+ +
+

+ Enable the "Notify + User" option and + specify a contact to + receive an email + containing a + detailed report with + the failure reason + and backup details. + This option will + also send an email + upon successful + backup. +

+
+
+ +
+ +
+

+ Select the backup + destination as local + storage and specify + a backup path to a + location on the + system to create + backups on your own + system. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 4th January, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/multi_pricelist/views/res_config_settings_views.xml b/multi_pricelist/views/res_config_settings_views.xml new file mode 100644 index 000000000..a49eeaf9a --- /dev/null +++ b/multi_pricelist/views/res_config_settings_views.xml @@ -0,0 +1,18 @@ + + + + + res.config.settings.view.form.inherit.multi.pricelist + res.config.settings + + + + + + + + + + diff --git a/multi_pricelist/views/sale_order_views.xml b/multi_pricelist/views/sale_order_views.xml new file mode 100644 index 000000000..577b19a70 --- /dev/null +++ b/multi_pricelist/views/sale_order_views.xml @@ -0,0 +1,21 @@ + + + + + sale.order.view.form.inherit.multi.pricelist + sale.order + + + + + + + + + + diff --git a/multi_pricelist/wizard/__init__.py b/multi_pricelist/wizard/__init__.py new file mode 100644 index 000000000..c0e0dea2a --- /dev/null +++ b/multi_pricelist/wizard/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import pricelist_line +from . import pricelist_product diff --git a/multi_pricelist/wizard/pricelist_line.py b/multi_pricelist/wizard/pricelist_line.py new file mode 100644 index 000000000..26d560666 --- /dev/null +++ b/multi_pricelist/wizard/pricelist_line.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class PricelistLine(models.TransientModel): + """ Model for applying the price lists for sale orderline items """ + _name = 'pricelist.line' + _rec_name = 'wizard_id' + _description = 'Pricelist Lines' + + wizard_id = fields.Many2one('pricelist.product', + string="Price List Selection", + help="Price List Selection") + pricelist_id = fields.Many2one('product.pricelist', + string="PriceList", + help="Price lists that can be applied for " + "the order line.") + product_id = fields.Many2one('product.product', + string="Product", + help="Order line Product") + unit_price = fields.Float(string="Unit Price", + help="Price of the product per unit") + unit_cost = fields.Float(string='Unit Cost', + help="Cost of the product per unit") + margin = fields.Float(compute='_compute_margin', string="Margin %", + help="calculated by ((unit price - unit cost) " + "unit cost)* 100") + uom_id = fields.Many2one('uom.uom', string="UOM", help="Unit Of Measure") + + @api.depends('unit_price', 'unit_cost') + def _compute_margin(self): + """ This function will compute the margin for the product when the + price list applied. + It is calculated by ((unit price - unit cost)/ unit cost)* 100 """ + for rec in self: + rec.margin = 100 + if rec.unit_cost: + rec.margin = ((rec.unit_price-rec.unit_cost)/rec.unit_cost)*100 + + def apply_pricelist(self): + """This function will apply the selected pricelist to the order line""" + for rec in self: + rec.wizard_id.order_line_id.update({ + 'applied_pricelist_id': rec.pricelist_id, + }) + rec.wizard_id.order_line_id.update({ + 'price_unit': rec.unit_price, + }) diff --git a/multi_pricelist/wizard/pricelist_product.py b/multi_pricelist/wizard/pricelist_product.py new file mode 100644 index 000000000..374bb0959 --- /dev/null +++ b/multi_pricelist/wizard/pricelist_product.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC +# LICENSE (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import fields, models + + +class PricelistProduct(models.TransientModel): + """ New transient model for the price list wizard """ + _name = 'pricelist.product' + _rec_name = 'order_line_id' + _description = 'Price list product' + + order_line_id = fields.Many2one('sale.order.line', + string="Order Line", + help="Order line of the selected order") + line_ids = fields.One2many('pricelist.line', 'wizard_id', + string="Price lists", help="Pricelist lines") diff --git a/multi_pricelist/wizard/pricelist_product_views.xml b/multi_pricelist/wizard/pricelist_product_views.xml new file mode 100644 index 000000000..e1fee5e1d --- /dev/null +++ b/multi_pricelist/wizard/pricelist_product_views.xml @@ -0,0 +1,38 @@ + + + + + pricelist.product.view.form + pricelist.product + +
+ +

+ Select one Pricelist +

+ + + + + + + + + +
-
+
-
+
@@ -238,8 +243,9 @@
+ style="border-radius: 12px; + border: 1px solid #B6BCCD; + background: #FFF;padding:32px ">
+ style="border-radius: 12px; + border: 1px solid #B6BCCD; + background: #FFF;padding:32px ">
+ style="background-color:#7847D9; border-radius:8px !important; height:42px; width:42px"> @@ -298,11 +305,11 @@ @@ -636,134 +643,116 @@
-
-
-

Related Modules

-
- -
+
+ + + + + + + + kanban + + + + + + product.product.view.form.inherit.pantry.payroll + + product.product + + + + + + + + + + diff --git a/pantry_payroll/views/product_template_views.xml b/pantry_payroll/views/product_template_views.xml new file mode 100755 index 000000000..333d8c39f --- /dev/null +++ b/pantry_payroll/views/product_template_views.xml @@ -0,0 +1,17 @@ + + + + + product.template.view.form.inherit.pantry.payroll + product.template + + + + + + + + + + diff --git a/partner_emails_history/static/description/index.html b/partner_emails_history/static/description/index.html index 02cd1f2a3..9583088e8 100644 --- a/partner_emails_history/static/description/index.html +++ b/partner_emails_history/static/description/index.html @@ -219,7 +219,7 @@ font-size: 40px; font-weight: 700; text-transform: uppercase; padding-bottom: 50px;">Key - Highlights + Heighlights
`__ + +License +======= +Affero General Public License, v3.0 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developers: (V17) Shyamgeeth PP, + (V18) Aysha Shalin, + Contact : odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/payment_status_in_sale/__init__.py b/payment_status_in_sale/__init__.py new file mode 100644 index 000000000..c3924c90a --- /dev/null +++ b/payment_status_in_sale/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import models diff --git a/payment_status_in_sale/__manifest__.py b/payment_status_in_sale/__manifest__.py new file mode 100644 index 000000000..e7979cd41 --- /dev/null +++ b/payment_status_in_sale/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': 'Sale Order Payment Status', + 'version': '18.0.1.0.0', + 'category': 'Sales', + 'summary': 'Displays the payment status and details in the Sale Order.', + 'description': """This module is used to display the invoice status of the + corresponding sale order in the form view. It provides details about the + sale order's payment status, payment information and the amount due.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['sale_management', 'account'], + 'data': [ + 'views/sale_order_views.xml' + ], + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/payment_status_in_sale/doc/RELEASE_NOTES.md b/payment_status_in_sale/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..9d9e1e8a2 --- /dev/null +++ b/payment_status_in_sale/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 01.01.2025 +#### Version 18.0.1.0.0 +##### ADD +- Initial commit for Sale Order Payment Status diff --git a/payment_status_in_sale/models/__init__.py b/payment_status_in_sale/models/__init__.py new file mode 100644 index 000000000..272f7b479 --- /dev/null +++ b/payment_status_in_sale/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import sale_order diff --git a/payment_status_in_sale/models/sale_order.py b/payment_status_in_sale/models/sale_order.py new file mode 100644 index 000000000..62e750a05 --- /dev/null +++ b/payment_status_in_sale/models/sale_order.py @@ -0,0 +1,174 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models, _ + + +class SaleOrder(models.Model): + """ Extend the base Sale Order model to add custom fields and behaviors + for Sale Order Payment Status. """ + _inherit = "sale.order" + _description = 'Sale order' + + payment_status = fields.Char(string="Payment Status", + compute="_compute_payment_status", + help="Field to check the payment status of the" + " sale order") + payment_details = fields.Binary(string="Payment Details", + compute="_compute_payment_details", + help="Shows the payment done details " + "including date and amount") + amount_due = fields.Float(string="Amount Due", + compute='_compute_amount_due', + help="Shows the amount that in due for the " + "corresponding sale order") + invoice_state = fields.Char(string="Invoice State", + compute="_compute_invoice_state", + help="Field to check the invoice state of " + "sale order") + + @api.depends('invoice_ids') + def _compute_payment_status(self): + """ The function will compute the payment status of the sale order, if + an invoice is created for the corresponding sale order.Payment status + will be either in paid,not paid,partially paid, reversed etc. """ + for order in self: + order.payment_status = 'No invoice' + payment_states = order.invoice_ids.mapped('payment_state') + status_length = len(payment_states) + if 'partial' in payment_states: + order.payment_status = 'Partially Paid' + elif 'not_paid' in payment_states and any( + (True for x in ['paid', 'in_payment', 'partial'] if + x in payment_states)): + order.payment_status = 'Partially Paid' + elif 'not_paid' in payment_states and status_length == \ + payment_states.count('not_paid'): + order.payment_status = 'Not Paid' + elif 'paid' in payment_states and status_length == \ + payment_states.count('paid') and order.amount_due == 0: + order.payment_status = 'Paid' + elif 'paid' in payment_states and status_length == \ + payment_states.count('paid') and order.amount_due != 0: + order.payment_status = 'Partially Paid' + elif 'in_payment' in payment_states and status_length == \ + payment_states.count('in_payment'): + order.payment_status = 'In Payment' + elif 'reversed' in payment_states and status_length == \ + payment_states.count('reversed'): + order.payment_status = 'Reversed' + else: + order.payment_status = 'No invoice' + + @api.depends('invoice_ids') + def _compute_invoice_state(self): + """ The function will compute the state of the invoice , Once an invoice + is existing in a sale order. """ + for rec in self: + rec.invoice_state = 'No invoice' + for order in rec.invoice_ids: + if order.state == 'posted': + rec.invoice_state = 'posted' + elif order.state != 'posted': + rec.invoice_state = 'draft' + else: + rec.invoice_state = 'No invoice' + + @api.depends('invoice_ids') + def _compute_amount_due(self): + """The function is used to compute the amount due from the invoice and + if payment is registered.""" + for rec in self: + amount_due = 0 + for order in rec.invoice_ids: + amount_due = amount_due + (order.amount_total - + order.amount_residual) + rec.amount_due = rec.amount_total - amount_due + + def action_open_business_doc(self): + """ This method is intended to be used in the context of an + account.move record. + It retrieves the associated payment record and opens it in a new window. + + :return: A dictionary describing the action to be performed. + :rtype: dict """ + name = _("Journal Entry") + move = self.env['account.move'].browse(self.id) + res_model = 'account.payment' + res_id = move.payment_id.id + return { + 'name': name, + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'views': [(False, 'form')], + 'res_model': res_model, + 'res_id': res_id, + 'target': 'current', + } + + def js_remove_outstanding_partial(self, partial_id): + """ Called by the 'payment' widget to remove a reconciled entry to the + present invoice. + + :param partial_id: The id of an existing partial reconciled with the + current invoice. + """ + self.ensure_one() + partial = self.env['account.partial.reconcile'].browse(partial_id) + return partial.unlink() + + @api.depends('invoice_ids') + def _compute_payment_details(self): + """ Compute the payment details from invoices and added into the sale + order form view. """ + for rec in self: + payment = [] + rec.payment_details = False + if rec.invoice_ids: + for line in rec.invoice_ids: + if line.invoice_payments_widget: + for pay in line.invoice_payments_widget['content']: + payment.append(pay) + for line in rec.invoice_ids: + if line.invoice_payments_widget: + payment_line = line.invoice_payments_widget + payment_line['content'] = payment + rec.payment_details = payment_line + break + rec.payment_details = False + + def action_register_payment(self): + """ Open the account.payment.register wizard to pay the selected journal + entries. + :return: An action opening the account.payment.register wizard. + """ + self.ensure_one() + return { + 'name': _('Register Payment'), + 'res_model': 'account.payment.register', + 'view_mode': 'form', + 'context': { + 'active_model': 'account.move', + 'active_ids': self.invoice_ids.ids, + }, + 'target': 'new', + 'type': 'ir.actions.act_window', + } diff --git a/payment_status_in_sale/static/description/assets/icons/arrows-repeat.svg b/payment_status_in_sale/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/banner-1.png b/payment_status_in_sale/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/banner-1.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/banner-2.svg b/payment_status_in_sale/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/banner-bg.png b/payment_status_in_sale/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/banner-bg.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/banner-bg.svg b/payment_status_in_sale/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/banner-call.svg b/payment_status_in_sale/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/banner-mail.svg b/payment_status_in_sale/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/banner-pattern.svg b/payment_status_in_sale/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/banner-promo.svg b/payment_status_in_sale/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/brand-pair.svg b/payment_status_in_sale/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/check.png b/payment_status_in_sale/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/check.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/chevron.png b/payment_status_in_sale/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/chevron.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/close-icon.svg b/payment_status_in_sale/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/cogs.png b/payment_status_in_sale/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/cogs.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/collabarate-icon.svg b/payment_status_in_sale/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/payment_status_in_sale/static/description/assets/icons/consultation.png b/payment_status_in_sale/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/consultation.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/cybro-logo.png b/payment_status_in_sale/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/cybro-logo.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/down.svg b/payment_status_in_sale/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/payment_status_in_sale/static/description/assets/icons/ecom-black.png b/payment_status_in_sale/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/ecom-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/education-black.png b/payment_status_in_sale/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/education-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/faq.png b/payment_status_in_sale/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/faq.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/feature-icon.svg b/payment_status_in_sale/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/feature.png b/payment_status_in_sale/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/feature.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/gear.svg b/payment_status_in_sale/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/hero.gif b/payment_status_in_sale/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..380654dfe Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/hero.gif differ diff --git a/payment_status_in_sale/static/description/assets/icons/hire-odoo.svg b/payment_status_in_sale/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/hotel-black.png b/payment_status_in_sale/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/hotel-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/license.png b/payment_status_in_sale/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/license.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/life-ring-icon.svg b/payment_status_in_sale/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/lifebuoy.png b/payment_status_in_sale/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/lifebuoy.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/mail.svg b/payment_status_in_sale/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/payment_status_in_sale/static/description/assets/icons/manufacturing-black.png b/payment_status_in_sale/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/manufacturing-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/notes.png b/payment_status_in_sale/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/notes.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/notification icon.svg b/payment_status_in_sale/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/odoo-consultancy.svg b/payment_status_in_sale/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/odoo-licencing.svg b/payment_status_in_sale/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/payment_status_in_sale/static/description/assets/icons/odoo-logo.png b/payment_status_in_sale/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/odoo-logo.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/patter.svg b/payment_status_in_sale/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/pattern1.png b/payment_status_in_sale/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/pattern1.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/pos-black.png b/payment_status_in_sale/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/pos-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/puzzle-piece-icon.svg b/payment_status_in_sale/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/puzzle.png b/payment_status_in_sale/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/puzzle.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/replace-icon.svg b/payment_status_in_sale/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/restaurant-black.png b/payment_status_in_sale/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/restaurant-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/screenshot-main.png b/payment_status_in_sale/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/screenshot-main.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/screenshot.png b/payment_status_in_sale/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/screenshot.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/service-black.png b/payment_status_in_sale/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/service-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/skype-fill.svg b/payment_status_in_sale/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/skype.png b/payment_status_in_sale/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/skype.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/skype.svg b/payment_status_in_sale/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/payment_status_in_sale/static/description/assets/icons/star-1.svg b/payment_status_in_sale/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/star-2.svg b/payment_status_in_sale/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/support.png b/payment_status_in_sale/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/support.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/test-1 - Copy.png b/payment_status_in_sale/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/test-1 - Copy.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/test-1.png b/payment_status_in_sale/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/test-1.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/test-2.png b/payment_status_in_sale/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/test-2.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/trading-black.png b/payment_status_in_sale/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/trading-black.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/training.png b/payment_status_in_sale/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/training.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/translate.svg b/payment_status_in_sale/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/update.png b/payment_status_in_sale/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/update.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/user.png b/payment_status_in_sale/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/user.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/video.png b/payment_status_in_sale/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/video.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/whatsapp.png b/payment_status_in_sale/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/whatsapp.png differ diff --git a/payment_status_in_sale/static/description/assets/icons/wrench-icon.svg b/payment_status_in_sale/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/payment_status_in_sale/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/payment_status_in_sale/static/description/assets/icons/wrench.png b/payment_status_in_sale/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/payment_status_in_sale/static/description/assets/icons/wrench.png differ diff --git a/payment_status_in_sale/static/description/assets/modules/1.png b/payment_status_in_sale/static/description/assets/modules/1.png new file mode 100644 index 000000000..906d51bf5 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/modules/1.png differ diff --git a/payment_status_in_sale/static/description/assets/modules/2.jpg b/payment_status_in_sale/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..73613d2fb Binary files /dev/null and b/payment_status_in_sale/static/description/assets/modules/2.jpg differ diff --git a/payment_status_in_sale/static/description/assets/modules/3.png b/payment_status_in_sale/static/description/assets/modules/3.png new file mode 100644 index 000000000..5a36b384e Binary files /dev/null and b/payment_status_in_sale/static/description/assets/modules/3.png differ diff --git a/payment_status_in_sale/static/description/assets/modules/4.png b/payment_status_in_sale/static/description/assets/modules/4.png new file mode 100644 index 000000000..3a3ee8e83 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/modules/4.png differ diff --git a/payment_status_in_sale/static/description/assets/modules/5.png b/payment_status_in_sale/static/description/assets/modules/5.png new file mode 100644 index 000000000..5ecbe9819 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/modules/5.png differ diff --git a/payment_status_in_sale/static/description/assets/modules/6.png b/payment_status_in_sale/static/description/assets/modules/6.png new file mode 100644 index 000000000..29c325870 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/modules/6.png differ diff --git a/payment_status_in_sale/static/description/assets/screenshots/1.png b/payment_status_in_sale/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..451b9ef30 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/screenshots/1.png differ diff --git a/payment_status_in_sale/static/description/assets/screenshots/2.png b/payment_status_in_sale/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..f7f34a3ba Binary files /dev/null and b/payment_status_in_sale/static/description/assets/screenshots/2.png differ diff --git a/payment_status_in_sale/static/description/assets/screenshots/3.png b/payment_status_in_sale/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..558fc73fb Binary files /dev/null and b/payment_status_in_sale/static/description/assets/screenshots/3.png differ diff --git a/payment_status_in_sale/static/description/assets/screenshots/4.png b/payment_status_in_sale/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..d74512562 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/screenshots/4.png differ diff --git a/payment_status_in_sale/static/description/assets/screenshots/hero.gif b/payment_status_in_sale/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..b9cca5803 Binary files /dev/null and b/payment_status_in_sale/static/description/assets/screenshots/hero.gif differ diff --git a/payment_status_in_sale/static/description/banner.png b/payment_status_in_sale/static/description/banner.png new file mode 100644 index 000000000..287ba432e Binary files /dev/null and b/payment_status_in_sale/static/description/banner.png differ diff --git a/payment_status_in_sale/static/description/icon.png b/payment_status_in_sale/static/description/icon.png new file mode 100644 index 000000000..18f522f58 Binary files /dev/null and b/payment_status_in_sale/static/description/icon.png differ diff --git a/payment_status_in_sale/static/description/index.html b/payment_status_in_sale/static/description/index.html new file mode 100644 index 000000000..6cc251a01 --- /dev/null +++ b/payment_status_in_sale/static/description/index.html @@ -0,0 +1,1046 @@ + + + + + + Sale Order Payment Status + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Shows the payment status of the sale order +

+

Sale Order Payment Status +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Heighlights

+
+
+
+
+ +
+
+ Helps you to know the payment status +
+

+ This module will help you to know the + payment status in the sales page. +

+
+
+
+
+ +
+
+
+ Sale Order Payment Status +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Payment + + Status +

+
+
+

+ Shows Payment Status in Sale Order List view. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Shows + + Amount Due +

+
+
+

+ Once an invoice is created, the payment + status is changed to "Not Paid" and + Amount due was shown on the form. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Payment + Details + +

+
+
+

+ Upon creating an invoice and registering the payment + using "REGISTER PAYMENT" Button.The status will be + changed to either "PAID" or "PARTIALLY PAID" state + and Payment details will be shown on the form. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Register Payment from + + Sale Order +

+
+
+

+ Once an invoice is created and confirmed, the + "REGISTER PAYMENT" button will be enabled on the + Sale Order form and user can register the payment. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Shows Payment Status in Sale Order List View.

+
+
+
+
+
+
+
+ +
+

+ Shows Amount Due in Sale Order Form.

+
+
+
+
+
+
+
+ +
+

+ Shows Payment Details in the Sale Order Form.

+
+
+
+
+
+
+
+ +
+

+ Payment can be done from Sale Order Form.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ While configuring a + backup, selecting + the Zip option will + include the + filestore in the + backup, while + choosing the Dump + option will create a + backup without the + filestore. +

+
+
+ +
+ +
+

+ Enable the "Remove + Old Backups" option + in the backup + creation view to + automatically delete + previous backups + based on the number + of days specified. +

+
+
+ +
+ +
+

+ Enable the "Notify + User" option and + specify a contact to + receive an email + containing a + detailed report with + the failure reason + and backup details. + This option will + also send an email + upon successful + backup. +

+
+
+ +
+ +
+

+ Select the backup + destination as local + storage and specify + a backup path to a + location on the + system to create + backups on your own + system. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 4th January, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/payment_status_in_sale/views/sale_order_views.xml b/payment_status_in_sale/views/sale_order_views.xml new file mode 100644 index 000000000..8dd65169d --- /dev/null +++ b/payment_status_in_sale/views/sale_order_views.xml @@ -0,0 +1,78 @@ + + + + + sales.order.view.form.inherit.payment.status.in + .sale + + sale.order + + + + + + + + + + + + + + + + +
`__ + +License +------- +GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developer: (V16) Megha K, + (V17) Akhil Ashok, + (V18) Nivedhya T, + Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ + diff --git a/pos_all_orders/__init__.py b/pos_all_orders/__init__.py new file mode 100644 index 000000000..d96aecdec --- /dev/null +++ b/pos_all_orders/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/pos_all_orders/__manifest__.py b/pos_all_orders/__manifest__.py new file mode 100644 index 000000000..addf8cdc6 --- /dev/null +++ b/pos_all_orders/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'POS Order Management', + 'version': '18.0.1.0.0', + 'category': 'Point of Sale', + 'summary': "POS All Order's Management", + 'description': """Module allows you to display all the old orders in Point of Sale. + You will get the detailed view of Order Reference, Receipt Reference, Customer and Order Date.""", + 'author': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['base', 'point_of_sale'], + 'data': [ + 'views/res_config_settings_views.xml' + ], + 'assets': { + 'point_of_sale._assets_pos': [ + 'pos_all_orders/static/src/js/models.js', + 'pos_all_orders/static/src/js/all_order_button.js', + 'pos_all_orders/static/src/xml/all_order_button.xml', + 'pos_all_orders/static/src/xml/all_order_screen.xml', + 'pos_all_orders/static/src/js/all_order_screen.js', + ], + }, + 'images': ['static/description/banner.png'], + 'installable': True, + 'application': False, + 'auto_install': False, + 'license': 'AGPL-3', +} diff --git a/pos_all_orders/doc/RELEASE_NOTES.md b/pos_all_orders/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..e49b60fb5 --- /dev/null +++ b/pos_all_orders/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 27.12.2024 +#### Version 18.0.1.0.0 +##### ADD +- Initial Commit for POS Order Management diff --git a/pos_all_orders/models/__init__.py b/pos_all_orders/models/__init__.py new file mode 100644 index 000000000..a7839df8c --- /dev/null +++ b/pos_all_orders/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import pos_session +from . import res_config_settings diff --git a/pos_all_orders/models/pos_session.py b/pos_all_orders/models/pos_session.py new file mode 100644 index 000000000..78463cd7d --- /dev/null +++ b/pos_all_orders/models/pos_session.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from dateutil.relativedelta import relativedelta +from odoo import api, fields, models + + +class PosSession(models.Model): + """inherit pos.session to load data in session.""" + _inherit = 'pos.session' + + @api.model + def get_all_order_config(self): + """Retrieves the configuration parameters related to POS all orders.""" + return { + 'config': self.env['ir.config_parameter'].sudo().get_param('pos_all_orders.pos_all_order'), + 'n_days': self.env['ir.config_parameter'].sudo().get_param('pos_all_orders.n_days') + } + + @api.model + def get_all_order(self, session_id): + """Retrieves POS orders based on the provided session ID and optional number of days.""" + if session_id.get('session'): + order = self.env['pos.order'].search( + [('session_id', '=', session_id.get('session'))]) + orders = [] + if session_id.get('n_days'): + now = fields.Datetime.now() + date_to = (now + relativedelta(days=-int(session_id.get('n_days')))) + order = self.env['pos.order'].search( + [('date_order', '>=', date_to)]) + for rec in order: + orders.append( + {'id': rec.id, 'name': rec.name, 'date_order': rec.date_order, + 'pos_reference': rec.pos_reference, + 'partner_id': rec.partner_id.name, + 'session': 'current_session' + }) + return orders + + @api.model + def get_all_past_orders(self,session_id): + """Get all past orders up to the current date.""" + if session_id.get('session'): + order = self.env['pos.order'].search( + [('session_id', '=', session_id.get('session'))]) + orders = [] + current_date = fields.Datetime.now() + order = self.env['pos.order'].search([ + ('date_order', '<=', current_date), + ('state', 'not in', ['draft', 'cancel']) + ]) + for rec in order: + orders.append( + {'id': rec.id, 'name': rec.name, 'date_order': rec.date_order, + 'pos_reference': rec.pos_reference, + 'partner_id': rec.partner_id.name, + 'session': 'past_order' + }) + return orders + + @api.model + def get_default_all_orders(self,session_id): + """Retrieves all POS orders.""" + if session_id.get('session'): + order = self.env['pos.order'].search([]) + all_orders = [] + for rec in order: + all_orders.append({ + 'id': rec.id, + 'name': rec.name, + 'date_order': rec.date_order, + 'pos_reference': rec.pos_reference, + 'partner_id': rec.partner_id.name, + 'session': rec.session_id + }) + return all_orders diff --git a/pos_all_orders/models/res_config_settings.py b/pos_all_orders/models/res_config_settings.py new file mode 100644 index 000000000..d6a4e4335 --- /dev/null +++ b/pos_all_orders/models/res_config_settings.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + """ Inherit the base settings to add field.""" + _name = 'res.config.settings' + _inherit = ['res.config.settings','pos.load.mixin'] + + pos_all_order = fields.Selection( + [('current_session', 'Load Orders from the current session'), + ('past_order', 'Load All past Orders'), + ('last_n', 'Load all orders of last n days')],help='Select Order types') + + n_days = fields.Integer(string="No.of Day's",help='Add number of days') + + @api.model + def get_values(self): + """get values from the fields""" + res = super(ResConfigSettings, self).get_values() + params = self.env['ir.config_parameter'].sudo().get_param + pos_all_order = params('pos_all_orders.pos_all_order') + n_days = params('pos_all_orders.n_days') + res.update( + pos_all_order=pos_all_order, + n_days=n_days + ) + return res + + def set_values(self): + """Set values in the fields""" + super(ResConfigSettings, self).set_values() + self.env['ir.config_parameter'].sudo().set_param( + 'pos_all_orders.pos_all_order', self.pos_all_order) + self.env['ir.config_parameter'].sudo().set_param( + 'pos_all_orders.n_days', + self.n_days) diff --git a/pos_all_orders/static/description/assets/cybro-icon.png b/pos_all_orders/static/description/assets/cybro-icon.png new file mode 100644 index 000000000..06e73e11d Binary files /dev/null and b/pos_all_orders/static/description/assets/cybro-icon.png differ diff --git a/pos_all_orders/static/description/assets/cybro-odoo.png b/pos_all_orders/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/pos_all_orders/static/description/assets/cybro-odoo.png differ diff --git a/pos_all_orders/static/description/assets/icons/arrows-repeat.svg b/pos_all_orders/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/banner-1.png b/pos_all_orders/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/banner-1.png differ diff --git a/pos_all_orders/static/description/assets/icons/banner-2.svg b/pos_all_orders/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/banner-bg.png b/pos_all_orders/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/banner-bg.png differ diff --git a/pos_all_orders/static/description/assets/icons/banner-bg.svg b/pos_all_orders/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/banner-call.svg b/pos_all_orders/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pos_all_orders/static/description/assets/icons/banner-mail.svg b/pos_all_orders/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pos_all_orders/static/description/assets/icons/banner-pattern.svg b/pos_all_orders/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/banner-promo.svg b/pos_all_orders/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/brand-pair.svg b/pos_all_orders/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/check.png b/pos_all_orders/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/check.png differ diff --git a/pos_all_orders/static/description/assets/icons/chevron.png b/pos_all_orders/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/chevron.png differ diff --git a/pos_all_orders/static/description/assets/icons/close-icon.svg b/pos_all_orders/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pos_all_orders/static/description/assets/icons/cogs.png b/pos_all_orders/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/cogs.png differ diff --git a/pos_all_orders/static/description/assets/icons/collabarate-icon.svg b/pos_all_orders/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_all_orders/static/description/assets/icons/consultation.png b/pos_all_orders/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/consultation.png differ diff --git a/pos_all_orders/static/description/assets/icons/cybro-logo.png b/pos_all_orders/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/cybro-logo.png differ diff --git a/pos_all_orders/static/description/assets/icons/down.svg b/pos_all_orders/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pos_all_orders/static/description/assets/icons/ecom-black.png b/pos_all_orders/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/ecom-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/education-black.png b/pos_all_orders/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/education-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/faq.png b/pos_all_orders/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/faq.png differ diff --git a/pos_all_orders/static/description/assets/icons/feature-icon.svg b/pos_all_orders/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/feature.png b/pos_all_orders/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/feature.png differ diff --git a/pos_all_orders/static/description/assets/icons/gear.svg b/pos_all_orders/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/hero.gif b/pos_all_orders/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..ef92a32f4 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/hero.gif differ diff --git a/pos_all_orders/static/description/assets/icons/hire-odoo.svg b/pos_all_orders/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/hotel-black.png b/pos_all_orders/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/hotel-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/license.png b/pos_all_orders/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/license.png differ diff --git a/pos_all_orders/static/description/assets/icons/life-ring-icon.svg b/pos_all_orders/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/lifebuoy.png b/pos_all_orders/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/lifebuoy.png differ diff --git a/pos_all_orders/static/description/assets/icons/mail.svg b/pos_all_orders/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_all_orders/static/description/assets/icons/manufacturing-black.png b/pos_all_orders/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/manufacturing-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/notes.png b/pos_all_orders/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/notes.png differ diff --git a/pos_all_orders/static/description/assets/icons/notification icon.svg b/pos_all_orders/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/odoo-consultancy.svg b/pos_all_orders/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/pos_all_orders/static/description/assets/icons/odoo-licencing.svg b/pos_all_orders/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_all_orders/static/description/assets/icons/odoo-logo.png b/pos_all_orders/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/odoo-logo.png differ diff --git a/pos_all_orders/static/description/assets/icons/patter.svg b/pos_all_orders/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/pattern1.png b/pos_all_orders/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/pattern1.png differ diff --git a/pos_all_orders/static/description/assets/icons/pos-black.png b/pos_all_orders/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/pos-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/puzzle-piece-icon.svg b/pos_all_orders/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/puzzle.png b/pos_all_orders/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/puzzle.png differ diff --git a/pos_all_orders/static/description/assets/icons/replace-icon.svg b/pos_all_orders/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/restaurant-black.png b/pos_all_orders/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/restaurant-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/screenshot-main.png b/pos_all_orders/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/screenshot-main.png differ diff --git a/pos_all_orders/static/description/assets/icons/screenshot.png b/pos_all_orders/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/screenshot.png differ diff --git a/pos_all_orders/static/description/assets/icons/service-black.png b/pos_all_orders/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/service-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/skype-fill.svg b/pos_all_orders/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/skype.png b/pos_all_orders/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/skype.png differ diff --git a/pos_all_orders/static/description/assets/icons/skype.svg b/pos_all_orders/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_all_orders/static/description/assets/icons/star-1.svg b/pos_all_orders/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/star-2.svg b/pos_all_orders/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/support.png b/pos_all_orders/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/support.png differ diff --git a/pos_all_orders/static/description/assets/icons/test-1 - Copy.png b/pos_all_orders/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/test-1 - Copy.png differ diff --git a/pos_all_orders/static/description/assets/icons/test-1.png b/pos_all_orders/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/test-1.png differ diff --git a/pos_all_orders/static/description/assets/icons/test-2.png b/pos_all_orders/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/test-2.png differ diff --git a/pos_all_orders/static/description/assets/icons/trading-black.png b/pos_all_orders/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/trading-black.png differ diff --git a/pos_all_orders/static/description/assets/icons/training.png b/pos_all_orders/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/training.png differ diff --git a/pos_all_orders/static/description/assets/icons/translate.svg b/pos_all_orders/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/update.png b/pos_all_orders/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/update.png differ diff --git a/pos_all_orders/static/description/assets/icons/user.png b/pos_all_orders/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/user.png differ diff --git a/pos_all_orders/static/description/assets/icons/video.png b/pos_all_orders/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/video.png differ diff --git a/pos_all_orders/static/description/assets/icons/whatsapp.png b/pos_all_orders/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/whatsapp.png differ diff --git a/pos_all_orders/static/description/assets/icons/wrench-icon.svg b/pos_all_orders/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/pos_all_orders/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/description/assets/icons/wrench.png b/pos_all_orders/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/pos_all_orders/static/description/assets/icons/wrench.png differ diff --git a/pos_all_orders/static/description/assets/modules/b1.png b/pos_all_orders/static/description/assets/modules/b1.png new file mode 100644 index 000000000..73845cfbf Binary files /dev/null and b/pos_all_orders/static/description/assets/modules/b1.png differ diff --git a/pos_all_orders/static/description/assets/modules/b2.png b/pos_all_orders/static/description/assets/modules/b2.png new file mode 100644 index 000000000..0cd7e58c2 Binary files /dev/null and b/pos_all_orders/static/description/assets/modules/b2.png differ diff --git a/pos_all_orders/static/description/assets/modules/b3.png b/pos_all_orders/static/description/assets/modules/b3.png new file mode 100644 index 000000000..12d8c74fb Binary files /dev/null and b/pos_all_orders/static/description/assets/modules/b3.png differ diff --git a/pos_all_orders/static/description/assets/modules/b4.png b/pos_all_orders/static/description/assets/modules/b4.png new file mode 100644 index 000000000..127f51e0b Binary files /dev/null and b/pos_all_orders/static/description/assets/modules/b4.png differ diff --git a/pos_all_orders/static/description/assets/modules/b5.png b/pos_all_orders/static/description/assets/modules/b5.png new file mode 100644 index 000000000..c46f05f78 Binary files /dev/null and b/pos_all_orders/static/description/assets/modules/b5.png differ diff --git a/pos_all_orders/static/description/assets/modules/b6.png b/pos_all_orders/static/description/assets/modules/b6.png new file mode 100644 index 000000000..a48b400df Binary files /dev/null and b/pos_all_orders/static/description/assets/modules/b6.png differ diff --git a/pos_all_orders/static/description/assets/screenshots/screenshot1.png b/pos_all_orders/static/description/assets/screenshots/screenshot1.png new file mode 100644 index 000000000..d0b5eafa4 Binary files /dev/null and b/pos_all_orders/static/description/assets/screenshots/screenshot1.png differ diff --git a/pos_all_orders/static/description/assets/screenshots/screenshot2.png b/pos_all_orders/static/description/assets/screenshots/screenshot2.png new file mode 100644 index 000000000..34b354b2a Binary files /dev/null and b/pos_all_orders/static/description/assets/screenshots/screenshot2.png differ diff --git a/pos_all_orders/static/description/assets/screenshots/screenshot3.png b/pos_all_orders/static/description/assets/screenshots/screenshot3.png new file mode 100644 index 000000000..62b036474 Binary files /dev/null and b/pos_all_orders/static/description/assets/screenshots/screenshot3.png differ diff --git a/pos_all_orders/static/description/assets/screenshots/screenshot4.png b/pos_all_orders/static/description/assets/screenshots/screenshot4.png new file mode 100644 index 000000000..a4df92ada Binary files /dev/null and b/pos_all_orders/static/description/assets/screenshots/screenshot4.png differ diff --git a/pos_all_orders/static/description/assets/screenshots/screenshot5.png b/pos_all_orders/static/description/assets/screenshots/screenshot5.png new file mode 100644 index 000000000..2e304c7f9 Binary files /dev/null and b/pos_all_orders/static/description/assets/screenshots/screenshot5.png differ diff --git a/pos_all_orders/static/description/banner.png b/pos_all_orders/static/description/banner.png new file mode 100644 index 000000000..9616a8b7a Binary files /dev/null and b/pos_all_orders/static/description/banner.png differ diff --git a/pos_all_orders/static/description/icon.png b/pos_all_orders/static/description/icon.png new file mode 100644 index 000000000..0bc96eddd Binary files /dev/null and b/pos_all_orders/static/description/icon.png differ diff --git a/pos_all_orders/static/description/index.html b/pos_all_orders/static/description/index.html new file mode 100644 index 000000000..b528a915e --- /dev/null +++ b/pos_all_orders/static/description/index.html @@ -0,0 +1,914 @@ + + + + + + POS Order Management + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Allows the detailed view of all orders in POS +

+

POS Order Management +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Module allows you to display all the old orders in Point of Sale. +
+

+

+
+
+
+
+ +
+
+
+ POS Order Management +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Click the button + + All order's +

+
+
+

+ Click this button to show the order screen.

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Set the pos orders views in + + configuration +

+
+
+

+ In the configuration we can set the pos orders views. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Current session + + Orders +

+
+
+

+ +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ All past + + orders +

+
+
+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ In the configuration set the pos + + orders views. +

+
+
+

+

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Odoo POS All Orders List Module allows you to display all the old orders in Point of Sale.

+
+ +
+
+
+
+
+
+ +
+

+ Using this module you will get the detailed view of Order Reference, Receipt Reference, Customer and Order Date.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ This module provides the + ability to view all previous + orders directly within the Point of Sale + (POS) system. It ensures you can easily + access historical order information + without leaving the POS interface. +

+
+
+ +
+ +
+

+ You can view detailed information about old orders, including: + Order Reference, Receipt Reference, Customer, Order Date. + +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 06th December, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/pos_all_orders/static/src/js/all_order_button.js b/pos_all_orders/static/src/js/all_order_button.js new file mode 100644 index 000000000..90e9c96a4 --- /dev/null +++ b/pos_all_orders/static/src/js/all_order_button.js @@ -0,0 +1,66 @@ +/** @odoo-module **/ +import { ControlButtons } from "@point_of_sale/app/screens/product_screen/control_buttons/control_buttons"; +import { Component } from "@odoo/owl"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { patch } from "@web/core/utils/patch"; +import { useService } from "@web/core/utils/hooks"; +import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; + + +patch(ControlButtons.prototype, { + setup() { + super.setup(...arguments) + this.orm = useService("orm"); + this.pos = usePos(); + + }, + async onClick() { + const session = this.pos.config.current_session_id.id + var self = this; + await this.orm.call( + "pos.session", "get_all_order_config", [], {} + ).then(function(result){ + if ( result.config == 'current_session'){ + self.orm.call( + "pos.session", "get_all_order", [{session:session}], {} + ).then(function(order){ + self.pos.showScreen('CustomALLOrdrScreen', { + orders: order, + pos: self.env.pos + }); + + }); + } + else if (result.config == 'past_order'){ + self.orm.call( + "pos.session", "get_all_past_orders", [{session:session}], {} + ).then(function(order){ + self.pos.showScreen('CustomALLOrdrScreen', { + orders: order, + pos: self.env.pos + }); + }); + } + else if (result.config == 'last_n'){ + self.orm.call( + "pos.session", "get_all_order", [{session: session, n_days: result.n_days}], {} + ).then(function(order){ + self.pos.showScreen('CustomALLOrdrScreen', { + orders: order, + pos: self.env.pos + }); + }); + } + else{ + self.orm.call( + "pos.session", "get_default_all_orders", [{session:session}], {} + ).then(function(order){ + self.pos.showScreen('CustomALLOrdrScreen', { + orders: order, + pos: self.env.pos + }); + }); + } + }); + } +}); \ No newline at end of file diff --git a/pos_all_orders/static/src/js/all_order_screen.js b/pos_all_orders/static/src/js/all_order_screen.js new file mode 100644 index 000000000..7cf877ae8 --- /dev/null +++ b/pos_all_orders/static/src/js/all_order_screen.js @@ -0,0 +1,24 @@ +/** @odoo-module **/ +import { Component } from "@odoo/owl"; +import { registry } from "@web/core/registry"; +import { TicketScreen } from "@point_of_sale/app/screens/ticket_screen/ticket_screen"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { useService } from "@web/core/utils/hooks"; +import { useState } from "@odoo/owl"; + +class CustomALLOrdrScreen extends Component { + static template = "pos_all_orders.CustomALLOrdrScreen"; + setup() { + super.setup(); + this.pos = usePos(); + this.orm = useService("orm"); + this.state = useState({ + order: this.props.orders + }); + } + back() { + // on clicking the back button it will redirected Product screen + this.pos.showScreen('ProductScreen'); + } +} +registry.category("pos_screens").add("CustomALLOrdrScreen", CustomALLOrdrScreen); diff --git a/pos_all_orders/static/src/js/models.js b/pos_all_orders/static/src/js/models.js new file mode 100644 index 000000000..55a234988 --- /dev/null +++ b/pos_all_orders/static/src/js/models.js @@ -0,0 +1,11 @@ +/** @odoo-module */ +import { PosStore } from "@point_of_sale/app/store/pos_store"; +import { patch } from "@web/core/utils/patch"; + +patch(PosStore.prototype, { + async processServerData() { + super.processServerData(...arguments); + this.pos_orders = this.data.models['pos.order'].getFirst(); + this.pos_order_lines = this.data.models['pos.order.line'].getAll() + } +}); diff --git a/pos_all_orders/static/src/xml/all_order_button.xml b/pos_all_orders/static/src/xml/all_order_button.xml new file mode 100644 index 000000000..ab6b36e52 --- /dev/null +++ b/pos_all_orders/static/src/xml/all_order_button.xml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/pos_all_orders/static/src/xml/all_order_screen.xml b/pos_all_orders/static/src/xml/all_order_screen.xml new file mode 100644 index 000000000..b8e6ad6c3 --- /dev/null +++ b/pos_all_orders/static/src/xml/all_order_screen.xml @@ -0,0 +1,58 @@ + + + +
+
+
+
+ + Back +
+
+
+
+
+
+
Order Reference
+
Receipt Reference
+
Customer
+
Order Date
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/pos_all_orders/views/res_config_settings_views.xml b/pos_all_orders/views/res_config_settings_views.xml new file mode 100644 index 000000000..ef947b1dc --- /dev/null +++ b/pos_all_orders/views/res_config_settings_views.xml @@ -0,0 +1,34 @@ + + + + + res.config.settings.view.form.inherit.pos_all_orders + res.config.settings + + + +

POS Order

+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pos_customer_feedback/README.rst b/pos_customer_feedback/README.rst new file mode 100644 index 000000000..22291fa56 --- /dev/null +++ b/pos_customer_feedback/README.rst @@ -0,0 +1,51 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +POS Customer Feedback +===================== +Customers can provide their feedback as rating and comments in POS + +Configuration +------------- +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Affero General Public License v3.0 (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developers: (V16) Shafna K, + (V17) Anjhana A K, + (V18) Ashwin A + +Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there +if your issue has already been reported. + +Maintainer +---------- +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +------------------- +HTML Description: ``__ diff --git a/pos_customer_feedback/__init__.py b/pos_customer_feedback/__init__.py new file mode 100644 index 000000000..d96aecdec --- /dev/null +++ b/pos_customer_feedback/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/pos_customer_feedback/__manifest__.py b/pos_customer_feedback/__manifest__.py new file mode 100644 index 000000000..a9a7946aa --- /dev/null +++ b/pos_customer_feedback/__manifest__.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': "POS Customer Feedback", + 'version': '18.0.1.0.0', + 'category': 'Point of Sale', + 'summary': 'Customer Feedback in PoS', + 'description': "This module enables the management of customer feedback in" + "Odoo. It provides functionality to handle customer feedback" + "in both ratings and comments, ensuring effective feedback" + "management. With this module, businesses can gather and" + "utilize valuable customer feedback to enhance their" + "products and services.", + 'author': "Cybrosys Techno Solutions", + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['point_of_sale'], + 'data': [ + 'views/pos_order_views.xml', + ], + 'assets': { + 'point_of_sale._assets_pos': [ + 'pos_customer_feedback/static/src/xml/feedback_popup_template.xml', + 'pos_customer_feedback/static/src/js/feedback_popup.js', + 'pos_customer_feedback/static/src/xml/customer_feedback_template.xml', + 'pos_customer_feedback/static/src/js/customer_feedback.js', + 'pos_customer_feedback/static/src/js/order_summary.js', + 'pos_customer_feedback/static/src/xml/order_summary_template.xml', + 'pos_customer_feedback/static/src/css/customer_feedback.css', + ] + }, + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/pos_customer_feedback/doc/RELEASE_NOTES.md b/pos_customer_feedback/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..c96e32752 --- /dev/null +++ b/pos_customer_feedback/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 27.12.2024 +#### Version 18.0.1.0.0 +#### ADD +- Initial Commit for POS Customer Feedback diff --git a/pos_customer_feedback/models/__init__.py b/pos_customer_feedback/models/__init__.py new file mode 100644 index 000000000..78c2030fe --- /dev/null +++ b/pos_customer_feedback/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import pos_order diff --git a/pos_customer_feedback/models/pos_order.py b/pos_customer_feedback/models/pos_order.py new file mode 100644 index 000000000..02b44b7ef --- /dev/null +++ b/pos_customer_feedback/models/pos_order.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# 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 (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class PosOrder(models.Model): + """To add feedback fields and store its value in pos order""" + _inherit = "pos.order" + + feedback = fields.Char(string='Feedback', readonly=True, + help="Please provide your feedback") + rating = fields.Char(string='Rating', help="Provide your ratings", + compute='_compute_rating') + comment = fields.Text(string='Comments', readonly=True, + help="Provide the feedbacks in comments") + + def _order_fields(self, ui_order): + """To get the value of field in pos session to pos order""" + res = super()._order_fields(ui_order) + res['feedback'] = ui_order.get('customer_feedback') + res['comment'] = ui_order.get('comment_feedback') + return res + + @api.depends('feedback') + def _compute_rating(self): + """To print star in pos order based on the rating value + choosing from pos session""" + self.rating = False + if self.feedback: + self.rating = '\u2B50' * int(self.feedback) diff --git a/pos_customer_feedback/static/description/assets/cybro-icon.png b/pos_customer_feedback/static/description/assets/cybro-icon.png new file mode 100755 index 000000000..06e73e11d Binary files /dev/null and b/pos_customer_feedback/static/description/assets/cybro-icon.png differ diff --git a/pos_customer_feedback/static/description/assets/cybro-odoo.png b/pos_customer_feedback/static/description/assets/cybro-odoo.png new file mode 100755 index 000000000..ed02e07a4 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/cybro-odoo.png differ diff --git a/pos_customer_feedback/static/description/assets/h2.png b/pos_customer_feedback/static/description/assets/h2.png new file mode 100755 index 000000000..0bfc4707d Binary files /dev/null and b/pos_customer_feedback/static/description/assets/h2.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/Gif.gif b/pos_customer_feedback/static/description/assets/icons/Gif.gif new file mode 100644 index 000000000..438c8af7e Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/Gif.gif differ diff --git a/pos_customer_feedback/static/description/assets/icons/arrows-repeat.svg b/pos_customer_feedback/static/description/assets/icons/arrows-repeat.svg new file mode 100755 index 000000000..1d7efabc5 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/banner-1.png b/pos_customer_feedback/static/description/assets/icons/banner-1.png new file mode 100755 index 000000000..c180db172 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/banner-1.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/banner-2.svg b/pos_customer_feedback/static/description/assets/icons/banner-2.svg new file mode 100755 index 000000000..e606d97d9 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/banner-bg.png b/pos_customer_feedback/static/description/assets/icons/banner-bg.png new file mode 100755 index 000000000..a8238d3c0 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/banner-bg.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/banner-bg.svg b/pos_customer_feedback/static/description/assets/icons/banner-bg.svg new file mode 100755 index 000000000..b1378103e --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/banner-call.svg b/pos_customer_feedback/static/description/assets/icons/banner-call.svg new file mode 100755 index 000000000..96c687e81 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/banner-mail.svg b/pos_customer_feedback/static/description/assets/icons/banner-mail.svg new file mode 100755 index 000000000..cbf0d158d --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/banner-pattern.svg b/pos_customer_feedback/static/description/assets/icons/banner-pattern.svg new file mode 100755 index 000000000..9c1c7e101 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/banner-promo.svg b/pos_customer_feedback/static/description/assets/icons/banner-promo.svg new file mode 100755 index 000000000..d52791b11 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/brand-pair.svg b/pos_customer_feedback/static/description/assets/icons/brand-pair.svg new file mode 100755 index 000000000..d8db7fc1e --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/check.png b/pos_customer_feedback/static/description/assets/icons/check.png new file mode 100755 index 000000000..c8e85f51d Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/check.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/chevron.png b/pos_customer_feedback/static/description/assets/icons/chevron.png new file mode 100755 index 000000000..2089293d6 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/chevron.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/close-icon.svg b/pos_customer_feedback/static/description/assets/icons/close-icon.svg new file mode 100755 index 000000000..df8cce37a --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/cogs.png b/pos_customer_feedback/static/description/assets/icons/cogs.png new file mode 100755 index 000000000..95d0bad62 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/cogs.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/collabarate-icon.svg b/pos_customer_feedback/static/description/assets/icons/collabarate-icon.svg new file mode 100755 index 000000000..dd4e10518 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_customer_feedback/static/description/assets/icons/consultation.png b/pos_customer_feedback/static/description/assets/icons/consultation.png new file mode 100755 index 000000000..8319d4baa Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/consultation.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/cybro-logo.png b/pos_customer_feedback/static/description/assets/icons/cybro-logo.png new file mode 100755 index 000000000..ff4b78220 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/cybro-logo.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/down.svg b/pos_customer_feedback/static/description/assets/icons/down.svg new file mode 100755 index 000000000..f21c36271 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pos_customer_feedback/static/description/assets/icons/ecom-black.png b/pos_customer_feedback/static/description/assets/icons/ecom-black.png new file mode 100755 index 000000000..a9385ff13 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/ecom-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/education-black.png b/pos_customer_feedback/static/description/assets/icons/education-black.png new file mode 100755 index 000000000..3eb09b27b Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/education-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/faq.png b/pos_customer_feedback/static/description/assets/icons/faq.png new file mode 100755 index 000000000..4250b5b81 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/faq.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/feature-icon.svg b/pos_customer_feedback/static/description/assets/icons/feature-icon.svg new file mode 100755 index 000000000..fa0ea6850 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/feature.png b/pos_customer_feedback/static/description/assets/icons/feature.png new file mode 100755 index 000000000..ac7a785c0 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/feature.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/gear.svg b/pos_customer_feedback/static/description/assets/icons/gear.svg new file mode 100755 index 000000000..0cc66b6ea --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/hero.gif b/pos_customer_feedback/static/description/assets/icons/hero.gif new file mode 100755 index 000000000..380654dfe Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/hero.gif differ diff --git a/pos_customer_feedback/static/description/assets/icons/hire-odoo.svg b/pos_customer_feedback/static/description/assets/icons/hire-odoo.svg new file mode 100755 index 000000000..e1ac089b0 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/hotel-black.png b/pos_customer_feedback/static/description/assets/icons/hotel-black.png new file mode 100755 index 000000000..130f613be Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/hotel-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/license.png b/pos_customer_feedback/static/description/assets/icons/license.png new file mode 100755 index 000000000..a5869797e Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/license.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/life-ring-icon.svg b/pos_customer_feedback/static/description/assets/icons/life-ring-icon.svg new file mode 100755 index 000000000..3ae6e1d89 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/lifebuoy.png b/pos_customer_feedback/static/description/assets/icons/lifebuoy.png new file mode 100755 index 000000000..658d56ccc Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/lifebuoy.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/mail.svg b/pos_customer_feedback/static/description/assets/icons/mail.svg new file mode 100755 index 000000000..1eedde695 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_customer_feedback/static/description/assets/icons/manufacturing-black.png b/pos_customer_feedback/static/description/assets/icons/manufacturing-black.png new file mode 100755 index 000000000..697eb0e9f Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/manufacturing-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/notes.png b/pos_customer_feedback/static/description/assets/icons/notes.png new file mode 100755 index 000000000..ee5e95404 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/notes.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/notification icon.svg b/pos_customer_feedback/static/description/assets/icons/notification icon.svg new file mode 100755 index 000000000..053189973 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/odoo-consultancy.svg b/pos_customer_feedback/static/description/assets/icons/odoo-consultancy.svg new file mode 100755 index 000000000..e05f65bde --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/odoo-licencing.svg b/pos_customer_feedback/static/description/assets/icons/odoo-licencing.svg new file mode 100755 index 000000000..2606c88b0 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_customer_feedback/static/description/assets/icons/odoo-logo.png b/pos_customer_feedback/static/description/assets/icons/odoo-logo.png new file mode 100755 index 000000000..0e4d0eb5a Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/odoo-logo.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/patter.svg b/pos_customer_feedback/static/description/assets/icons/patter.svg new file mode 100755 index 000000000..25c9c0a8f --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/pattern1.png b/pos_customer_feedback/static/description/assets/icons/pattern1.png new file mode 100755 index 000000000..09ab0fb2d Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/pattern1.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/pos-black.png b/pos_customer_feedback/static/description/assets/icons/pos-black.png new file mode 100755 index 000000000..97c0f90c1 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/pos-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/puzzle-piece-icon.svg b/pos_customer_feedback/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100755 index 000000000..3e9ad9373 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/puzzle.png b/pos_customer_feedback/static/description/assets/icons/puzzle.png new file mode 100755 index 000000000..65cf854e7 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/puzzle.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/replace-icon.svg b/pos_customer_feedback/static/description/assets/icons/replace-icon.svg new file mode 100755 index 000000000..d0e3a7af1 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/restaurant-black.png b/pos_customer_feedback/static/description/assets/icons/restaurant-black.png new file mode 100755 index 000000000..4a35eb939 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/restaurant-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/screenshot-main.png b/pos_customer_feedback/static/description/assets/icons/screenshot-main.png new file mode 100755 index 000000000..575f8e676 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/screenshot-main.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/screenshot.png b/pos_customer_feedback/static/description/assets/icons/screenshot.png new file mode 100755 index 000000000..cef272529 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/screenshot.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/service-black.png b/pos_customer_feedback/static/description/assets/icons/service-black.png new file mode 100755 index 000000000..301ab51cb Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/service-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/skype-fill.svg b/pos_customer_feedback/static/description/assets/icons/skype-fill.svg new file mode 100755 index 000000000..c17423639 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/skype.png b/pos_customer_feedback/static/description/assets/icons/skype.png new file mode 100755 index 000000000..51b409fb3 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/skype.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/skype.svg b/pos_customer_feedback/static/description/assets/icons/skype.svg new file mode 100755 index 000000000..df3dad39b --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/pos_customer_feedback/static/description/assets/icons/star-1.svg b/pos_customer_feedback/static/description/assets/icons/star-1.svg new file mode 100755 index 000000000..7e55ab162 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/star-2.svg b/pos_customer_feedback/static/description/assets/icons/star-2.svg new file mode 100755 index 000000000..5ae9f507a --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/support.png b/pos_customer_feedback/static/description/assets/icons/support.png new file mode 100755 index 000000000..4f18b8b82 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/support.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/test-1 - Copy.png b/pos_customer_feedback/static/description/assets/icons/test-1 - Copy.png new file mode 100755 index 000000000..f6a902663 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/test-1 - Copy.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/test-1.png b/pos_customer_feedback/static/description/assets/icons/test-1.png new file mode 100755 index 000000000..0908add2b Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/test-1.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/test-2.png b/pos_customer_feedback/static/description/assets/icons/test-2.png new file mode 100755 index 000000000..4671fe91e Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/test-2.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/trading-black.png b/pos_customer_feedback/static/description/assets/icons/trading-black.png new file mode 100755 index 000000000..9398ba2f1 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/trading-black.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/training.png b/pos_customer_feedback/static/description/assets/icons/training.png new file mode 100755 index 000000000..884ca024d Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/training.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/translate.svg b/pos_customer_feedback/static/description/assets/icons/translate.svg new file mode 100755 index 000000000..af9c8a1aa --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/update.png b/pos_customer_feedback/static/description/assets/icons/update.png new file mode 100755 index 000000000..ecbc5a01a Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/update.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/user.png b/pos_customer_feedback/static/description/assets/icons/user.png new file mode 100755 index 000000000..6ffb23d9f Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/user.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/video.png b/pos_customer_feedback/static/description/assets/icons/video.png new file mode 100755 index 000000000..576705b17 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/video.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/whatsapp.png b/pos_customer_feedback/static/description/assets/icons/whatsapp.png new file mode 100755 index 000000000..d513a5356 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/whatsapp.png differ diff --git a/pos_customer_feedback/static/description/assets/icons/wrench-icon.svg b/pos_customer_feedback/static/description/assets/icons/wrench-icon.svg new file mode 100755 index 000000000..174b5a465 --- /dev/null +++ b/pos_customer_feedback/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/pos_customer_feedback/static/description/assets/icons/wrench.png b/pos_customer_feedback/static/description/assets/icons/wrench.png new file mode 100755 index 000000000..6c04dea0f Binary files /dev/null and b/pos_customer_feedback/static/description/assets/icons/wrench.png differ diff --git a/pos_customer_feedback/static/description/assets/modules/1.png b/pos_customer_feedback/static/description/assets/modules/1.png new file mode 100644 index 000000000..0cd7e58c2 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/modules/1.png differ diff --git a/pos_customer_feedback/static/description/assets/modules/2.png b/pos_customer_feedback/static/description/assets/modules/2.png new file mode 100644 index 000000000..12d8c74fb Binary files /dev/null and b/pos_customer_feedback/static/description/assets/modules/2.png differ diff --git a/pos_customer_feedback/static/description/assets/modules/3.png b/pos_customer_feedback/static/description/assets/modules/3.png new file mode 100644 index 000000000..127f51e0b Binary files /dev/null and b/pos_customer_feedback/static/description/assets/modules/3.png differ diff --git a/pos_customer_feedback/static/description/assets/modules/4.jpg b/pos_customer_feedback/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..e2e1040c7 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/modules/4.jpg differ diff --git a/pos_customer_feedback/static/description/assets/modules/5.jpg b/pos_customer_feedback/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..3a252022e Binary files /dev/null and b/pos_customer_feedback/static/description/assets/modules/5.jpg differ diff --git a/pos_customer_feedback/static/description/assets/modules/6.jpg b/pos_customer_feedback/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..fc53e7fe2 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/modules/6.jpg differ diff --git a/pos_customer_feedback/static/description/assets/screenshots/1.png b/pos_customer_feedback/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..da1da3fce Binary files /dev/null and b/pos_customer_feedback/static/description/assets/screenshots/1.png differ diff --git a/pos_customer_feedback/static/description/assets/screenshots/2.png b/pos_customer_feedback/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..ccaba8480 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/screenshots/2.png differ diff --git a/pos_customer_feedback/static/description/assets/screenshots/3.png b/pos_customer_feedback/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..b7e563de7 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/screenshots/3.png differ diff --git a/pos_customer_feedback/static/description/assets/screenshots/4.png b/pos_customer_feedback/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..b159d7b1c Binary files /dev/null and b/pos_customer_feedback/static/description/assets/screenshots/4.png differ diff --git a/pos_customer_feedback/static/description/assets/y18.jpg b/pos_customer_feedback/static/description/assets/y18.jpg new file mode 100755 index 000000000..eea1714f2 Binary files /dev/null and b/pos_customer_feedback/static/description/assets/y18.jpg differ diff --git a/pos_customer_feedback/static/description/banner.jpg b/pos_customer_feedback/static/description/banner.jpg new file mode 100644 index 000000000..7d46f4972 Binary files /dev/null and b/pos_customer_feedback/static/description/banner.jpg differ diff --git a/pos_customer_feedback/static/description/icon.png b/pos_customer_feedback/static/description/icon.png new file mode 100644 index 000000000..ef1080976 Binary files /dev/null and b/pos_customer_feedback/static/description/icon.png differ diff --git a/pos_customer_feedback/static/description/index.html b/pos_customer_feedback/static/description/index.html new file mode 100644 index 000000000..6cf4e730d --- /dev/null +++ b/pos_customer_feedback/static/description/index.html @@ -0,0 +1,911 @@ + + + + + + POS Customer Feedback + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ This module helps the customer to provide their feedbacks. +

+

POS Customer Feedback +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Enhances the Point of Sale (POS) system +
+

+ This module enhances the Point of Sale (POS) system by enabling customers to provide their ratings and feedback.

+
+
+
+
+
+ +
+
+ Customer Feedback +
+

+ Customers can to share their experiences and opinions seamlessly within the POS environment. +

+
+
+
+
+ +
+
+
+ POS CUSTOMER FEEDBACK +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Choose a customer and then click on the control button " + Feedback + " to provide the feedback +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ A popup appears, allowing you to share your feedback +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Rating provided can be seen in the order summary +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Rating and comments can be viewed in pos order feedback page +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ Simplified method to provide customer feedback.

+
+ +
+
+
+
+
+
+ +
+

+ Customers can provide feedback in both ratings and comments.

+
+
+
+
+
+
+
+ +
+

+ In each POS orders we can see the customer feedback if provided.

+
+
+
+
+
+
+
+ +
+

+ Simplified work flow.

+
+
+
+ +
+
+
+
+
+
+
+ +
+ +
+ +
+

+ To enable the Customer Feedback Button feature in the POS by selecting a product and customer. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 27th December, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/pos_customer_feedback/static/src/css/customer_feedback.css b/pos_customer_feedback/static/src/css/customer_feedback.css new file mode 100644 index 000000000..2ac744b64 --- /dev/null +++ b/pos_customer_feedback/static/src/css/customer_feedback.css @@ -0,0 +1,73 @@ +.rating { + display: inline-block; + position: relative; + height: 70px; + line-height: 70px; + font-size: 50px; +} +.rating label { + position: absolute; + top: 0; + left: 0; + height: 100%; + cursor: pointer; +} +.rating label:last-child { + position: static; +} +.rating label:nth-child(1) { + z-index: 5; +} +.rating label:nth-child(2) { + z-index: 4; +} +.rating label:nth-child(3) { + z-index: 3; +} +.rating label:nth-child(4) { + z-index: 2; +} +.rating label:nth-child(5) { + z-index: 1; +} +.rating label input { + position: absolute; + top: 0; + left: 0; + opacity: 0; +} +.rating label .icon { + float: left; + color: transparent; +} +.rating label:last-child .icon { + color: #000; +} +.rating:not(:hover) label input:checked ~ .icon, +.rating:hover label:hover input ~ .icon { + color: #e5bd41; +} +.rating label input:focus:not(:checked) ~ .icon:last-child { + color: #000; + text-shadow: 0 0 5px #09f; +} +.stars-outer { + display: inline-block; + position: relative; + font-family: FontAwesome; +} +.stars-outer::before { + content: "\f006 \f006 \f006 \f006 \f006"; +} +.stars-inner { + position: absolute; + top: 0; + left: 0; + white-space: nowrap; + overflow: hidden; + width: 0; +} +.stars-inner::before { + content: "\f005 \f005 \f005 \f005 \f005"; + color: #f8ce0b; +} diff --git a/pos_customer_feedback/static/src/js/customer_feedback.js b/pos_customer_feedback/static/src/js/customer_feedback.js new file mode 100644 index 000000000..e34e972ca --- /dev/null +++ b/pos_customer_feedback/static/src/js/customer_feedback.js @@ -0,0 +1,27 @@ +/** @odoo-module **/ +import { _t } from "@web/core/l10n/translation"; +import { usePos } from "@point_of_sale/app/store/pos_hook"; +import { ControlButtons } from "@point_of_sale/app/screens/product_screen/control_buttons/control_buttons"; +import { patch } from "@web/core/utils/patch"; +import { FeedbackPopup } from "./feedback_popup"; + +/* Patching ControlButtons and adding Feedback button */ +patch(ControlButtons.prototype, { + setup() { + super.setup(...arguments); + this.pos = usePos(); + }, + /* Function while clicking the button */ + async onClick() { + if (this.pos.get_order().partner_id && this.pos.get_order().lines){ + await this.dialog.add( + FeedbackPopup, { + startingComment: this.pos.get_order().comment, + startingRating: this.pos.get_order().feedback, + title: _t('Customer Feedback'), + pos: this.pos, + } + ); + } + } +}); diff --git a/pos_customer_feedback/static/src/js/feedback_popup.js b/pos_customer_feedback/static/src/js/feedback_popup.js new file mode 100644 index 000000000..8f1458e75 --- /dev/null +++ b/pos_customer_feedback/static/src/js/feedback_popup.js @@ -0,0 +1,52 @@ +/** @odoo-module **/ +import { _t } from "@web/core/l10n/translation"; +import { Dialog } from "@web/core/dialog/dialog"; +import { Component, onMounted, useRef, useState } from "@odoo/owl"; + +/* Extending Component and creating FeedbackPopup */ +export class FeedbackPopup extends Component { + static template = "point_of_sale.FeedbackPopup"; + static components = { Dialog }; + static defaultProps = { + confirmText: _t('Ok'), + cancelText: _t('Cancel'), + title: '', + body: '', + }; + + setup() { + super.setup(); + this.state = useState({ + ratingValue: this.props.startingRating, + commentValue: this.props.startingComment + }); + this.CommentRef = useRef('comment'); + onMounted(this.onMounted); + } + onMounted() { + this.CommentRef.el.focus(); + } + /* Function for calculating the star rating */ + async RatingChange(ev) { + if (!isNaN(parseInt(ev.target.value))) { + this.state.ratingValue = ev.target.value; + const starTotal = 5; + const starPercentage = (this.state.ratingValue / starTotal) * 100; + const starPercentageRounded = `${(Math.round(starPercentage / 10) * 10)}%`; + document.querySelector(`.stars-inner`).style.width = starPercentageRounded; + } + } + + getPayload() { + this.props.pos.get_order().comment = this.state.commentValue; + this.props.pos.get_order().feedback = this.state.ratingValue; + } + + confirm() { + this.props.close(this.getPayload()); + } + + cancel() { + this.props.close(); + } +} diff --git a/pos_customer_feedback/static/src/js/order_summary.js b/pos_customer_feedback/static/src/js/order_summary.js new file mode 100644 index 000000000..2b6b7f010 --- /dev/null +++ b/pos_customer_feedback/static/src/js/order_summary.js @@ -0,0 +1,34 @@ +/** @odoo-module **/ +/** + * Defines CustFeedback which extends Order from point of sale models + * + * Initialize the additional properties from JSON and export the additional properties as JSON + */ +import { PosOrder } from "@point_of_sale/app/models/pos_order"; +import { patch } from "@web/core/utils/patch"; + +patch(PosOrder.prototype, { + constructor() { + this.customer_feedback = this.customer_feedback || null; + this.comment_feedback = this.comment_feedback || null; + this._super(...arguments); + }, + set_comment_feedback(comment_feedback) { + this.comment_feedback = comment_feedback.commentValue; + this.customer_feedback = comment_feedback.ratingValue; + }, + get_comment_feedback() { + return this.comment_feedback; + }, + export_as_JSON() { + const json = super.export_as_JSON(...arguments); + json.customer_feedback = this.customer_feedback; + json.comment_feedback = this.comment_feedback; + return json; + }, + init_from_JSON(json) { + super.init_from_JSON(...arguments); + this.customer_feedback = json.customer_feedback; + this.comment_feedback = json.comment_feedback; + }, +}); diff --git a/pos_customer_feedback/static/src/xml/customer_feedback_template.xml b/pos_customer_feedback/static/src/xml/customer_feedback_template.xml new file mode 100644 index 000000000..b901b3c8c --- /dev/null +++ b/pos_customer_feedback/static/src/xml/customer_feedback_template.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/pos_customer_feedback/static/src/xml/feedback_popup_template.xml b/pos_customer_feedback/static/src/xml/feedback_popup_template.xml new file mode 100644 index 000000000..11d91a354 --- /dev/null +++ b/pos_customer_feedback/static/src/xml/feedback_popup_template.xml @@ -0,0 +1,58 @@ + + + + + +