Super Calendar

super_calendar
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/10.0/super_calendar
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group, Alejandro Santana, Agathe Mollé
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group, Alejandro Santana, Agathe Mollé
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE), oca-travis, Weblate, OCA-git-bot, Jean-Paul Robineau
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web_calendar
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
super_calendar super_calendar super.calendar calendar New
super_calendar_configurator_form super_calendar_configurator_form super.calendar.configurator form New
super_calendar_configurator_tree super_calendar_configurator_tree super.calendar.configurator tree New
super_calendar_form super_calendar_form super.calendar form New
super_calendar_search super_calendar_search super.calendar search New
super_calendar_tree super_calendar_tree super.calendar tree New
Models touched (3)

New fields (7)
  • configurator_id Many2one → super.calendar.configurator
    comodel_name='super.calendar.configurator' readonly=True string='Configurator'
  • date_start Datetime
    readonly=True required=True string='Start date'
  • duration Float
    readonly=True string='Duration'
  • model_id Many2one → ir.model
    comodel_name='ir.model' readonly=True string='Model'
  • name Char
    readonly=True required=True string='Description'
  • res_id Reference
    readonly=True selection=_models_get string='Resource'
  • user_id Many2one → res.users
    comodel_name='res.users' readonly=True string='User'
Public methods (0)

No public methods.

New fields (2)
  • line_ids One2many → super.calendar.configurator.line
    comodel_name='super.calendar.configurator.line' inverse_name='configurator_id' string='Lines'
  • name Char
    required=True string='Name'
Public methods (1)
  • generate_calendar_records(self)
    @api.multi
    At every CRON execution, every 'super calendar' data is deleted and regenerated again.

New fields (10)
  • configurator_id Many2one → super.calendar.configurator
    comodel_name='super.calendar.configurator' string='Configurator'
  • date_start_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('datetime', 'date')), ('model_id', '=', name)]" required=True string='Start date field'
  • date_stop_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('datetime', 'date')), ('model_id', '=', name)]" string='End date field'
  • description_code Text
    help="Use '${o}' to refer to the involved object.\nE.g.: '${o.project_id.name}'" string='Description field'
  • description_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('char', 'text')), ('model_id', '=', name)]" string='Description field'
  • description_type Selection
    default='field' string='Description Type' args: [('field', 'Field'), ('code', 'Code')]
  • domain Char
    string='Domain'
  • duration_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', '=', 'float'), ('model_id', '=', name)]" string='Duration field'
  • name Many2one → ir.model
    comodel_name='ir.model' required=True string='Model'
  • user_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', '=', 'many2one'), ('model_id', '=', name)]" string='User field'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/9.0/super_calendar
VERSION
VERSION 0.2.0
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group, Alejandro Santana, Agathe Mollé
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group, Alejandro Santana, Agathe Mollé
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web_calendar
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
super_calendar super_calendar super.calendar calendar New
super_calendar_configurator_form super_calendar_configurator_form super.calendar.configurator form New
super_calendar_configurator_tree super_calendar_configurator_tree super.calendar.configurator tree New
super_calendar_form super_calendar_form super.calendar form New
super_calendar_search super_calendar_search super.calendar search New
super_calendar_tree super_calendar_tree super.calendar tree New
Models touched (3)

New fields (7)
  • configurator_id Many2one → super.calendar.configurator
    comodel_name='super.calendar.configurator' readonly=True string='Configurator'
  • date_start Datetime
    readonly=True required=True string='Start date'
  • duration Float
    readonly=True string='Duration'
  • model_id Many2one → ir.model
    comodel_name='ir.model' readonly=True string='Model'
  • name Char
    readonly=True required=True string='Description'
  • res_id Reference
    readonly=True selection=_models_get string='Resource'
  • user_id Many2one → res.users
    comodel_name='res.users' readonly=True string='User'
Public methods (0)

No public methods.

New fields (2)
  • line_ids One2many → super.calendar.configurator.line
    comodel_name='super.calendar.configurator.line' inverse_name='configurator_id' string='Lines'
  • name Char
    required=True string='Name'
