Help us improve
Share bugs, ideas, or general feedback.
From agent-skills
Provides reference for DTGBase abstract model utilities in Odoo 18, covering date/period handling, timezone conversion, barcode generation, batch processing, file operations, and Vietnamese text processing. Useful for DTG Odoo codebase development.
npx claudepluginhub unclecatvn/agent-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/agent-skills:dtg-baseThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Complete reference for DTG Base module utilities and helpers in Odoo 18.
Provides expert guidance on Odoo ORM patterns: search, browse, create, write, domain filters, computed fields, and performance-safe query optimization.
References Odoo 18 guides for Python models, ORM (search/domain/read_group), XML/CSV views, OWL/JS components, QWeb reports, security (ACL/rules), cron/actions, migrations, tests, i18n, performance. Activates on Odoo code/tracebacks/addons.
Provides idiomatic Odoo ORM code for search, browse, create, write, domain filters, computed fields, and performance-safe query techniques. Use for Odoo data operations and optimization.
Share bugs, ideas, or general feedback.
Complete reference for DTG Base module utilities and helpers in Odoo 18.
DTG Base is a custom abstract model (dtg_base.DTGBase) that provides common utility methods for Odoo development. It's designed to be inherited by other models to gain access to helpful utilities.
| Utility | Description |
|---|---|
| Date & Period | Find first/last date of period, period iteration |
| Timezone | Convert local to UTC, UTC to local |
| Barcode | Check barcode exists, generate EAN13 |
| Batch Processing | Split large recordsets into batches |
| after_commit | Execute code after transaction commit |
| Vietnamese Text | Strip accents, convert to non-accent |
| File Utilities | Zip directories, get file size |
| Number Utilities | Round to decimal places |
File: odoo-18-dtg-base-guide.md
Location: addons_customs/erp/dtg_base/models/dtg_base.py
from odoo import models
class MyModel(models.Model):
_name = 'my.model'
_inherit = ['dtg_base.dtg_base']
def my_method(self):
# Now you have access to all DTGBase utilities
first_date = self.find_first_date_of_period('2024-01-15', 'month')
utc_date = self.convert_local_to_utc('2024-01-15 10:00:00')
agent-skills/skills/dtg-base/
├── SKILL.md # This file - master index
├── odoo-18-dtg-base-guide.md # Complete DTG Base utilities reference
└── README.md # Skill overview
find_first_date_of_period(date, period_type) - Get first date of periodfind_last_date_of_period(date, period_type) - Get last date of periodperiod_iter(start_date, end_date, period_type) - Iterate over periodsconvert_local_to_utc(local_dt, tz=None) - Convert local datetime to UTCconvert_utc_to_local(utc_dt, tz=None) - Convert UTC datetime to localbarcode_exists(barcode, exclude_id=0) - Check if barcode already existsget_ean13 barcode) - Generate/check EAN13 barcodesplittor(limit=None) - Split recordset into batches for processingstrip_accents(text) - Remove Vietnamese accents_no_accent_vietnamese(text) - Convert Vietnamese textzip_dir(source_dir, output_file) - Zip a directoryzip_dirs(dirs, output_file) - Zip multiple directories_get_file_size(file_path) - Get human-readable file sizeround_decimal(value, decimal_places) - Round to specific decimal placesFor detailed documentation, see odoo-18-dtg-base-guide.md