In Ansible the configuration parameters are usually separated into two categories: host and group vars. As their names say these are variables that are either applied to a specific host or a group of hosts. And here is already an edge case. What if we want to configure a variable for group, but then also give the possibility to modify for a specific host. Read on to see my solution.
The Odoo ORM provides a read_group method. Calling this method and passing a domain definition, fieldnames and a groupby fieldname will return a domain recordset grouped by the fieldname. A big drawback is that you cannot pass a relation to a subfield. Importing the itertools library gives us new options to do so.
Odoo stores all module settings in the res.config.settings model. This model is based on the models.TransientModel class, which means that the settings data is not persisted with this model.
This is just nice to know. I will show how you can create a settings page for your Odoo module and let you know about its limitations.
I’m using the Obsidian note taking app for almost anything. Having everything stored in plain text Markdown files makes it easy to sync the Obsidian vault with any file sync provider. However, getting the Obsidian vault on the mobile phone without their syncing service is not so easy. In this guide I will explain how you can sync the Obsidian vault to your phone using git and Working Copy.
ZSH/Bash completion guides sure are confusing. I personally had difficulties wrapping my head around those arbitrary compdef, _describe, _arguments, compadd commands. Moreover, in my case I wanted to complete a script that is placed in multiple folders and should load completion arguments dynamically. Luckily I found a simple solution.
Smart buttons help navigating between linked models in Odoo. Creating a smart button requires three components: counter field, compute function, view action and a button box on the view.
By default Odoo asks for confirmation if a record is being deleted. Making validations before deletion is up to the developer. I will show how you can add a custom constraint that prevents a record being deleted.
Odoo has a builtin archiving function for any model. Once a record is archived it will not be displayed in any views and selections, but can is easily be unarchived. This functionality ensures that relations must not be removed if linked records is obsolete.
With the Odoo framework it is pretty easy to create a kanban view that groups and sorts an item by a state field. I’ll show how a kanban view can be added in a few steps.