| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 699 |
| Technical Name |
eh_hijri_date |
| License | OPL-1 |
| Website | https://www.erpheritage.com.au/ |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 699 |
| Technical Name |
eh_hijri_date |
| License | OPL-1 |
| Website | https://www.erpheritage.com.au/ |
| Versions | 17.0 18.0 19.0 |
Hijri Date Everywhere
Show the Hijri (Umm al-Qura) date next to every Gregorian date in Odoo: the back office, the date picker, and printed reports.
Why this module
Hijri Date Everywhere
Both dates in the picker
The stock Odoo date picker gains a Hijri row in the calendar popover beside the Gregorian one, so users read the Hijri date in place without a separate widget and without losing the native look and feel.
A QWeb helper for prints
A format_hijri helper is injected into the report environment, so a template prints the Hijri date with one t-out, in English or Arabic, on invoices, orders, any document.
Your calendar, your choice
Display mode is a per user setting (off, Hijri only, or both) on top of a company default, with the company choosing the conversion variant and the language, so one database serves mixed preferences.
Day in the life
An invoice dated in two calendars
A user in Riyadh opens a record and the date picker shows both the Gregorian and the Umm al-Qura Hijri date in the popover. They set their own preference to show both everywhere. When the invoice prints, the report template renders the Hijri issue date in Arabic next to the Gregorian one through the format_hijri helper. None of the stored dates change; the Hijri value is computed on display.
Edge cases
The cases most modules quietly ignore.
In the shipped code today, each one a place where a cheaper module silently does the wrong thing.
Umm al-Qura is exact only within the official tabulated range. Dates outside that window fall back to a tabular Hijri calculation rather than returning a wrong or out of range result, and a helper reports whether a date is inside the precise window.
The Hijri value is computed for display and reports; the underlying stored date stays Gregorian, so sorting, filters and integrations are untouched and nothing is migrated.
A user's display mode overrides the company default cleanly, so a mixed team (some wanting both calendars, some only Gregorian) is served from one configuration.
Month names render in English or Arabic from the company language setting, so the printed Hijri date reads correctly for the audience.
What is inside
Built to do the job, end to end.
- Umm al-Qura converter. A real Umm al-Qura conversion backed by the official month length table, plus a tabular fallback, exposed as gregorian_to_hijri, hijri_to_gregorian and format_hijri.
- Augmented date picker. The stock web date picker shows a Hijri row in the popover, native behaviour preserved, driven by the user's display mode.
- QWeb report helper. format_hijri is added to the report rendering environment so any template prints the Hijri date with a single expression.
- Company and user config. The company sets the default mode, variant and language; each user picks their own mode over that default.
Honest about the edges
What this does not do, so nothing surprises you.
- This is a display and reporting layer. It does not convert or migrate stored dates, and it does not add a Hijri fiscal year or Hijri based scheduling.
- Umm al-Qura precision is bounded by the official table window; dates outside it use a tabular approximation.
- It augments the standard date picker and QWeb reports; deeply custom OWL widgets that bypass the stock picker would need their own hook.
Hijri date Odoo, Umm al-Qura calendar Odoo, Islamic date Odoo, Hijri date picker, dual calendar Odoo, Hijri date on report, Arabic date Odoo, Gregorian Hijri conversion, Odoo 19 Hijri, per user Hijri date
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module