<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Odoo on Janik von Rotz</title>
    <link>https://janikvonrotz.ch/categories/odoo/</link>
    <description>Recent content in Odoo on Janik von Rotz</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 26 Sep 2022 09:13:47 +0200</lastBuildDate>
    <atom:link href="https://janikvonrotz.ch/categories/odoo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Odoo Development: Tree view with custom styles</title>
      <link>https://janikvonrotz.ch/2022/09/26/odoo-development-tree-view-with-custom-styles/</link>
      <pubDate>Mon, 26 Sep 2022 09:13:47 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2022/09/26/odoo-development-tree-view-with-custom-styles/</guid>
      <description>&lt;p&gt;The Odoo UI cannot be customized as easy as reports and websites. Using modules we can easily inject custom CSS styles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Show last updated date above list view</title>
      <link>https://janikvonrotz.ch/2022/06/08/odoo-development-show-last-updated-date-above-list-view/</link>
      <pubDate>Wed, 08 Jun 2022 10:01:06 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2022/06/08/odoo-development-show-last-updated-date-above-list-view/</guid>
      <description>&lt;p&gt;Odoo runs various reports in the background. Some of these report take a while to finish and therefore seeing the last updated date is important. In a few steps I will show how you can add the last updated date to a list view.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://janikvonrotz.ch/images/odoo-development-last-updated.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Show message dialog</title>
      <link>https://janikvonrotz.ch/2022/02/01/odoo-development-show-message-dialog/</link>
      <pubDate>Tue, 01 Feb 2022 09:21:25 +0100</pubDate>
      <guid>https://janikvonrotz.ch/2022/02/01/odoo-development-show-message-dialog/</guid>
      <description>&lt;p&gt;Some things are easily done in the Odoo framework, others are more difficult. An easy thing such as opening a dialog window with a custom message is more difficult than expected.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Set attributes conditionally</title>
      <link>https://janikvonrotz.ch/2021/11/24/odoo-development-set-attributes-conditionally/</link>
      <pubDate>Wed, 24 Nov 2021 14:06:11 +0100</pubDate>
      <guid>https://janikvonrotz.ch/2021/11/24/odoo-development-set-attributes-conditionally/</guid>
      <description>&lt;p&gt;Attributes such as &lt;code&gt;invisible&lt;/code&gt; can be set on fields, widgets and buttons based on a condition. By using the &lt;code&gt;attrs&lt;/code&gt; attribute the field and condition can be passed to the element. Here is an example: &lt;code&gt;attrs=&amp;quot;{&#39;invisible&#39;: [(&#39;active&#39;, &#39;=&#39;, True)]}&amp;quot;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;But how do we achive this for &lt;code&gt;tree&lt;/code&gt; elements where &lt;code&gt;attrs&lt;/code&gt; is not available?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Group by related field</title>
      <link>https://janikvonrotz.ch/2021/09/29/odoo_development_group_by_related_field/</link>
      <pubDate>Wed, 29 Sep 2021 08:24:59 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/09/29/odoo_development_group_by_related_field/</guid>
      <description>&lt;p&gt;The Odoo ORM provides a &lt;a href=&#34;https://www.odoo.com/documentation/14.0/developer/reference/addons/orm.html?highlight=group#odoo.models.Model.read_group&#34;&gt;&lt;code&gt;read_group&lt;/code&gt;&lt;/a&gt; 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 &lt;code&gt;itertools&lt;/code&gt; library gives us new options to do so.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Create a settings page</title>
      <link>https://janikvonrotz.ch/2021/09/14/odoo_development_create_a_settings_page/</link>
      <pubDate>Tue, 14 Sep 2021 16:36:23 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/09/14/odoo_development_create_a_settings_page/</guid>
      <description>&lt;p&gt;Odoo stores all module settings in the &lt;code&gt;res.config.settings&lt;/code&gt; model. This model is based on the &lt;code&gt;models.TransientModel&lt;/code&gt; class, which means that the settings data is not persisted with this model.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Enable multi edit</title>
      <link>https://janikvonrotz.ch/2021/09/14/odoo_development_enable_multi_edit/</link>
      <pubDate>Tue, 14 Sep 2021 13:19:22 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/09/14/odoo_development_enable_multi_edit/</guid>
      <description>&lt;p&gt;With Odoo 13 an new attribute was introduced to the tree view that enables editing multiple rows at once.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Create a smart button with a counter</title>
      <link>https://janikvonrotz.ch/2021/08/26/odoo-development-create-a-smart-button-with-a-counter/</link>
      <pubDate>Thu, 26 Aug 2021 08:29:56 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/08/26/odoo-development-create-a-smart-button-with-a-counter/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Prevent deletion with custom constraint</title>
      <link>https://janikvonrotz.ch/2021/07/26/odoo-development-prevent-deletion-with-custom-constraint/</link>
      <pubDate>Mon, 26 Jul 2021 10:09:50 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/07/26/odoo-development-prevent-deletion-with-custom-constraint/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Add archiving functionality</title>
      <link>https://janikvonrotz.ch/2021/07/26/odoo-development-add-archiving-functionality/</link>
      <pubDate>Mon, 26 Jul 2021 09:58:30 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/07/26/odoo-development-add-archiving-functionality/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Configurable Kanban state</title>
      <link>https://janikvonrotz.ch/2021/07/14/odoo-development-configurable-kanban-state/</link>
      <pubDate>Wed, 14 Jul 2021 13:32:44 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/07/14/odoo-development-configurable-kanban-state/</guid>
      <description>&lt;p&gt;With the Odoo framework it is pretty easy to create a kanban view that groups and sorts an item by a state field. I&amp;rsquo;ll show how a kanban view can be added in a few steps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odoo Development: Add activity button</title>
      <link>https://janikvonrotz.ch/2021/07/14/odoo_development_add_activity_button/</link>
      <pubDate>Wed, 14 Jul 2021 10:07:47 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2021/07/14/odoo_development_add_activity_button/</guid>
      <description>&lt;p&gt;The activity button is part of the chatter. Every model form can have activities. I will show how you can enable the activity button for your model form using the mixin class.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Restore Odoo database with this script</title>
      <link>https://janikvonrotz.ch/2020/05/19/restore-odoo-database-with-this-script/</link>
      <pubDate>Tue, 19 May 2020 10:29:27 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2020/05/19/restore-odoo-database-with-this-script/</guid>
      <description>&lt;p&gt;Odoo&amp;rsquo;s database manager provides an simple interface to backup and restore an Odoo database (aka tenant). This interface can be used to run scripted restores. In the same manner as the &lt;a href=&#34;https://janikvonrotz.ch/2020/04/02/automate-odoo-backups-with-this-script/&#34;&gt;Odoo backup script&lt;/a&gt; I&amp;rsquo;ve created a restore script.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automate Odoo backups with this script</title>
      <link>https://janikvonrotz.ch/2020/04/02/automate-odoo-backups-with-this-script/</link>
      <pubDate>Thu, 02 Apr 2020 11:38:06 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2020/04/02/automate-odoo-backups-with-this-script/</guid>
      <description>&lt;p&gt;Odoo&amp;rsquo;s database manager provides an simple interface to backup an odoo database (tenant). This interface can be used to run automated backups. I have created a script to easily request odoo backup archives. The script works like every other command line tool.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