Public methods (1)
  • generate_calendar_records(self)
    @api.multi
    At every CRON execution, every 'super calendar' data is deleted and regenerated again.

New fields (10)
  • configurator_id Many2one → super.calendar.configurator
    comodel_name='super.calendar.configurator' string='Configurator'
  • date_start_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('datetime', 'date')), ('model_id', '=', name)]" required=True string='Start date field'
  • date_stop_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('datetime', 'date')), ('model_id', '=', name)]" string='End date field'
  • description_code Text
    help="Use '${o}' to refer to the involved object.\nE.g.: '${o.project_id.name}'" string='Description field'
  • description_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('char', 'text')), ('model_id', '=', name)]" string='Description field'
  • description_type Selection
    default='field' string='Description Type' args: [('field', 'Field'), ('code', 'Code')]
  • domain Char
    string='Domain'
  • duration_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', '=', 'float'), ('model_id', '=', name)]" string='Duration field'
  • name Many2one → ir.model
    comodel_name='ir.model' required=True string='Model'
  • user_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', '=', 'many2one'), ('model_id', '=', name)]" string='User field'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/8.0/super_calendar
VERSION
VERSION 0.2.0
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group, Alejandro Santana, Agathe Mollé
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group, Alejandro Santana, Agathe Mollé
COMMITTERS
COMMITTERSStéphane Bidoul, Alexandre Fayolle, eLBati, Holger Brunn, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Alejandro Santana, cubells, OCA Transbot, Danimar Ribeiro, Agathe Mollé, oca-travis, Weblate, Matjaž Mozetič
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web_calendar
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
super_calendar super_calendar super.calendar calendar New
super_calendar_configurator_form super_calendar_configurator_form super.calendar.configurator form New
super_calendar_configurator_tree super_calendar_configurator_tree super.calendar.configurator tree New
super_calendar_form super_calendar_form super.calendar form New
super_calendar_search super_calendar_search super.calendar search New
super_calendar_tree super_calendar_tree super.calendar tree New
Models touched (3)

New fields (7)
  • configurator_id Many2one → super.calendar.configurator
    comodel_name='super.calendar.configurator' readonly=True string='Configurator'
  • date_start Datetime
    readonly=True required=True string='Start date'
  • duration Float
    readonly=True string='Duration'
  • model_id Many2one → ir.model
    comodel_name='ir.model' readonly=True string='Model'
  • name Char
    readonly=True required=True string='Description'
  • res_id Reference
    readonly=True selection=_models_get string='Resource'
  • user_id Many2one → res.users
    comodel_name='res.users' readonly=True string='User'
Public methods (0)

No public methods.

New fields (2)
  • line_ids One2many → super.calendar.configurator.line
    comodel_name='super.calendar.configurator.line' inverse_name='configurator_id' string='Lines'
  • name Char
    required=True string='Name'
Public methods (1)
  • generate_calendar_records(self)
    @api.multi
    At every CRON execution, every 'super calendar' data is deleted and regenerated again.

New fields (10)
  • configurator_id Many2one → super.calendar.configurator
    comodel_name='super.calendar.configurator' string='Configurator'
  • date_start_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('datetime', 'date')), ('model_id', '=', name)]" required=True string='Start date field'
  • date_stop_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('datetime', 'date')), ('model_id', '=', name)]" string='End date field'
  • description_code Text
    help="Use '${o}' to refer to the involved object.\nE.g.: '${o.project_id.name}'" string='Description field'
  • description_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', 'in', ('char', 'text')), ('model_id', '=', name)]" string='Description field'
  • description_type Selection
    default='field' string='Description Type' args: [('field', 'Field'), ('code', 'Code')]
  • domain Char
    string='Domain'
  • duration_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', '=', 'float'), ('model_id', '=', name)]" string='Duration field'
  • name Many2one → ir.model
    comodel_name='ir.model' required=True string='Model'
  • user_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' domain="[('ttype', '=', 'many2one'), ('model_id', '=', name)]" string='User field'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/7.0/super_calendar
