Merge branch 'master' of github.com:webnotes/erpnext into handlerupdate
diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
index 54794cf..546d997 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
@@ -5,7 +5,7 @@
{
'creation': '2010-08-08 17:09:18',
'docstatus': 0,
- 'modified': '2012-03-02 12:22:21',
+ 'modified': '2012-03-06 11:05:53',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@@ -21,7 +21,7 @@
# These values are common for all DocType
{
- '_last_update': u'1330593645',
+ '_last_update': u'1330671142',
'change_log': u'1. Change in pull_details method dt.-26-06-2009',
'colour': u'White:FFF',
'default_print_format': u'Standard',
@@ -34,7 +34,7 @@
'server_code_error': u' ',
'show_in_menu': 0,
'subject': u'To %(customer_name)s worth %(currency)s %(grand_total_export)s due on %(due_date)s | %(outstanding_amount)s outstanding',
- 'version': 415
+ 'version': 416
},
# These values are common for all DocFormat
@@ -176,7 +176,6 @@
# DocField
{
'colour': u'White:FFF',
- 'default': u'INV',
'depends_on': u'eval:doc.retail_transaction!="Yes"',
'description': u'To manage multiple series please go to Setup > Manage Series',
'doctype': u'DocField',
diff --git a/erpnext/home/__init__.py b/erpnext/home/__init__.py
index 2cca85a..8118ea6 100644
--- a/erpnext/home/__init__.py
+++ b/erpnext/home/__init__.py
@@ -47,7 +47,7 @@
# Support
'Customer Issue': ['[%(status)s] %(description)s by %(customer_name)s', '#000080'],
'Maintenance Visit':['To %(customer_name)s', '#4169E1'],
- 'Support Ticket': ['[%(status)s] %(subject)s', '#000080'],
+ 'Support Ticket': ["[%(status)s] %(subject)s", '#000080'],
# Website
'Web Page': ['%(title)s', '#000080'],
diff --git a/erpnext/home/page/my_company/my_company.py b/erpnext/home/page/my_company/my_company.py
index f35f475..d3a7bc7 100644
--- a/erpnext/home/page/my_company/my_company.py
+++ b/erpnext/home/page/my_company/my_company.py
@@ -67,7 +67,7 @@
# erpnext-saas
if cint(webnotes.conn.get_value('Control Panel', None, 'sync_with_gateway')):
from server_tools.gateway_utils import add_user_gateway
- add_user_gateway(args['user'])
+ add_user_gateway(args)
add_profile(args)
diff --git a/erpnext/patches/jan_mar_2012/remove_series_defval.py b/erpnext/patches/jan_mar_2012/remove_series_defval.py
new file mode 100644
index 0000000..123cc41
--- /dev/null
+++ b/erpnext/patches/jan_mar_2012/remove_series_defval.py
@@ -0,0 +1,3 @@
+def execute():
+ import webnotes
+ webnotes.conn.sql("update `tabDocField` set `default`='' where parent = 'Receivable Voucher' and fieldname = 'naming_series' and `default` = 'INV'")
diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index 7750962..85a11a5 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -177,5 +177,10 @@
'patch_file': 'reload_table',
'description': 'Relaod all item table: fld order changes'
},
+ {
+ 'patch_module': 'patches.jan_mar_2012',
+ 'patch_file': 'remove_series_defval',
+ 'description': 'Remove rv series default value'
+ },
]
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index c5989bb..ff9bf68 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -282,7 +282,8 @@
Returns start and end date depending on the frequency of email digest
"""
from datetime import datetime, date, timedelta
- today = datetime.now().date()
+ from webnotes.utils import now_datetime
+ today = now_datetime().date()
year, month, day = today.year, today.month, today.day
if self.doc.frequency == 'Daily':
@@ -409,6 +410,7 @@
from webnotes.utils.email_lib import sendmail
try:
+ #webnotes.msgprint('in send')
sendmail(
recipients=recipient_list,
sender='notifications+email_digest@erpnext.com',
@@ -419,64 +421,22 @@
)
except Exception, e:
webnotes.msgprint('There was a problem in sending your email. Please contact support@erpnext.com')
- #webnotes.errprint(webnotes.getTraceback())
+ webnotes.errprint(webnotes.getTraceback())
def get_next_sending(self):
- """
-
- """
- # Get TimeZone
- # Get System TimeZone
- import time
- from pytz import timezone
import datetime
- import webnotes.defs
- cp = webnotes.model.doc.Document('Control Panel','Control Panel')
- app_tz = timezone(cp.time_zone)
- server_tz = timezone(getattr(webnotes.defs, 'system_timezone'))
start_date, end_date = self.get_start_end_dates()
- new_date = end_date + datetime.timedelta(days=1)
- new_time = datetime.time(hour=6)
-
- naive_dt = datetime.datetime.combine(new_date, new_time)
- app_dt = app_tz.localize(naive_dt)
- server_dt = server_tz.normalize(app_dt.astimezone(server_tz))
-
- res = {
- 'app_dt': app_dt.replace(tzinfo=None),
- 'app_tz': app_tz,
- 'server_dt': server_dt.replace(tzinfo=None),
- 'server_tz': server_tz
- }
-
+ send_date = end_date + datetime.timedelta(days=1)
+
from webnotes.utils import formatdate
- str_date = formatdate(str(res['app_dt'].date()))
- str_time = res['app_dt'].time().strftime('%I:%M')
+ str_date = formatdate(str(send_date))
- self.doc.next_send = str_date + " at about " + str_time
+ self.doc.next_send = str_date + " at midnight"
- return res
-
-
- def get_next_execution(self):
- """
-
- """
- from datetime import datetime, timedelta
- dt_args = self.get_next_sending()
- server_dt = dt_args['server_dt']
- now_dt = datetime.now(dt_args['server_tz'])
- if now_dt.time() <= server_dt.time():
- next_date = now_dt.date()
- else:
- next_date = now_dt.date() + timedelta(days=1)
-
- next_time = server_dt.time()
-
- return datetime.combine(next_date, next_time)
+ return send_date
def onload(self):
@@ -743,21 +703,16 @@
""", as_list=1)
from webnotes.model.code import get_obj
- from datetime import datetime, timedelta
- now = datetime.now()
- now_date = now.date()
- now_time = (now + timedelta(hours=2)).time()
+ from webnotes.utils import now_datetime
+ now_date = now_datetime().date()
+
for ed in edigest_list:
if ed[0]:
ed_obj = get_obj('Email Digest', ed[0])
ed_obj.sending = True
- dt_dict = ed_obj.get_next_sending()
- send_date = dt_dict['server_dt'].date()
- send_time = dt_dict['server_dt'].time()
+ send_date = ed_obj.get_next_sending()
+ #webnotes.msgprint([ed[0], now_date, send_date])
if (now_date == send_date):
- #webnotes.msgprint('sending ' + ed_obj.doc.name)
ed_obj.send()
- #else:
- # webnotes.msgprint('not sending ' + ed_obj.doc.name)
diff --git a/erpnext/setup/doctype/email_settings/email_settings.py b/erpnext/setup/doctype/email_settings/email_settings.py
index 0f930bc..c670b31 100644
--- a/erpnext/setup/doctype/email_settings/email_settings.py
+++ b/erpnext/setup/doctype/email_settings/email_settings.py
@@ -35,8 +35,8 @@
"""
Update value in control panel
"""
- if self.doc.fields.get(key):
- webnotes.conn.set_value('Control Panel', None, key, self.doc.fields[key])
+ webnotes.conn.set_value('Control Panel', None, key,
+ self.doc.fields.get(key))
def validate(self):
"""
@@ -117,19 +117,7 @@
def on_update(self):
"""
- Sets or cancels the event in the scheduler
+ update control panel
"""
- # update control panel
for f in ('outgoing_mail_server', 'mail_login', 'mail_password', 'auto_email_id', 'mail_port', 'use_ssl'):
self.set_cp_value(f)
-
- # setup scheduler for support emails
- if cint(self.doc.sync_support_mails):
- if not (self.doc.support_host and self.doc.support_username and self.doc.support_password):
- webnotes.msgprint("You must give the incoming POP3 settings for support emails to activiate mailbox integration", raise_exception=1)
-
- from webnotes.utils.scheduler import set_event
- set_event('support.doctype.support_ticket.get_support_mails', 60*5, 1)
- else:
- from webnotes.utils.scheduler import cancel_event
- cancel_event('support.doctype.support_ticket.get_support_mails')
diff --git a/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt b/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
index a8d1563..815864f 100755
--- a/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
+++ b/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
@@ -5,7 +5,7 @@
{
'creation': '2010-08-08 17:09:16',
'docstatus': 0,
- 'modified': '2012-03-05 15:01:58',
+ 'modified': '2012-03-05 17:44:23',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@@ -22,7 +22,7 @@
'section_style': u'Tray',
'server_code_error': u' ',
'show_in_menu': 0,
- 'version': 77
+ 'version': 78
},
# These values are common for all DocField
@@ -295,7 +295,7 @@
'oldfieldname': u'serial_no',
'oldfieldtype': u'Text',
'permlevel': 0,
- 'print_hide': 1,
+ 'print_hide': 0,
'report_hide': 0
},
diff --git a/erpnext/support/doctype/support_ticket/__init__.py b/erpnext/support/doctype/support_ticket/__init__.py
index ca27a61..eebb6cf 100644
--- a/erpnext/support/doctype/support_ticket/__init__.py
+++ b/erpnext/support/doctype/support_ticket/__init__.py
@@ -81,6 +81,7 @@
st.make_response_record(content, mail.mail['From'], content_type)
webnotes.conn.set(st.doc, 'status', 'Open')
update_feed(st.doc, 'on_update')
+ webnotes.conn.commit()
# extract attachments
self.save_attachments(st.doc, mail.attachments)
return
@@ -99,21 +100,22 @@
d.naming_series = (opts and opts[0] and opts[0][0] and opts[0][0].split("\n")[0]) or 'SUP'
try:
d.save(1)
+ except:
+ d.description = 'Unable to extract message'
+ d.save(1)
+ else:
# update feed
update_feed(d, 'on_update')
# send auto reply
self.send_auto_reply(d)
- except:
- d.description = 'Unable to extract message'
- d.save(1)
-
- else:
+ webnotes.conn.commit()
+
# extract attachments
self.save_attachments(d, mail.attachments)
-
+
def save_attachments(self, doc, attachment_list=[]):
"""
@@ -138,9 +140,10 @@
"""
Send auto reply to emails
"""
- signature = self.email_settings.support_signature
+ from webnotes.utils import cstr
+ signature = self.email_settings.fields.get('support_signature') or ''
- response = self.email_settings.support_autoreply or ("""
+ response = self.email_settings.fields.get('support_autoreply') or ("""
A new Ticket has been raised for your query. If you have any additional information, please
reply back to this mail.
@@ -148,15 +151,15 @@
[This is an automatic response]
- """ + (signature or ''))
+ """ + cstr(signature))
from webnotes.utils.email_lib import sendmail
sendmail(\
- recipients = [d.raised_by], \
- sender = self.email_settings.support_email, \
- subject = '['+d.name+'] ' + cstr(d.subject), \
- msg = response)
+ recipients = [cstr(d.raised_by)], \
+ sender = cstr(self.email_settings.fields.get('support_email')), \
+ subject = '['+cstr(d.name)+'] ' + cstr(d.subject), \
+ msg = cstr(response))
def auto_close_tickets(self):
"""