diff --git a/g2p_support_desk/__manifest__.py b/g2p_support_desk/__manifest__.py
index c6cc17ae..6b8e66b8 100644
--- a/g2p_support_desk/__manifest__.py
+++ b/g2p_support_desk/__manifest__.py
@@ -12,8 +12,6 @@
"mail",
"portal",
"web",
- "g2p_programs",
- "g2p_registry_base",
],
"data": [
"security/support_desk_security.xml",
diff --git a/g2p_support_desk/models/__init__.py b/g2p_support_desk/models/__init__.py
index 106d8b20..9302226d 100644
--- a/g2p_support_desk/models/__init__.py
+++ b/g2p_support_desk/models/__init__.py
@@ -3,3 +3,4 @@
from . import support_category
from . import support_tag
from . import support_stage
+from . import support_ticket_id
diff --git a/g2p_support_desk/models/support_ticket.py b/g2p_support_desk/models/support_ticket.py
index fdcbeda0..9f3f248c 100644
--- a/g2p_support_desk/models/support_ticket.py
+++ b/g2p_support_desk/models/support_ticket.py
@@ -1,9 +1,5 @@
-import logging
-
from odoo import api, fields, models
-_logger = logging.getLogger(__name__)
-
class SupportTicket(models.Model):
_name = "support.ticket"
@@ -19,11 +15,7 @@ class SupportTicket(models.Model):
string="Team",
tracking=True,
)
- program_id = fields.Many2one(
- "g2p.program",
- string="Program",
- tracking=True,
- )
+
user_id = fields.Many2one(
"res.users",
string="Assigned To",
@@ -32,17 +24,12 @@ class SupportTicket(models.Model):
domain=[("share", "=", False)],
)
- beneficiary_id = fields.Many2one("g2p.program_membership", string="Beneficiary", tracking=True)
- # partner_email = fields.Char(string='Beneficiary Email')
- # partner_phone = fields.Char(string='Beneficiary Phone')
-
category_id = fields.Many2one("support.category", string="Category")
tag_ids = fields.Many2many("support.tag", string="Tags")
stage_id = fields.Many2one(
"support.stage",
string="Stage",
tracking=True,
- # default=lambda self: self._get_default_stage(),
copy=False,
required=True,
)
@@ -56,13 +43,24 @@ class SupportTicket(models.Model):
closed_date = fields.Datetime()
- # Statistics
- # response_time = fields.Float(
- # string="Response Time (Hours)", readonly=True, compute="_compute_response_time", store=True
- # )
resolution_message = fields.Html()
resolution_time = fields.Float(string="Resolution Time (Hours)")
+ program_id = fields.Char(string="Program ID")
+ ern = fields.Char(string="Entitlement Reference Number")
+ application_id = fields.Char(string="Application ID")
+
+ creator_name = fields.Char()
+ creator_email = fields.Char()
+ creator_address = fields.Text()
+ creator_phone = fields.Char()
+
+ reg_ids = fields.One2many(
+ "support.ticket.id",
+ "ticket_id",
+ string="IDs",
+ )
+
def action_assign_to_me(self):
self.ensure_one()
self.user_id = self.env.user.id
@@ -72,39 +70,3 @@ def create(self, vals):
if vals.get("number", "New") == "New":
vals["number"] = self.env["ir.sequence"].next_by_code("support.ticket") or "New"
return super().create(vals)
-
- # @api.onchange('partner_id')
- # def _onchange_partner_id(self):
- # if self.partner_id:
- # self.partner_email = self.partner_id.email or False
- # self.partner_phone = self.partner_id.phone or False
- # else:
- # self.partner_email = False
- # self.partner_phone = False
-
- # @api.onchange('stage_id')
- # def _onchange_stage_id(self):
- # if not self.stage_id:
- # return
- # if self.stage_id.done:
- # self.closed_date = fields.Datetime.now()
- # else:
- # self.closed_date = False
-
- # @api.depends("create_date", "write_date")
- # def _compute_response_time(self):
- # for ticket in self:
- # if ticket.create_date and ticket.write_date:
- # delta = ticket.write_date - ticket.create_date
- # # Ensure we have a positive time difference
- # if delta.total_seconds() > 0:
- # ticket.response_time = delta.total_seconds() / 3600.0 # Convert to hours
- # else:
- # # If write_date is not after create_date, use a small positive value
- # ticket.response_time = 0.1
- # else:
- # ticket.response_time = 0.0
-
- @api.onchange("program_id")
- def _onchange_program_id(self):
- self.beneficiary_id = False
diff --git a/g2p_support_desk/models/support_ticket_id.py b/g2p_support_desk/models/support_ticket_id.py
new file mode 100644
index 00000000..5c004f7a
--- /dev/null
+++ b/g2p_support_desk/models/support_ticket_id.py
@@ -0,0 +1,17 @@
+from odoo import fields, models
+
+
+class SupportTicketID(models.Model):
+ _name = "support.ticket.id"
+ _description = "Support Ticket ID"
+ _order = "id desc"
+
+ ticket_id = fields.Many2one(
+ "support.ticket",
+ string="Support Ticket",
+ required=True,
+ index=True,
+ ondelete="cascade",
+ )
+ id_type = fields.Char(string="ID Type", size=100)
+ value = fields.Char(string="ID Value", size=100)
diff --git a/g2p_support_desk/security/ir.model.access.csv b/g2p_support_desk/security/ir.model.access.csv
index 37718923..b22386f7 100644
--- a/g2p_support_desk/security/ir.model.access.csv
+++ b/g2p_support_desk/security/ir.model.access.csv
@@ -9,5 +9,5 @@ access_support_tag_user,support.tag.user,model_support_tag,group_support_desk_us
access_support_tag_manager,support.tag.manager,model_support_tag,group_support_desk_manager,1,1,1,1
access_support_stage_user,support.stage.user,model_support_stage,group_support_desk_user,1,0,0,0
access_support_stage_manager,support.stage.manager,model_support_stage,group_support_desk_manager,1,1,1,1
-access_g2p_program_user,g2p.program.user,g2p_programs.model_g2p_program,group_support_desk_user,1,0,0,0
-access_g2p_program_manager,g2p.program.manager,g2p_programs.model_g2p_program,group_support_desk_manager,1,1,1,1
+access_support_ticket_id_user,support.ticket.id.user,model_support_ticket_id,group_support_desk_user,1,0,1,0
+access_support_ticket_id_manager,support.ticket.id.manager,model_support_ticket_id,group_support_desk_manager,1,1,1,1
diff --git a/g2p_support_desk/security/support_desk_security.xml b/g2p_support_desk/security/support_desk_security.xml
index 84aa509f..574a0aed 100644
--- a/g2p_support_desk/security/support_desk_security.xml
+++ b/g2p_support_desk/security/support_desk_security.xml
@@ -36,22 +36,4 @@