This module was written to offer a field type that holds rrules according to RFC 2445.
To use this module, you need to:
- depend on it
- say
from openerp.addons.field_rrule import FieldRRule
- use
FieldRRule
like any other field - on forms, use
widget="rrule"
- have a look at
demo/res_partner.*
Technically, this is a wrapper around serialized fields. The value always will be a subclass of dateutil's rruleset
. For technical reasons, this class overrides __iter__
, so if you need a proper rruleset
, call the value: my_browse_record.my_field_of_type_rrule()
- this gives you a vanilla rruleset
.
If you want to pass a default, use the internal representation you'll find in the database - a list of dictionaries with the keyword arguments to be passed to rrule's constructor and a type field that for now can only be rrule: A context of {"default_rrule": [{"count": 1, "freq": 1, "type": "rrule", "interval": 1, "bymonthday": [1]}]}
would give you a default for the field rrule
which occurs one time at the first of the month.
In case you work with defaults and want to dumb down the UI a bit, use {'no_add_rule': true}
.
Further, as this is a serialized field, a value of not set will be represented in the database as 'null'
if the value was set and unset afterwards, or a database null
if the value was never set - this is then also what you have to search for when you need records with your field unset.
By default, this field keep intervals stable, as Odoo handles UTC times internally. If you need stable times (think of some repetition of an appointment) in time zones with daylight saving, you need to set stable_times=True
in the field's constructor.
- support the unimplemented features of rrules
- support rdates, exdates, exrules
- consider multiple widgets with different feature sets
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
- Odoo Community Association: Icon.
- Holger Brunn <[email protected]>
Do not contact contributors directly about help with questions or problems concerning this addon, but use the community mailing list or the appropriate specialized mailinglist for help, and the bug tracker linked in Bug Tracker above for technical issues.
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
To contribute to this module, please visit https://odoo-community.org.