Afghanistan - Shamsi Calendar
by Faridullah Qaderi & Hameed Masjedi https://www.linkedin.com/in/faridullah-qaderi-114405330$ 103.53
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 2290 |
| Technical Name |
l10n_af_calendar |
| License | OPL-1 |
| Website | https://www.linkedin.com/in/faridullah-qaderi-114405330 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 2290 |
| Technical Name |
l10n_af_calendar |
| License | OPL-1 |
| Website | https://www.linkedin.com/in/faridullah-qaderi-114405330 |
Afghanistan — Shamsi (Jalali) Calendar
Native Shamsi calendar for Odoo 17 — Dari (fa_IR) and Pashto (ps_AF)
Developed by FOITECH — Digital Solution · Faridullah Qaderi
✓ Odoo 17 Community ✓ Odoo 17 Enterprise ✓ Dari & Pashto
Overview
A complete, drop-in Shamsi (Solar Hijri / Jalali) calendar localization for Odoo 17. The module activates automatically when the user's language is Dari (fa_IR) or Pashto (ps_AF), replacing every date display, picker, search filter, and report with the Afghan Shamsi equivalent — while leaving every other language untouched. No setup, no configuration, no compromises.
What's Included
📅 Form & List Views
Every date and datetime field across Odoo — Invoices, Sales Orders, Time Off, CRM, HR, Purchase, Inventory — renders in Shamsi automatically.
🗓 Calendar Year View
Twelve true Shamsi panels (حمل…حوت in Dari, وری…کب in Pashto), each showing the exact day range of its Jalali month with Saturday-first weekday headers.
🔍 Search & Filters
"This Month", "Last Quarter", "Year" filters compute correct Shamsi date ranges. Group-by month and quarter labels show Afghan names.
📄 PDF & Excel Reports
Server-side date rendering also converts — invoice prints, payslips, and Excel exports show Shamsi dates throughout.
💬 Chatter & Activities
Message timestamps, activity due dates, and log notes display Shamsi relative-time labels (e.g. "3 hours ago" in Dari/Pashto).
📊 Charts & Analytics
Pie charts, bar charts, pivot tables, and dashboards all label their time axes with proper Shamsi months and years.
Date Picker & Form Views
The date picker uses Afghan Dari and Pashto month names with Western digits (0–9). Saturday-first weekday layout matches local convention. Picked dates round-trip safely — no data corruption.
Dari (fa_IR)
Pashto (ps_AF)
Calendar Year View — 12 Jalali Months
The calendar year view replaces the Gregorian-month layout with a true Shamsi-month layout. Each panel covers exactly one Jalali month (29–31 days), titled with the Afghan name and current Jalali year. Today's date highlights in the correct panel.
Dari — حمل through سنبله
Pashto — وری through زمری
Lists, Kanban & Group-By
Date columns in list and kanban views render in Shamsi. Group-by month and quarter use Afghan month names natively in both languages.
Group By — Dari
Group By — Pashto
Custom Search Filters & Range Selection
The custom filter panel computes Shamsi-aware time ranges for "This Month", "Last Quarter", "Year-to-Date", and similar quick filters, so reports always reflect the local fiscal calendar.
Date Filters
Filtered Results
Single Date Picker
Date Range Picker
Chatter, Logs & Activities
Message timestamps, activity reminders, and log notes render in Shamsi with localized relative-time strings.
Chatter — Dari
Chatter — Pashto
Reports, Exports & Charts
Server-side date rendering means every PDF report, every Excel export, every chart axis, and every pivot table cell shows Shamsi dates without additional work.
PDF Reports
Excel Exports
Bar Chart
Pie Chart
Pivot Table
Why Choose This Module?
✓ Zero Configuration
Install the module, switch user language to Dari or Pashto. Done. No technical setup, no field-by-field configuration.
✓ Non-Invasive
Other languages remain on Gregorian. The module's logic short-circuits immediately for non-Shamsi locales — no performance impact, no display change.
✓ Comprehensive Coverage
Form views, list views, kanban, calendar, search filters, group-by, chatter, PDF, Excel, charts — every place a date appears.
✓ Bilingual by Design
Afghan Dari month names (حمل، ثور، جوزا…) and Pashto month names (وری، غويی، غبرګولی…) are both built in — the language selection drives everything automatically.
Technical Highlights
- Built on Odoo 17 standard APIs. Uses the official
patch()mechanism for all client-side overrides — no monkey-patches of internal classes that could break on minor updates. - Compatible with Community and Enterprise editions. No Enterprise-only dependencies.
- Compatible with hr_holidays Time Off dashboard. The calendar year view extension respects subclasses (e.g.
TimeOffCalendarYearRenderer) without breaking them. - Server-side babel monkey-patch ensures PDF and Excel reports use the same Jalali rendering as the UI.
- Defensive language gate based on Luxon's active locale — non-Afghan users see no behavioural change.
- Round-trip safe. Picked or typed dates correctly convert Jalali ↔ Gregorian on save, with a year-range heuristic that never misinterprets Gregorian ISO strings.
Installation
- Place the
l10n_af_calendarfolder in your Odoo addons path. - Restart your Odoo server.
- From Apps, click Update Apps List, search for "Afghanistan Shamsi Calendar", and install.
- Go to your user preferences and set Language to Dari (fa_IR) or Pashto (ps_AF).
- Refresh your browser. All dates now render in Shamsi.
Compatibility
| Item | Supported |
|---|---|
| Odoo Version | 17.0 |
| Edition | Community & Enterprise |
| Languages | Dari (fa_IR), Pashto (ps_AF) |
| Operating System | Windows, Linux, macOS |
| Database | PostgreSQL (Odoo standard) |
Need Help or Customization?
For support, customization, or enterprise features tailored to your business, reach out to FOITECH — Digital Solution.
Contact on LinkedIn
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