diff options
| author | Mqdd <ahmadmiqdad27@gmail.com> | 2026-01-19 15:22:22 +0700 |
|---|---|---|
| committer | Mqdd <ahmadmiqdad27@gmail.com> | 2026-01-19 15:22:22 +0700 |
| commit | b40989dc9dc36056f4e416aa5d2e040be595fd61 (patch) | |
| tree | 9791f6fb1a72394e0d62790533a949e83ed86cf5 | |
| parent | 9633f55a90d8e70d754e4611c9bfc84d7643f89a (diff) | |
<Miqdad> done
| -rw-r--r-- | indoteknik_custom/models/gudang_service.py | 9 | ||||
| -rw-r--r-- | indoteknik_custom/views/gudang_service.xml | 15 |
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 > 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" |
