support_ticket: load communication onload
diff --git a/support/doctype/support_ticket/support_ticket.css b/support/doctype/support_ticket/support_ticket.css
index 8d563a7..370d99c 100644
--- a/support/doctype/support_ticket/support_ticket.css
+++ b/support/doctype/support_ticket/support_ticket.css
@@ -1,3 +1,18 @@
+.communication {
+ border: 1px solid #aaa;
+ border-top: 0px;
+ padding: 7px;
+ background-color: #f2f2f2
+}
+
+.communication:hover {
+ background-color: #fffff0;
+}
+
+.communication:first-child {
+ border-top: 1px solid #aaa;
+}
+
.support-ticket-wrapper {
margin-top: 10px;
}
diff --git a/support/doctype/support_ticket/support_ticket.js b/support/doctype/support_ticket/support_ticket.js
index ddb288e..b70ff4f 100644
--- a/support/doctype/support_ticket/support_ticket.js
+++ b/support/doctype/support_ticket/support_ticket.js
@@ -22,26 +22,15 @@
// xoxoxoxo
// -------- new reply --------
-var cs = cur_frm.cscript;
$.extend(cur_frm.cscript, {
onload: function(doc, dt, dn) {
//
// help area
//
if(in_list(user_roles,'System Manager')) {
- cur_frm.page_layout.footer.help_area.innerHTML = '';
- new wn.widgets.Footer({
- parent:cur_frm.page_layout.footer.help_area,
- columns:2,
- items: [
- {
- column: 0,
- label:'Email Settings',
- description:'Integrate your incoming support emails to support ticket',
- onclick: function() { loaddoc('Email Settings','Email Settings'); }
- },
- ]
- })
+ cur_frm.page_layout.footer.help_area.innerHTML = '<hr>\
+ <p><a href="#Form/Email Settings/Email Settings">Email Settings</a><br>\
+ <span class="help">Integrate incoming support emails to Support Ticket</span></p>';
}
if(!doc.customer) hide_field(['customer_name','address_display','contact_display','contact_mobile','contact_email']);
@@ -71,30 +60,30 @@
// make thread listing
//
make_listing: function(doc) {
- cur_frm.fields_dict['thread_html'].wrapper.innerHTML = '';
+ var wrapper = cur_frm.fields_dict['thread_html'].wrapper;
+ $(wrapper)
+ .html("")
+ .css({"margin":"10px 0px"});
- // render first message
- new EmailMessage($a(cur_frm.fields_dict['thread_html'].wrapper, 'div'), {
- email_address: doc.raised_by,
- creation: doc.creation,
- content: doc.description,
- }, null, -1)
-
- // render thread
- cur_frm.cscript.thread_list = new wn.ui.Listing({
- parent: $a(cur_frm.fields_dict['thread_html'].wrapper, 'div'),
- no_result_message: 'No responses yet',
- get_query: function() {
- return 'select content, email_address, creation '+
- 'from `tabCommunication` where support_ticket="'+doc.name+'" order by creation asc'
- },
- as_dict: 1,
- render_row: function(parent, data, list, idx) {
- new EmailMessage(parent, data, list, idx);
+ var comm_list = wn.model.get("Communication", {"support_ticket": doc.name})
+ comm_list.push({
+ "email_address": doc.raised_by,
+ "modified": doc.creation,
+ "content": doc.description});
+
+ comm_list.sort(function(a, b) { return new Date(a.modified) > new Date(b.modified)
+ ? -1 : 1 })
+
+ $.each(comm_list, function(i, c) {
+ var comm = new erpnext.CommunicationView({
+ doc: c,
+ support_ticket: doc,
+ parent: wrapper
+ });
+ if(i==0) {
+ comm.toggle();
}
});
- cur_frm.cscript.thread_list.run();
-
},
send: function(doc, dt, dn) {
@@ -140,55 +129,39 @@
})
-
-
-EmailMessage = function(parent, args, list, idx) {
- var me = this;
- $.extend(this, args);
- this.make = function() {
- this.creation = wn.datetime.str_to_user(this.creation);
- if(this.email_address)
- this.email_address = this.email_address.replace('<', '<').replace('>', '>');
-
- // main wrapper
- w = $a(parent, 'div', 'support-ticket-wrapper well');
- //$(w).addClass('support-ticket-wrapper');
-
- // sender and timestamp
- $a($a(w, 'div', 'support-ticket-title'),
- 'span', 'link_type', {}, repl('By %(email_address)s on %(creation)s:', this),
- function() {
- // toggle message display on timestamp
- if(me.message.style.display.toLowerCase()=='none') {
- $ds(me.message);
- } else {
- $dh(me.message);
- }
- }
- );
-
- // email text
- this.message = $a(w, 'div', '',
- // style
- {lineHeight:'1.7em', display:'none', padding: '7px', width: '575px',
- wordWrap: 'break-word', textWrap: 'normal', overflowX: 'auto'},
-
- // newlines for text email
- (this.content.indexOf("<br>")== -1 && this.content.indexOf("<p>")== -1)
- ? this.content.replace(/\n[ ]*\n[\n\t ]*/g, '\n') // excess whitespace
- .replace(/\n/g, '<br>')
- : this.content
- );
-
- // show only first and last message
- if(idx==-1 || list && list.data.length-1==idx) {
- $ds(this.message)
+erpnext.CommunicationView = Class.extend({
+ init: function(opts) {
+ $.extend(this, opts);
+ this.prepare();
+ this.make();
+ this.toggle();
+ },
+ prepare: function() {
+ //this.doc.when = comment_when(this.doc.modified);
+ this.doc.when = this.doc.modified;
+ if(this.doc.content.indexOf("<br>")== -1 && this.doc.content.indexOf("<p>")== -1) {
+ this.doc.content = this.doc.content.replace(/\n/g, "<br>");
}
-
+ this.doc.content = this.doc.content.split("=== In response to ===")[0];
+ this.doc.content = this.doc.content.split("-----Original Message-----")[0];
+ },
+ make: function() {
+ var me = this;
+ this.body = $(repl('<div class="communication" title="Click to Expand / Collapse">\
+ <p><b>%(email_address)s on %(when)s</b></p>\
+ <p class="comm-content" style="border-top: 1px solid #ddd">%(content)s</p>\
+ </div>', this.doc))
+ .appendTo(this.parent)
+ .css({"cursor":"pointer"})
+ .click(function() {
+ $(this).find(".comm-content").toggle();
+ });
+ },
+ toggle: function() {
+ this.body.find(".comm-content").toggle();
}
- this.make();
-}
+})
+
cur_frm.fields_dict.allocated_to.get_query = erpnext.utils.profile_query;
-
cur_frm.fields_dict.customer.get_query = erpnext.utils.customer_query;
\ No newline at end of file
diff --git a/support/doctype/support_ticket/support_ticket.py b/support/doctype/support_ticket/support_ticket.py
index f48ba9f..8e5d7f2 100644
--- a/support/doctype/support_ticket/support_ticket.py
+++ b/support/doctype/support_ticket/support_ticket.py
@@ -29,6 +29,21 @@
def autoname(self):
self.doc.name = make_autoname(self.doc.naming_series+'.#####')
+ def onload(self):
+ self.add_communication_list()
+
+ def add_communication_list(self):
+ # remove communications if present
+ self.doclist = self.doclist.get({"doctype": ["!=", "Communcation"]})
+
+ comm_list = webnotes.conn.sql("""select * from tabCommunication
+ where support_ticket=%s order by modified desc limit 20""", self.doc.name, as_dict=1)
+
+ [d.update({"doctype":"Communication"}) for d in comm_list]
+
+ self.doclist.extend(webnotes.doclist([webnotes.doc(fielddata=d) \
+ for d in comm_list]))
+
def send_response(self):
"""
Adds a new response to the ticket and sends an email to the sender
@@ -61,6 +76,7 @@
self.doc.new_response = None
webnotes.conn.set(self.doc, 'status', 'Waiting for Customer')
self.make_response_record(response)
+ self.add_communication_list()
def last_response(self):
"""return last response"""
diff --git a/support/doctype/support_ticket/support_ticket.txt b/support/doctype/support_ticket/support_ticket.txt
index c1622ab..d261c16 100644
--- a/support/doctype/support_ticket/support_ticket.txt
+++ b/support/doctype/support_ticket/support_ticket.txt
@@ -1,411 +1,335 @@
-# DocType, Support Ticket
[
-
- # These values are common in all dictionaries
- {
- 'creation': '2012-04-02 16:02:42',
- 'docstatus': 0,
- 'modified': '2012-05-02 11:33:24',
- 'modified_by': u'Administrator',
- 'owner': u'Administrator'
- },
-
- # These values are common for all DocType
- {
- '_last_update': u'1311584009',
- 'allow_attach': 1,
- 'allow_trash': 1,
- 'colour': u'White:FFF',
- 'default_print_format': u'Standard',
- 'doctype': 'DocType',
- 'module': u'Support',
- 'name': '__common__',
- 'search_fields': u'status,customer,allocated_to,subject,raised_by',
- 'section_style': u'Tray',
- 'server_code_error': u' ',
- 'show_in_menu': 0,
- 'subject': u'%(subject)s',
- 'tag_fields': u'status,allocated_to',
- 'version': 1
- },
-
- # These values are common for all DocField
- {
- 'doctype': u'DocField',
- 'name': '__common__',
- 'parent': u'Support Ticket',
- 'parentfield': u'fields',
- 'parenttype': u'DocType'
- },
-
- # These values are common for all DocPerm
- {
- 'amend': 0,
- 'cancel': 0,
- 'doctype': u'DocPerm',
- 'name': '__common__',
- 'parent': u'Support Ticket',
- 'parentfield': u'permissions',
- 'parenttype': u'DocType',
- 'read': 1,
- 'submit': 0
- },
-
- # DocType, Support Ticket
- {
- 'doctype': 'DocType',
- 'name': u'Support Ticket'
- },
-
- # DocPerm
- {
- 'create': 1,
- 'doctype': u'DocPerm',
- 'permlevel': 0,
- 'role': u'Guest',
- 'write': 1
- },
-
- # DocPerm
- {
- 'create': 1,
- 'doctype': u'DocPerm',
- 'permlevel': 0,
- 'role': u'Customer',
- 'write': 1
- },
-
- # DocPerm
- {
- 'create': 1,
- 'doctype': u'DocPerm',
- 'permlevel': 0,
- 'role': u'Support Team',
- 'write': 1
- },
-
- # DocPerm
- {
- 'create': 0,
- 'doctype': u'DocPerm',
- 'permlevel': 1,
- 'role': u'Support Team',
- 'write': 1
- },
-
- # DocPerm
- {
- 'create': 0,
- 'doctype': u'DocPerm',
- 'permlevel': 2,
- 'role': u'Support Team',
- 'write': 0
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'naming_series',
- 'fieldtype': u'Select',
- 'hidden': 0,
- 'label': u'Naming Series',
- 'no_copy': 1,
- 'options': u'SUP',
- 'permlevel': 0,
- 'print_hide': 1,
- 'reqd': 0,
- 'search_index': 0
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'default': u'Open',
- 'doctype': u'DocField',
- 'fieldname': u'status',
- 'fieldtype': u'Select',
- 'in_filter': 0,
- 'label': u'Status',
- 'no_copy': 1,
- 'oldfieldname': u'status',
- 'oldfieldtype': u'Select',
- 'options': u'\nOpen\nTo Reply\nWaiting for Customer\nHold\nClosed',
- 'permlevel': 1,
- 'reqd': 0,
- 'search_index': 1
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'subject',
- 'fieldtype': u'Text',
- 'in_filter': 1,
- 'label': u'Subject',
- 'permlevel': 0,
- 'reqd': 1
- },
-
- # DocField
- {
- 'depends_on': u'eval:doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'raised_by',
- 'fieldtype': u'Data',
- 'in_filter': 1,
- 'label': u'Raised By (Email)',
- 'oldfieldname': u'raised_by',
- 'oldfieldtype': u'Data',
- 'permlevel': 0,
- 'reqd': 1
- },
-
- # DocField
- {
- 'depends_on': u'eval:doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'description',
- 'fieldtype': u'Text',
- 'label': u'Description',
- 'oldfieldname': u'problem_description',
- 'oldfieldtype': u'Text',
- 'permlevel': 0,
- 'reqd': 0
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'thread_html',
- 'fieldtype': u'HTML',
- 'label': u'Thread HTML',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'new_response',
- 'fieldtype': u'Text',
- 'label': u'New Response',
- 'permlevel': 0
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'send',
- 'fieldtype': u'Button',
- 'label': u'Send',
- 'permlevel': 0
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'doctype': u'DocField',
- 'fieldname': u'additional_info',
- 'fieldtype': u'Section Break',
- 'label': u'Additional Info',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'column_break0',
- 'fieldtype': u'Column Break',
- 'oldfieldtype': u'Column Break',
- 'permlevel': 1,
- 'width': u'50%'
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'doctype': u'DocField',
- 'fieldname': u'customer',
- 'fieldtype': u'Link',
- 'in_filter': 1,
- 'label': u'Customer',
- 'oldfieldname': u'customer',
- 'oldfieldtype': u'Link',
- 'options': u'Customer',
- 'permlevel': 1,
- 'print_hide': 1,
- 'reqd': 0,
- 'search_index': 1,
- 'trigger': u'Client'
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'customer_name',
- 'fieldtype': u'Data',
- 'in_filter': 1,
- 'label': u'Customer Name',
- 'oldfieldname': u'customer_name',
- 'oldfieldtype': u'Data',
- 'permlevel': 2,
- 'reqd': 0,
- 'search_index': 0
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'address_display',
- 'fieldtype': u'Small Text',
- 'label': u'Address',
- 'permlevel': 2
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'contact_display',
- 'fieldtype': u'Data',
- 'label': u'Contact Name',
- 'permlevel': 2
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'contact_mobile',
- 'fieldtype': u'Data',
- 'label': u'Mobile No',
- 'permlevel': 2
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'contact_email',
- 'fieldtype': u'Data',
- 'label': u'Contact Email',
- 'oldfieldname': u'contact_no',
- 'oldfieldtype': u'Data',
- 'permlevel': 2
- },
-
- # DocField
- {
- 'default': u'Today',
- 'doctype': u'DocField',
- 'fieldname': u'opening_date',
- 'fieldtype': u'Date',
- 'label': u'Opening Date',
- 'no_copy': 1,
- 'oldfieldname': u'opening_date',
- 'oldfieldtype': u'Date',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'opening_time',
- 'fieldtype': u'Time',
- 'label': u'Opening Time',
- 'no_copy': 1,
- 'oldfieldname': u'opening_time',
- 'oldfieldtype': u'Time',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'column_break1',
- 'fieldtype': u'Column Break',
- 'oldfieldtype': u'Column Break',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'allocated_to',
- 'fieldtype': u'Link',
- 'in_filter': 1,
- 'label': u'Allocated To',
- 'oldfieldname': u'allocated_to',
- 'oldfieldtype': u'Link',
- 'options': u'Profile',
- 'permlevel': 1,
- 'search_index': 1
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'resolution_details',
- 'fieldtype': u'Text',
- 'label': u'Resolution Details',
- 'no_copy': 1,
- 'oldfieldname': u'resolution_details',
- 'oldfieldtype': u'Text',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'resolution_date',
- 'fieldtype': u'Date',
- 'in_filter': 0,
- 'label': u'Resolution Date',
- 'no_copy': 1,
- 'oldfieldname': u'resolution_date',
- 'oldfieldtype': u'Date',
- 'permlevel': 1,
- 'search_index': 0
- },
-
- # DocField
- {
- 'depends_on': u'eval:!doc.__islocal',
- 'doctype': u'DocField',
- 'fieldname': u'resolution_time',
- 'fieldtype': u'Time',
- 'label': u'Resolution Time',
- 'oldfieldname': u'resolution_time',
- 'oldfieldtype': u'Time',
- 'permlevel': 1
- },
-
- # DocField
- {
- 'colour': u'White:FFF',
- 'doctype': u'DocField',
- 'fieldname': u'content_type',
- 'fieldtype': u'Data',
- 'hidden': 1,
- 'label': u'Content Type',
- 'permlevel': 0
- },
-
- # DocField
- {
- 'doctype': u'DocField',
- 'fieldname': u'file_list',
- 'fieldtype': u'Text',
- 'hidden': 1,
- 'label': u'File List',
- 'no_copy': 1,
- 'permlevel': 0,
- 'print_hide': 1
- }
+ {
+ "owner": "Administrator",
+ "docstatus": 0,
+ "creation": "2012-11-02 17:17:05",
+ "modified_by": "Administrator",
+ "modified": "2012-11-24 16:41:45"
+ },
+ {
+ "allow_attach": 1,
+ "default_print_format": "Standard",
+ "search_fields": "status,customer,allocated_to,subject,raised_by",
+ "module": "Support",
+ "doctype": "DocType",
+ "name": "__common__"
+ },
+ {
+ "name": "__common__",
+ "parent": "Support Ticket",
+ "doctype": "DocField",
+ "parenttype": "DocType",
+ "parentfield": "fields"
+ },
+ {
+ "name": "__common__",
+ "parent": "Support Ticket",
+ "amend": 0,
+ "submit": 0,
+ "doctype": "DocPerm",
+ "read": 1,
+ "parenttype": "DocType",
+ "parentfield": "permissions"
+ },
+ {
+ "name": "Support Ticket",
+ "doctype": "DocType"
+ },
+ {
+ "print_hide": 1,
+ "no_copy": 1,
+ "search_index": 0,
+ "doctype": "DocField",
+ "label": "Naming Series",
+ "options": "SUP",
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "reqd": 0,
+ "hidden": 0,
+ "permlevel": 0
+ },
+ {
+ "permlevel": 1,
+ "no_copy": 1,
+ "oldfieldtype": "Select",
+ "colour": "White:FFF",
+ "doctype": "DocField",
+ "label": "Status",
+ "oldfieldname": "status",
+ "default": "Open",
+ "fieldname": "status",
+ "fieldtype": "Select",
+ "search_index": 1,
+ "reqd": 0,
+ "options": "\nOpen\nTo Reply\nWaiting for Customer\nHold\nClosed",
+ "in_filter": 0
+ },
+ {
+ "doctype": "DocField",
+ "label": "Subject",
+ "fieldname": "subject",
+ "fieldtype": "Text",
+ "reqd": 1,
+ "permlevel": 0,
+ "in_filter": 1
+ },
+ {
+ "oldfieldtype": "Data",
+ "doctype": "DocField",
+ "label": "Raised By (Email)",
+ "oldfieldname": "raised_by",
+ "fieldname": "raised_by",
+ "fieldtype": "Data",
+ "depends_on": "eval:doc.__islocal",
+ "reqd": 1,
+ "permlevel": 0,
+ "in_filter": 1
+ },
+ {
+ "oldfieldtype": "Text",
+ "doctype": "DocField",
+ "label": "Description",
+ "oldfieldname": "problem_description",
+ "fieldname": "description",
+ "fieldtype": "Text",
+ "depends_on": "eval:doc.__islocal",
+ "reqd": 0,
+ "permlevel": 0
+ },
+ {
+ "depends_on": "eval:!doc.__islocal",
+ "doctype": "DocField",
+ "label": "New Response",
+ "fieldname": "new_response",
+ "fieldtype": "Text",
+ "permlevel": 0
+ },
+ {
+ "depends_on": "eval:!doc.__islocal",
+ "doctype": "DocField",
+ "label": "Send",
+ "fieldname": "send",
+ "fieldtype": "Button",
+ "permlevel": 0
+ },
+ {
+ "depends_on": "eval:!doc.__islocal",
+ "doctype": "DocField",
+ "label": "Thread HTML",
+ "fieldname": "thread_html",
+ "fieldtype": "HTML",
+ "permlevel": 1
+ },
+ {
+ "colour": "White:FFF",
+ "doctype": "DocField",
+ "label": "Additional Info",
+ "fieldname": "additional_info",
+ "fieldtype": "Section Break",
+ "permlevel": 1
+ },
+ {
+ "oldfieldtype": "Column Break",
+ "doctype": "DocField",
+ "width": "50%",
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "depends_on": "eval:!doc.__islocal",
+ "permlevel": 1
+ },
+ {
+ "print_hide": 1,
+ "oldfieldtype": "Link",
+ "colour": "White:FFF",
+ "doctype": "DocField",
+ "label": "Customer",
+ "oldfieldname": "customer",
+ "permlevel": 1,
+ "trigger": "Client",
+ "fieldname": "customer",
+ "fieldtype": "Link",
+ "search_index": 1,
+ "reqd": 0,
+ "options": "Customer",
+ "in_filter": 1
+ },
+ {
+ "oldfieldtype": "Data",
+ "doctype": "DocField",
+ "label": "Customer Name",
+ "oldfieldname": "customer_name",
+ "fieldname": "customer_name",
+ "fieldtype": "Data",
+ "search_index": 0,
+ "reqd": 0,
+ "permlevel": 2,
+ "in_filter": 1
+ },
+ {
+ "doctype": "DocField",
+ "label": "Address",
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "permlevel": 2
+ },
+ {
+ "doctype": "DocField",
+ "label": "Contact Name",
+ "fieldname": "contact_display",
+ "fieldtype": "Data",
+ "permlevel": 2
+ },
+ {
+ "doctype": "DocField",
+ "label": "Mobile No",
+ "fieldname": "contact_mobile",
+ "fieldtype": "Data",
+ "permlevel": 2
+ },
+ {
+ "oldfieldtype": "Data",
+ "doctype": "DocField",
+ "label": "Contact Email",
+ "oldfieldname": "contact_no",
+ "fieldname": "contact_email",
+ "fieldtype": "Data",
+ "permlevel": 2
+ },
+ {
+ "default": "Today",
+ "oldfieldtype": "Date",
+ "doctype": "DocField",
+ "label": "Opening Date",
+ "oldfieldname": "opening_date",
+ "no_copy": 1,
+ "fieldname": "opening_date",
+ "fieldtype": "Date",
+ "permlevel": 1
+ },
+ {
+ "no_copy": 1,
+ "oldfieldtype": "Time",
+ "doctype": "DocField",
+ "label": "Opening Time",
+ "oldfieldname": "opening_time",
+ "fieldname": "opening_time",
+ "fieldtype": "Time",
+ "permlevel": 1
+ },
+ {
+ "oldfieldtype": "Column Break",
+ "doctype": "DocField",
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "depends_on": "eval:!doc.__islocal",
+ "permlevel": 1
+ },
+ {
+ "depends_on": "eval:!doc.__islocal",
+ "search_index": 1,
+ "colour": "White:FFF",
+ "doctype": "DocField",
+ "label": "Allocated To",
+ "oldfieldname": "allocated_to",
+ "permlevel": 1,
+ "fieldname": "allocated_to",
+ "fieldtype": "Link",
+ "oldfieldtype": "Link",
+ "options": "Profile",
+ "in_filter": 1
+ },
+ {
+ "no_copy": 1,
+ "oldfieldtype": "Text",
+ "doctype": "DocField",
+ "label": "Resolution Details",
+ "oldfieldname": "resolution_details",
+ "fieldname": "resolution_details",
+ "fieldtype": "Text",
+ "depends_on": "eval:!doc.__islocal",
+ "permlevel": 1
+ },
+ {
+ "depends_on": "eval:!doc.__islocal",
+ "no_copy": 1,
+ "search_index": 0,
+ "colour": "White:FFF",
+ "doctype": "DocField",
+ "label": "Resolution Date",
+ "oldfieldname": "resolution_date",
+ "fieldname": "resolution_date",
+ "fieldtype": "Date",
+ "oldfieldtype": "Date",
+ "permlevel": 1,
+ "in_filter": 0
+ },
+ {
+ "oldfieldtype": "Time",
+ "doctype": "DocField",
+ "label": "Resolution Time",
+ "oldfieldname": "resolution_time",
+ "fieldname": "resolution_time",
+ "fieldtype": "Time",
+ "depends_on": "eval:!doc.__islocal",
+ "permlevel": 1
+ },
+ {
+ "colour": "White:FFF",
+ "doctype": "DocField",
+ "label": "Content Type",
+ "fieldname": "content_type",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "permlevel": 0
+ },
+ {
+ "print_hide": 1,
+ "no_copy": 1,
+ "doctype": "DocField",
+ "label": "File List",
+ "fieldname": "file_list",
+ "fieldtype": "Text",
+ "hidden": 1,
+ "permlevel": 0
+ },
+ {
+ "create": 1,
+ "doctype": "DocPerm",
+ "write": 1,
+ "role": "Guest",
+ "cancel": 0,
+ "permlevel": 0
+ },
+ {
+ "create": 1,
+ "doctype": "DocPerm",
+ "write": 1,
+ "role": "Customer",
+ "cancel": 0,
+ "permlevel": 0
+ },
+ {
+ "create": 1,
+ "doctype": "DocPerm",
+ "write": 1,
+ "role": "Support Team",
+ "cancel": 1,
+ "permlevel": 0
+ },
+ {
+ "create": 0,
+ "doctype": "DocPerm",
+ "write": 1,
+ "role": "Support Team",
+ "cancel": 0,
+ "permlevel": 1
+ },
+ {
+ "create": 0,
+ "doctype": "DocPerm",
+ "write": 0,
+ "role": "Support Team",
+ "cancel": 0,
+ "permlevel": 2
+ }
]
\ No newline at end of file