Merge branch 'master' of github.com:webnotes/erpnext

This commit is contained in:
Rushabh Mehta 2012-11-24 11:16:16 +01:00
commit 1d1d96641d
13 changed files with 1295 additions and 1478 deletions

View File

@ -1,4 +1,7 @@
erpnext.updates = [
["24ht November 2012", [
"Support Ticket: Support Ticket Response is now Communication",
]],
["23rd November 2012", [
"General Ledger: Auto-suggest Accounts for filtering",
"Calendar: User Interface Fixes, small text for events",

View File

@ -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")

View File

@ -679,4 +679,8 @@ patch_list = [
'patch_module': 'patches.november_2012',
'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

View File

@ -1,406 +1,340 @@
# DocType, Communication
[
# These values are common in all dictionaries
{
u'creation': '2012-08-31 17:14:18',
u'docstatus': 0,
u'modified': '2012-11-14 12:15:56',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
# These values are common for all DocType
{
'allow_attach': 1,
'description': u'Keep a track of all communications',
u'doctype': u'DocType',
'document_type': u'Master',
'in_dialog': 1,
'module': u'Support',
u'name': u'__common__',
'version': 1
},
# These values are common for all DocField
{
u'doctype': u'DocField',
u'name': u'__common__',
'parent': u'Communication',
'parentfield': u'fields',
'parenttype': u'DocType'
},
# These values are common for all DocPerm
{
u'doctype': u'DocPerm',
u'name': u'__common__',
'parent': u'Communication',
'parentfield': u'permissions',
'parenttype': u'DocType',
'read': 1,
'write': 1
},
# DocType, Communication
{
u'doctype': u'DocType',
u'name': u'Communication'
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'basic_info',
'fieldtype': u'Section Break',
'label': u'Basic Info',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'default': u'COMM-',
u'doctype': u'DocField',
'fieldname': u'naming_series',
'fieldtype': u'Select',
'hidden': 1,
'label': u'Naming Series',
'options': u'COMM-',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'category',
'fieldtype': u'Select',
'label': u'Category',
'options': u'\nSales\nComplaint\nHelp\nSuggestion\nMiscellaneous\nSent Mail',
'permlevel': 0,
'reqd': 1
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'action',
'fieldtype': u'Select',
'label': u'Action',
'options': u'\nCreated Opportunity\nSent Quotation\nCreated Support Ticket\nCreated Customer Issue\nNo Action\nSent Mail',
'permlevel': 0,
'reqd': 1
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'next_communication_date',
'fieldtype': u'Date',
'label': u'Next Communcation On',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'column_break2',
'fieldtype': u'Column Break',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'subject',
'fieldtype': u'Small Text',
'label': u'Subject',
'permlevel': 0,
'reqd': 1
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'section_break1',
'fieldtype': u'Section Break',
'options': u'simple',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'content',
'fieldtype': u'Text',
'label': u'Content',
'permlevel': 0,
'reqd': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'additional_info',
'fieldtype': u'Section Break',
'label': u'Additional Info',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
u'doctype': u'DocField',
'fieldname': u'column_break3',
'fieldtype': u'Column Break',
'label': u'Related To',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'lead',
'fieldtype': u'Link',
'hidden': 0,
'label': u'Lead',
'options': u'Lead',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'contact',
'fieldtype': u'Link',
'label': u'Contact',
'options': u'Contact',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'customer',
'fieldtype': u'Link',
'label': u'Customer',
'options': u'Customer',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'supplier',
'fieldtype': u'Link',
'label': u'Supplier',
'options': u'Supplier',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'opportunity',
'fieldtype': u'Link',
'label': u'Opportunity',
'options': u'Opportunity',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'quotation',
'fieldtype': u'Link',
'label': u'Quotation',
'options': u'Quotation',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'support_ticket',
'fieldtype': u'Link',
'label': u'Support Ticket',
'options': u'Support Ticket',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'column_break1',
'fieldtype': u'Column Break',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'communication_medium',
'fieldtype': u'Select',
'label': u'Communication Medium',
'options': u'\nChat\nPhone\nEmail\nSMS\nVisit\nOther',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'phone_no',
'fieldtype': u'Data',
'label': u'Phone No.',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'email_address',
'fieldtype': u'Data',
'label': u'Email Address',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'section_break2',
'fieldtype': u'Section Break',
'options': u'simple',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'column_break4',
'fieldtype': u'Column Break',
'label': u'By',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'default': u'__user',
u'doctype': u'DocField',
'fieldname': u'user',
'fieldtype': u'Link',
'label': u'User',
'options': u'Profile',
'permlevel': 1
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'sales_person',
'fieldtype': u'Link',
'label': u'Sales Person',
'options': u'Sales Person',
'permlevel': 1
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'column_break5',
'fieldtype': u'Column Break',
'label': u'On',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'default': u'Today',
u'doctype': u'DocField',
'fieldname': u'communication_date',
'fieldtype': u'Date',
'label': u'Date',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'file_list',
'fieldtype': u'Text',
'hidden': 1,
'label': u'File List',
'no_copy': 1,
'permlevel': 0,
'print_hide': 1
},
# DocField
{
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'
}
{
"owner": "Administrator",
"docstatus": 0,
"creation": "2012-11-14 12:25:16",
"modified_by": "Administrator",
"modified": "2012-11-24 15:22:32"
},
{
"allow_attach": 1,
"doctype": "DocType",
"module": "Support",
"name": "__common__",
"in_dialog": 1,
"document_type": "Master",
"description": "Keep a track of all communications"
},
{
"name": "__common__",
"parent": "Communication",
"doctype": "DocField",
"parenttype": "DocType",
"parentfield": "fields"
},
{
"name": "__common__",
"parent": "Communication",
"read": 1,
"doctype": "DocPerm",
"write": 1,
"parenttype": "DocType",
"parentfield": "permissions"
},
{
"name": "Communication",
"doctype": "DocType"
},
{
"doctype": "DocField",
"label": "Basic Info",
"fieldname": "basic_info",
"fieldtype": "Section Break",
"permlevel": 0
},
{
"default": "COMM-",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Naming Series",
"options": "COMM-",
"fieldname": "naming_series",
"fieldtype": "Select",
"hidden": 1,
"permlevel": 0
},
{
"colour": "White:FFF",
"doctype": "DocField",
"label": "Subject",
"fieldname": "subject",
"fieldtype": "Data",
"reqd": 1,
"permlevel": 0
},
{
"colour": "White:FFF",
"doctype": "DocField",
"label": "Content",
"width": "400",
"fieldname": "content",
"fieldtype": "Text",
"reqd": 0,
"permlevel": 0
},
{
"doctype": "DocField",
"options": "simple",
"fieldname": "section_break1",
"fieldtype": "Section Break",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Category",
"options": "\nSales\nComplaint\nHelp\nSuggestion\nMiscellaneous\nSent Mail",
"fieldname": "category",
"fieldtype": "Select",
"reqd": 0,
"permlevel": 0
},
{
"doctype": "DocField",
"fieldname": "column_break2",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Next Communcation On",
"fieldname": "next_communication_date",
"fieldtype": "Date",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Action",
"options": "\nCreated Opportunity\nSent Quotation\nCreated Support Ticket\nCreated Customer Issue\nNo Action\nSent Mail",
"fieldname": "action",
"fieldtype": "Select",
"reqd": 0,
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Additional Info",
"fieldname": "additional_info",
"fieldtype": "Section Break",
"permlevel": 0
},
{
"colour": "White:FFF",
"doctype": "DocField",
"label": "Related To",
"fieldname": "column_break3",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Lead",
"options": "Lead",
"fieldname": "lead",
"fieldtype": "Link",
"hidden": 0,
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Contact",
"options": "Contact",
"fieldname": "contact",
"fieldtype": "Link",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Customer",
"options": "Customer",
"fieldname": "customer",
"fieldtype": "Link",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Supplier",
"options": "Supplier",
"fieldname": "supplier",
"fieldtype": "Link",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Opportunity",
"options": "Opportunity",
"fieldname": "opportunity",
"fieldtype": "Link",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Quotation",
"options": "Quotation",
"fieldname": "quotation",
"fieldtype": "Link",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Support Ticket",
"options": "Support Ticket",
"fieldname": "support_ticket",
"fieldtype": "Link",
"permlevel": 0
},
{
"doctype": "DocField",
"fieldname": "column_break1",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Communication Medium",
"options": "\nChat\nPhone\nEmail\nSMS\nVisit\nOther",
"fieldname": "communication_medium",
"fieldtype": "Select",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Phone No.",
"fieldname": "phone_no",
"fieldtype": "Data",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Email Address",
"fieldname": "email_address",
"fieldtype": "Data",
"permlevel": 0
},
{
"doctype": "DocField",
"options": "simple",
"fieldname": "section_break2",
"fieldtype": "Section Break",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "By",
"fieldname": "column_break4",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"default": "__user",
"colour": "White:FFF",
"doctype": "DocField",
"label": "User",
"options": "Profile",
"fieldname": "user",
"fieldtype": "Link",
"permlevel": 1
},
{
"doctype": "DocField",
"label": "Sales Person",
"options": "Sales Person",
"fieldname": "sales_person",
"fieldtype": "Link",
"permlevel": 1
},
{
"doctype": "DocField",
"label": "On",
"fieldname": "column_break5",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"default": "Today",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Date",
"fieldname": "communication_date",
"fieldtype": "Date",
"permlevel": 0
},
{
"print_hide": 1,
"no_copy": 1,
"doctype": "DocField",
"label": "File List",
"fieldname": "file_list",
"fieldtype": "Text",
"hidden": 1,
"permlevel": 0
},
{
"print_hide": 1,
"no_copy": 1,
"doctype": "DocField",
"label": "User Tags",
"fieldname": "_user_tags",
"fieldtype": "Data",
"hidden": 1,
"permlevel": 0
},
{
"amend": 0,
"create": 1,
"doctype": "DocPerm",
"submit": 0,
"role": "Support Team",
"cancel": 1,
"permlevel": 0
},
{
"amend": 0,
"create": 1,
"doctype": "DocPerm",
"submit": 0,
"role": "Sales Manager",
"cancel": 1,
"permlevel": 0
},
{
"amend": 0,
"create": 1,
"doctype": "DocPerm",
"submit": 0,
"role": "Sales User",
"cancel": 1,
"permlevel": 0
},
{
"amend": 0,
"create": 0,
"doctype": "DocPerm",
"submit": 0,
"role": "Sales Manager",
"cancel": 0,
"permlevel": 1
},
{
"amend": 0,
"create": 0,
"doctype": "DocPerm",
"submit": 0,
"role": "Support Manager",
"cancel": 0,
"permlevel": 1
},
{
"create": 1,
"doctype": "DocPerm",
"role": "Support Manager",
"cancel": 1,
"permlevel": 0
},
{
"create": 1,
"doctype": "DocPerm",
"role": "System Manager",
"cancel": 1,
"permlevel": 0
}
]

View File

@ -75,10 +75,9 @@ $.extend(cur_frm.cscript, {
// render first message
new EmailMessage($a(cur_frm.fields_dict['thread_html'].wrapper, 'div'), {
from_email: doc.raised_by,
email_address: doc.raised_by,
creation: doc.creation,
mail: doc.description,
content_type: doc.content_type
content: doc.description,
}, null, -1)
// render thread
@ -86,8 +85,8 @@ $.extend(cur_frm.cscript, {
parent: $a(cur_frm.fields_dict['thread_html'].wrapper, 'div'),
no_result_message: 'No responses yet',
get_query: function() {
return 'select mail, from_email, creation, content_type '+
'from `tabSupport Ticket Response` where parent="'+doc.name+'" order by creation asc'
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) {
@ -148,8 +147,8 @@ EmailMessage = function(parent, args, list, idx) {
$.extend(this, args);
this.make = function() {
this.creation = wn.datetime.str_to_user(this.creation);
if(this.from_email)
this.from_email = this.from_email.replace('<', '&lt;').replace('>', '&gt;');
if(this.email_address)
this.email_address = this.email_address.replace('<', '&lt;').replace('>', '&gt;');
// main wrapper
w = $a(parent, 'div', 'support-ticket-wrapper well');
@ -157,7 +156,7 @@ EmailMessage = function(parent, args, list, idx) {
// sender and timestamp
$a($a(w, 'div', 'support-ticket-title'),
'span', 'link_type', {}, repl('By %(from_email)s on %(creation)s:', this),
'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') {
@ -175,11 +174,10 @@ EmailMessage = function(parent, args, list, idx) {
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
(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.mail)
: this.content
);
// show only first and last message

View File

@ -64,8 +64,8 @@ class DocType(TransactionBase):
def last_response(self):
"""return last response"""
tmp = webnotes.conn.sql("""select mail from `tabSupport Ticket Response`
where parent = %s order by creation desc limit 1
tmp = webnotes.conn.sql("""select content from `tabCommunication`
where support_ticket = %s order by creation desc limit 1
""", self.doc.name)
if not tmp:
@ -84,17 +84,21 @@ class DocType(TransactionBase):
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
from webnotes.model.doc import Document
d = Document('Support Ticket Response')
d.from_email = from_email or webnotes.user.name
d.parent = self.doc.name
d.parenttype = "Support Ticket"
d.parentfield = "responses"
d.mail = response
d.content_type = content_type
# add to Communication
import email.utils
d = webnotes.doc('Communication')
d.naming_series = "COMM-"
d.subject = self.doc.subject
d.email_address = from_email or webnotes.user.name
email_addr = email.utils.parseaddr(d.email_address)[1]
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)
def close_ticket(self):

View File

@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@ -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

View File

@ -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'
}
]

View File

@ -1,257 +1,301 @@
# DocType, Contact
[
# These values are common in all dictionaries
{
'creation': '2012-07-03 14:22:38',
'docstatus': 0,
'modified': '2012-08-02 13:16:48',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
# These values are common for all DocType
{
'_last_update': u'1327314958',
'allow_trash': 1,
'colour': u'White:FFF',
'default_print_format': u'Standard',
'doctype': 'DocType',
'document_type': u'Master',
'in_create': 0,
'in_dialog': 1,
'module': u'Utilities',
'name': '__common__',
'section_style': u'Simple',
'server_code_error': u' ',
'show_in_menu': 0,
'subject': u'%(first_name)s %(last_name)s - Email: %(email_id)s | Contact: %(phone)s | Mobile: %(mobile_no)s',
'version': 1
},
# These values are common for all DocField
{
'doctype': u'DocField',
'name': '__common__',
'parent': u'Contact',
'parentfield': u'fields',
'parenttype': u'DocType'
},
# DocType, Contact
{
'doctype': 'DocType',
'name': u'Contact'
},
# DocField
{
'colour': u'White:FFF',
'doctype': u'DocField',
'fieldname': u'contact_details',
'fieldtype': u'Section Break',
'label': u'Contact Details',
'oldfieldtype': u'Section Break',
'permlevel': 0
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'column_break0',
'fieldtype': u'Column Break',
'oldfieldtype': u'Column Break',
'permlevel': 0,
'width': u'50%'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'first_name',
'fieldtype': u'Data',
'label': u'First Name',
'oldfieldname': u'first_name',
'oldfieldtype': u'Data',
'permlevel': 0,
'reqd': 1
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'last_name',
'fieldtype': u'Data',
'label': u'Last Name',
'oldfieldname': u'last_name',
'oldfieldtype': u'Data',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'depends_on': u'eval:!doc.supplier && !doc.sales_partner',
'doctype': u'DocField',
'fieldname': u'customer',
'fieldtype': u'Link',
'label': u'Customer',
'oldfieldname': u'customer',
'oldfieldtype': u'Link',
'options': u'Customer',
'permlevel': 0,
'print_hide': 0,
'trigger': u'Client'
},
# DocField
{
'colour': u'White:FFF',
'depends_on': u'eval:!doc.supplier && !doc.sales_partner',
'doctype': u'DocField',
'fieldname': u'customer_name',
'fieldtype': u'Data',
'label': u'Customer Name',
'permlevel': 1
},
# DocField
{
'colour': u'White:FFF',
'depends_on': u'eval:!doc.customer && !doc.sales_partner',
'doctype': u'DocField',
'fieldname': u'supplier',
'fieldtype': u'Link',
'label': u'Supplier',
'options': u'Supplier',
'permlevel': 0,
'trigger': u'Client'
},
# DocField
{
'allow_on_submit': 0,
'colour': u'White:FFF',
'depends_on': u'eval:!doc.customer && !doc.sales_partner',
'doctype': u'DocField',
'fieldname': u'supplier_name',
'fieldtype': u'Data',
'label': u'Supplier Name',
'permlevel': 1
},
# DocField
{
'colour': u'White:FFF',
'depends_on': u'eval:!doc.customer && !doc.supplier',
'doctype': u'DocField',
'fieldname': u'sales_partner',
'fieldtype': u'Link',
'label': u'Sales Partner',
'options': u'Sales Partner',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'default': u'0',
'depends_on': u'eval:(doc.customer || doc.supplier || doc.sales_partner)',
'doctype': u'DocField',
'fieldname': u'is_primary_contact',
'fieldtype': u'Check',
'label': u'Is Primary Contact',
'oldfieldname': u'is_primary_contact',
'oldfieldtype': u'Select',
'permlevel': 0
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'column_break1',
'fieldtype': u'Column Break',
'oldfieldtype': u'Column Break',
'permlevel': 0,
'width': u'50%'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'email_id',
'fieldtype': u'Data',
'label': u'Email Id',
'oldfieldname': u'email_id',
'oldfieldtype': u'Data',
'permlevel': 0,
'reqd': 1
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'phone',
'fieldtype': u'Data',
'label': u'Phone',
'oldfieldname': u'contact_no',
'oldfieldtype': u'Data',
'permlevel': 0,
'reqd': 1
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'mobile_no',
'fieldtype': u'Data',
'label': u'Mobile No',
'oldfieldname': u'mobile_no',
'oldfieldtype': u'Data',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'description': u'Enter department to which this Contact belongs',
'doctype': u'DocField',
'fieldname': u'department',
'fieldtype': u'Data',
'label': u'Department',
'options': u'Suggest',
'permlevel': 0
},
# DocField
{
'colour': u'White:FFF',
'description': u'Enter designation of this Contact',
'doctype': u'DocField',
'fieldname': u'designation',
'fieldtype': u'Data',
'label': u'Designation',
'options': u'Suggest',
'permlevel': 0
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'unsubscribed',
'fieldtype': u'Check',
'label': u'Unsubscribed',
'permlevel': 0
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'trash_reason',
'fieldtype': u'Small Text',
'label': u'Trash Reason',
'oldfieldname': u'trash_reason',
'oldfieldtype': u'Small Text',
'permlevel': 1
}
{
"owner": "Administrator",
"docstatus": 0,
"creation": "2012-08-06 11:15:46",
"modified_by": "Administrator",
"modified": "2012-11-24 15:10:53"
},
{
"in_create": 0,
"default_print_format": "Standard",
"doctype": "DocType",
"module": "Utilities",
"in_dialog": 1,
"document_type": "Master",
"name": "__common__"
},
{
"name": "__common__",
"parent": "Contact",
"doctype": "DocField",
"parenttype": "DocType",
"parentfield": "fields"
},
{
"name": "__common__",
"parent": "Contact",
"read": 1,
"doctype": "DocPerm",
"parenttype": "DocType",
"parentfield": "permissions"
},
{
"name": "Contact",
"doctype": "DocType"
},
{
"oldfieldtype": "Section Break",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Contact Details",
"fieldname": "contact_details",
"fieldtype": "Section Break",
"permlevel": 0
},
{
"oldfieldtype": "Column Break",
"doctype": "DocField",
"width": "50%",
"fieldname": "column_break0",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"oldfieldtype": "Data",
"doctype": "DocField",
"label": "First Name",
"oldfieldname": "first_name",
"fieldname": "first_name",
"fieldtype": "Data",
"reqd": 1,
"permlevel": 0
},
{
"oldfieldtype": "Data",
"doctype": "DocField",
"label": "Last Name",
"oldfieldname": "last_name",
"fieldname": "last_name",
"fieldtype": "Data",
"permlevel": 0
},
{
"print_hide": 0,
"oldfieldtype": "Link",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Customer",
"oldfieldname": "customer",
"permlevel": 0,
"trigger": "Client",
"fieldname": "customer",
"fieldtype": "Link",
"depends_on": "eval:!doc.supplier && !doc.sales_partner",
"options": "Customer"
},
{
"depends_on": "eval:!doc.supplier && !doc.sales_partner",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Customer Name",
"fieldname": "customer_name",
"fieldtype": "Data",
"permlevel": 1
},
{
"depends_on": "eval:!doc.customer && !doc.sales_partner",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Supplier",
"trigger": "Client",
"fieldname": "supplier",
"fieldtype": "Link",
"options": "Supplier",
"permlevel": 0
},
{
"depends_on": "eval:!doc.customer && !doc.sales_partner",
"colour": "White:FFF",
"allow_on_submit": 0,
"doctype": "DocField",
"label": "Supplier Name",
"fieldname": "supplier_name",
"fieldtype": "Data",
"permlevel": 1
},
{
"depends_on": "eval:!doc.customer && !doc.supplier",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Sales Partner",
"options": "Sales Partner",
"fieldname": "sales_partner",
"fieldtype": "Link",
"permlevel": 0
},
{
"default": "0",
"oldfieldtype": "Select",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Is Primary Contact",
"oldfieldname": "is_primary_contact",
"fieldname": "is_primary_contact",
"fieldtype": "Check",
"depends_on": "eval:(doc.customer || doc.supplier || doc.sales_partner)",
"permlevel": 0
},
{
"oldfieldtype": "Column Break",
"doctype": "DocField",
"width": "50%",
"fieldname": "column_break1",
"fieldtype": "Column Break",
"permlevel": 0
},
{
"oldfieldtype": "Data",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Email Id",
"oldfieldname": "email_id",
"fieldname": "email_id",
"fieldtype": "Data",
"search_index": 1,
"reqd": 1,
"permlevel": 0
},
{
"oldfieldtype": "Data",
"doctype": "DocField",
"label": "Phone",
"oldfieldname": "contact_no",
"fieldname": "phone",
"fieldtype": "Data",
"reqd": 1,
"permlevel": 0
},
{
"oldfieldtype": "Data",
"doctype": "DocField",
"label": "Mobile No",
"oldfieldname": "mobile_no",
"fieldname": "mobile_no",
"fieldtype": "Data",
"permlevel": 0
},
{
"description": "Enter department to which this Contact belongs",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Department",
"options": "Suggest",
"fieldname": "department",
"fieldtype": "Data",
"permlevel": 0
},
{
"description": "Enter designation of this Contact",
"colour": "White:FFF",
"doctype": "DocField",
"label": "Designation",
"options": "Suggest",
"fieldname": "designation",
"fieldtype": "Data",
"permlevel": 0
},
{
"doctype": "DocField",
"label": "Unsubscribed",
"fieldname": "unsubscribed",
"fieldtype": "Check",
"permlevel": 0
},
{
"oldfieldtype": "Small Text",
"doctype": "DocField",
"label": "Trash Reason",
"oldfieldname": "trash_reason",
"fieldname": "trash_reason",
"fieldtype": "Small Text",
"permlevel": 1
},
{
"create": 1,
"doctype": "DocPerm",
"write": 1,
"role": "System Manager",
"cancel": 1,
"permlevel": 0
},
{
"amend": 0,
"create": 1,
"doctype": "DocPerm",
"submit": 0,
"write": 1,
"role": "Sales Master Manager",
"cancel": 1,
"permlevel": 0
},
{
"create": 1,
"doctype": "DocPerm",
"write": 1,
"role": "Purchase Master Manager",
"cancel": 1,
"permlevel": 0
},
{
"create": 1,
"doctype": "DocPerm",
"write": 1,
"role": "Sales Manager",
"permlevel": 0
},
{
"create": 1,
"doctype": "DocPerm",
"write": 1,
"role": "Purchase Manager",
"permlevel": 0
},
{
"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
}
]

View File

@ -13,7 +13,7 @@
<button class="btn btn-small" onclick="erpnext.calendar.refresh('Month')">
Month View
</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
</button>
</div>

View File

@ -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)
this.viewtype = viewtype;
if(clear_events)
this.clear();
// switch view if reqd
if(this.cur_view.viewtype!=this.viewtype) {
this.cur_view.hide();
@ -252,6 +262,7 @@ Calendar.prototype.refresh = function(viewtype){//Sets the viewtype of the Calen
this.cur_view.show();
}
else{
this.cur_view.get_events();
this.cur_view.refresh(this);
}
}