Odoo Enterprise?

chebkhaland

New member
Sep 24, 2022
0
2
0
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
 

chebkhaland

New member
Sep 24, 2022
0
2
0
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 )
 

bourou01

New member
Feb 16, 2021
13
19
3
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
 
  • Like
Reactions: kn1ghtd2rk

chebkhaland

New member
Sep 24, 2022
0
2
0
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 )
 

bourou01

New member
Feb 16, 2021
13
19
3
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.
 

chebkhaland

New member
Sep 24, 2022
0
2
0
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:

bourou01

New member
Feb 16, 2021
13
19
3
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.pngiot.png
 
Last edited:

chebkhaland

New member
Sep 24, 2022
0
2
0
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
 

Cricketrc20

New member
Oct 26, 2022
0
0
0
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.pngiot.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:

nesym

Active member
Babiato Lover
Sep 8, 2019
359
192
43
How is this compared to Perfex? Can it be a self hosted solution?
 

klausi9876

New member
May 20, 2022
0
2
0
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

About us

  • Our community has been around for many years and pride ourselves on offering unbiased, critical discussion among people of all different backgrounds. We are working every day to make sure our community is one of the best.

Quick Navigation

User Menu