Closed yelizariev closed 4 years ago
Response
{"Results":[{"Matches":[{"Filename":".tx/config","Matches":[{"Line":"[odoo-12.base_automation]","LineNumber":100,"Before":["source_lang = en",""],"After":["file_filter = addons/base_automation/i18n/\u003clang\u003e.po","source_file = addons/base_automation/i18n/base_automation.pot"]},{"Line":"file_filter = addons/base_automation/i18n/\u003clang\u003e.po","LineNumber":101,"Before":[],"After":["source_file = addons/base_automation/i18n/base_automation.pot","source_lang = en"]},{"Line":"source_file = addons/base_automation/i18n/base_automation.pot","LineNumber":102,"Before":[],"After":["source_lang = en",""]}]},{"Filename":"addons/base_automation/__manifest__.py","Matches":[{"Line":" 'data/base_automation_data.xml',","LineNumber":21,"Before":[" 'data': ["," 'security/ir.model.access.csv',"],"After":[" 'views/base_automation_view.xml',"," ],"]},{"Line":" 'views/base_automation_view.xml',","LineNumber":22,"Before":[],"After":[" ],"," 'demo': ["]},{"Line":" 'data/base_automation_demo.xml',","LineNumber":25,"Before":[" ],"," 'demo': ["],"After":[" ],","}"]}]},{"Filename":"addons/base_automation/data/base_automation_data.xml","Matches":[{"Line":" \u003crecord id=\"ir_cron_data_base_automation_check\" model=\"ir.cron\"\u003e","LineNumber":4,"Before":["\u003codoo\u003e"," \u003cdata noupdate=\"1\"\u003e"],"After":[" \u003cfield name=\"name\"\u003eBase Action Rule: check and execute\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"model_base_automation\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"model_base_automation\"/\u003e","LineNumber":6,"Before":[" \u003cfield name=\"name\"\u003eBase Action Rule: check and execute\u003c/field\u003e"],"After":[" \u003cfield name=\"state\"\u003ecode\u003c/field\u003e"," \u003cfield name=\"code\"\u003emodel._check(True)\u003c/field\u003e"]}]},{"Filename":"addons/base_automation/data/base_automation_demo.xml","Matches":[{"Line":" \u003crecord id=\"test_rule_on_create\" model=\"base.automation\"\u003e","LineNumber":4,"Before":["\u003codoo\u003e",""],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on create\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":6,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on create\u003c/field\u003e"],"After":[" \u003cfield name=\"state\"\u003ecode\u003c/field\u003e"," \u003cfield name=\"code\" eval=\"'records.write({\\'user_id\\': %s})' % ref('base.user_demo')\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":11,"Before":[" \u003cfield name=\"trigger\"\u003eon_create\u003c/field\u003e"," \u003cfield name=\"active\" eval=\"True\"/\u003e"],"After":[" \u003cfield name=\"filter_domain\"\u003e[('state', '=', 'draft')]\u003c/field\u003e"," \u003c/record\u003e"]},{"Line":" \u003crecord id=\"test_rule_on_write\" model=\"base.automation\"\u003e","LineNumber":15,"Before":[" \u003c/record\u003e",""],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on write\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":17,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on write\u003c/field\u003e"],"After":[" \u003cfield name=\"state\"\u003ecode\u003c/field\u003e"," \u003cfield name=\"code\" eval=\"'records.write({\\'user_id\\': %s})' % ref('base.user_demo')\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":22,"Before":[" \u003cfield name=\"trigger\"\u003eon_write\u003c/field\u003e"," \u003cfield name=\"active\" eval=\"True\"/\u003e"],"After":[" \u003cfield name=\"filter_domain\"\u003e[('state', '=', 'done')]\u003c/field\u003e"," \u003cfield name=\"filter_pre_domain\"\u003e[('state', '=', 'open')]\u003c/field\u003e"]},{"Line":" \u003crecord id=\"test_rule_on_recompute\" model=\"base.automation\"\u003e","LineNumber":27,"Before":[" \u003c/record\u003e",""],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on recompute\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":29,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on recompute\u003c/field\u003e"],"After":[" \u003cfield name=\"state\"\u003ecode\u003c/field\u003e"," \u003cfield name=\"code\" eval=\"'records.write({\\'user_id\\': %s})' % ref('base.user_demo')\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":34,"Before":[" \u003cfield name=\"trigger\"\u003eon_write\u003c/field\u003e"," \u003cfield name=\"active\" eval=\"True\"/\u003e"],"After":[" \u003cfield name=\"filter_domain\"\u003e[('customer', '=', True)]\u003c/field\u003e"," \u003c/record\u003e"]},{"Line":" \u003crecord id=\"test_rule_recursive\" model=\"base.automation\"\u003e","LineNumber":38,"Before":[" \u003c/record\u003e",""],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test recursive rule\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":40,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test recursive rule\u003c/field\u003e"],"After":[" \u003cfield name=\"trigger\"\u003eon_write\u003c/field\u003e"," \u003cfield name=\"active\" eval=\"True\"/\u003e"]},{"Line":" \u003crecord id=\"test_rule_on_line\" model=\"base.automation\"\u003e","LineNumber":51,"Before":[" \u003c/record\u003e",""],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on secondary model\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_line_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_line_test\"/\u003e","LineNumber":53,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on secondary model\u003c/field\u003e"],"After":[" \u003cfield name=\"state\"\u003ecode\u003c/field\u003e"," \u003cfield name=\"code\" eval=\"'records.write({\\'user_id\\': %s})' % ref('base.user_demo')\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_line_test\"/\u003e","LineNumber":58,"Before":[" \u003cfield name=\"trigger\"\u003eon_create\u003c/field\u003e"," \u003cfield name=\"active\" eval=\"True\"/\u003e"],"After":[" \u003c/record\u003e",""]},{"Line":" \u003crecord id=\"test_rule_on_write_check_context\" model=\"base.automation\"\u003e","LineNumber":61,"Before":[" \u003c/record\u003e",""],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on write check context\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":63,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on write check context\u003c/field\u003e"],"After":[" \u003cfield name=\"trigger\"\u003eon_write\u003c/field\u003e"," \u003cfield name=\"active\" eval=\"True\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":76,"Before":[" \u003crecord id=\"test_mail_template_automation\" model=\"mail.template\"\u003e"," \u003cfield name=\"name\"\u003eTemplate Automation\u003c/field\u003e"],"After":[" \u003cfield name=\"body_html\"\u003e\u0026lt;div\u0026gt;Email automation\u0026lt;/div\u0026gt;\u003c/field\u003e"," \u003c/record\u003e"]},{"Line":" \u003crecord id=\"test_rule_on_write_recompute_send_email\" model=\"base.automation\"\u003e","LineNumber":79,"Before":[" \u003cfield name=\"body_html\"\u003e\u0026lt;div\u0026gt;Email automation\u0026lt;/div\u0026gt;\u003c/field\u003e"," \u003c/record\u003e"],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test send an email\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e"]},{"Line":" \u003cfield name=\"model_id\" ref=\"base_automation.model_base_automation_lead_test\"/\u003e","LineNumber":81,"Before":[" \u003cfield name=\"name\"\u003eBase Automation: test send an email\u003c/field\u003e"],"After":[" \u003cfield name=\"template_id\" ref=\"base_automation.test_mail_template_automation\"/\u003e"," \u003cfield name=\"state\"\u003eemail\u003c/field\u003e"]},{"Line":" \u003cfield name=\"template_id\" ref=\"base_automation.test_mail_template_automation\"/\u003e","LineNumber":82,"Before":[],"After":[" \u003cfield name=\"state\"\u003eemail\u003c/field\u003e"," \u003cfield name=\"trigger\"\u003eon_write\u003c/field\u003e"]}]},{"Filename":"addons/base_automation/models/__init__.py","Matches":[{"Line":"from . import base_automation","LineNumber":4,"Before":["# Part of Odoo. See LICENSE file for full copyright and licensing details.",""],"After":["from . import ir_actions","from . import ir_demo"]}]},{"Filename":"addons/base_automation/models/base_automation.py","Matches":[{"Line":" _name = 'base.automation'","LineNumber":30,"Before":["","class BaseAutomation(models.Model):"],"After":[" _description = 'Automated Action'"," _order = 'sequence'"]},{"Line":" vals['usage'] = 'base_automation'","LineNumber":96,"Before":[" @api.model"," def create(self, vals):"],"After":[" base_automation = super(BaseAutomation, self).create(vals)"," self._update_cron()"]},{"Line":" base_automation = super(BaseAutomation, self).create(vals)","LineNumber":97,"Before":[],"After":[" self._update_cron()"," self._update_registry()"]},{"Line":" return base_automation","LineNumber":100,"Before":[" self._update_cron()"," self._update_registry()"],"After":[""," @api.multi"]},{"Line":" cron = self.env.ref('base_automation.ir_cron_data_base_automation_check', raise_if_not_found=False)","LineNumber":121,"Before":[" based on time conditions."," \"\"\""],"After":[" return cron and cron.toggle(model=self._name, domain=[('trigger', '=', 'on_time')])",""]},{"Line":" actions = self.env['base.automation']._get_actions(self, ['on_create', 'on_create_or_write'])","LineNumber":226,"Before":[" def create(self, vals_list, **kw):"," # retrieve the action rules to possibly execute"],"After":[" # call original method"," records = create.origin(self.with_env(actions.env), vals_list, **kw)"]},{"Line":" actions = self.env['base.automation']._get_actions(self, ['on_write', 'on_create_or_write'])","LineNumber":245,"Before":[" def _write(self, vals, **kw):"," # retrieve the action rules to possibly execute"],"After":[" records = self.with_env(actions.env)"," # check preconditions on records"]},{"Line":" actions = self.env['base.automation']._get_actions(self, ['on_unlink'])","LineNumber":269,"Before":[" def unlink(self, **kwargs):"," # retrieve the action rules to possibly execute"],"After":[" records = self.with_env(actions.env)"," # check conditions, and execute actions on the records that satisfy them"]},{"Line":" def base_automation_onchange(self):","LineNumber":281,"Before":[" def make_onchange(action_rule_id):"," \"\"\" Instanciate an onchange method for the given action rule. \"\"\""],"After":[" action_rule = self.env['base.automation'].browse(action_rule_id)"," result = {}"]},{"Line":" action_rule = self.env['base.automation'].browse(action_rule_id)","LineNumber":282,"Before":[],"After":[" result = {}"," server_action = action_rule.action_server_id.with_context(active_model=self._name, onchange_self=self)"]},{"Line":" return base_automation_onchange","LineNumber":296,"Before":[" return result",""],"After":[""," patched_models = defaultdict(set)"]}]},{"Filename":"addons/base_automation/models/ir_actions.py","Matches":[{"Line":" usage = fields.Selection(selection_add=[('base_automation', 'Automated Action')])","LineNumber":10,"Before":[" _inherit = \"ir.actions.server\"",""],"After":[]}]},{"Filename":"addons/base_automation/models/ir_demo.py","Matches":[{"Line":" self.env['base.automation']._update_registry()","LineNumber":20,"Before":[""," # Reload the registry"],"After":[""," return result"]}]},{"Filename":"addons/base_automation/security/ir.model.access.csv","Matches":[{"Line":"access_base_automation,base.automation,model_base_automation,,1,0,0,0\r","LineNumber":2,"Before":["id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink\r"],"After":["access_base_automation_config,base.automation config,model_base_automation,base.group_system,1,1,1,1\r","access_base_automation_lead_test,access_base_automation_lead_test,model_base_automation_lead_test,base.group_system,1,1,1,1\r"]},{"Line":"access_base_automation_config,base.automation config,model_base_automation,base.group_system,1,1,1,1\r","LineNumber":3,"Before":[],"After":["access_base_automation_lead_test,access_base_automation_lead_test,model_base_automation_lead_test,base.group_system,1,1,1,1\r","access_base_automation_line_test,access_base_automation_line_test,model_base_automation_line_test,base.group_system,1,1,1,1"]},{"Line":"access_base_automation_lead_test,access_base_automation_lead_test,model_base_automation_lead_test,base.group_system,1,1,1,1\r","LineNumber":4,"Before":[],"After":["access_base_automation_line_test,access_base_automation_line_test,model_base_automation_line_test,base.group_system,1,1,1,1"]},{"Line":"access_base_automation_line_test,access_base_automation_line_test,model_base_automation_line_test,base.group_system,1,1,1,1","LineNumber":5,"Before":[],"After":[]}]},{"Filename":"addons/base_automation/tests/__init__.py","Matches":[{"Line":"from . import test_base_automation","LineNumber":5,"Before":["","from . import test_models"],"After":[]}]},{"Filename":"addons/base_automation/tests/test_base_automation.py","Matches":[{"Line":"class base_automation_test(common.TransactionCase):","LineNumber":9,"Before":["","@common.tagged('post_install','-at_install')"],"After":[""," def setUp(self):"]},{"Line":" super(base_automation_test, self).setUp()","LineNumber":12,"Before":[" def setUp(self):"],"After":[" self.user_root = self.env.ref('base.user_root')"," self.user_admin = self.env.ref('base.user_admin')"]},{"Line":" return self.env['base.automation.lead.test'].create(vals)","LineNumber":23,"Before":[" }"," vals.update(kwargs)"],"After":[""," def test_00_check_to_state_open_pre(self):"]},{"Line":" mail_automation = self.env.ref('base_automation.test_rule_on_write_recompute_send_email')","LineNumber":111,"Before":[""," def test_11b_recomputed_field(self):"],"After":[" send_mail_count = 0",""]},{"Line":" patch('odoo.addons.base_automation.models.base_automation.BaseAutomation._get_actions', _patched_get_actions),","LineNumber":125,"Before":[""," patchers = ["],"After":[" patch('odoo.addons.mail.models.mail_template.MailTemplate.send_mail', _patched_send_mail),"," ]"]},{"Line":" line = self.env['base.automation.line.test'].create({'name': \"Line\"})","LineNumber":161,"Before":[" Check that a rule is executed after creating a line record."," \"\"\""],"After":[" self.assertEqual(line.user_id, self.user_demo)",""]}]},{"Filename":"addons/base_automation/tests/test_models.py","Matches":[{"Line":" _name = \"base.automation.lead.test\"","LineNumber":9,"Before":["","class LeadTest(models.Model):"],"After":[" _description = \"Automated Rule Test\"",""]},{"Line":" line_ids = fields.One2many('base.automation.line.test', 'lead_id')","LineNumber":21,"Before":[" date_action_last = fields.Datetime(string='Last Action', readonly=True)"," customer = fields.Boolean(related='partner_id.customer', readonly=True, store=True)"],"After":[""," priority = fields.Boolean()"]},{"Line":" _name = \"base.automation.line.test\"","LineNumber":36,"Before":["","class LineTest(models.Model):"],"After":[" _description = \"Automated Rule Line Test\"",""]},{"Line":" lead_id = fields.Many2one('base.automation.lead.test', ondelete='cascade')","LineNumber":40,"Before":[""," name = fields.Char()"],"After":[" user_id = fields.Many2one('res.users')"]}]},{"Filename":"addons/base_automation/views/base_automation_view.xml","Matches":[{"Line":" \u003crecord id=\"view_base_automation_form\" model=\"ir.ui.view\"\u003e","LineNumber":5,"Before":[""," \u003c!-- Automation Form View --\u003e"],"After":[" \u003cfield name=\"name\"\u003eAutomations\u003c/field\u003e"," \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e"]},{"Line":" \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e","LineNumber":7,"Before":[" \u003cfield name=\"name\"\u003eAutomations\u003c/field\u003e"],"After":[" \u003cfield name=\"mode\"\u003eprimary\u003c/field\u003e"," \u003cfield name=\"inherit_id\" ref=\"base.view_server_action_form\"/\u003e"]},{"Line":" \u003crecord id=\"view_base_automation_tree\" model=\"ir.ui.view\"\u003e","LineNumber":45,"Before":[""," \u003c!-- automation Tree View --\u003e"],"After":[" \u003cfield name=\"name\"\u003ebase.automation.tree\u003c/field\u003e"," \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e"]},{"Line":" \u003cfield name=\"name\"\u003ebase.automation.tree\u003c/field\u003e","LineNumber":46,"Before":[],"After":[" \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e"," \u003cfield name=\"arch\" type=\"xml\"\u003e"]},{"Line":" \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e","LineNumber":47,"Before":[],"After":[" \u003cfield name=\"arch\" type=\"xml\"\u003e"," \u003ctree string=\"Automation\"\u003e"]},{"Line":" \u003crecord id=\"view_base_automation_search\" model=\"ir.ui.view\"\u003e","LineNumber":58,"Before":[" \u003c/record\u003e",""],"After":[" \u003cfield name=\"name\"\u003ebase.automation.search\u003c/field\u003e"," \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e"]},{"Line":" \u003cfield name=\"name\"\u003ebase.automation.search\u003c/field\u003e","LineNumber":59,"Before":[],"After":[" \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e"," \u003cfield name=\"arch\" type=\"xml\"\u003e"]},{"Line":" \u003cfield name=\"model\"\u003ebase.automation\u003c/field\u003e","LineNumber":60,"Before":[],"After":[" \u003cfield name=\"arch\" type=\"xml\"\u003e"," \u003csearch\u003e"]},{"Line":" \u003crecord id=\"base_automation_act\" model=\"ir.actions.act_window\"\u003e","LineNumber":70,"Before":[""," \u003c!-- automation Action --\u003e"],"After":[" \u003cfield name=\"name\"\u003eAutomated Actions\u003c/field\u003e"," \u003cfield name=\"res_model\"\u003ebase.automation\u003c/field\u003e"]},{"Line":" \u003cfield name=\"res_model\"\u003ebase.automation\u003c/field\u003e","LineNumber":72,"Before":[" \u003cfield name=\"name\"\u003eAutomated Actions\u003c/field\u003e"],"After":[" \u003cfield name=\"view_type\"\u003eform\u003c/field\u003e"," \u003cfield name=\"view_mode\"\u003etree,form\u003c/field\u003e"]},{"Line":" \u003cfield name=\"view_id\" ref=\"view_base_automation_tree\"/\u003e","LineNumber":75,"Before":[" \u003cfield name=\"view_type\"\u003eform\u003c/field\u003e"," \u003cfield name=\"view_mode\"\u003etree,form\u003c/field\u003e"],"After":[" \u003cfield name=\"help\" type=\"html\"\u003e"," \u003cp class=\"o_view_nocontent_smiling_face\"\u003e"]},{"Line":" \u003cmenuitem id=\"menu_base_automation_form\"","LineNumber":89,"Before":[" \u003c/record\u003e",""],"After":[" parent=\"base.menu_automation\" action=\"base_automation_act\" sequence=\"1\"/\u003e",""]},{"Line":" parent=\"base.menu_automation\" action=\"base_automation_act\" sequence=\"1\"/\u003e","LineNumber":90,"Before":[],"After":["","\u003c/odoo\u003e"]}]}],"FilesWithMatch":13,"Revision":"3fbfa87df85d6463dfcba47416f360fcdef4448e","Name":"odoo/odoo#12.0"},{"Matches":[{"Filename":"pos_debt_notebook_sync/__manifest__.py","Matches":[{"Line":" \"depends\": [\"base_automation\", \"pos_longpolling\", \"pos_debt_notebook\"],","LineNumber":19,"Before":[" \"price\": 510.00,"," \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": [\"views/template.xml\", \"data/base_action_rule.xml\"],"]}]},{"Filename":"pos_debt_notebook_sync/data/base_action_rule.xml","Matches":[{"Line":" \u003crecord id=\"rule_new_payment\" model=\"base.automation\"\u003e","LineNumber":7,"Before":["\u003codoo\u003e"," \u003c!-- debt payments --\u003e"],"After":[" \u003cfield name=\"name\"\u003eNotify POS about Debt updates (on new payment).\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"account.model_account_bank_statement_line\" /\u003e"]},{"Line":" \u003crecord id=\"rule_credit_products\" model=\"base.automation\"\u003e","LineNumber":19,"Before":[" \u003c/record\u003e"," \u003c!-- Credit products: pos.order --\u003e"],"After":[" \u003cfield"," name=\"name\""]},{"Line":" \u003crecord id=\"rule_credit_products_invoice\" model=\"base.automation\"\u003e","LineNumber":31,"Before":[" \u003c/record\u003e"," \u003c!-- Credit products: account.invoice --\u003e"],"After":[" \u003cfield"," name=\"name\""]},{"Line":" \u003crecord id=\"rule_pos_credit_updates\" model=\"base.automation\"\u003e","LineNumber":43,"Before":[" \u003c/record\u003e"," \u003c!-- manual credit updates --\u003e"],"After":[" \u003cfield"," name=\"name\""]}]},{"Filename":"pos_expenses_pay/__manifest__.py","Matches":[{"Line":" \"depends\": [\"hr_expense\", \"base_automation\", \"pos_longpolling\"],","LineNumber":21,"Before":[" # \"price\": 89.00,"," # \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": ["]}]},{"Filename":"pos_expenses_pay/data/base_action_rule.xml","Matches":[{"Line":" \u003crecord id=\"expense_update_pos_action\" model=\"base.automation\"\u003e","LineNumber":5,"Before":[" License MIT (https://opensource.org/licenses/MIT).--\u003e","\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eUpdate Expenses\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"hr_expense.model_hr_expense_sheet\" /\u003e"]}]},{"Filename":"pos_invoice_pay/__manifest__.py","Matches":[{"Line":" \"depends\": [\"base_automation\", \"sale_management\", \"pos_longpolling\"],","LineNumber":18,"Before":[" \"price\": 89.00,"," \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": ["]}]},{"Filename":"pos_invoice_pay/actions/base_action_rules.xml","Matches":[{"Line":" \u003crecord id=\"invoice_update_pos_action\" model=\"base.automation\"\u003e","LineNumber":5,"Before":[" License MIT (https://opensource.org/licenses/MIT).--\u003e","\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eUpdate Invoices\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"account.model_account_invoice\" /\u003e"]},{"Line":" \u003crecord id=\"so_update_pos_action\" model=\"base.automation\"\u003e","LineNumber":15,"Before":[" \u003cfield name=\"active\" eval=\"True\" /\u003e"," \u003c/record\u003e"],"After":[" \u003cfield name=\"name\"\u003eUpdate Sale Order\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"sale.model_sale_order\" /\u003e"]}]},{"Filename":"pos_orders_history/__manifest__.py","Matches":[{"Line":" \"depends\": [\"base_automation\", \"pos_longpolling\"],","LineNumber":20,"Before":[" \"price\": 59.00,"," \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": ["]}]},{"Filename":"pos_orders_history/data/base_action_rule.xml","Matches":[{"Line":" \u003crecord id=\"rule_new_order\" model=\"base.automation\"\u003e","LineNumber":7,"Before":[" License MIT (https://opensource.org/licenses/MIT). --\u003e","\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eNotify POS about Orders updates (on new order).\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"point_of_sale.model_pos_order\" /\u003e"]}]},{"Filename":"pos_orders_history_reprint/data/base_action_rule.xml","Matches":[{"Line":" \u003crecord id=\"rule_new_receipt\" model=\"base.automation\"\u003e","LineNumber":6,"Before":[" License MIT (https://opensource.org/licenses/MIT). --\u003e","\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eNotify POS about new receipt.\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"pos_orders_history_reprint.model_pos_xml_receipt\" /\u003e"]}]}],"FilesWithMatch":9,"Revision":"f6c30adfedb2a2fd06247100736e48b8f4944685","Name":"itpp-labs/pos-addons#12.0"},{"Matches":[{"Filename":"project_timelog/__manifest__.py","Matches":[{"Line":" \"depends\": [\"hr_timesheet\", \"base_automation\"],","LineNumber":13,"Before":[" \"price\": 390.00,"," \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": ["]}]},{"Filename":"project_timelog/data/project_timelog_data.xml","Matches":[{"Line":" \u003crecord id=\"rule_auto_stop_timer\" model=\"base.automation\"\u003e","LineNumber":76,"Before":[" \u003cfield name=\"relation_field\"\u003eproject_id\u003c/field\u003e"," \u003c/record\u003e"],"After":[" \u003cfield name=\"name\"\u003eSet timer info\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"project_timelog.model_project_task\" /\u003e"]}]},{"Filename":"project_timelog/doc/index.rst","Matches":[{"Line":"This section is about how you can implement integration with third-party services using the module `Outgoing Webhooks \u003chttps://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\u003e`__ (need to install additionally), for example, send notifications about user actions to telegram group through `IFTTT \u003chttps://ifttt.com\u003e`__.","LineNumber":45,"Before":["========",""],"After":["","Consider the following example. Let's say we need to send a webhook when one of these following events occurs:"]},{"Line":" * `Odoo \u003chttps://www.odoo.com/\u003e`__ with admin access to setup `Outgoing Webhooks \u003chttps://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\u003e`__.","LineNumber":52,"Before":["","You'll need:"],"After":[" * `IFTTT \u003chttps://ifttt.com/\u003e`__ account to setup `Webhooks \u003chttps://ifttt.com/maker_webhooks\u003e`__.",""]},{"Line":" * Install `Outgoing Webhooks \u003chttps://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\u003e`__ module","LineNumber":64,"Before":["Register Webhook:"," * Open Odoo"],"After":[" * Create an Automated Action with the following values (see `Module Documentation \u003chttps://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\u003e`__ for details):"," * **Model**: Analytic Line (``account.analytic.line``)."]},{"Line":" * Create an Automated Action with the following values (see `Module Documentation \u003chttps://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\u003e`__ for details):","LineNumber":65,"Before":[],"After":[" * **Model**: Analytic Line (``account.analytic.line``)."," * **Trigger condition**: *On creation*."]}]}],"FilesWithMatch":3,"Revision":"68c83fa72657a80bfff546e51f91ac8fb42e1e0e","Name":"itpp-labs/misc-addons#12.0"},{"Matches":[{"Filename":"access_limit_records_number/__manifest__.py","Matches":[{"Line":" \"depends\": [\"base_automation\"],","LineNumber":15,"Before":[" \"price\": 30.00,"," \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": ["]}]},{"Filename":"access_limit_records_number/models.py","Matches":[{"Line":" _inherits = {\"base.automation\": \"action_rule_id\"}","LineNumber":9,"Before":[" _name = \"base.limit.records_number\""," _description = \"Restrictions for number of records\""],"After":[""," action_rule_id = fields.Many2one("]},{"Line":" \"base.automation\", \"Base Automation\", required=True, ondelete=\"cascade\"","LineNumber":12,"Before":[" action_rule_id = fields.Many2one("],"After":[" )"," max_records = fields.Integer(string=\"Maximum Records\")"]}]}],"FilesWithMatch":2,"Revision":"d45c27aac098ec0b85a2f68e1e1b0ecccf6d1d20","Name":"itpp-labs/access-addons#12.0"},{"Matches":[{"Filename":"base_automation_webhook/README.rst","Matches":[{"Line":" at `odoo apps store \u003chttps://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\u003e`__.","LineNumber":28,"Before":[" To get a guaranteed support"," you are kindly requested to purchase the module"],"After":[""," Thank you for understanding!"]},{"Line":"HTML Description: https://apps.odoo.com/apps/modules/12.0/base_automation_webhook/","LineNumber":39,"Before":["Demo: http://runbot.it-projects.info/demo/misc-addons/12.0",""],"After":["","Usage instructions: `\u003cdoc/index.rst\u003e`_"]},{"Line":"Notifications on updates: `via Atom \u003chttps://github.com/it-projects-llc/misc-addons/commits/12.0/base_automation_webhook.atom\u003e`_, `by Email \u003chttps://blogtrottr.com/?subscribe=https://github.com/it-projects-llc/misc-addons/commits/12.0/base_automation_webhook.atom\u003e`_","LineNumber":45,"Before":["Changelog: `\u003cdoc/changelog.rst\u003e`_",""],"After":["","Tested on Odoo 12.0 0d4feadef836338acccbd42dfeefc5b5304fc8fa"]}]},{"Filename":"base_automation_webhook/__manifest__.py","Matches":[{"Line":" \"images\": [\"images/base_automation_webhook.png\"],","LineNumber":8,"Before":[" \"category\": \"Extra Tools\","," # \"live_test_url\": \"http://apps.it-projects.info/shop/product/DEMO-URL?version=12.0\","],"After":[" \"version\": \"12.0.1.0.0\","," \"application\": False,"]},{"Line":" \"website\": \"https://apps.odoo.com/apps/modules/12.0/base_automation_webhook/\",","LineNumber":13,"Before":[" \"author\": \"IT-Projects LLC, Ivan Yelizariev\","," \"support\": \"sync@it-projects.info\","],"After":[" \"license\": \"Other OSI approved licence\", # MIT"," \"price\": 60.00,"]},{"Line":" \"depends\": [\"base_automation\"],","LineNumber":17,"Before":[" \"price\": 60.00,"," \"currency\": \"EUR\","],"After":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": [],"]},{"Line":" \"demo\": [\"data/base_automation_demo.xml\"],","LineNumber":20,"Before":[" \"external_dependencies\": {\"python\": [], \"bin\": []},"," \"data\": [],"],"After":[" \"qweb\": [],"," \"post_load\": None,"]}]},{"Filename":"base_automation_webhook/data/base_automation_demo.xml","Matches":[{"Line":" \u003crecord id=\"test_rule_on_create\" model=\"base.automation\"\u003e","LineNumber":5,"Before":[" License MIT (https://opensource.org/licenses/MIT). --\u003e","\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eBase Automation: test rule on create\u003c/field\u003e"," \u003cfield name=\"state\"\u003ecode\u003c/field\u003e"]}]},{"Filename":"base_automation_webhook/models/__init__.py","Matches":[{"Line":"from . import base_automation","LineNumber":2,"Before":["# License MIT (https://opensource.org/licenses/MIT)."],"After":[]}]}],"FilesWithMatch":4,"Revision":"50e3cc609637a8bb90f61c1e85d8c37cc914da97","Name":"itpp-labs/sync-addons#12.0"},{"Matches":[{"Filename":"website_sale_cache/__manifest__.py","Matches":[{"Line":" \"depends\": [\"website_sale\", \"website\", \"base_automation\"],","LineNumber":16,"Before":[" \"price\": 49.00,"," \"currency\": \"EUR\","],"After":[" \"data\": [\"views.xml\", \"data/ir_action_server.xml\", \"data/base_automation.xml\"],"," \"installable\": True,"]},{"Line":" \"data\": [\"views.xml\", \"data/ir_action_server.xml\", \"data/base_automation.xml\"],","LineNumber":17,"Before":[],"After":[" \"installable\": True,","}"]}]},{"Filename":"website_sale_cache/data/base_automation.xml","Matches":[{"Line":" \u003crecord id=\"product_public_category_update_cache_action\" model=\"base.automation\"\u003e","LineNumber":5,"Before":[" License MIT (https://opensource.org/licenses/MIT).--\u003e","\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eWebsite_sale: Update cache for categories\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"website_sale.model_product_public_category\" /\u003e"]},{"Line":" model=\"base.automation\"","LineNumber":14,"Before":[" \u003crecord"," id=\"product_public_category_update_cache_on_delete_action\""],"After":[" \u003e"," \u003cfield name=\"name\"\u003eWebsite_sale: Update cache for categories on delete\u003c/field\u003e"]}]}],"FilesWithMatch":2,"Revision":"7cb4e12598d76e80eabd8d14b87fa81fed086ba9","Name":"itpp-labs/website-addons#12.0"},{"Matches":[{"Filename":"fieldservice_stage_server_action/__manifest__.py","Matches":[{"Line":" 'base_automation'","LineNumber":13,"Before":[" 'fieldservice',"," 'fieldservice_substatus',"],"After":[" ],"," 'data': ["]},{"Line":" 'data/base_automation.xml',","LineNumber":18,"Before":[" 'data/ir_server_action.xml',"," 'data/fsm_stage.xml',"],"After":[" 'views/fsm_stage.xml'"," ],"]}]},{"Filename":"fieldservice_stage_server_action/data/base_automation.xml","Matches":[{"Line":" \u003crecord id=\"fsm_order_email_sender\" model=\"base.automation\"\u003e","LineNumber":2,"Before":["\u003codoo\u003e"],"After":[" \u003cfield name=\"name\"\u003eFSM Order Email Sender\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"fieldservice.model_fsm_order\"/\u003e"]}]}],"FilesWithMatch":2,"Revision":"c2188cdb54f768adb640e6c2abf717dac08c775e","Name":"oca/field-service#12.0"},{"Matches":[{"Filename":"mgmtsystem_audit/__manifest__.py","Matches":[{"Line":" \"depends\": ['mgmtsystem_nonconformity', 'base_automation'],","LineNumber":10,"Before":[" \"license\": \"AGPL-3\","," \"category\": \"Management System\","],"After":[" \"data\": ["," 'security/ir.model.access.csv',"]}]},{"Filename":"mgmtsystem_audit/data/audit_automated_actions.xml","Matches":[{"Line":" \u003crecord id=\"rule_set_prepare_to_audit\" model=\"base.automation\"\u003e","LineNumber":26,"Before":[""," \u003c!-- Automated Action: Email all auditors 2 weeks before Audit. --\u003e"],"After":[" \u003cfield name=\"name\"\u003eEmail all auditors 2 weeks before audit.\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"model_mgmtsystem_audit\"/\u003e"]},{"Line":" \u003crecord id=\"rule_set_send_verification_list\" model=\"base.automation\"\u003e","LineNumber":59,"Before":[""," \u003c!-- Automated Action: Email all followers 1 weeks before Audit. --\u003e"],"After":[" \u003cfield name=\"name\"\u003eEmail all followers 1 week before audit.\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"model_mgmtsystem_audit\"/\u003e"]}]}],"FilesWithMatch":2,"Revision":"e96abff741074e3552272a63873831ffce35cb78","Name":"oca/management-system#12.0"},{"Matches":[{"Filename":"auto_backup/static/description/index.html","Matches":[{"Line":"\u003cdiv class=\"document\" id=\"database-auto-backup\"\u003e","LineNumber":363,"Before":["\u003c/head\u003e","\u003cbody\u003e"],"After":["\u003ch1 class=\"title\"\u003eDatabase Auto-Backup\u003c/h1\u003e",""]}]}],"FilesWithMatch":1,"Revision":"cca5dffd0dec68e1aa4209a8747d4381a97efa89","Name":"oca/server-tools#12.0"},{"Matches":[{"Filename":"website_crm_quick_answer/__manifest__.py","Matches":[{"Line":" 'base_automation',","LineNumber":13,"Before":[" 'depends': ["," 'website_crm',"],"After":[" ],"," 'data': ["]},{"Line":" \"data/base_automation_data.xml\",","LineNumber":16,"Before":[" ],"," 'data': ["],"After":[" ],"," 'author': 'Tecnativa, '"]}]},{"Filename":"website_crm_quick_answer/data/base_automation_data.xml","Matches":[{"Line":" \u003crecord id=\"automated_action\" model=\"base.automation\"\u003e","LineNumber":31,"Before":[" \u003cdata\u003e",""],"After":[" \u003cfield name=\"name\"\u003eQuick response to website contact form\u003c/field\u003e"," \u003cfield name=\"model_id\" ref=\"crm.model_crm_lead\"/\u003e"]}]}],"FilesWithMatch":2,"Revision":"86d446f085cf0d0ab9ccfc4641c138de77f9d4f6","Name":"oca/website#12.0"}],"Stats":{"FilesOpened":744,"ReposScanned":159,"Duration":1007},"ReposPagination":{"NextOffset":159,"OtherRepos":0,"NextLimit":30}}
Should be a caching problem (api/v1/repos doesn't show the repo, while search results contains it)
https://odoo-source.com/?q=_name%20%3D%20%22base.auto&i=nope&files=py%24&excludeFiles=po%24%7Cpot%24%7Cyml%24%7Cyaml%24%7Ccss%24%7C%2Fstatic%2Flib%2F&repos=12.0