summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models
diff options
context:
space:
mode:
authorMqdd <ahmadmiqdad27@gmail.com>2026-03-05 13:22:32 +0700
committerMqdd <ahmadmiqdad27@gmail.com>2026-03-05 13:22:32 +0700
commit2536527e464ca3b3bfe3f690e864e75593989e5a (patch)
tree9306e8fdfad05d44e9fc262e2ecea9224622d07a /indoteknik_custom/models
parent672b682c602160de8e7ec77232b0a709c6ed2b87 (diff)
<MIqdad> fix error
Diffstat (limited to 'indoteknik_custom/models')
-rwxr-xr-xindoteknik_custom/models/__init__.py1
-rw-r--r--indoteknik_custom/models/upah_harian_office.py36
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)