Skip to content

prakashjain/Odoo_Samples

 
 

Repository files navigation

Information

This repository contains samples in different modules. Every folder is a module which you can easily install to see how things work or you can browse the code!

Module default_data_demo

This module will learn you how to automatically insert default data in to a database. It will create a new model (demo.default.data) which is filled with records that are made in the file defaultdata.xml (under data/ folder).

Module inherit_report_demo

This module will learn you how to inherit existing QWeb reports and how to modify them. In this example I will modify the default quotation/order report and only show the description with the total price. To make it look a bit better I've added a table header color.

Module logging_demo

This module will learn you how to create log statements in Odoo. You can use these log statements to debug values or to write unusual behaviour to the Odoo logfile.

Module many2many_default_data_demo

This module is a new module from scratch that inherits sale.order. It will create a new many2many to the model sale.order.printorder and will automatically fill this many2many with all the data from the model sale.order.printorder. In this sample you can see how to use default=, how to use functions and how to use self.pool.

Module many2many_handle_widget_demo

This module is a new module from scratch that inherits sale.order. In this module you can see how the handle widget (drag and drop) works with many2many and how sequencing works.

Module on_change_function

This module is a new module from scratch which inherits the model product.template. It adds the fields CostPrice and ShippingCost, which you can see in models.py. This is also where the on_change event is programmed. The fields are then added to the products view in the file templates.xml, which inherits the default product view.

Module project_task_agenda_colouring

Note: If you want to use this module you will also need to install the module web_widget_color. This module builds on top of that module. This module will give you the ability to add custom colours to tasks which will then re-color the agenda view. There is a new view created 'Agenda statuses' where you can create a status with a color from the color picker. On the project task you can then choose an agenda status. When you'd go to the agenda view you will see it being re-coloured. This module does almost the same as ```project_task_kanban_colouring``` but this module colours the agenda view, not the Kanban view. Agenda statusses view:

Agenda statuses


Project task view:

Project task view


Tasks calendar view:

Project tasks calendar view

Module project_task_kanban_colouring

Note: If you want to use this module you will also need to install the module web_widget_color. This module builds on top of that module. This module will give you the ability to add custom colours to tasks which will then re-color the agenda view. There is a new view created 'Agenda statuses' where you can create a status with a color from the color picker. On the project task you can then choose an agenda status. When you'd go to the kanban view you will see it being re-coloured. This module does almost the same as ```project_task_agenda_colouring``` but this module colours the Kanban view, not the agenda view. Agenda statusses view:

Agenda statuses


Project task view:

Project task view


Tasks kanban view:

Project task kanban view

Module sale

This module is the default sale module with a few modifications. All the changes can be seen in sale.py and sale_view.xml.
Changes in sale.py: ``` def _get_default_currency(self, cr, uid, context=None): res = self.pool.get('res.company').search(cr, uid, [('currency_id','=','EUR')], context=context) return res and res[0] or False
_columns = {
    #This fills the Many2one with all data from res.currency
    'currency_id_invoices': fields.many2one('res.currency', string="Valuta", required=True),
  
_defaults = {
    #This makes the function go off that sets EUR.
    'currency_id_invoices': _get_default_currency,
Changes in sale_view.xml:
<field name="currency_id_invoices"/>

<h3>Module upload_images</h3>
This module is a new module, from scratch which creates a new model (upload_images.tutorial), a new report (report_images.xml) and a new menu_item named 'Images' under Sales. In this new menu item you can upload images in multiple sizes and you will see a new report detail here. With this report you will see the image printed in multiple sizes.

<h3>Module web_widget_color</h3>
This module adds a colour picker widget to Odoo. The picker itself is inspired on the <a href="http://jscolor.com">jsColor </a> library.
To use this widget you need to create a char field in with a size of atleast 7 characters in the database:

color = fields.Char( string="Color", help="Choose your color" )

Afterwards call it in the view with ```widget="color"```:
... ... ``` Picker sample:


Tree view sample:

Module xpath_expressions

This module is a new module, from scratch which inherits the model product.template and inherits the product view (sale > products). In this sample you can see how to add new pages, groups or fields with xpath expressions. You can see the samples in templates.xml.

About

This repository contains samples with Odoo code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.6%
  • JavaScript 16.0%
  • HTML 5.2%
  • CSS 0.2%