diff options
| author | Mqdd <ahmadmiqdad27@gmail.com> | 2026-03-05 13:22:32 +0700 |
|---|---|---|
| committer | Mqdd <ahmadmiqdad27@gmail.com> | 2026-03-05 13:22:32 +0700 |
| commit | 2536527e464ca3b3bfe3f690e864e75593989e5a (patch) | |
| tree | 9306e8fdfad05d44e9fc262e2ecea9224622d07a /indoteknik_custom/models | |
| parent | 672b682c602160de8e7ec77232b0a709c6ed2b87 (diff) | |
<MIqdad> fix error
Diffstat (limited to 'indoteknik_custom/models')
| -rwxr-xr-x | indoteknik_custom/models/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/upah_harian_office.py | 36 |
2 files changed, 28 insertions, 9 deletions
diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index 31ee5108..b11b961f 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -170,3 +170,4 @@ from . import update_depreciation_move_wizard from . import keywords from . import token_log from . import kartu_stock +from . import upah_harian_office diff --git a/indoteknik_custom/models/upah_harian_office.py b/indoteknik_custom/models/upah_harian_office.py index b2c12bd5..7db56cdd 100644 --- a/indoteknik_custom/models/upah_harian_office.py +++ b/indoteknik_custom/models/upah_harian_office.py @@ -2,13 +2,17 @@ from odoo import models, fields, api from odoo.exceptions import UserError, ValidationError class UpahHarianOffice(models.Model): - _name = 'upah.harian.office' - _description = 'Upah Harian Office' + _name = 'upah.harian' + _description = 'Upah Harian' + _inherit = ['mail.thread', 'mail.activity.mixin'] name = fields.Char() pemohon = fields.Many2one('res.users', String='Pemohon', required=True) tanggal = fields.Date('Tanggal Pengajuan', required=True) - state = fields.Selection([('draft', 'Draft'), ('done', 'Done')], default='draft') + upah_harian = fields.Float('Upah Harian') + notes = fields.Text('Notes') + state = fields.Selection([('draft', 'Draft'), ('approved', 'Approved'), ('paid', 'Paid'), ('cancel', 'Canceled')], default='draft') + cancel_reason = fields.Text('Alasan Cancel') attachment = fields.Binary('Attachment') approved_by = fields.Char('Approved By') attachment_type = fields.Selection([('pdf', 'PDF'), ('image', 'Image')]) @@ -22,11 +26,11 @@ class UpahHarianOffice(models.Model): ('fat', 'FAT'), ('it', 'IT'), ('hr_ga', 'HR & GA'), - ('pimpinan', 'Pimpinan') ], string='Departement Type', tracking=3, required=True) + is_ganti_jam = fields.Boolean('Ganti Jam?', default="False") total_upah = fields.Float('Total Upah Harian', compute='_compute_total_upah') - @api.models + @api.model def create(self, vals): vals['name'] = self.env['ir.sequence'].next_by_code('upah.harian.office') return super(UpahHarianOffice, self).create(vals) @@ -40,18 +44,32 @@ class UpahHarianOffice(models.Model): raise UserError("Only PIC user can approve this document.") self.state = 'done' + def action_reset_to_draft(self): + if self.state == 'cancel': + self.state = 'draft' + + def action_cancel(self): + if self.state == 'draft': + if self.cancel_reason == '' or self.cancel_reason == False: + raise UserError ('Harus Isi Alasan Cancel') + else: + self.state = 'cancel' def _compute_total_upah(self): - for line in self: - line.total_upah = sum(line.mapped('upah_harian_line').mapped('upah_harian')) + if self.departement_type != 'logistic': + for line in self: + line.total_upah = sum(line.mapped('upah_harian_line').mapped('upah_harian')) + + def action_create_journal_entries(self): + return class UpahHarianOfficeLine(models.Model): _name = 'upah.harian.line' _description = 'Upah Harian Line' - upah_harian_id = fields.Many2one('upah.harian.office') - upah_harian= fields.Float('Upah Harian', required=True, compute='_compute_upah_harian') + upah_harian_id = fields.Many2one('upah.harian') + upah_harian_compute = fields.Float('Upah Harian Computed', required=True, compute='_compute_upah_harian') hari = fields.Char('Hari') jam_masuk = fields.Float('Jam Masuk', required=True) jam_keluar = fields.Float('Jam Keluar', required=True) |
