Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
commit
3ea62d869e
@ -2,16 +2,16 @@
|
||||
{
|
||||
"owner": "Administrator",
|
||||
"docstatus": 0,
|
||||
"creation": "2012-11-23 18:26:54",
|
||||
"creation": "2012-11-24 14:43:18",
|
||||
"modified_by": "Administrator",
|
||||
"modified": "2012-11-23 18:27:38"
|
||||
"modified": "2012-11-24 17:21:04"
|
||||
},
|
||||
{
|
||||
"name": "__common__",
|
||||
"ref_doctype": "Sales Invoice",
|
||||
"doctype": "Report",
|
||||
"is_standard": "Yes",
|
||||
"query": "select \n `tabDelivery Note`.`name` as \"Delivery Note:Link/Delivery Note:120\",\n `tabDelivery Note`.`status` as \"Status\",\n `tabDelivery Note`.`posting_date` as \"Date:Date\",\n `tabDelivery Note Item`.item_code as \"Item:Link/Item:120\",\n `tabDelivery Note Item`.description as \"Description\",\n `tabDelivery Note Item`.qty as \"Qty:Float\",\n `tabDelivery Note Item`.billed_qty as \"Billed Qty:Float\"\nfrom\n `tabDelivery Note`, `tabDelivery Note Item`\nwhere\n `tabDelivery Note Item`.`parent` = `tabDelivery Note`.`name`\n and `tabDelivery Note`.docstatus = 1\n and ifnull(`tabDelivery Note Item`.billed_qty, 0) < ifnull(`tabDelivery Note Item`.qty, 0)\norder by `tabDelivery Note`.posting_date asc"
|
||||
"query": "select \n `tabDelivery Note`.`name` as \"Delivery Note:Link/Delivery Note:120\",\n`tabDelivery Note`.`customer` as \"Customer:Link/Customer:120\",\n`tabDelivery Note`.`status` as \"Status\",\n `tabDelivery Note`.`posting_date` as \"Date:Date\",\n `tabDelivery Note Item`.item_code as \"Item:Link/Item:120\",\n `tabDelivery Note Item`.description as \"Description\",\n `tabDelivery Note Item`.qty as \"Qty:Float\",\n `tabDelivery Note Item`.billed_qty as \"Billed Qty:Float\"\nfrom\n `tabDelivery Note`, `tabDelivery Note Item`\nwhere\n `tabDelivery Note Item`.`parent` = `tabDelivery Note`.`name`\n and `tabDelivery Note`.docstatus = 1\n and `tabDelivery Note Item`.billed_qty < `tabDelivery Note Item`.qty\norder by `tabDelivery Note`.posting_date asc"
|
||||
},
|
||||
{
|
||||
"name": "Delivered Items To Be Billed",
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 @@ $.extend(cur_frm.cscript, {
|
||||
// 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)
|
||||
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});
|
||||
|
||||
// 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);
|
||||
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,41 @@ $.extend(cur_frm.cscript, {
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
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>\
|
||||
<div class="comm-content" style="border-top: 1px solid #ddd; padding: 10px"></div>\
|
||||
</div>', this.doc))
|
||||
.appendTo(this.parent)
|
||||
.css({"cursor":"pointer"})
|
||||
.click(function() {
|
||||
$(this).find(".comm-content").toggle();
|
||||
});
|
||||
|
||||
this.body.find(".comm-content").html(this.doc.content);
|
||||
},
|
||||
toggle: function() {
|
||||
this.body.find(".comm-content").toggle();
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
cur_frm.fields_dict.allocated_to.get_query = erpnext.utils.profile_query;
|
||||
|
||||
cur_frm.fields_dict.customer.get_query = erpnext.utils.customer_query;
|
@ -29,6 +29,21 @@ class DocType(TransactionBase):
|
||||
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 = webnotes.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 @@ class DocType(TransactionBase):
|
||||
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"""
|
||||
|
@ -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'
|
||||
"owner": "Administrator",
|
||||
"docstatus": 0,
|
||||
"creation": "2012-11-02 17:17:05",
|
||||
"modified_by": "Administrator",
|
||||
"modified": "2012-11-24 16:41:45"
|
||||
},
|
||||
|
||||
# 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
|
||||
"allow_attach": 1,
|
||||
"default_print_format": "Standard",
|
||||
"search_fields": "status,customer,allocated_to,subject,raised_by",
|
||||
"module": "Support",
|
||||
"doctype": "DocType",
|
||||
"name": "__common__"
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'name': '__common__',
|
||||
'parent': u'Support Ticket',
|
||||
'parentfield': u'fields',
|
||||
'parenttype': u'DocType'
|
||||
"name": "__common__",
|
||||
"parent": "Support Ticket",
|
||||
"doctype": "DocField",
|
||||
"parenttype": "DocType",
|
||||
"parentfield": "fields"
|
||||
},
|
||||
|
||||
# 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
|
||||
"name": "__common__",
|
||||
"parent": "Support Ticket",
|
||||
"amend": 0,
|
||||
"submit": 0,
|
||||
"doctype": "DocPerm",
|
||||
"read": 1,
|
||||
"parenttype": "DocType",
|
||||
"parentfield": "permissions"
|
||||
},
|
||||
|
||||
# DocType, Support Ticket
|
||||
{
|
||||
'doctype': 'DocType',
|
||||
'name': u'Support Ticket'
|
||||
"name": "Support Ticket",
|
||||
"doctype": "DocType"
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 1,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 0,
|
||||
'role': u'Guest',
|
||||
'write': 1
|
||||
"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
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 1,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 0,
|
||||
'role': u'Customer',
|
||||
'write': 1
|
||||
"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
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 1,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 0,
|
||||
'role': u'Support Team',
|
||||
'write': 1
|
||||
"doctype": "DocField",
|
||||
"label": "Subject",
|
||||
"fieldname": "subject",
|
||||
"fieldtype": "Text",
|
||||
"reqd": 1,
|
||||
"permlevel": 0,
|
||||
"in_filter": 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 1,
|
||||
'role': u'Support Team',
|
||||
'write': 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
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 2,
|
||||
'role': u'Support Team',
|
||||
'write': 0
|
||||
"oldfieldtype": "Text",
|
||||
"doctype": "DocField",
|
||||
"label": "Description",
|
||||
"oldfieldname": "problem_description",
|
||||
"fieldname": "description",
|
||||
"fieldtype": "Text",
|
||||
"depends_on": "eval:doc.__islocal",
|
||||
"reqd": 0,
|
||||
"permlevel": 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
|
||||
"depends_on": "eval:!doc.__islocal",
|
||||
"doctype": "DocField",
|
||||
"label": "New Response",
|
||||
"fieldname": "new_response",
|
||||
"fieldtype": "Text",
|
||||
"permlevel": 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
|
||||
"depends_on": "eval:!doc.__islocal",
|
||||
"doctype": "DocField",
|
||||
"label": "Send",
|
||||
"fieldname": "send",
|
||||
"fieldtype": "Button",
|
||||
"permlevel": 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'subject',
|
||||
'fieldtype': u'Text',
|
||||
'in_filter': 1,
|
||||
'label': u'Subject',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
"depends_on": "eval:!doc.__islocal",
|
||||
"doctype": "DocField",
|
||||
"label": "Thread HTML",
|
||||
"fieldname": "thread_html",
|
||||
"fieldtype": "HTML",
|
||||
"permlevel": 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
|
||||
"colour": "White:FFF",
|
||||
"doctype": "DocField",
|
||||
"label": "Additional Info",
|
||||
"fieldname": "additional_info",
|
||||
"fieldtype": "Section Break",
|
||||
"permlevel": 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
|
||||
"oldfieldtype": "Column Break",
|
||||
"doctype": "DocField",
|
||||
"width": "50%",
|
||||
"fieldname": "column_break0",
|
||||
"fieldtype": "Column Break",
|
||||
"depends_on": "eval:!doc.__islocal",
|
||||
"permlevel": 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'depends_on': u'eval:!doc.__islocal',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'thread_html',
|
||||
'fieldtype': u'HTML',
|
||||
'label': u'Thread HTML',
|
||||
'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
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'depends_on': u'eval:!doc.__islocal',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'new_response',
|
||||
'fieldtype': u'Text',
|
||||
'label': u'New Response',
|
||||
'permlevel': 0
|
||||
"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
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'depends_on': u'eval:!doc.__islocal',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'send',
|
||||
'fieldtype': u'Button',
|
||||
'label': u'Send',
|
||||
'permlevel': 0
|
||||
"doctype": "DocField",
|
||||
"label": "Address",
|
||||
"fieldname": "address_display",
|
||||
"fieldtype": "Small Text",
|
||||
"permlevel": 2
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'colour': u'White:FFF',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'additional_info',
|
||||
'fieldtype': u'Section Break',
|
||||
'label': u'Additional Info',
|
||||
'permlevel': 1
|
||||
"doctype": "DocField",
|
||||
"label": "Contact Name",
|
||||
"fieldname": "contact_display",
|
||||
"fieldtype": "Data",
|
||||
"permlevel": 2
|
||||
},
|
||||
|
||||
# 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%'
|
||||
"doctype": "DocField",
|
||||
"label": "Mobile No",
|
||||
"fieldname": "contact_mobile",
|
||||
"fieldtype": "Data",
|
||||
"permlevel": 2
|
||||
},
|
||||
|
||||
# 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'
|
||||
"oldfieldtype": "Data",
|
||||
"doctype": "DocField",
|
||||
"label": "Contact Email",
|
||||
"oldfieldname": "contact_no",
|
||||
"fieldname": "contact_email",
|
||||
"fieldtype": "Data",
|
||||
"permlevel": 2
|
||||
},
|
||||
|
||||
# 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
|
||||
"default": "Today",
|
||||
"oldfieldtype": "Date",
|
||||
"doctype": "DocField",
|
||||
"label": "Opening Date",
|
||||
"oldfieldname": "opening_date",
|
||||
"no_copy": 1,
|
||||
"fieldname": "opening_date",
|
||||
"fieldtype": "Date",
|
||||
"permlevel": 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'address_display',
|
||||
'fieldtype': u'Small Text',
|
||||
'label': u'Address',
|
||||
'permlevel': 2
|
||||
"no_copy": 1,
|
||||
"oldfieldtype": "Time",
|
||||
"doctype": "DocField",
|
||||
"label": "Opening Time",
|
||||
"oldfieldname": "opening_time",
|
||||
"fieldname": "opening_time",
|
||||
"fieldtype": "Time",
|
||||
"permlevel": 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'contact_display',
|
||||
'fieldtype': u'Data',
|
||||
'label': u'Contact Name',
|
||||
'permlevel': 2
|
||||
"oldfieldtype": "Column Break",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "column_break1",
|
||||
"fieldtype": "Column Break",
|
||||
"depends_on": "eval:!doc.__islocal",
|
||||
"permlevel": 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'contact_mobile',
|
||||
'fieldtype': u'Data',
|
||||
'label': u'Mobile No',
|
||||
'permlevel': 2
|
||||
"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
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'contact_email',
|
||||
'fieldtype': u'Data',
|
||||
'label': u'Contact Email',
|
||||
'oldfieldname': u'contact_no',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 2
|
||||
"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
|
||||
},
|
||||
|
||||
# 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
|
||||
"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
|
||||
},
|
||||
|
||||
# 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
|
||||
"oldfieldtype": "Time",
|
||||
"doctype": "DocField",
|
||||
"label": "Resolution Time",
|
||||
"oldfieldname": "resolution_time",
|
||||
"fieldname": "resolution_time",
|
||||
"fieldtype": "Time",
|
||||
"depends_on": "eval:!doc.__islocal",
|
||||
"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
|
||||
"colour": "White:FFF",
|
||||
"doctype": "DocField",
|
||||
"label": "Content Type",
|
||||
"fieldname": "content_type",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 1,
|
||||
"permlevel": 0
|
||||
},
|
||||
|
||||
# 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
|
||||
"print_hide": 1,
|
||||
"no_copy": 1,
|
||||
"doctype": "DocField",
|
||||
"label": "File List",
|
||||
"fieldname": "file_list",
|
||||
"fieldtype": "Text",
|
||||
"hidden": 1,
|
||||
"permlevel": 0
|
||||
},
|
||||
|
||||
# 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
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"write": 1,
|
||||
"role": "Guest",
|
||||
"cancel": 0,
|
||||
"permlevel": 0
|
||||
},
|
||||
|
||||
# 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
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"write": 1,
|
||||
"role": "Customer",
|
||||
"cancel": 0,
|
||||
"permlevel": 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
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"write": 1,
|
||||
"role": "Support Team",
|
||||
"cancel": 1,
|
||||
"permlevel": 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'colour': u'White:FFF',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'content_type',
|
||||
'fieldtype': u'Data',
|
||||
'hidden': 1,
|
||||
'label': u'Content Type',
|
||||
'permlevel': 0
|
||||
"create": 0,
|
||||
"doctype": "DocPerm",
|
||||
"write": 1,
|
||||
"role": "Support Team",
|
||||
"cancel": 0,
|
||||
"permlevel": 1
|
||||
},
|
||||
|
||||
# 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
|
||||
"create": 0,
|
||||
"doctype": "DocPerm",
|
||||
"write": 0,
|
||||
"role": "Support Team",
|
||||
"cancel": 0,
|
||||
"permlevel": 2
|
||||
}
|
||||
]
|
Loading…
x
Reference in New Issue
Block a user