mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-01 11:19:09 +00:00
Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
@@ -2,16 +2,16 @@
|
|||||||
{
|
{
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"creation": "2012-11-23 18:26:54",
|
"creation": "2012-11-23 16:46:22",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"modified": "2012-11-23 18:27:38"
|
"modified": "2012-11-26 10:11:53"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "__common__",
|
"name": "__common__",
|
||||||
"ref_doctype": "Sales Invoice",
|
"ref_doctype": "Sales Invoice",
|
||||||
"doctype": "Report",
|
"doctype": "Report",
|
||||||
"is_standard": "Yes",
|
"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 ifnull(`tabDelivery Note Item`.billed_qty,0) < ifnull(`tabDelivery Note Item`.qty,0)\norder by `tabDelivery Note`.posting_date asc"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Delivered Items To Be Billed",
|
"name": "Delivered Items To Be Billed",
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
erpnext.updates = [
|
erpnext.updates = [
|
||||||
|
["24ht November 2012", [
|
||||||
|
"Support Ticket: Support Ticket Response is now Communication",
|
||||||
|
]],
|
||||||
["23rd November 2012", [
|
["23rd November 2012", [
|
||||||
"General Ledger: Auto-suggest Accounts for filtering",
|
"General Ledger: Auto-suggest Accounts for filtering",
|
||||||
"Calendar: User Interface Fixes, small text for events",
|
"Calendar: User Interface Fixes, small text for events",
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import webnotes
|
||||||
|
import email.utils
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
webnotes.conn.commit()
|
||||||
|
for d in webnotes.conn.sql("""select owner, creation, modified, modified_by, parent,
|
||||||
|
from_email, mail from `tabSupport Ticket Response`""", as_dict=1):
|
||||||
|
c = webnotes.doc("Communication")
|
||||||
|
c.creation = d.creation
|
||||||
|
c.owner = d.owner
|
||||||
|
c.modified = d.modified
|
||||||
|
c.modified_by = d.modified_by
|
||||||
|
c.naming_series = "COMM-"
|
||||||
|
c.subject = "response to Support Ticket: " + d.parent
|
||||||
|
c.content = d.mail
|
||||||
|
c.email_address = d.from_email
|
||||||
|
c.support_ticket = d.parent
|
||||||
|
email_addr = email.utils.parseaddr(c.email_address)[1]
|
||||||
|
c.contact = webnotes.conn.get_value("Contact", {"email_id": email_addr}, "name") or None
|
||||||
|
c.lead = webnotes.conn.get_value("Lead", {"email_id": email_addr}, "name") or None
|
||||||
|
c.communication_medium = "Email"
|
||||||
|
webnotes.conn.begin()
|
||||||
|
c.save(1, keep_timestamps=True)
|
||||||
|
webnotes.conn.commit()
|
||||||
|
|
||||||
|
webnotes.delete_doc("DocType", "Support Ticket Response")
|
||||||
@@ -679,4 +679,8 @@ patch_list = [
|
|||||||
'patch_module': 'patches.november_2012',
|
'patch_module': 'patches.november_2012',
|
||||||
'patch_file': 'remove_old_unbilled_items_report',
|
'patch_file': 'remove_old_unbilled_items_report',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'patch_module': 'patches.november_2012',
|
||||||
|
'patch_file': 'support_ticket_response_to_communication',
|
||||||
|
},
|
||||||
]
|
]
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,406 +1,340 @@
|
|||||||
# DocType, Communication
|
|
||||||
[
|
[
|
||||||
|
{
|
||||||
# These values are common in all dictionaries
|
"owner": "Administrator",
|
||||||
{
|
"docstatus": 0,
|
||||||
u'creation': '2012-08-31 17:14:18',
|
"creation": "2012-11-14 12:25:16",
|
||||||
u'docstatus': 0,
|
"modified_by": "Administrator",
|
||||||
u'modified': '2012-11-14 12:15:56',
|
"modified": "2012-11-24 15:22:32"
|
||||||
u'modified_by': u'Administrator',
|
},
|
||||||
u'owner': u'Administrator'
|
{
|
||||||
},
|
"allow_attach": 1,
|
||||||
|
"doctype": "DocType",
|
||||||
# These values are common for all DocType
|
"module": "Support",
|
||||||
{
|
"name": "__common__",
|
||||||
'allow_attach': 1,
|
"in_dialog": 1,
|
||||||
'description': u'Keep a track of all communications',
|
"document_type": "Master",
|
||||||
u'doctype': u'DocType',
|
"description": "Keep a track of all communications"
|
||||||
'document_type': u'Master',
|
},
|
||||||
'in_dialog': 1,
|
{
|
||||||
'module': u'Support',
|
"name": "__common__",
|
||||||
u'name': u'__common__',
|
"parent": "Communication",
|
||||||
'version': 1
|
"doctype": "DocField",
|
||||||
},
|
"parenttype": "DocType",
|
||||||
|
"parentfield": "fields"
|
||||||
# These values are common for all DocField
|
},
|
||||||
{
|
{
|
||||||
u'doctype': u'DocField',
|
"name": "__common__",
|
||||||
u'name': u'__common__',
|
"parent": "Communication",
|
||||||
'parent': u'Communication',
|
"read": 1,
|
||||||
'parentfield': u'fields',
|
"doctype": "DocPerm",
|
||||||
'parenttype': u'DocType'
|
"write": 1,
|
||||||
},
|
"parenttype": "DocType",
|
||||||
|
"parentfield": "permissions"
|
||||||
# These values are common for all DocPerm
|
},
|
||||||
{
|
{
|
||||||
u'doctype': u'DocPerm',
|
"name": "Communication",
|
||||||
u'name': u'__common__',
|
"doctype": "DocType"
|
||||||
'parent': u'Communication',
|
},
|
||||||
'parentfield': u'permissions',
|
{
|
||||||
'parenttype': u'DocType',
|
"doctype": "DocField",
|
||||||
'read': 1,
|
"label": "Basic Info",
|
||||||
'write': 1
|
"fieldname": "basic_info",
|
||||||
},
|
"fieldtype": "Section Break",
|
||||||
|
"permlevel": 0
|
||||||
# DocType, Communication
|
},
|
||||||
{
|
{
|
||||||
u'doctype': u'DocType',
|
"default": "COMM-",
|
||||||
u'name': u'Communication'
|
"colour": "White:FFF",
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Naming Series",
|
||||||
# DocField
|
"options": "COMM-",
|
||||||
{
|
"fieldname": "naming_series",
|
||||||
u'doctype': u'DocField',
|
"fieldtype": "Select",
|
||||||
'fieldname': u'basic_info',
|
"hidden": 1,
|
||||||
'fieldtype': u'Section Break',
|
"permlevel": 0
|
||||||
'label': u'Basic Info',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"colour": "White:FFF",
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"label": "Subject",
|
||||||
{
|
"fieldname": "subject",
|
||||||
'colour': u'White:FFF',
|
"fieldtype": "Data",
|
||||||
'default': u'COMM-',
|
"reqd": 1,
|
||||||
u'doctype': u'DocField',
|
"permlevel": 0
|
||||||
'fieldname': u'naming_series',
|
},
|
||||||
'fieldtype': u'Select',
|
{
|
||||||
'hidden': 1,
|
"colour": "White:FFF",
|
||||||
'label': u'Naming Series',
|
"doctype": "DocField",
|
||||||
'options': u'COMM-',
|
"label": "Content",
|
||||||
'permlevel': 0
|
"width": "400",
|
||||||
},
|
"fieldname": "content",
|
||||||
|
"fieldtype": "Text",
|
||||||
# DocField
|
"reqd": 0,
|
||||||
{
|
"permlevel": 0
|
||||||
u'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'category',
|
{
|
||||||
'fieldtype': u'Select',
|
"doctype": "DocField",
|
||||||
'label': u'Category',
|
"options": "simple",
|
||||||
'options': u'\nSales\nComplaint\nHelp\nSuggestion\nMiscellaneous\nSent Mail',
|
"fieldname": "section_break1",
|
||||||
'permlevel': 0,
|
"fieldtype": "Section Break",
|
||||||
'reqd': 1
|
"permlevel": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "Category",
|
||||||
u'doctype': u'DocField',
|
"options": "\nSales\nComplaint\nHelp\nSuggestion\nMiscellaneous\nSent Mail",
|
||||||
'fieldname': u'action',
|
"fieldname": "category",
|
||||||
'fieldtype': u'Select',
|
"fieldtype": "Select",
|
||||||
'label': u'Action',
|
"reqd": 0,
|
||||||
'options': u'\nCreated Opportunity\nSent Quotation\nCreated Support Ticket\nCreated Customer Issue\nNo Action\nSent Mail',
|
"permlevel": 0
|
||||||
'permlevel': 0,
|
},
|
||||||
'reqd': 1
|
{
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"fieldname": "column_break2",
|
||||||
# DocField
|
"fieldtype": "Column Break",
|
||||||
{
|
"permlevel": 0
|
||||||
u'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'next_communication_date',
|
{
|
||||||
'fieldtype': u'Date',
|
"doctype": "DocField",
|
||||||
'label': u'Next Communcation On',
|
"label": "Next Communcation On",
|
||||||
'permlevel': 0
|
"fieldname": "next_communication_date",
|
||||||
},
|
"fieldtype": "Date",
|
||||||
|
"permlevel": 0
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
u'doctype': u'DocField',
|
"doctype": "DocField",
|
||||||
'fieldname': u'column_break2',
|
"label": "Action",
|
||||||
'fieldtype': u'Column Break',
|
"options": "\nCreated Opportunity\nSent Quotation\nCreated Support Ticket\nCreated Customer Issue\nNo Action\nSent Mail",
|
||||||
'permlevel': 0
|
"fieldname": "action",
|
||||||
},
|
"fieldtype": "Select",
|
||||||
|
"reqd": 0,
|
||||||
# DocField
|
"permlevel": 0
|
||||||
{
|
},
|
||||||
u'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'subject',
|
"doctype": "DocField",
|
||||||
'fieldtype': u'Small Text',
|
"label": "Additional Info",
|
||||||
'label': u'Subject',
|
"fieldname": "additional_info",
|
||||||
'permlevel': 0,
|
"fieldtype": "Section Break",
|
||||||
'reqd': 1
|
"permlevel": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"colour": "White:FFF",
|
||||||
{
|
"doctype": "DocField",
|
||||||
u'doctype': u'DocField',
|
"label": "Related To",
|
||||||
'fieldname': u'section_break1',
|
"fieldname": "column_break3",
|
||||||
'fieldtype': u'Section Break',
|
"fieldtype": "Column Break",
|
||||||
'options': u'simple',
|
"permlevel": 0
|
||||||
'permlevel': 0
|
},
|
||||||
},
|
{
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"label": "Lead",
|
||||||
{
|
"options": "Lead",
|
||||||
u'doctype': u'DocField',
|
"fieldname": "lead",
|
||||||
'fieldname': u'content',
|
"fieldtype": "Link",
|
||||||
'fieldtype': u'Text',
|
"hidden": 0,
|
||||||
'label': u'Content',
|
"permlevel": 0
|
||||||
'permlevel': 0,
|
},
|
||||||
'reqd': 0
|
{
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Contact",
|
||||||
# DocField
|
"options": "Contact",
|
||||||
{
|
"fieldname": "contact",
|
||||||
u'doctype': u'DocField',
|
"fieldtype": "Link",
|
||||||
'fieldname': u'additional_info',
|
"permlevel": 0
|
||||||
'fieldtype': u'Section Break',
|
},
|
||||||
'label': u'Additional Info',
|
{
|
||||||
'permlevel': 0
|
"doctype": "DocField",
|
||||||
},
|
"label": "Customer",
|
||||||
|
"options": "Customer",
|
||||||
# DocField
|
"fieldname": "customer",
|
||||||
{
|
"fieldtype": "Link",
|
||||||
'colour': u'White:FFF',
|
"permlevel": 0
|
||||||
u'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'column_break3',
|
{
|
||||||
'fieldtype': u'Column Break',
|
"doctype": "DocField",
|
||||||
'label': u'Related To',
|
"label": "Supplier",
|
||||||
'permlevel': 0
|
"options": "Supplier",
|
||||||
},
|
"fieldname": "supplier",
|
||||||
|
"fieldtype": "Link",
|
||||||
# DocField
|
"permlevel": 0
|
||||||
{
|
},
|
||||||
u'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'lead',
|
"doctype": "DocField",
|
||||||
'fieldtype': u'Link',
|
"label": "Opportunity",
|
||||||
'hidden': 0,
|
"options": "Opportunity",
|
||||||
'label': u'Lead',
|
"fieldname": "opportunity",
|
||||||
'options': u'Lead',
|
"fieldtype": "Link",
|
||||||
'permlevel': 0
|
"permlevel": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "Quotation",
|
||||||
u'doctype': u'DocField',
|
"options": "Quotation",
|
||||||
'fieldname': u'contact',
|
"fieldname": "quotation",
|
||||||
'fieldtype': u'Link',
|
"fieldtype": "Link",
|
||||||
'label': u'Contact',
|
"permlevel": 0
|
||||||
'options': u'Contact',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Support Ticket",
|
||||||
# DocField
|
"options": "Support Ticket",
|
||||||
{
|
"fieldname": "support_ticket",
|
||||||
u'doctype': u'DocField',
|
"fieldtype": "Link",
|
||||||
'fieldname': u'customer',
|
"permlevel": 0
|
||||||
'fieldtype': u'Link',
|
},
|
||||||
'label': u'Customer',
|
{
|
||||||
'options': u'Customer',
|
"doctype": "DocField",
|
||||||
'permlevel': 0
|
"fieldname": "column_break1",
|
||||||
},
|
"fieldtype": "Column Break",
|
||||||
|
"permlevel": 0
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
u'doctype': u'DocField',
|
"doctype": "DocField",
|
||||||
'fieldname': u'supplier',
|
"label": "Communication Medium",
|
||||||
'fieldtype': u'Link',
|
"options": "\nChat\nPhone\nEmail\nSMS\nVisit\nOther",
|
||||||
'label': u'Supplier',
|
"fieldname": "communication_medium",
|
||||||
'options': u'Supplier',
|
"fieldtype": "Select",
|
||||||
'permlevel': 0
|
"permlevel": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "Phone No.",
|
||||||
u'doctype': u'DocField',
|
"fieldname": "phone_no",
|
||||||
'fieldname': u'opportunity',
|
"fieldtype": "Data",
|
||||||
'fieldtype': u'Link',
|
"permlevel": 0
|
||||||
'label': u'Opportunity',
|
},
|
||||||
'options': u'Opportunity',
|
{
|
||||||
'permlevel': 0
|
"doctype": "DocField",
|
||||||
},
|
"label": "Email Address",
|
||||||
|
"fieldname": "email_address",
|
||||||
# DocField
|
"fieldtype": "Data",
|
||||||
{
|
"permlevel": 0
|
||||||
u'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'quotation',
|
{
|
||||||
'fieldtype': u'Link',
|
"doctype": "DocField",
|
||||||
'label': u'Quotation',
|
"options": "simple",
|
||||||
'options': u'Quotation',
|
"fieldname": "section_break2",
|
||||||
'permlevel': 0
|
"fieldtype": "Section Break",
|
||||||
},
|
"permlevel": 0
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"doctype": "DocField",
|
||||||
u'doctype': u'DocField',
|
"label": "By",
|
||||||
'fieldname': u'support_ticket',
|
"fieldname": "column_break4",
|
||||||
'fieldtype': u'Link',
|
"fieldtype": "Column Break",
|
||||||
'label': u'Support Ticket',
|
"permlevel": 0
|
||||||
'options': u'Support Ticket',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"default": "__user",
|
||||||
|
"colour": "White:FFF",
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "User",
|
||||||
u'doctype': u'DocField',
|
"options": "Profile",
|
||||||
'fieldname': u'column_break1',
|
"fieldname": "user",
|
||||||
'fieldtype': u'Column Break',
|
"fieldtype": "Link",
|
||||||
'permlevel': 0
|
"permlevel": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "Sales Person",
|
||||||
u'doctype': u'DocField',
|
"options": "Sales Person",
|
||||||
'fieldname': u'communication_medium',
|
"fieldname": "sales_person",
|
||||||
'fieldtype': u'Select',
|
"fieldtype": "Link",
|
||||||
'label': u'Communication Medium',
|
"permlevel": 1
|
||||||
'options': u'\nChat\nPhone\nEmail\nSMS\nVisit\nOther',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "On",
|
||||||
# DocField
|
"fieldname": "column_break5",
|
||||||
{
|
"fieldtype": "Column Break",
|
||||||
u'doctype': u'DocField',
|
"permlevel": 0
|
||||||
'fieldname': u'phone_no',
|
},
|
||||||
'fieldtype': u'Data',
|
{
|
||||||
'label': u'Phone No.',
|
"default": "Today",
|
||||||
'permlevel': 0
|
"colour": "White:FFF",
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Date",
|
||||||
# DocField
|
"fieldname": "communication_date",
|
||||||
{
|
"fieldtype": "Date",
|
||||||
u'doctype': u'DocField',
|
"permlevel": 0
|
||||||
'fieldname': u'email_address',
|
},
|
||||||
'fieldtype': u'Data',
|
{
|
||||||
'label': u'Email Address',
|
"print_hide": 1,
|
||||||
'permlevel': 0
|
"no_copy": 1,
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "File List",
|
||||||
# DocField
|
"fieldname": "file_list",
|
||||||
{
|
"fieldtype": "Text",
|
||||||
u'doctype': u'DocField',
|
"hidden": 1,
|
||||||
'fieldname': u'section_break2',
|
"permlevel": 0
|
||||||
'fieldtype': u'Section Break',
|
},
|
||||||
'options': u'simple',
|
{
|
||||||
'permlevel': 0
|
"print_hide": 1,
|
||||||
},
|
"no_copy": 1,
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"label": "User Tags",
|
||||||
{
|
"fieldname": "_user_tags",
|
||||||
u'doctype': u'DocField',
|
"fieldtype": "Data",
|
||||||
'fieldname': u'column_break4',
|
"hidden": 1,
|
||||||
'fieldtype': u'Column Break',
|
"permlevel": 0
|
||||||
'label': u'By',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"amend": 0,
|
||||||
|
"create": 1,
|
||||||
# DocField
|
"doctype": "DocPerm",
|
||||||
{
|
"submit": 0,
|
||||||
'colour': u'White:FFF',
|
"role": "Support Team",
|
||||||
'default': u'__user',
|
"cancel": 1,
|
||||||
u'doctype': u'DocField',
|
"permlevel": 0
|
||||||
'fieldname': u'user',
|
},
|
||||||
'fieldtype': u'Link',
|
{
|
||||||
'label': u'User',
|
"amend": 0,
|
||||||
'options': u'Profile',
|
"create": 1,
|
||||||
'permlevel': 1
|
"doctype": "DocPerm",
|
||||||
},
|
"submit": 0,
|
||||||
|
"role": "Sales Manager",
|
||||||
# DocField
|
"cancel": 1,
|
||||||
{
|
"permlevel": 0
|
||||||
u'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'sales_person',
|
{
|
||||||
'fieldtype': u'Link',
|
"amend": 0,
|
||||||
'label': u'Sales Person',
|
"create": 1,
|
||||||
'options': u'Sales Person',
|
"doctype": "DocPerm",
|
||||||
'permlevel': 1
|
"submit": 0,
|
||||||
},
|
"role": "Sales User",
|
||||||
|
"cancel": 1,
|
||||||
# DocField
|
"permlevel": 0
|
||||||
{
|
},
|
||||||
u'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'column_break5',
|
"amend": 0,
|
||||||
'fieldtype': u'Column Break',
|
"create": 0,
|
||||||
'label': u'On',
|
"doctype": "DocPerm",
|
||||||
'permlevel': 0
|
"submit": 0,
|
||||||
},
|
"role": "Sales Manager",
|
||||||
|
"cancel": 0,
|
||||||
# DocField
|
"permlevel": 1
|
||||||
{
|
},
|
||||||
'colour': u'White:FFF',
|
{
|
||||||
'default': u'Today',
|
"amend": 0,
|
||||||
u'doctype': u'DocField',
|
"create": 0,
|
||||||
'fieldname': u'communication_date',
|
"doctype": "DocPerm",
|
||||||
'fieldtype': u'Date',
|
"submit": 0,
|
||||||
'label': u'Date',
|
"role": "Support Manager",
|
||||||
'permlevel': 0
|
"cancel": 0,
|
||||||
},
|
"permlevel": 1
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"create": 1,
|
||||||
u'doctype': u'DocField',
|
"doctype": "DocPerm",
|
||||||
'fieldname': u'file_list',
|
"role": "Support Manager",
|
||||||
'fieldtype': u'Text',
|
"cancel": 1,
|
||||||
'hidden': 1,
|
"permlevel": 0
|
||||||
'label': u'File List',
|
},
|
||||||
'no_copy': 1,
|
{
|
||||||
'permlevel': 0,
|
"create": 1,
|
||||||
'print_hide': 1
|
"doctype": "DocPerm",
|
||||||
},
|
"role": "System Manager",
|
||||||
|
"cancel": 1,
|
||||||
# DocField
|
"permlevel": 0
|
||||||
{
|
}
|
||||||
u'doctype': u'DocField',
|
|
||||||
'fieldname': u'_user_tags',
|
|
||||||
'fieldtype': u'Data',
|
|
||||||
'hidden': 1,
|
|
||||||
'label': u'User Tags',
|
|
||||||
'no_copy': 1,
|
|
||||||
'permlevel': 0,
|
|
||||||
'print_hide': 1
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
'create': 1,
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 0,
|
|
||||||
'role': u'Support Team'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
'create': 1,
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 0,
|
|
||||||
'role': u'Sales Manager'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
'create': 1,
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 0,
|
|
||||||
'role': u'Sales User'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 1,
|
|
||||||
'role': u'Sales Manager'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 1,
|
|
||||||
'role': u'Support Manager'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
'cancel': 1,
|
|
||||||
'create': 1,
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 0,
|
|
||||||
'role': u'Support Manager'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocPerm
|
|
||||||
{
|
|
||||||
'cancel': 1,
|
|
||||||
'create': 1,
|
|
||||||
u'doctype': u'DocPerm',
|
|
||||||
'permlevel': 0,
|
|
||||||
'role': u'System Manager'
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
@@ -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 {
|
.support-ticket-wrapper {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,26 +22,15 @@
|
|||||||
// xoxoxoxo
|
// xoxoxoxo
|
||||||
// -------- new reply --------
|
// -------- new reply --------
|
||||||
|
|
||||||
var cs = cur_frm.cscript;
|
|
||||||
$.extend(cur_frm.cscript, {
|
$.extend(cur_frm.cscript, {
|
||||||
onload: function(doc, dt, dn) {
|
onload: function(doc, dt, dn) {
|
||||||
//
|
//
|
||||||
// help area
|
// help area
|
||||||
//
|
//
|
||||||
if(in_list(user_roles,'System Manager')) {
|
if(in_list(user_roles,'System Manager')) {
|
||||||
cur_frm.page_layout.footer.help_area.innerHTML = '';
|
cur_frm.page_layout.footer.help_area.innerHTML = '<hr>\
|
||||||
new wn.widgets.Footer({
|
<p><a href="#Form/Email Settings/Email Settings">Email Settings</a><br>\
|
||||||
parent:cur_frm.page_layout.footer.help_area,
|
<span class="help">Integrate incoming support emails to Support Ticket</span></p>';
|
||||||
columns:2,
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
column: 0,
|
|
||||||
label:'Email Settings',
|
|
||||||
description:'Integrate your incoming support emails to support ticket',
|
|
||||||
onclick: function() { loaddoc('Email Settings','Email Settings'); }
|
|
||||||
},
|
|
||||||
]
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!doc.customer) hide_field(['customer_name','address_display','contact_display','contact_mobile','contact_email']);
|
if(!doc.customer) hide_field(['customer_name','address_display','contact_display','contact_mobile','contact_email']);
|
||||||
@@ -71,31 +60,30 @@ $.extend(cur_frm.cscript, {
|
|||||||
// make thread listing
|
// make thread listing
|
||||||
//
|
//
|
||||||
make_listing: function(doc) {
|
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
|
var comm_list = wn.model.get("Communication", {"support_ticket": doc.name})
|
||||||
new EmailMessage($a(cur_frm.fields_dict['thread_html'].wrapper, 'div'), {
|
comm_list.push({
|
||||||
from_email: doc.raised_by,
|
"email_address": doc.raised_by,
|
||||||
creation: doc.creation,
|
"modified": doc.creation,
|
||||||
mail: doc.description,
|
"content": doc.description});
|
||||||
content_type: doc.content_type
|
|
||||||
}, null, -1)
|
comm_list.sort(function(a, b) { return new Date(a.modified) > new Date(b.modified)
|
||||||
|
? -1 : 1 })
|
||||||
// render thread
|
|
||||||
cur_frm.cscript.thread_list = new wn.ui.Listing({
|
$.each(comm_list, function(i, c) {
|
||||||
parent: $a(cur_frm.fields_dict['thread_html'].wrapper, 'div'),
|
var comm = new erpnext.CommunicationView({
|
||||||
no_result_message: 'No responses yet',
|
doc: c,
|
||||||
get_query: function() {
|
support_ticket: doc,
|
||||||
return 'select mail, from_email, creation, content_type '+
|
parent: wrapper
|
||||||
'from `tabSupport Ticket Response` where parent="'+doc.name+'" order by creation asc'
|
});
|
||||||
},
|
if(i==0) {
|
||||||
as_dict: 1,
|
comm.toggle();
|
||||||
render_row: function(parent, data, list, idx) {
|
|
||||||
new EmailMessage(parent, data, list, idx);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
cur_frm.cscript.thread_list.run();
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
send: function(doc, dt, dn) {
|
send: function(doc, dt, dn) {
|
||||||
@@ -141,56 +129,41 @@ $.extend(cur_frm.cscript, {
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
erpnext.CommunicationView = Class.extend({
|
||||||
|
init: function(opts) {
|
||||||
EmailMessage = function(parent, args, list, idx) {
|
$.extend(this, opts);
|
||||||
var me = this;
|
this.prepare();
|
||||||
$.extend(this, args);
|
this.make();
|
||||||
this.make = function() {
|
this.toggle();
|
||||||
this.creation = wn.datetime.str_to_user(this.creation);
|
},
|
||||||
if(this.from_email)
|
prepare: function() {
|
||||||
this.from_email = this.from_email.replace('<', '<').replace('>', '>');
|
//this.doc.when = comment_when(this.doc.modified);
|
||||||
|
this.doc.when = this.doc.modified;
|
||||||
// main wrapper
|
if(this.doc.content.indexOf("<br>")== -1 && this.doc.content.indexOf("<p>")== -1) {
|
||||||
w = $a(parent, 'div', 'support-ticket-wrapper well');
|
this.doc.content = this.doc.content.replace(/\n/g, "<br>");
|
||||||
//$(w).addClass('support-ticket-wrapper');
|
|
||||||
|
|
||||||
// sender and timestamp
|
|
||||||
$a($a(w, 'div', 'support-ticket-title'),
|
|
||||||
'span', 'link_type', {}, repl('By %(from_email)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_type=='text/plain'
|
|
||||||
? this.mail
|
|
||||||
.replace(/\n[ ]*\n[\n\t ]*/g, '\n') // excess whitespace
|
|
||||||
.replace(/\n/g, '<br>')
|
|
||||||
: this.mail)
|
|
||||||
);
|
|
||||||
|
|
||||||
// show only first and last message
|
|
||||||
if(idx==-1 || list && list.data.length-1==idx) {
|
|
||||||
$ds(this.message)
|
|
||||||
}
|
}
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
this.make();
|
})
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.fields_dict.allocated_to.get_query = erpnext.utils.profile_query;
|
cur_frm.fields_dict.allocated_to.get_query = erpnext.utils.profile_query;
|
||||||
|
|
||||||
cur_frm.fields_dict.customer.get_query = erpnext.utils.customer_query;
|
cur_frm.fields_dict.customer.get_query = erpnext.utils.customer_query;
|
||||||
@@ -29,6 +29,21 @@ class DocType(TransactionBase):
|
|||||||
def autoname(self):
|
def autoname(self):
|
||||||
self.doc.name = make_autoname(self.doc.naming_series+'.#####')
|
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):
|
def send_response(self):
|
||||||
"""
|
"""
|
||||||
Adds a new response to the ticket and sends an email to the sender
|
Adds a new response to the ticket and sends an email to the sender
|
||||||
@@ -61,11 +76,12 @@ class DocType(TransactionBase):
|
|||||||
self.doc.new_response = None
|
self.doc.new_response = None
|
||||||
webnotes.conn.set(self.doc, 'status', 'Waiting for Customer')
|
webnotes.conn.set(self.doc, 'status', 'Waiting for Customer')
|
||||||
self.make_response_record(response)
|
self.make_response_record(response)
|
||||||
|
self.add_communication_list()
|
||||||
|
|
||||||
def last_response(self):
|
def last_response(self):
|
||||||
"""return last response"""
|
"""return last response"""
|
||||||
tmp = webnotes.conn.sql("""select mail from `tabSupport Ticket Response`
|
tmp = webnotes.conn.sql("""select content from `tabCommunication`
|
||||||
where parent = %s order by creation desc limit 1
|
where support_ticket = %s order by creation desc limit 1
|
||||||
""", self.doc.name)
|
""", self.doc.name)
|
||||||
|
|
||||||
if not tmp:
|
if not tmp:
|
||||||
@@ -84,17 +100,21 @@ class DocType(TransactionBase):
|
|||||||
|
|
||||||
def make_response_record(self, response, from_email = None, content_type='text/plain'):
|
def make_response_record(self, response, from_email = None, content_type='text/plain'):
|
||||||
"""
|
"""
|
||||||
Creates a new Support Ticket Response record
|
Creates a new Communication record
|
||||||
"""
|
"""
|
||||||
# add to Support Ticket Response
|
# add to Communication
|
||||||
from webnotes.model.doc import Document
|
import email.utils
|
||||||
d = Document('Support Ticket Response')
|
|
||||||
d.from_email = from_email or webnotes.user.name
|
d = webnotes.doc('Communication')
|
||||||
d.parent = self.doc.name
|
d.naming_series = "COMM-"
|
||||||
d.parenttype = "Support Ticket"
|
d.subject = self.doc.subject
|
||||||
d.parentfield = "responses"
|
d.email_address = from_email or webnotes.user.name
|
||||||
d.mail = response
|
email_addr = email.utils.parseaddr(d.email_address)[1]
|
||||||
d.content_type = content_type
|
d.contact = webnotes.conn.get_value("Contact", {"email_id": email_addr}, "name") or None
|
||||||
|
d.lead = webnotes.conn.get_value("Lead", {"email_id": email_addr}, "name") or None
|
||||||
|
d.support_ticket = self.doc.name
|
||||||
|
d.content = response
|
||||||
|
d.communication_medium = "Email"
|
||||||
d.save(1)
|
d.save(1)
|
||||||
|
|
||||||
def close_ticket(self):
|
def close_ticket(self):
|
||||||
|
|||||||
@@ -1,411 +1,335 @@
|
|||||||
# DocType, Support Ticket
|
|
||||||
[
|
[
|
||||||
|
{
|
||||||
# These values are common in all dictionaries
|
"owner": "Administrator",
|
||||||
{
|
"docstatus": 0,
|
||||||
'creation': '2012-04-02 16:02:42',
|
"creation": "2012-11-02 17:17:05",
|
||||||
'docstatus': 0,
|
"modified_by": "Administrator",
|
||||||
'modified': '2012-05-02 11:33:24',
|
"modified": "2012-11-24 16:41:45"
|
||||||
'modified_by': u'Administrator',
|
},
|
||||||
'owner': u'Administrator'
|
{
|
||||||
},
|
"allow_attach": 1,
|
||||||
|
"default_print_format": "Standard",
|
||||||
# These values are common for all DocType
|
"search_fields": "status,customer,allocated_to,subject,raised_by",
|
||||||
{
|
"module": "Support",
|
||||||
'_last_update': u'1311584009',
|
"doctype": "DocType",
|
||||||
'allow_attach': 1,
|
"name": "__common__"
|
||||||
'allow_trash': 1,
|
},
|
||||||
'colour': u'White:FFF',
|
{
|
||||||
'default_print_format': u'Standard',
|
"name": "__common__",
|
||||||
'doctype': 'DocType',
|
"parent": "Support Ticket",
|
||||||
'module': u'Support',
|
"doctype": "DocField",
|
||||||
'name': '__common__',
|
"parenttype": "DocType",
|
||||||
'search_fields': u'status,customer,allocated_to,subject,raised_by',
|
"parentfield": "fields"
|
||||||
'section_style': u'Tray',
|
},
|
||||||
'server_code_error': u' ',
|
{
|
||||||
'show_in_menu': 0,
|
"name": "__common__",
|
||||||
'subject': u'%(subject)s',
|
"parent": "Support Ticket",
|
||||||
'tag_fields': u'status,allocated_to',
|
"amend": 0,
|
||||||
'version': 1
|
"submit": 0,
|
||||||
},
|
"doctype": "DocPerm",
|
||||||
|
"read": 1,
|
||||||
# These values are common for all DocField
|
"parenttype": "DocType",
|
||||||
{
|
"parentfield": "permissions"
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'name': '__common__',
|
{
|
||||||
'parent': u'Support Ticket',
|
"name": "Support Ticket",
|
||||||
'parentfield': u'fields',
|
"doctype": "DocType"
|
||||||
'parenttype': u'DocType'
|
},
|
||||||
},
|
{
|
||||||
|
"print_hide": 1,
|
||||||
# These values are common for all DocPerm
|
"no_copy": 1,
|
||||||
{
|
"search_index": 0,
|
||||||
'amend': 0,
|
"doctype": "DocField",
|
||||||
'cancel': 0,
|
"label": "Naming Series",
|
||||||
'doctype': u'DocPerm',
|
"options": "SUP",
|
||||||
'name': '__common__',
|
"fieldname": "naming_series",
|
||||||
'parent': u'Support Ticket',
|
"fieldtype": "Select",
|
||||||
'parentfield': u'permissions',
|
"reqd": 0,
|
||||||
'parenttype': u'DocType',
|
"hidden": 0,
|
||||||
'read': 1,
|
"permlevel": 0
|
||||||
'submit': 0
|
},
|
||||||
},
|
{
|
||||||
|
"permlevel": 1,
|
||||||
# DocType, Support Ticket
|
"no_copy": 1,
|
||||||
{
|
"oldfieldtype": "Select",
|
||||||
'doctype': 'DocType',
|
"colour": "White:FFF",
|
||||||
'name': u'Support Ticket'
|
"doctype": "DocField",
|
||||||
},
|
"label": "Status",
|
||||||
|
"oldfieldname": "status",
|
||||||
# DocPerm
|
"default": "Open",
|
||||||
{
|
"fieldname": "status",
|
||||||
'create': 1,
|
"fieldtype": "Select",
|
||||||
'doctype': u'DocPerm',
|
"search_index": 1,
|
||||||
'permlevel': 0,
|
"reqd": 0,
|
||||||
'role': u'Guest',
|
"options": "\nOpen\nTo Reply\nWaiting for Customer\nHold\nClosed",
|
||||||
'write': 1
|
"in_filter": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocPerm
|
"doctype": "DocField",
|
||||||
{
|
"label": "Subject",
|
||||||
'create': 1,
|
"fieldname": "subject",
|
||||||
'doctype': u'DocPerm',
|
"fieldtype": "Text",
|
||||||
'permlevel': 0,
|
"reqd": 1,
|
||||||
'role': u'Customer',
|
"permlevel": 0,
|
||||||
'write': 1
|
"in_filter": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocPerm
|
"oldfieldtype": "Data",
|
||||||
{
|
"doctype": "DocField",
|
||||||
'create': 1,
|
"label": "Raised By (Email)",
|
||||||
'doctype': u'DocPerm',
|
"oldfieldname": "raised_by",
|
||||||
'permlevel': 0,
|
"fieldname": "raised_by",
|
||||||
'role': u'Support Team',
|
"fieldtype": "Data",
|
||||||
'write': 1
|
"depends_on": "eval:doc.__islocal",
|
||||||
},
|
"reqd": 1,
|
||||||
|
"permlevel": 0,
|
||||||
# DocPerm
|
"in_filter": 1
|
||||||
{
|
},
|
||||||
'create': 0,
|
{
|
||||||
'doctype': u'DocPerm',
|
"oldfieldtype": "Text",
|
||||||
'permlevel': 1,
|
"doctype": "DocField",
|
||||||
'role': u'Support Team',
|
"label": "Description",
|
||||||
'write': 1
|
"oldfieldname": "problem_description",
|
||||||
},
|
"fieldname": "description",
|
||||||
|
"fieldtype": "Text",
|
||||||
# DocPerm
|
"depends_on": "eval:doc.__islocal",
|
||||||
{
|
"reqd": 0,
|
||||||
'create': 0,
|
"permlevel": 0
|
||||||
'doctype': u'DocPerm',
|
},
|
||||||
'permlevel': 2,
|
{
|
||||||
'role': u'Support Team',
|
"depends_on": "eval:!doc.__islocal",
|
||||||
'write': 0
|
"doctype": "DocField",
|
||||||
},
|
"label": "New Response",
|
||||||
|
"fieldname": "new_response",
|
||||||
# DocField
|
"fieldtype": "Text",
|
||||||
{
|
"permlevel": 0
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'naming_series',
|
{
|
||||||
'fieldtype': u'Select',
|
"depends_on": "eval:!doc.__islocal",
|
||||||
'hidden': 0,
|
"doctype": "DocField",
|
||||||
'label': u'Naming Series',
|
"label": "Send",
|
||||||
'no_copy': 1,
|
"fieldname": "send",
|
||||||
'options': u'SUP',
|
"fieldtype": "Button",
|
||||||
'permlevel': 0,
|
"permlevel": 0
|
||||||
'print_hide': 1,
|
},
|
||||||
'reqd': 0,
|
{
|
||||||
'search_index': 0
|
"depends_on": "eval:!doc.__islocal",
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Thread HTML",
|
||||||
# DocField
|
"fieldname": "thread_html",
|
||||||
{
|
"fieldtype": "HTML",
|
||||||
'colour': u'White:FFF',
|
"permlevel": 1
|
||||||
'default': u'Open',
|
},
|
||||||
'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'status',
|
"colour": "White:FFF",
|
||||||
'fieldtype': u'Select',
|
"doctype": "DocField",
|
||||||
'in_filter': 0,
|
"label": "Additional Info",
|
||||||
'label': u'Status',
|
"fieldname": "additional_info",
|
||||||
'no_copy': 1,
|
"fieldtype": "Section Break",
|
||||||
'oldfieldname': u'status',
|
"permlevel": 1
|
||||||
'oldfieldtype': u'Select',
|
},
|
||||||
'options': u'\nOpen\nTo Reply\nWaiting for Customer\nHold\nClosed',
|
{
|
||||||
'permlevel': 1,
|
"oldfieldtype": "Column Break",
|
||||||
'reqd': 0,
|
"doctype": "DocField",
|
||||||
'search_index': 1
|
"width": "50%",
|
||||||
},
|
"fieldname": "column_break0",
|
||||||
|
"fieldtype": "Column Break",
|
||||||
# DocField
|
"depends_on": "eval:!doc.__islocal",
|
||||||
{
|
"permlevel": 1
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'subject',
|
{
|
||||||
'fieldtype': u'Text',
|
"print_hide": 1,
|
||||||
'in_filter': 1,
|
"oldfieldtype": "Link",
|
||||||
'label': u'Subject',
|
"colour": "White:FFF",
|
||||||
'permlevel': 0,
|
"doctype": "DocField",
|
||||||
'reqd': 1
|
"label": "Customer",
|
||||||
},
|
"oldfieldname": "customer",
|
||||||
|
"permlevel": 1,
|
||||||
# DocField
|
"trigger": "Client",
|
||||||
{
|
"fieldname": "customer",
|
||||||
'depends_on': u'eval:doc.__islocal',
|
"fieldtype": "Link",
|
||||||
'doctype': u'DocField',
|
"search_index": 1,
|
||||||
'fieldname': u'raised_by',
|
"reqd": 0,
|
||||||
'fieldtype': u'Data',
|
"options": "Customer",
|
||||||
'in_filter': 1,
|
"in_filter": 1
|
||||||
'label': u'Raised By (Email)',
|
},
|
||||||
'oldfieldname': u'raised_by',
|
{
|
||||||
'oldfieldtype': u'Data',
|
"oldfieldtype": "Data",
|
||||||
'permlevel': 0,
|
"doctype": "DocField",
|
||||||
'reqd': 1
|
"label": "Customer Name",
|
||||||
},
|
"oldfieldname": "customer_name",
|
||||||
|
"fieldname": "customer_name",
|
||||||
# DocField
|
"fieldtype": "Data",
|
||||||
{
|
"search_index": 0,
|
||||||
'depends_on': u'eval:doc.__islocal',
|
"reqd": 0,
|
||||||
'doctype': u'DocField',
|
"permlevel": 2,
|
||||||
'fieldname': u'description',
|
"in_filter": 1
|
||||||
'fieldtype': u'Text',
|
},
|
||||||
'label': u'Description',
|
{
|
||||||
'oldfieldname': u'problem_description',
|
"doctype": "DocField",
|
||||||
'oldfieldtype': u'Text',
|
"label": "Address",
|
||||||
'permlevel': 0,
|
"fieldname": "address_display",
|
||||||
'reqd': 0
|
"fieldtype": "Small Text",
|
||||||
},
|
"permlevel": 2
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"doctype": "DocField",
|
||||||
'depends_on': u'eval:!doc.__islocal',
|
"label": "Contact Name",
|
||||||
'doctype': u'DocField',
|
"fieldname": "contact_display",
|
||||||
'fieldname': u'thread_html',
|
"fieldtype": "Data",
|
||||||
'fieldtype': u'HTML',
|
"permlevel": 2
|
||||||
'label': u'Thread HTML',
|
},
|
||||||
'permlevel': 1
|
{
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Mobile No",
|
||||||
# DocField
|
"fieldname": "contact_mobile",
|
||||||
{
|
"fieldtype": "Data",
|
||||||
'depends_on': u'eval:!doc.__islocal',
|
"permlevel": 2
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'new_response',
|
{
|
||||||
'fieldtype': u'Text',
|
"oldfieldtype": "Data",
|
||||||
'label': u'New Response',
|
"doctype": "DocField",
|
||||||
'permlevel': 0
|
"label": "Contact Email",
|
||||||
},
|
"oldfieldname": "contact_no",
|
||||||
|
"fieldname": "contact_email",
|
||||||
# DocField
|
"fieldtype": "Data",
|
||||||
{
|
"permlevel": 2
|
||||||
'depends_on': u'eval:!doc.__islocal',
|
},
|
||||||
'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'send',
|
"default": "Today",
|
||||||
'fieldtype': u'Button',
|
"oldfieldtype": "Date",
|
||||||
'label': u'Send',
|
"doctype": "DocField",
|
||||||
'permlevel': 0
|
"label": "Opening Date",
|
||||||
},
|
"oldfieldname": "opening_date",
|
||||||
|
"no_copy": 1,
|
||||||
# DocField
|
"fieldname": "opening_date",
|
||||||
{
|
"fieldtype": "Date",
|
||||||
'colour': u'White:FFF',
|
"permlevel": 1
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'additional_info',
|
{
|
||||||
'fieldtype': u'Section Break',
|
"no_copy": 1,
|
||||||
'label': u'Additional Info',
|
"oldfieldtype": "Time",
|
||||||
'permlevel': 1
|
"doctype": "DocField",
|
||||||
},
|
"label": "Opening Time",
|
||||||
|
"oldfieldname": "opening_time",
|
||||||
# DocField
|
"fieldname": "opening_time",
|
||||||
{
|
"fieldtype": "Time",
|
||||||
'depends_on': u'eval:!doc.__islocal',
|
"permlevel": 1
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'column_break0',
|
{
|
||||||
'fieldtype': u'Column Break',
|
"oldfieldtype": "Column Break",
|
||||||
'oldfieldtype': u'Column Break',
|
"doctype": "DocField",
|
||||||
'permlevel': 1,
|
"fieldname": "column_break1",
|
||||||
'width': u'50%'
|
"fieldtype": "Column Break",
|
||||||
},
|
"depends_on": "eval:!doc.__islocal",
|
||||||
|
"permlevel": 1
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
'colour': u'White:FFF',
|
"depends_on": "eval:!doc.__islocal",
|
||||||
'doctype': u'DocField',
|
"search_index": 1,
|
||||||
'fieldname': u'customer',
|
"colour": "White:FFF",
|
||||||
'fieldtype': u'Link',
|
"doctype": "DocField",
|
||||||
'in_filter': 1,
|
"label": "Allocated To",
|
||||||
'label': u'Customer',
|
"oldfieldname": "allocated_to",
|
||||||
'oldfieldname': u'customer',
|
"permlevel": 1,
|
||||||
'oldfieldtype': u'Link',
|
"fieldname": "allocated_to",
|
||||||
'options': u'Customer',
|
"fieldtype": "Link",
|
||||||
'permlevel': 1,
|
"oldfieldtype": "Link",
|
||||||
'print_hide': 1,
|
"options": "Profile",
|
||||||
'reqd': 0,
|
"in_filter": 1
|
||||||
'search_index': 1,
|
},
|
||||||
'trigger': u'Client'
|
{
|
||||||
},
|
"no_copy": 1,
|
||||||
|
"oldfieldtype": "Text",
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "Resolution Details",
|
||||||
'doctype': u'DocField',
|
"oldfieldname": "resolution_details",
|
||||||
'fieldname': u'customer_name',
|
"fieldname": "resolution_details",
|
||||||
'fieldtype': u'Data',
|
"fieldtype": "Text",
|
||||||
'in_filter': 1,
|
"depends_on": "eval:!doc.__islocal",
|
||||||
'label': u'Customer Name',
|
"permlevel": 1
|
||||||
'oldfieldname': u'customer_name',
|
},
|
||||||
'oldfieldtype': u'Data',
|
{
|
||||||
'permlevel': 2,
|
"depends_on": "eval:!doc.__islocal",
|
||||||
'reqd': 0,
|
"no_copy": 1,
|
||||||
'search_index': 0
|
"search_index": 0,
|
||||||
},
|
"colour": "White:FFF",
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"label": "Resolution Date",
|
||||||
{
|
"oldfieldname": "resolution_date",
|
||||||
'doctype': u'DocField',
|
"fieldname": "resolution_date",
|
||||||
'fieldname': u'address_display',
|
"fieldtype": "Date",
|
||||||
'fieldtype': u'Small Text',
|
"oldfieldtype": "Date",
|
||||||
'label': u'Address',
|
"permlevel": 1,
|
||||||
'permlevel': 2
|
"in_filter": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"oldfieldtype": "Time",
|
||||||
{
|
"doctype": "DocField",
|
||||||
'doctype': u'DocField',
|
"label": "Resolution Time",
|
||||||
'fieldname': u'contact_display',
|
"oldfieldname": "resolution_time",
|
||||||
'fieldtype': u'Data',
|
"fieldname": "resolution_time",
|
||||||
'label': u'Contact Name',
|
"fieldtype": "Time",
|
||||||
'permlevel': 2
|
"depends_on": "eval:!doc.__islocal",
|
||||||
},
|
"permlevel": 1
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"colour": "White:FFF",
|
||||||
'doctype': u'DocField',
|
"doctype": "DocField",
|
||||||
'fieldname': u'contact_mobile',
|
"label": "Content Type",
|
||||||
'fieldtype': u'Data',
|
"fieldname": "content_type",
|
||||||
'label': u'Mobile No',
|
"fieldtype": "Data",
|
||||||
'permlevel': 2
|
"hidden": 1,
|
||||||
},
|
"permlevel": 0
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"print_hide": 1,
|
||||||
'doctype': u'DocField',
|
"no_copy": 1,
|
||||||
'fieldname': u'contact_email',
|
"doctype": "DocField",
|
||||||
'fieldtype': u'Data',
|
"label": "File List",
|
||||||
'label': u'Contact Email',
|
"fieldname": "file_list",
|
||||||
'oldfieldname': u'contact_no',
|
"fieldtype": "Text",
|
||||||
'oldfieldtype': u'Data',
|
"hidden": 1,
|
||||||
'permlevel': 2
|
"permlevel": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
# DocField
|
"create": 1,
|
||||||
{
|
"doctype": "DocPerm",
|
||||||
'default': u'Today',
|
"write": 1,
|
||||||
'doctype': u'DocField',
|
"role": "Guest",
|
||||||
'fieldname': u'opening_date',
|
"cancel": 0,
|
||||||
'fieldtype': u'Date',
|
"permlevel": 0
|
||||||
'label': u'Opening Date',
|
},
|
||||||
'no_copy': 1,
|
{
|
||||||
'oldfieldname': u'opening_date',
|
"create": 1,
|
||||||
'oldfieldtype': u'Date',
|
"doctype": "DocPerm",
|
||||||
'permlevel': 1
|
"write": 1,
|
||||||
},
|
"role": "Customer",
|
||||||
|
"cancel": 0,
|
||||||
# DocField
|
"permlevel": 0
|
||||||
{
|
},
|
||||||
'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'opening_time',
|
"create": 1,
|
||||||
'fieldtype': u'Time',
|
"doctype": "DocPerm",
|
||||||
'label': u'Opening Time',
|
"write": 1,
|
||||||
'no_copy': 1,
|
"role": "Support Team",
|
||||||
'oldfieldname': u'opening_time',
|
"cancel": 1,
|
||||||
'oldfieldtype': u'Time',
|
"permlevel": 0
|
||||||
'permlevel': 1
|
},
|
||||||
},
|
{
|
||||||
|
"create": 0,
|
||||||
# DocField
|
"doctype": "DocPerm",
|
||||||
{
|
"write": 1,
|
||||||
'depends_on': u'eval:!doc.__islocal',
|
"role": "Support Team",
|
||||||
'doctype': u'DocField',
|
"cancel": 0,
|
||||||
'fieldname': u'column_break1',
|
"permlevel": 1
|
||||||
'fieldtype': u'Column Break',
|
},
|
||||||
'oldfieldtype': u'Column Break',
|
{
|
||||||
'permlevel': 1
|
"create": 0,
|
||||||
},
|
"doctype": "DocPerm",
|
||||||
|
"write": 0,
|
||||||
# DocField
|
"role": "Support Team",
|
||||||
{
|
"cancel": 0,
|
||||||
'colour': u'White:FFF',
|
"permlevel": 2
|
||||||
'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
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
@@ -1 +0,0 @@
|
|||||||
from __future__ import unicode_literals
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# ERPNext - web based ERP (http://erpnext.com)
|
|
||||||
# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
import webnotes
|
|
||||||
|
|
||||||
class DocType:
|
|
||||||
def __init__(self, d, dl):
|
|
||||||
self.doc, self.doclist = d, dl
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
# DocType, Support Ticket Response
|
|
||||||
[
|
|
||||||
|
|
||||||
# These values are common in all dictionaries
|
|
||||||
{
|
|
||||||
'creation': '2012-03-27 14:36:44',
|
|
||||||
'docstatus': 0,
|
|
||||||
'modified': '2012-03-27 14:36:44',
|
|
||||||
'modified_by': u'Administrator',
|
|
||||||
'owner': u'Administrator'
|
|
||||||
},
|
|
||||||
|
|
||||||
# These values are common for all DocType
|
|
||||||
{
|
|
||||||
'colour': u'White:FFF',
|
|
||||||
'doctype': 'DocType',
|
|
||||||
'istable': 1,
|
|
||||||
'module': u'Support',
|
|
||||||
'name': '__common__',
|
|
||||||
'section_style': u'Simple',
|
|
||||||
'show_in_menu': 0,
|
|
||||||
'version': 4
|
|
||||||
},
|
|
||||||
|
|
||||||
# These values are common for all DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'name': '__common__',
|
|
||||||
'parent': u'Support Ticket Response',
|
|
||||||
'parentfield': u'fields',
|
|
||||||
'parenttype': u'DocType',
|
|
||||||
'permlevel': 0
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocType, Support Ticket Response
|
|
||||||
{
|
|
||||||
'doctype': 'DocType',
|
|
||||||
'name': u'Support Ticket Response'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'mail',
|
|
||||||
'fieldtype': u'Text',
|
|
||||||
'label': u'Mail'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'from_email',
|
|
||||||
'fieldtype': u'Data',
|
|
||||||
'label': u'From Email'
|
|
||||||
},
|
|
||||||
|
|
||||||
# DocField
|
|
||||||
{
|
|
||||||
'doctype': u'DocField',
|
|
||||||
'fieldname': u'content_type',
|
|
||||||
'fieldtype': u'Data',
|
|
||||||
'label': u'Content Type'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,257 +1,301 @@
|
|||||||
# DocType, Contact
|
|
||||||
[
|
[
|
||||||
|
{
|
||||||
# These values are common in all dictionaries
|
"owner": "Administrator",
|
||||||
{
|
"docstatus": 0,
|
||||||
'creation': '2012-07-03 14:22:38',
|
"creation": "2012-08-06 11:15:46",
|
||||||
'docstatus': 0,
|
"modified_by": "Administrator",
|
||||||
'modified': '2012-08-02 13:16:48',
|
"modified": "2012-11-24 15:10:53"
|
||||||
'modified_by': u'Administrator',
|
},
|
||||||
'owner': u'Administrator'
|
{
|
||||||
},
|
"in_create": 0,
|
||||||
|
"default_print_format": "Standard",
|
||||||
# These values are common for all DocType
|
"doctype": "DocType",
|
||||||
{
|
"module": "Utilities",
|
||||||
'_last_update': u'1327314958',
|
"in_dialog": 1,
|
||||||
'allow_trash': 1,
|
"document_type": "Master",
|
||||||
'colour': u'White:FFF',
|
"name": "__common__"
|
||||||
'default_print_format': u'Standard',
|
},
|
||||||
'doctype': 'DocType',
|
{
|
||||||
'document_type': u'Master',
|
"name": "__common__",
|
||||||
'in_create': 0,
|
"parent": "Contact",
|
||||||
'in_dialog': 1,
|
"doctype": "DocField",
|
||||||
'module': u'Utilities',
|
"parenttype": "DocType",
|
||||||
'name': '__common__',
|
"parentfield": "fields"
|
||||||
'section_style': u'Simple',
|
},
|
||||||
'server_code_error': u' ',
|
{
|
||||||
'show_in_menu': 0,
|
"name": "__common__",
|
||||||
'subject': u'%(first_name)s %(last_name)s - Email: %(email_id)s | Contact: %(phone)s | Mobile: %(mobile_no)s',
|
"parent": "Contact",
|
||||||
'version': 1
|
"read": 1,
|
||||||
},
|
"doctype": "DocPerm",
|
||||||
|
"parenttype": "DocType",
|
||||||
# These values are common for all DocField
|
"parentfield": "permissions"
|
||||||
{
|
},
|
||||||
'doctype': u'DocField',
|
{
|
||||||
'name': '__common__',
|
"name": "Contact",
|
||||||
'parent': u'Contact',
|
"doctype": "DocType"
|
||||||
'parentfield': u'fields',
|
},
|
||||||
'parenttype': u'DocType'
|
{
|
||||||
},
|
"oldfieldtype": "Section Break",
|
||||||
|
"colour": "White:FFF",
|
||||||
# DocType, Contact
|
"doctype": "DocField",
|
||||||
{
|
"label": "Contact Details",
|
||||||
'doctype': 'DocType',
|
"fieldname": "contact_details",
|
||||||
'name': u'Contact'
|
"fieldtype": "Section Break",
|
||||||
},
|
"permlevel": 0
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"oldfieldtype": "Column Break",
|
||||||
'colour': u'White:FFF',
|
"doctype": "DocField",
|
||||||
'doctype': u'DocField',
|
"width": "50%",
|
||||||
'fieldname': u'contact_details',
|
"fieldname": "column_break0",
|
||||||
'fieldtype': u'Section Break',
|
"fieldtype": "Column Break",
|
||||||
'label': u'Contact Details',
|
"permlevel": 0
|
||||||
'oldfieldtype': u'Section Break',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"oldfieldtype": "Data",
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"label": "First Name",
|
||||||
{
|
"oldfieldname": "first_name",
|
||||||
'doctype': u'DocField',
|
"fieldname": "first_name",
|
||||||
'fieldname': u'column_break0',
|
"fieldtype": "Data",
|
||||||
'fieldtype': u'Column Break',
|
"reqd": 1,
|
||||||
'oldfieldtype': u'Column Break',
|
"permlevel": 0
|
||||||
'permlevel': 0,
|
},
|
||||||
'width': u'50%'
|
{
|
||||||
},
|
"oldfieldtype": "Data",
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"label": "Last Name",
|
||||||
{
|
"oldfieldname": "last_name",
|
||||||
'doctype': u'DocField',
|
"fieldname": "last_name",
|
||||||
'fieldname': u'first_name',
|
"fieldtype": "Data",
|
||||||
'fieldtype': u'Data',
|
"permlevel": 0
|
||||||
'label': u'First Name',
|
},
|
||||||
'oldfieldname': u'first_name',
|
{
|
||||||
'oldfieldtype': u'Data',
|
"print_hide": 0,
|
||||||
'permlevel': 0,
|
"oldfieldtype": "Link",
|
||||||
'reqd': 1
|
"colour": "White:FFF",
|
||||||
},
|
"doctype": "DocField",
|
||||||
|
"label": "Customer",
|
||||||
# DocField
|
"oldfieldname": "customer",
|
||||||
{
|
"permlevel": 0,
|
||||||
'doctype': u'DocField',
|
"trigger": "Client",
|
||||||
'fieldname': u'last_name',
|
"fieldname": "customer",
|
||||||
'fieldtype': u'Data',
|
"fieldtype": "Link",
|
||||||
'label': u'Last Name',
|
"depends_on": "eval:!doc.supplier && !doc.sales_partner",
|
||||||
'oldfieldname': u'last_name',
|
"options": "Customer"
|
||||||
'oldfieldtype': u'Data',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"depends_on": "eval:!doc.supplier && !doc.sales_partner",
|
||||||
|
"colour": "White:FFF",
|
||||||
# DocField
|
"doctype": "DocField",
|
||||||
{
|
"label": "Customer Name",
|
||||||
'colour': u'White:FFF',
|
"fieldname": "customer_name",
|
||||||
'depends_on': u'eval:!doc.supplier && !doc.sales_partner',
|
"fieldtype": "Data",
|
||||||
'doctype': u'DocField',
|
"permlevel": 1
|
||||||
'fieldname': u'customer',
|
},
|
||||||
'fieldtype': u'Link',
|
{
|
||||||
'label': u'Customer',
|
"depends_on": "eval:!doc.customer && !doc.sales_partner",
|
||||||
'oldfieldname': u'customer',
|
"colour": "White:FFF",
|
||||||
'oldfieldtype': u'Link',
|
"doctype": "DocField",
|
||||||
'options': u'Customer',
|
"label": "Supplier",
|
||||||
'permlevel': 0,
|
"trigger": "Client",
|
||||||
'print_hide': 0,
|
"fieldname": "supplier",
|
||||||
'trigger': u'Client'
|
"fieldtype": "Link",
|
||||||
},
|
"options": "Supplier",
|
||||||
|
"permlevel": 0
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
'colour': u'White:FFF',
|
"depends_on": "eval:!doc.customer && !doc.sales_partner",
|
||||||
'depends_on': u'eval:!doc.supplier && !doc.sales_partner',
|
"colour": "White:FFF",
|
||||||
'doctype': u'DocField',
|
"allow_on_submit": 0,
|
||||||
'fieldname': u'customer_name',
|
"doctype": "DocField",
|
||||||
'fieldtype': u'Data',
|
"label": "Supplier Name",
|
||||||
'label': u'Customer Name',
|
"fieldname": "supplier_name",
|
||||||
'permlevel': 1
|
"fieldtype": "Data",
|
||||||
},
|
"permlevel": 1
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"depends_on": "eval:!doc.customer && !doc.supplier",
|
||||||
'colour': u'White:FFF',
|
"colour": "White:FFF",
|
||||||
'depends_on': u'eval:!doc.customer && !doc.sales_partner',
|
"doctype": "DocField",
|
||||||
'doctype': u'DocField',
|
"label": "Sales Partner",
|
||||||
'fieldname': u'supplier',
|
"options": "Sales Partner",
|
||||||
'fieldtype': u'Link',
|
"fieldname": "sales_partner",
|
||||||
'label': u'Supplier',
|
"fieldtype": "Link",
|
||||||
'options': u'Supplier',
|
"permlevel": 0
|
||||||
'permlevel': 0,
|
},
|
||||||
'trigger': u'Client'
|
{
|
||||||
},
|
"default": "0",
|
||||||
|
"oldfieldtype": "Select",
|
||||||
# DocField
|
"colour": "White:FFF",
|
||||||
{
|
"doctype": "DocField",
|
||||||
'allow_on_submit': 0,
|
"label": "Is Primary Contact",
|
||||||
'colour': u'White:FFF',
|
"oldfieldname": "is_primary_contact",
|
||||||
'depends_on': u'eval:!doc.customer && !doc.sales_partner',
|
"fieldname": "is_primary_contact",
|
||||||
'doctype': u'DocField',
|
"fieldtype": "Check",
|
||||||
'fieldname': u'supplier_name',
|
"depends_on": "eval:(doc.customer || doc.supplier || doc.sales_partner)",
|
||||||
'fieldtype': u'Data',
|
"permlevel": 0
|
||||||
'label': u'Supplier Name',
|
},
|
||||||
'permlevel': 1
|
{
|
||||||
},
|
"oldfieldtype": "Column Break",
|
||||||
|
"doctype": "DocField",
|
||||||
# DocField
|
"width": "50%",
|
||||||
{
|
"fieldname": "column_break1",
|
||||||
'colour': u'White:FFF',
|
"fieldtype": "Column Break",
|
||||||
'depends_on': u'eval:!doc.customer && !doc.supplier',
|
"permlevel": 0
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'sales_partner',
|
{
|
||||||
'fieldtype': u'Link',
|
"oldfieldtype": "Data",
|
||||||
'label': u'Sales Partner',
|
"colour": "White:FFF",
|
||||||
'options': u'Sales Partner',
|
"doctype": "DocField",
|
||||||
'permlevel': 0
|
"label": "Email Id",
|
||||||
},
|
"oldfieldname": "email_id",
|
||||||
|
"fieldname": "email_id",
|
||||||
# DocField
|
"fieldtype": "Data",
|
||||||
{
|
"search_index": 1,
|
||||||
'colour': u'White:FFF',
|
"reqd": 1,
|
||||||
'default': u'0',
|
"permlevel": 0
|
||||||
'depends_on': u'eval:(doc.customer || doc.supplier || doc.sales_partner)',
|
},
|
||||||
'doctype': u'DocField',
|
{
|
||||||
'fieldname': u'is_primary_contact',
|
"oldfieldtype": "Data",
|
||||||
'fieldtype': u'Check',
|
"doctype": "DocField",
|
||||||
'label': u'Is Primary Contact',
|
"label": "Phone",
|
||||||
'oldfieldname': u'is_primary_contact',
|
"oldfieldname": "contact_no",
|
||||||
'oldfieldtype': u'Select',
|
"fieldname": "phone",
|
||||||
'permlevel': 0
|
"fieldtype": "Data",
|
||||||
},
|
"reqd": 1,
|
||||||
|
"permlevel": 0
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
"oldfieldtype": "Data",
|
||||||
'fieldname': u'column_break1',
|
"doctype": "DocField",
|
||||||
'fieldtype': u'Column Break',
|
"label": "Mobile No",
|
||||||
'oldfieldtype': u'Column Break',
|
"oldfieldname": "mobile_no",
|
||||||
'permlevel': 0,
|
"fieldname": "mobile_no",
|
||||||
'width': u'50%'
|
"fieldtype": "Data",
|
||||||
},
|
"permlevel": 0
|
||||||
|
},
|
||||||
# DocField
|
{
|
||||||
{
|
"description": "Enter department to which this Contact belongs",
|
||||||
'doctype': u'DocField',
|
"colour": "White:FFF",
|
||||||
'fieldname': u'email_id',
|
"doctype": "DocField",
|
||||||
'fieldtype': u'Data',
|
"label": "Department",
|
||||||
'label': u'Email Id',
|
"options": "Suggest",
|
||||||
'oldfieldname': u'email_id',
|
"fieldname": "department",
|
||||||
'oldfieldtype': u'Data',
|
"fieldtype": "Data",
|
||||||
'permlevel': 0,
|
"permlevel": 0
|
||||||
'reqd': 1
|
},
|
||||||
},
|
{
|
||||||
|
"description": "Enter designation of this Contact",
|
||||||
# DocField
|
"colour": "White:FFF",
|
||||||
{
|
"doctype": "DocField",
|
||||||
'doctype': u'DocField',
|
"label": "Designation",
|
||||||
'fieldname': u'phone',
|
"options": "Suggest",
|
||||||
'fieldtype': u'Data',
|
"fieldname": "designation",
|
||||||
'label': u'Phone',
|
"fieldtype": "Data",
|
||||||
'oldfieldname': u'contact_no',
|
"permlevel": 0
|
||||||
'oldfieldtype': u'Data',
|
},
|
||||||
'permlevel': 0,
|
{
|
||||||
'reqd': 1
|
"doctype": "DocField",
|
||||||
},
|
"label": "Unsubscribed",
|
||||||
|
"fieldname": "unsubscribed",
|
||||||
# DocField
|
"fieldtype": "Check",
|
||||||
{
|
"permlevel": 0
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'mobile_no',
|
{
|
||||||
'fieldtype': u'Data',
|
"oldfieldtype": "Small Text",
|
||||||
'label': u'Mobile No',
|
"doctype": "DocField",
|
||||||
'oldfieldname': u'mobile_no',
|
"label": "Trash Reason",
|
||||||
'oldfieldtype': u'Data',
|
"oldfieldname": "trash_reason",
|
||||||
'permlevel': 0
|
"fieldname": "trash_reason",
|
||||||
},
|
"fieldtype": "Small Text",
|
||||||
|
"permlevel": 1
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
'colour': u'White:FFF',
|
"create": 1,
|
||||||
'description': u'Enter department to which this Contact belongs',
|
"doctype": "DocPerm",
|
||||||
'doctype': u'DocField',
|
"write": 1,
|
||||||
'fieldname': u'department',
|
"role": "System Manager",
|
||||||
'fieldtype': u'Data',
|
"cancel": 1,
|
||||||
'label': u'Department',
|
"permlevel": 0
|
||||||
'options': u'Suggest',
|
},
|
||||||
'permlevel': 0
|
{
|
||||||
},
|
"amend": 0,
|
||||||
|
"create": 1,
|
||||||
# DocField
|
"doctype": "DocPerm",
|
||||||
{
|
"submit": 0,
|
||||||
'colour': u'White:FFF',
|
"write": 1,
|
||||||
'description': u'Enter designation of this Contact',
|
"role": "Sales Master Manager",
|
||||||
'doctype': u'DocField',
|
"cancel": 1,
|
||||||
'fieldname': u'designation',
|
"permlevel": 0
|
||||||
'fieldtype': u'Data',
|
},
|
||||||
'label': u'Designation',
|
{
|
||||||
'options': u'Suggest',
|
"create": 1,
|
||||||
'permlevel': 0
|
"doctype": "DocPerm",
|
||||||
},
|
"write": 1,
|
||||||
|
"role": "Purchase Master Manager",
|
||||||
# DocField
|
"cancel": 1,
|
||||||
{
|
"permlevel": 0
|
||||||
'doctype': u'DocField',
|
},
|
||||||
'fieldname': u'unsubscribed',
|
{
|
||||||
'fieldtype': u'Check',
|
"create": 1,
|
||||||
'label': u'Unsubscribed',
|
"doctype": "DocPerm",
|
||||||
'permlevel': 0
|
"write": 1,
|
||||||
},
|
"role": "Sales Manager",
|
||||||
|
"permlevel": 0
|
||||||
# DocField
|
},
|
||||||
{
|
{
|
||||||
'doctype': u'DocField',
|
"create": 1,
|
||||||
'fieldname': u'trash_reason',
|
"doctype": "DocPerm",
|
||||||
'fieldtype': u'Small Text',
|
"write": 1,
|
||||||
'label': u'Trash Reason',
|
"role": "Purchase Manager",
|
||||||
'oldfieldname': u'trash_reason',
|
"permlevel": 0
|
||||||
'oldfieldtype': u'Small Text',
|
},
|
||||||
'permlevel': 1
|
{
|
||||||
}
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"write": 1,
|
||||||
|
"role": "Maintenance Manager",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"write": 1,
|
||||||
|
"role": "Accounts Manager",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"write": 1,
|
||||||
|
"role": "Sales User",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"write": 1,
|
||||||
|
"role": "Purchase User",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"write": 1,
|
||||||
|
"role": "Maintenance User",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"write": 1,
|
||||||
|
"role": "Accounts User",
|
||||||
|
"permlevel": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doctype": "DocPerm",
|
||||||
|
"role": "All",
|
||||||
|
"permlevel": 1
|
||||||
|
}
|
||||||
]
|
]
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<button class="btn btn-small" onclick="erpnext.calendar.refresh('Month')">
|
<button class="btn btn-small" onclick="erpnext.calendar.refresh('Month')">
|
||||||
Month View
|
Month View
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-small" onclick="erpnext.calendar.refresh()">
|
<button class="btn btn-small" onclick="erpnext.calendar.refresh(null, true)">
|
||||||
<i class="icon-refresh"></i> Refresh
|
<i class="icon-refresh"></i> Refresh
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -241,9 +241,19 @@ Calendar.prototype.set_event = function(ev) {
|
|||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
||||||
Calendar.prototype.refresh = function(viewtype){//Sets the viewtype of the Calendar and Calls the View class based on the viewtype
|
Calendar.prototype.clear = function() {
|
||||||
|
this.events = {};
|
||||||
|
this.events_by_name = {};
|
||||||
|
locals.Event = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
Calendar.prototype.refresh = function(viewtype, clear_events){//Sets the viewtype of the Calendar and Calls the View class based on the viewtype
|
||||||
if(viewtype)
|
if(viewtype)
|
||||||
this.viewtype = viewtype;
|
this.viewtype = viewtype;
|
||||||
|
|
||||||
|
if(clear_events)
|
||||||
|
this.clear();
|
||||||
|
|
||||||
// switch view if reqd
|
// switch view if reqd
|
||||||
if(this.cur_view.viewtype!=this.viewtype) {
|
if(this.cur_view.viewtype!=this.viewtype) {
|
||||||
this.cur_view.hide();
|
this.cur_view.hide();
|
||||||
@@ -252,6 +262,7 @@ Calendar.prototype.refresh = function(viewtype){//Sets the viewtype of the Calen
|
|||||||
this.cur_view.show();
|
this.cur_view.show();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
this.cur_view.get_events();
|
||||||
this.cur_view.refresh(this);
|
this.cur_view.refresh(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user