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.
How 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.
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
npx claudepluginhub unclecatvn/agent-skillsProvides 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.