-
-
Save tejastank/3eecb59c8ff04b85829bd8d4b14b5b26 to your computer and use it in GitHub Desktop.
| # -*- coding: utf-8 -*- | |
| # tejaskumartank@proton.me | |
| # ODOO Enterprise Edition | |
| # Part of Odoo. See LICENSE file for full copyright and licensing details. | |
| import datetime | |
| import logging | |
| import requests | |
| import werkzeug.urls | |
| from ast import literal_eval | |
| from odoo import api, release, SUPERUSER_ID | |
| from odoo.exceptions import UserError | |
| from odoo.models import AbstractModel | |
| from odoo.tools.translate import _ | |
| from odoo.tools import config, misc, ustr | |
| _logger = logging.getLogger(__name__) | |
| class PublisherWarrantyContract(AbstractModel): | |
| _name = "publisher_warranty.contract" | |
| _description = 'Publisher Warranty Contract' | |
| @api.model | |
| def _get_message(self): | |
| Users = self.env['res.users'] | |
| IrParamSudo = self.env['ir.config_parameter'].sudo() | |
| dbuuid = IrParamSudo.get_param('database.uuid') | |
| db_create_date = IrParamSudo.get_param('database.create_date') | |
| limit_date = datetime.datetime.now() | |
| limit_date = limit_date - datetime.timedelta(15) | |
| limit_date_str = limit_date.strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT) | |
| nbr_users = Users.search_count([('active', '=', True)]) | |
| nbr_active_users = Users.search_count([("login_date", ">=", limit_date_str), ('active', '=', True)]) | |
| nbr_share_users = 0 | |
| nbr_active_share_users = 0 | |
| if "share" in Users._fields: | |
| nbr_share_users = Users.search_count([("share", "=", True), ('active', '=', True)]) | |
| nbr_active_share_users = Users.search_count([("share", "=", True), ("login_date", ">=", limit_date_str), ('active', '=', True)]) | |
| user = self.env.user | |
| domain = [('application', '=', True), ('state', 'in', ['installed', 'to upgrade', 'to remove'])] | |
| apps = self.env['ir.module.module'].sudo().search_read(domain, ['name']) | |
| enterprise_code = IrParamSudo.get_param('database.enterprise_code') | |
| web_base_url = IrParamSudo.get_param('web.base.url') | |
| msg = { | |
| "dbuuid": dbuuid, | |
| "nbr_users": nbr_users, | |
| "nbr_active_users": nbr_active_users, | |
| "nbr_share_users": nbr_share_users, | |
| "nbr_active_share_users": nbr_active_share_users, | |
| "dbname": self._cr.dbname, | |
| "db_create_date": db_create_date, | |
| "version": release.version, | |
| "language": user.lang, | |
| "web_base_url": web_base_url, | |
| "apps": [app['name'] for app in apps], | |
| "enterprise_code": enterprise_code, | |
| } | |
| if user.partner_id.company_id: | |
| company_id = user.partner_id.company_id | |
| msg.update(company_id.read(["name", "email", "phone"])[0]) | |
| return msg | |
| @api.model | |
| def _get_sys_logs(self): | |
| """ | |
| Utility method to send a publisher warranty get logs messages. | |
| """ | |
| msg = self._get_message() | |
| arguments = {'arg0': ustr(msg), "action": "update"} | |
| #url = config.get("publisher_warranty_url") | |
| #r = requests.post(url, data=arguments, timeout=30) | |
| #r.raise_for_status() | |
| return literal_eval('') | |
| def update_notification(self, cron_mode=True): | |
| # """ | |
| # Send a message to Odoo's publisher warranty server to check the | |
| # validity of the contracts, get notifications, etc... | |
| # @param cron_mode: If true, catch all exceptions (appropriate for usage in a cron). | |
| # @type cron_mode: boolean | |
| # """ | |
| # try: | |
| # try: | |
| # result = self._get_sys_logs() | |
| # except Exception: | |
| # if cron_mode: # we don't want to see any stack trace in cron | |
| # return False | |
| # _logger.debug("Exception while sending a get logs messages", exc_info=1) | |
| # raise UserError(_("Error during communication with the publisher warranty server.")) | |
| # # old behavior based on res.log; now on mail.message, that is not necessarily installed | |
| # user = self.env['res.users'].sudo().browse(SUPERUSER_ID) | |
| # poster = self.sudo().env.ref('mail.channel_all_employees') | |
| # for message in result["messages"]: | |
| # try: | |
| # poster.message_post(body=message, subtype_xmlid='mail.mt_comment', partner_ids=[user.partner_id.id]) | |
| # except Exception: | |
| # pass | |
| # if result.get('enterprise_info'): | |
| # # Update expiration date | |
| # set_param = self.env['ir.config_parameter'].sudo().set_param | |
| ## set_param('database.expiration_date', result['enterprise_info'].get('expiration_date')) | |
| ## set_param('database.expiration_reason', result['enterprise_info'].get('expiration_reason', 'trial')) | |
| ## set_param('database.enterprise_code', result['enterprise_info'].get('enterprise_code')) | |
| ## set_param('database.already_linked_subscription_url', result['enterprise_info'].get('database_already_linked_subscription_url')) | |
| ## set_param('database.already_linked_email', result['enterprise_info'].get('database_already_linked_email')) | |
| ## set_param('database.already_linked_send_mail_url', result['enterprise_info'].get('database_already_linked_send_mail_url')) | |
| # except Exception: | |
| # if cron_mode: | |
| # return False # we don't want to see any stack trace in cron | |
| # else: | |
| # raise | |
| return True |
@tejastank
How do I use this odoo.enterprise.license.issue.py file? I am using Odoo version 18. Please guide me step by step on how to use your odoo.enterprise.license.issue.py file.
me: tejaskumartank@proton.me, Sorry I am tidy busy with routines.
Yes 18 version as well can be manage.
@tqqkhang2006 if you have enterprise code i can help you
@tqqkhang2006 if you have enterprise code i can help you
Hello, i have the code and will be happy to understand how to use this code; can you help?
excellent job to the developer!
@tqqkhang2006 if you have enterprise code i can help you
i have the code, can you help?
I don't understand you well, do you want my help?
I don't understand you well, do you want my help?
yes please, can you share some instructions on how to use this on odoo18 or odoo19
is there a way to migrate the database without sending to odoo?
is there a way to migrate the database without sending to odoo?
I don't understand you well, do you want my help?
yes please, can you share some instructions on how to use this on odoo18 or odoo19
It's all in the published code, by the owner of the repo
hi, i am new to this, how do i run the code? i have trial enterprise ver 19 on windows machine
hello, can anybody help me get the full code of odoo 19 enterprise? can anybody help?
hi, i am new to this, how do i run the code? i have trial enterprise ver 19 on
how do you run this code?
Can someone send me the source or packeged installer for odoo enterprise? komsijasuad@proton.me Thanks
How are you meant to use this file? I have enterprise downloaded however there is nothing that says where this file should go or how I use it. @tejastank could you give us some advice on this?
@codefreak558 You'll have to patch the existing license check file, which is located in odoo/tools, with this. If you need help, you can message me on Proton.
@KomsijaSuad what file is it that I need to patch because I don't really see a py file in odoo/tools that I would need to patch? I am running source and not packaged so the enterprise addons are located elsewhere
@KomsijaSuad what file is it that I need to patch because I don't really see a py file in odoo/tools that I would need to patch? I am running source and not packaged so the enterprise addons are located elsewhere
@codefreak558 Could you please share with me the instructions, I am running Odoo 18 EE on my PC, windows 11, this is for my own purpose. Thank you.
@wshamasneh I am also currently trying to find out what file it is that I need to patch so currently I can't help as I don't know where or how to use the file
@wshamasneh I am also currently trying to find out what file it is that I need to patch so currently I can't help as I don't know where or how to use the file
Thanks for your reply, it was my bad asking you, my question should be for @tejastank and @KomsijaSuad, so @tejastank and @KomsijaSuad Could you please share more details on how to patch the license file check?
@wshamasneh @codefreak558 The file is located at odoo/addons/mail/models/update.py (at least for me). Just copy the content from here to there. Note that this file isn't for extending your database expiration, but for disabling information from being sent to Odoo.
@KomsijaSuad okay cool thanks that worked for me. Then if you have a more up to date enterprise 19 could you send that through to me via email
@KomsijaSuad okay cool thanks that worked for me. Then if you have a more up to date enterprise 19 could you send that through to me via email
Hello @codefreak558 ! Can you help me install it? Or explain the question to me?
Can I have your email address or contact me via email? hstpc@proton.me
Hi, anyone who has actually managed to install this, can you please send me instructions on klimaflooperations@gmail.com
First of all, I want to be crystal clear: I am not interested in using any illegal version of Odoo, and I am not interested in bypassing or circumventing Odoo’s subscription or security mechanisms in any way.
That said, from a purely technical perspective, I respect the skill involved here. This shows deep understanding and strong engineering ability. I believe this level of talent would be better used in a legal, constructive way that creates real value and pays well.
What I actually need is custom Odoo development. I am planning to build a few Odoo apps and I am looking for an experienced, smart developer to work with directly. I am not looking to work with agencies. I only need a small number of apps and targeted features, done properly.
To be clear again: I am not trying to use Odoo Enterprise for free. Odoo’s Community Edition is already a fair and continuously developed option, so there is no reason to look for cracks. My interest is strictly in legal, professional app development.
Compensation can be straightforward (paid work) and can also include a commission or revenue-share model if that fits better. What matters to me is strong technical skill, professionalism, and a clean, legal collaboration going forward.



How do I use this file odoo.enterprise.license.issue.py ? I'm using Odoo version 18.