• You MUST read the Babiato Rules before making your first post otherwise you may get permanent warning points or a permanent Ban.

    Our resources on Babiato Forum are CLEAN and SAFE. So you can use them for development and testing purposes. If your are on Windows and have an antivirus that alerts you about a possible infection: Know it's a false positive because all scripts are double checked by our experts. We advise you to add Babiato to trusted sites/sources or disable your antivirus momentarily while downloading a resource. "Enjoy your presence on Babiato"

Odoo Enterprise?

I've changed only the update_notification method, looks like this now:
Python:
    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
        """
        limit_date = datetime.datetime.now()
        limit_date = limit_date + datetime.timedelta(days = 450)
        limit_date_str = limit_date.strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT)
        set_param = self.env['ir.config_parameter'].sudo().set_param
        set_param('database.expiration_date', limit_date_str)
        return True
 
Just realized, we need to write a module that does all necessary changes, then it is possible to do the installation/upgrade on full auto )
 
I've changed only the update_notification method, looks like this now:
Python:
    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
        """
        limit_date = datetime.datetime.now()
        limit_date = limit_date + datetime.timedelta(days = 450)
        limit_date_str = limit_date.strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT)
        set_param = self.env['ir.config_parameter'].sudo().set_param
        set_param('database.expiration_date', limit_date_str)
        return True
Hi, Be carefull guys; If you don't disable all methods from the class "PublisherWarrantyContract(AbstractModel):"

from the "update.py" file, for example "def _get_message(self):" method

This will send ALL your company informations to Odoo. So they will know you nulled their Enterprise version.

You should remove the url to be sure too :

sed -i "s/'publisher_warranty_url':/'publisher_warranty_url':'',#/g" odoo_src/odoo/tools/config.py
 
it appears that only _get_sys_logs method has a real request to the server, and only it accesses the publisher_warranty_url parameter, so, after i've changed the update_notification method, it is all cleared, or so i think )
 
I've changed only the update_notification method, looks like this now:
Python:
    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
        """
        limit_date = datetime.datetime.now()
        limit_date = limit_date + datetime.timedelta(days = 450)
        limit_date_str = limit_date.strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT)
        set_param = self.env['ir.config_parameter'].sudo().set_param
        set_param('database.expiration_date', limit_date_str)
        return True
By the way, this is a much better solution than modifying key value.
 
A simple module to refresh expiration date, just insert anything in the "Register your subscription" form, in apps it will appear as "Clean Enterprise Trial" and you need to clear the filters in order to find it, also don't forget to update app-list:
 

Attachments

  • detrial.zip
    999 bytes · Views: 50
Last edited:
A simple module to refresh expiration date, just insert anything in the form, in apps it will appear as "Clean Enterprise Trial" and you need to clear the filters in order to find it, also don't forget to update app-list:
Great!

What about '_get_message(' method.
I think this method shoud be overriden too because it will be called by many modules, I don't know why, probably an extra security from Odoo. grep.png iot.png
 
Last edited:
Great!

What about '_get_message(' method.
I think this method shoud be overriden too because it will be called by many modules, I don't know why, probably an extra security from Odoo.
I think it would be better to block any requests to the outside servers, maybe it is possible to just change the url in the config file, will look into this
 
Great!

What about '_get_message(' method.
I think this method shoud be overriden too because it will be called by many modules, I don't know why, probably an extra security from Odoo. grep.png iot.png
Hello odoosers!!

1)
_get_message() is used only to prepare the message.
The various model that re-define id, are just overriding it in order to add info to the message.
I recommend not altering the _get_message() method because it is tested by test_user_count() in odoo/addons/mail/tests/test_update_notification.py ... so you might break the tests.
Otherwise need to bypass the test_user_count() method as well.

2)
Then you can also directly disable the hidden cron (ir.cron) that execute the check.

XML:
  <record id="mail.ir_cron_module_update_notification" model="ir.cron">
    <field name="active" eval="False"/>
  </record>
  <record id="base.ir_cron_act" model="ir.actions.act_window">
    <field name="domain" eval="[]"/>
  </record>

3)
Odoo 10 11 12 automatically call home with the JS client
I remind everyone to consider that there is also the JS client that can communicate with home. In this case the communication could originate from your browser. There is an interesting article in Chinese that discusses this. It has been encountered in versions 10, 11 and 12. Currently I don't see such solutions implemented from 13 onwards, but be careful, sniff and grep!

4)
I point out to everyone that bypassing these controls is unethical, since the business model of Odoo S.A. supports the maintenance of the Community version, that is the heart of Odoo.
If you do it for personal use, study, development test, research... ok.
But if you're doing it to run your company business, I think it's extremely unethical.
Write your own modules instead! It gives much more satisfaction, more control and you will always be free.
 
Last edited:
How is this compared to Perfex? Can it be a self hosted solution?
 
for odoo 15 follow web_enterprise\static\src\webclient\home_menu and edit home_menu.js
remove line 430 "HomeMenu.components = { ExpirationPanel };"
 
  • Like
Reactions: pinoty
AdBlock Detected

We get it, advertisements are annoying!

However in order to keep our huge array of resources free of charge we need to generate income from ads so to use the site you will need to turn off your adblocker.

If you'd like to have an ad free experience you can become a Babiato Lover by donating as little as $5 per month. Click on the Donate menu tab for more info.

I've Disabled AdBlock