diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 17:14:58 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 17:14:58 +0700 |
| commit | 1ca3b3df3421961caec3b747a364071c80f5c7da (patch) | |
| tree | 6778a1f0f3f9b4c6e26d6d87ccde16e24da6c9d6 /sh_helpdesk/data | |
| parent | b57188be371d36d96caac4b8d65a40745c0e972c (diff) | |
initial commit
Diffstat (limited to 'sh_helpdesk/data')
| -rw-r--r-- | sh_helpdesk/data/helpdesk_cron_data.xml | 13 | ||||
| -rw-r--r-- | sh_helpdesk/data/helpdesk_data.xml | 13 | ||||
| -rw-r--r-- | sh_helpdesk/data/helpdesk_email_data.xml | 807 | ||||
| -rw-r--r-- | sh_helpdesk/data/helpdesk_reminder_cron.xml | 13 | ||||
| -rw-r--r-- | sh_helpdesk/data/helpdesk_reminder_mail_template.xml | 187 | ||||
| -rw-r--r-- | sh_helpdesk/data/helpdesk_stage_data.xml | 51 |
6 files changed, 1084 insertions, 0 deletions
diff --git a/sh_helpdesk/data/helpdesk_cron_data.xml b/sh_helpdesk/data/helpdesk_cron_data.xml new file mode 100644 index 0000000..393f439 --- /dev/null +++ b/sh_helpdesk/data/helpdesk_cron_data.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <record id="cron_helpdesk_ticket_close" model="ir.cron"> + <field name="name">Auto Close Helpdesk Ticket</field> + <field name="interval_number">1</field> + <field name="interval_type">days</field> + <field name="numbercall">-1</field> + <field name="doall" eval="False" /> + <field name="model_id" ref="model_helpdesk_ticket" /> + <field name="code">model._run_auto_close_ticket()</field> + <field name="state">code</field> + </record> +</odoo> diff --git a/sh_helpdesk/data/helpdesk_data.xml b/sh_helpdesk/data/helpdesk_data.xml new file mode 100644 index 0000000..dad1667 --- /dev/null +++ b/sh_helpdesk/data/helpdesk_data.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <record id="helpdesk_ticket_seq" model="ir.sequence"> + <field name="name">Helpdesk Ticket Sequence</field> + <field name="code">helpdesk.ticket</field> + <field name="prefix">TICKET/</field> + <field name="padding">4</field> + <field name="company_id" eval="False" /> + </record> + <record id="helpdesk_tikcet_dashboard" model="ticket.dashboard"> + <field name="name">Ticket Dashboard</field> + </record> +</odoo> diff --git a/sh_helpdesk/data/helpdesk_email_data.xml b/sh_helpdesk/data/helpdesk_email_data.xml new file mode 100644 index 0000000..52dfb34 --- /dev/null +++ b/sh_helpdesk/data/helpdesk_email_data.xml @@ -0,0 +1,807 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <record id="sh_ticket_new_template" model="mail.template"> + <field name="name">New Ticket: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.company_id.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">${object.company_id.name} Your Ticket is generated (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.partner_id.name} We received your request. + <div class="predefined"></div> + <br /> + <br /> + Our Support Team will contact you as soon as possible. + <br /> + <br /> + <br /> + <center> + <a href="${object.get_portal_url()}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + </div> + </field> + </record> + <!-- code by nida --> + <record id="sh_ticket_new_template_to_admin" model="mail.template"> + <field name="name">New Ticket to Admin: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.company_id.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.company_id.partner_id.id}</field> + <field name="subject">${object.company_id.name} New Ticket Received In the System(Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.company_id.name}, + <br/> + A new ticket is received in the system having following details: + <div class="predefined"></div> + <h2>Ticket Information</h2> + <strong>Ticket :</strong> + ${object.name} + <br /> + <br /> + <strong>Create Date :</strong> + ${object.create_date} + <br /> + <br /> + <strong>Due Date : </strong> + ${object.sh_due_date} + <br /> + <br /> + % if object.subject_id: + <strong>Subject : </strong> + ${object.subject_id.name} + <br /> + <br /> + % endif + % if object.ticket_type: + <strong>Type : </strong> + ${object.ticket_type.name} + <br /> + <br /> + % endif + % if object.category_id: + <strong>Category : </strong> + ${object.category_id.name} + <br /> + <br /> + % endif + % if object.sub_category_id: + <strong>Sub Category : </strong> + ${object.sub_category_id.name} + <br /> + <br /> + % endif + % if object.priority: + <strong>Priority : </strong> + ${object.priority.name} + <br /> + <br /> + % endif + <br /> + <br /> + Please process the ticket with details mentioned above. + <br /> + <br /> + Thankyou + <br/> + <br /> +<!-- <center>--> +<!-- <a href="${object.get_portal_url()}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a>--> +<!-- </center>--> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + </div> + </field> + </record> + <!-- end by nida --> + <record id="sh_ticket_done_template" model="mail.template"> + <field name="name">Ticket is Resolved: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.create_uid.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">${object.company_id.name} Your ticket is resolved (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + + + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.partner_id.name}, + <div class="predefined"></div> + <br /> + <br /> + As your request we have resolved your ticket. + <br /> + <br /> + <br /> + <center> + <a href="/my/tickets/${object.id}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + + </div> + </field> + </record> + <record id="sh_ticket_cancelled_template" model="mail.template"> + <field name="name">Ticket is Cancelled: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.create_uid.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">${object.company_id.name} Your ticket is cancelled (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + + + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.partner_id.name}, + <div class="predefined"></div> + <br /> + <br /> + Your ticket is cancelled for now based on some technical issue. + <br /> + <br /> + <br /> + <center> + <a href="/my/tickets/${object.id}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + + </div> + </field> + </record> + <record id="sh_ticket_reopened_template" model="mail.template"> + <field name="name">Ticket is Re-Opened: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.create_uid.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">${object.company_id.name} Your ticket is re-opened (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + + + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.partner_id.name} Your ticket is Re-opened, + <div class="predefined"></div> + <br /> + <br /> + We will follow-up as soon as possible. + <br /> + <br /> + <br /> + <center> + <a href="/my/tickets/${object.id}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + + + </div> + </field> + </record> + <record id="sh_ticket_user_allocation_template" model="mail.template"> + <field name="name">Ticket Allocation to assign user: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="subject">${object.company_id.name} Ticket is assign to user (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + <div class="predefined"></div> + We Have received new ticket from customer. + <br /> + <br /> + Please take a follow-up as soon as possible. + <br /> + <br /> + <br /> + <center> + <a href="${object.form_url}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + </div> + </field> + </record> + <record id="sh_ticket_replay_template" model="mail.template"> + <field name="name">Ticket Reply: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.create_uid.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">Ticket reply from ${object.company_id.name} (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.partner_id.name}, + <div class="predefined"></div> + <br /> + <br /> + Your Ticket is working on we will contact you soon. + <br /> + <br /> + <br /> + <center> + <a href="/my/tickets/${object.id}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + + + </div> + </field> + </record> + <record id="sh_ticket_closed_template" model="mail.template"> + <field name="name">Closed Ticket: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.create_uid.partner_id.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">${object.company_id.name} Your ticket is closed (Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + ${object.name} + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + Dear ${object.partner_id.name}, + <div class="predefined"></div> + <br /> + <br /> + Your Ticket is closed for now, if you want to Re-open your ticket please give your reply. + <br /> + <br /> + We would like to get your feedback on the support. + <br /> + <br /> + <br /> + <center> + <a href="/ticket/feedback/${object.id}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">Give Feedback</a> + </center> + <br /> + <br /> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + </div> + </field> + </record> + <record id="sh_send_whatsapp_email_template" model="mail.template"> + <field name="name">Ticket Whatsapp: Send by email</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.create_uid.email_formatted |safe}</field> + <field name="partner_to">${object.partner_id.id}</field> + <field name="subject">${object.company_id.name} (Ref ${object.name or 'n/a' })</field> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + <div style="list-style-type: none;"> + Dear ${object.partner_id.name} ,%0A%0A + Here is the your Ticket *${object.name}* + from ${object.company_id.name} %0A%0A + % if object.company_id.sh_ticket_product_detail: + % if object.product_ids: + <div class="predefined"></div> + + <span style="list-style-type: none;"> + *Following is your product details*.%0A%0A + </span> + %for line in object.product_ids: + <span class="badge badge-info" style="list-style-type:none;"> + ${line.name_get()[0][1]}%0A%0A + </span> + % endfor + % endif + % endif + <br /> + % if object.company_id.sh_pdf_in_message: + <span style="list-style-type: none;">*Click here to download Ticket Document* %20 :${object.sh_ticket_report_url} %0A%0A</span> + % endif + <br /> + % if object.company_id.sh_ticket_url_in_message: + <span style="list-style-type: none;">*Click here to See Ticket History* %20 :${object.portal_ticket_url_wp} %0A%0A</span> + % endif + <br /> + % if object.company_id.sh_signature and object.env.user.sign : + <span style="list-style-type: none;">%20 *${object.env.user.sign}* %0A%0A</span> + % endif + </div> + </p> + </div> + </field> + <field name="lang">${object.partner_id.lang}</field> + <field name="auto_delete" eval="False" /> + </record> +</odoo>
\ No newline at end of file diff --git a/sh_helpdesk/data/helpdesk_reminder_cron.xml b/sh_helpdesk/data/helpdesk_reminder_cron.xml new file mode 100644 index 0000000..18dab78 --- /dev/null +++ b/sh_helpdesk/data/helpdesk_reminder_cron.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <record id="cron_ticket_reminder" model="ir.cron"> + <field name="name">Ticket Reminder</field> + <field name="interval_number">1</field> + <field name="interval_type">minutes</field> + <field name="numbercall">-1</field> + <field name="doall" eval="False" /> + <field name="model_id" ref="model_sh_ticket_alarm" /> + <field name="code">model._run_ticket_reminder()</field> + <field name="state">code</field> + </record> +</odoo> diff --git a/sh_helpdesk/data/helpdesk_reminder_mail_template.xml b/sh_helpdesk/data/helpdesk_reminder_mail_template.xml new file mode 100644 index 0000000..fe5c9e7 --- /dev/null +++ b/sh_helpdesk/data/helpdesk_reminder_mail_template.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <data noupdate="1"> + <record id="sh_ticket_reminder_mail_template" model="mail.template"> + <field name="name">Ticket Reminder</field> + <field name="model_id" ref="sh_helpdesk.model_helpdesk_ticket" /> + <field name="email_from">${object.company_id.partner_id.email_formatted |safe}</field> + <field name="subject">${object.company_id.name} Ticket Reminder(Ref ${object.name or 'n/a' })</field> + <field name="auto_delete" eval="False" /> + <field name="body_html" type="html"> + <div style="margin: 0px; padding: 0px;"> + <table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed; border-collapse:separate;" summary="o_mail_notification"> + <tbody> + + <!-- HEADER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle"> + <span style="font-size:20px; color:white; font-weight: bold;"> + <strong>Ticket Remainder (${object.name})</strong> + </span> + </td> + <td valign="middle" align="right"> + <img src="/logo.png?company=${object.company_id.id}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" alt="${object.company_id.name}" /> + </td> + </tr> + </table> + </td> + </tr> + + <!-- CONTENT --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#ffffff" style="min-width: 590px; background-color: rgb(255, 255, 255); padding: 20px; border-collapse:separate;"> + <tbody> + <td valign="top" style="font-family:Arial,Helvetica,sans-serif; color: #555; font-size: 14px;"> + <p style="margin: 0px; padding: 0px; font-size: 13px;"> + <div class="predefined"></div> + + <h2>Ticket Information</h2> + <strong>Ticket :</strong> + ${object.name} + <br /> + <br /> + <strong>Create Date :</strong> + ${object.create_date} + <br /> + <br /> + <strong>Due Date : </strong> + ${object.sh_due_date} + <br /> + <br /> + % if object.subject_id: + <strong>Subject : </strong> + ${object.subject_id.name} + <br /> + <br /> + % endif + % if object.ticket_type: + <strong>Type : </strong> + ${object.ticket_type.name} + <br /> + <br /> + % endif + % if object.category_id: + <strong>Category : </strong> + ${object.category_id.name} + <br /> + <br /> + % endif + % if object.sub_category_id: + <strong>Sub Category : </strong> + ${object.sub_category_id.name} + <br /> + <br /> + % endif + % if object.priority: + <strong>Priority : </strong> + ${object.priority.name} + <br /> + <br /> + % endif + % if object.team_id: + <strong>Team : </strong> + ${object.team_id.name} + <br /> + <br /> + % endif + % if object.team_head: + <strong>Team Head : </strong> + ${object.team_head.name} + <br /> + <br /> + % endif + % if object.user_id: + <strong>Assigned To : </strong> + ${object.user_id.name} + <br /> + <br /> + % endif + % if object.sh_user_ids: + <strong>Assign Multi Users :</strong> + % for row in object.sh_user_ids : + <span class="badge badge-info" style="padding-right:5px"> + ${row.name} + </span> + %endfor + <br /> + <br /> + % endif + % if object.tag_ids: + <strong>Tags :</strong> + % for row in object.tag_ids : + <span class="badge badge-info" style="padding-right:5px"> + ${row.name} + </span> + %endfor + <br /> + <br /> + % endif + % if object.product_ids: + <strong>Products :</strong> + % for row in object.product_ids: + <span class="badge badge-info" style="padding-right:5px"> + ${row.name_get()[0][1]} + </span> + %endfor + <br /> + <br /> + % endif + <strong>Partner : </strong> + ${object.partner_id.name} + <br /> + <br /> + <strong>Person Name : </strong> + ${object.person_name} + <br /> + <br /> + <strong>Email : </strong> + ${object.email} + <br /> + <br /> + <br /> + <center> + <a href="${object.form_url}" style="background-color: #1abc9c; padding: 10px; text-decoration: none; color: #fff; border-radius: 5px; font-size: 16px;" class="o_default_snippet_text">View Ticket</a> + </center> + </p> + </td> + </tbody> + </table> + </td> + </tr> + + <!-- FOOTER --> + <tr> + <td align="center" style="min-width: 590px;"> + <table width="590" border="0" cellpadding="0" bgcolor="#875A7B" style="min-width: 590px; background-color: rgb(135,90,123); padding: 20px; border-collapse:separate;"> + <tr> + <td valign="middle" align="left" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + ${object.company_id.name} + <br /> + ${object.company_id.phone or ''} + </td> + <td valign="middle" align="right" style="color: #fff; padding-top: 10px; padding-bottom: 10px; font-size: 12px;"> + % if object.company_id.email: + <a href="mailto:${object.company_id.email}" style="text-decoration:none; color: white;">${object.company_id.email}</a> + <br /> + % endif + % if object.company_id.website: + <a href="${object.company_id.website}" style="text-decoration:none; color: white;"> + ${object.company_id.website} + </a> + % endif + </td> + </tr> + </table> + </td> + </tr> + </tbody> + </table> + </div> + </field> + </record> + </data> +</odoo>
\ No newline at end of file diff --git a/sh_helpdesk/data/helpdesk_stage_data.xml b/sh_helpdesk/data/helpdesk_stage_data.xml new file mode 100644 index 0000000..2395d6c --- /dev/null +++ b/sh_helpdesk/data/helpdesk_stage_data.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<odoo> + <data noupdate="1"> + <record id="close_stage" model="helpdesk.stages"> + <field name="name">Closed</field> + <field name="sequence">4</field> + <field name="mail_template_ids" eval="[(4, ref('sh_helpdesk.sh_ticket_closed_template'))]" /> + </record> + <record id="done_stage" model="helpdesk.stages"> + <field name="name">Done</field> + <field name="sh_next_stage" ref="close_stage" /> + <field name="sequence">3</field> + <field name="mail_template_ids" eval="[(4, ref('sh_helpdesk.sh_ticket_done_template'))]" /> + </record> + <record id="in_progress_stage" model="helpdesk.stages"> + <field name="name">In Progress</field> + <field name="sh_next_stage" ref="done_stage" /> + <field name="sequence">2</field> + </record> + <record id="new_stage" model="helpdesk.stages"> + <field name="name">New</field> + <field name="sh_next_stage" ref="in_progress_stage" /> + <field name="sequence">1</field> + <field name="mail_template_ids" eval="[(4, ref('sh_helpdesk.sh_ticket_new_template'))]" /> + </record> + <record id="cancel_stage" model="helpdesk.stages"> + <field name="name">Cancelled</field> + <field name="sequence">5</field> + <field name="mail_template_ids" eval="[(4, ref('sh_helpdesk.sh_ticket_cancelled_template'))]" /> + </record> + <record id="reopen_stage" model="helpdesk.stages"> + <field name="name">Reopened</field> + <field name="sequence">6</field> + <field name="sh_next_stage" ref="in_progress_stage" /> + <field name="mail_template_ids" eval="[(4, ref('sh_helpdesk.sh_ticket_reopened_template'))]" /> + </record> + <record id="base.main_company" model="res.company"> + <field name="name">My Company</field> + <field name="partner_id" ref="base.main_partner" /> + <field name="new_stage_id" ref="new_stage" /> + <field name="cancel_stage_id" ref="cancel_stage" /> + <field name="done_stage_id" ref="done_stage" /> + <field name="close_stage_id" ref="close_stage" /> + <field name="reopen_stage_id" ref="reopen_stage" /> + <field name="allocation_mail_template_id" ref="sh_helpdesk.sh_ticket_user_allocation_template" /> + <field name="reply_mail_template_id" ref="sh_helpdesk.sh_ticket_replay_template" /> + <field name="dashboard_filter" eval="[(4, ref('new_stage')),(4, ref('in_progress_stage')),(4, ref('cancel_stage')),(4, ref('done_stage')),(4, ref('close_stage')),(4, ref('reopen_stage'))]" /> + <field name="dashboard_tables" eval="[(4, ref('new_stage')),(4, ref('in_progress_stage')),(4, ref('cancel_stage')),(4, ref('done_stage')),(4, ref('close_stage')),(4, ref('reopen_stage'))]" /> + </record> + </data> +</odoo> |
