From agent-skills
References DTGBase abstract model utilities for Odoo 18: date/period handling, timezone conversion, barcode generation, batch processing, file operations, Vietnamese text processing.
npx claudepluginhub unclecatvn/agent-skillsThis skill uses the workspace's default tool permissions.
Complete reference for DTG Base module utilities and helpers in Odoo 18.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
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