VERSION
VERSION 0.1
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSYannick Vaucher, Alexandre Fayolle, Stefan Rijnhart, Sandy Carter, Pedro M. Baeza, Sylvain LE GAL, Jairo Llopis, Launchpad Translations on behalf of server-env-tools-core-editors, openerp, Rudolf Schnapka
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to create configurable calendars.

Through the 'calendar configurator' object, you can specify which models have
to be merged in the super calendar. For each model, you have to define the
'description' and 'date_start' fields at least. Then you can define 'duration'
and the 'user_id' fields.

The 'super.calendar' object contains the the merged calendars. The
'super.calendar' can be updated by 'ir.cron' or manually.

Configuration
=============

After installing the module you can go to

Super calendar → Configuration → Configurators

and create a new configurator. For instance, if you want to see meetings and
phone calls, you can create the following lines

.. image:: data/meetings.png
   :width: 400 px

.. image:: data/phone_calls.png
   :width: 400 px

Then, you can use the ‘Generate Calendar’ button or wait for the scheduled
action (‘Generate Calendar Records’) to be run.

When the calendar is generated, you can visualize it by the ‘super calendar’
main menu.

Here is a sample monthly calendar:

.. image:: data/month_calendar.png
   :width: 400 px

And here is the weekly one:

.. image:: data/week_calendar.png
   :width: 400 px

As you can see, several filters are available. A typical usage consists in
filtering by ‘Configurator’ (if you have several configurators,
‘Scheduled calls and meetings’ can be one of them) and by your user.
Once you filtered, you can save the filter as ‘Advanced filter’ or even
add it to a dashboard.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
super_calendar super_calendar super.calendar calendar New
super_calendar_configurator_form super_calendar_configurator_form super.calendar.configurator form New
super_calendar_configurator_tree super_calendar_configurator_tree super.calendar.configurator tree New
super_calendar_form super_calendar_form super.calendar form New
super_calendar_search super_calendar_search super.calendar search New
super_calendar_tree super_calendar_tree super.calendar tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • generate_calendar_records(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/6.1/super_calendar
VERSION
VERSION 0.1
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSLorenzo Battistini, Alexandre Fayolle, Holger Brunn, Pavel Batishchev
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to create configurable calendars.

Through the 'calendar configurator' object, you can specify which models have
to be merged in the super calendar. For each model, you have to define the
'description' and 'date_start' fields at least. Then you can define 'duration'
and the 'user_id' fields.

The 'super.calendar' object contains the the merged calendars. The
'super.calendar' can be updated by 'ir.cron' or manually.

Configuration
=============

After installing the module you can go to

Super calendar → Configuration → Configurators

and create a new configurator. For instance, if you want to see meetings and
phone calls, you can create the following lines

.. image:: http://planet.domsense.com/wp-content/uploads/2012/04/meetings.png
   :width: 400 px

.. image::
    http://planet.domsense.com/wp-content/uploads/2012/04/phone_calls.png
   :width: 400 px

Then, you can use the ‘Generate Calendar’ button or wait for the scheduled
action (‘Generate Calendar Records’) to be run.

When the calendar is generated, you can visualize it by the ‘super calendar’
main menu.

Here is a sample monthly calendar:

.. image::
    http://planet.domsense.com/wp-content/uploads/2012/04/month_calendar.png
   :width: 400 px

And here is the weekly one:

.. image::
    http://planet.domsense.com/wp-content/uploads/2012/04/week_calendar.png
   :width: 400 px

As you can see, several filters are available. A typical usage consists in
filtering by ‘Configurator’ (if you have several configurators, ‘Scheduled
calls and meetings’ can be one of them) and by your user. Once you filtered,
you can save the filter as ‘Advanced filter’ or even add it to a dashboard.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
super_calendar super_calendar super.calendar calendar New
super_calendar_configurator_form super_calendar_configurator_form super.calendar.configurator form New
super_calendar_configurator_tree super_calendar_configurator_tree super.calendar.configurator tree New
super_calendar_form super_calendar_form super.calendar form New
super_calendar_search super_calendar_search super.calendar search New
super_calendar_tree super_calendar_tree super.calendar tree New
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • generate_calendar_records(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.