summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMqdd <ahmadmiqdad27@gmail.com>2026-01-19 15:22:22 +0700
committerMqdd <ahmadmiqdad27@gmail.com>2026-01-19 15:22:22 +0700
commitb40989dc9dc36056f4e416aa5d2e040be595fd61 (patch)
tree9791f6fb1a72394e0d62790533a949e83ed86cf5
parent9633f55a90d8e70d754e4611c9bfc84d7643f89a (diff)
<Miqdad> done
-rw-r--r--indoteknik_custom/models/gudang_service.py9
-rw-r--r--indoteknik_custom/views/gudang_service.xml15
2 files changed, 13 insertions, 11 deletions
diff --git a/indoteknik_custom/models/gudang_service.py b/indoteknik_custom/models/gudang_service.py
index 93f8805a..0cdee5af 100644
--- a/indoteknik_custom/models/gudang_service.py
+++ b/indoteknik_custom/models/gudang_service.py
@@ -19,7 +19,7 @@ class GudangService(models.Model):
done_date = fields.Datetime(string='Date Done', copy=False, tracking=True)
gudang_service_lines = fields.One2many('gudang.service.line', 'gudang_service_id', string='Gudang Service Lines')
remaining_date = fields.Char('Remaining Date', compute='_compute_remaining_date')
- state = fields.Selection([('draft', 'Draft'), ('onprogress', 'On Progress'),('done', 'Done'), ('cancel', 'Cancel')], default='draft', tracking=True)
+ state = fields.Selection([('draft', 'Backlog'), ('onprogress', 'On Progress'),('done', 'Done'), ('cancel', 'Cancel')], default='draft', tracking=True)
cancel_reason = fields.Text('Cancel Reason', tracking=True)
# @api.onchange('picking_id')
@@ -113,7 +113,6 @@ class GudangService(models.Model):
for rec in self:
rec.state = 'onprogress'
rec.date = fields.Datetime.now()
- self._send_logistic_notification()
def action_done(self):
for rec in self:
@@ -130,6 +129,7 @@ class GudangService(models.Model):
def action_draft(self):
"""Reset to draft state"""
for rec in self:
+ rec.cancel_reason = False
if rec.state == 'cancel':
rec.write({'state': 'draft'})
else:
@@ -148,12 +148,11 @@ class GudangService(models.Model):
raise UserError("Cancel Reason must be filled")
rec.state = 'cancel'
- # def write(vals, self):
- # self.send_odoo_notification()
- # return super(GudangService, self).write(vals)
@api.model
def create(self, vals):
+ # Send notification
+ self._send_logistic_notification()
if not vals.get('name') or vals['name'] == 'New':
vals['name'] = self.env['ir.sequence'].next_by_code('gudang.service')
diff --git a/indoteknik_custom/views/gudang_service.xml b/indoteknik_custom/views/gudang_service.xml
index 7fc7109b..9818825b 100644
--- a/indoteknik_custom/views/gudang_service.xml
+++ b/indoteknik_custom/views/gudang_service.xml
@@ -7,12 +7,12 @@
<field name="model">gudang.service</field>
<field name="arch" type="xml">
<!-- <tree string="Monitoring Gudang Service"
- decoration-info="state == 'draft'" decoration-warning="state == 'onprogress'"
+ decoration-warning="state == 'draft'" decoration-danger="state == 'onprogress'"
decoration-success="state == 'done'" decoration-muted="state == 'cancel'"
decoration-bf="remaining_date &gt; 7"
> -->
- <tree string="Monitoring Gudang Service"
- decoration-info="state == 'draft'" decoration-danger="state == 'onprogress'"
+ <tree string="Monitoring Barang Service"
+ decoration-danger="state == 'draft'" decoration-warning="state == 'onprogress'"
decoration-success="state == 'done'" decoration-muted="state == 'cancel'"
>
<field name="name"/>
@@ -20,8 +20,9 @@
<field name="origin"/>
<field name="date"/>
<field name="remaining_date"/>
- <field name="state" widget="badge" decoration-info="state in ('draft')" decoration-danger="state == 'onprogress'"
+ <field name="state" widget="badge" decoration-danger="state in ('draft')" decoration-warning="state == 'onprogress'"
decoration-success="state == 'done'" decoration-muted="state == 'cancel'" />
+ <field name="cancel_reason" optional="hide"/>
<!-- <field name="picking_id"/> -->
</tree>
</field>
@@ -85,15 +86,17 @@
</record>
<!-- Action -->
<record id="action_gudang_service" model="ir.actions.act_window">
- <field name="name">Monitoring Gudang Service</field>
+ <field name="name">Monitoring Barang Service</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">gudang.service</field>
<field name="view_mode">tree,form</field>
+ <field name="context">{'group_by': ['state']}</field>
</record>
+
<!-- Menu -->
<menuitem
id="menu_gudang_service"
- name="Gudang Service"
+ name="Monitoring Barang Service"
parent="indoteknik_custom.menu_monitoring_in_sale"
sequence="10"
action="action_gudang_service"