Merge branch 'v7.2.0-beta' into develop

This commit is contained in:
Rushabh Mehta 2016-12-19 12:02:14 +05:30
commit e80208e6e5
8 changed files with 45 additions and 39 deletions

View File

@ -39,7 +39,7 @@ class Opportunity(TransactionBase):
if not self.title: if not self.title:
self.title = self.customer_name self.title = self.customer_name
if not self.with_items: if not self.with_items:
self.items = [] self.items = []
@ -64,7 +64,7 @@ class Opportunity(TransactionBase):
lead = frappe.get_doc({ lead = frappe.get_doc({
"doctype": "Lead", "doctype": "Lead",
"email_id": self.contact_email, "email_id": self.contact_email,
"lead_name": sender_name "lead_name": sender_name or 'Unknown'
}) })
lead.flags.ignore_email_validation = True lead.flags.ignore_email_validation = True
@ -93,9 +93,9 @@ class Opportunity(TransactionBase):
def has_lost_quotation(self): def has_lost_quotation(self):
return frappe.db.sql(""" return frappe.db.sql("""
select q.name select q.name
from `tabQuotation` q, `tabQuotation Item` qi from `tabQuotation` q, `tabQuotation Item` qi
where q.name = qi.parent and q.docstatus=1 where q.name = qi.parent and q.docstatus=1
and qi.prevdoc_docname =%s and q.status = 'Lost' and qi.prevdoc_docname =%s and q.status = 'Lost'
""", self.name) """, self.name)
@ -213,7 +213,7 @@ def make_quotation(source_name, target_doc=None):
if company_currency == quotation.currency: if company_currency == quotation.currency:
exchange_rate = 1 exchange_rate = 1
else: else:
exchange_rate = get_exchange_rate(quotation.currency, company_currency, exchange_rate = get_exchange_rate(quotation.currency, company_currency,
quotation.transaction_date) quotation.transaction_date)
quotation.conversion_rate = exchange_rate quotation.conversion_rate = exchange_rate

View File

@ -30,7 +30,7 @@ def make(domain='Manufacturing'):
manufacture.setup_data() manufacture.setup_data()
elif domain== 'Education': elif domain== 'Education':
education.setup_data() education.setup_data()
site = frappe.local.site site = frappe.local.site
frappe.destroy() frappe.destroy()
frappe.init(site) frappe.init(site)
@ -52,7 +52,7 @@ def simulate(domain='Manufacturing'):
demo_last_date = frappe.db.get_global('demo_last_date') demo_last_date = frappe.db.get_global('demo_last_date')
if demo_last_date: if demo_last_date:
current_date = frappe.utils.add_days(frappe.utils.getdate(demo_last_date), 1) current_date = frappe.utils.add_days(frappe.utils.getdate(demo_last_date), 1)
# run till today # run till today
if not runs_for: if not runs_for:
runs_for = frappe.utils.date_diff(frappe.utils.nowdate(), current_date) runs_for = frappe.utils.date_diff(frappe.utils.nowdate(), current_date)
@ -60,7 +60,8 @@ def simulate(domain='Manufacturing'):
fixed_asset.work() fixed_asset.work()
for i in xrange(runs_for): for i in xrange(runs_for):
sys.stdout.write("\rSimulating {0}".format(current_date.strftime("%Y-%m-%d"))) sys.stdout.write("\rSimulating {0}: Day {1}".format(
current_date.strftime("%Y-%m-%d"), i))
sys.stdout.flush() sys.stdout.flush()
frappe.flags.current_date = current_date frappe.flags.current_date = current_date
if current_date.weekday() in (5, 6): if current_date.weekday() in (5, 6):
@ -73,16 +74,16 @@ def simulate(domain='Manufacturing'):
accounts.work() accounts.work()
projects.run_projects(current_date) projects.run_projects(current_date)
#run_messages() #run_messages()
if domain=='Manufacturing': if domain=='Manufacturing':
sales.work() sales.work()
manufacturing.work() manufacturing.work()
elif domain=='Education': elif domain=='Education':
schools.work() schools.work()
except: except:
frappe.db.set_global('demo_last_date', current_date) frappe.db.set_global('demo_last_date', current_date)
raise raise
finally: finally:
current_date = frappe.utils.add_days(current_date, 1) current_date = frappe.utils.add_days(current_date, 1)
frappe.db.commit() frappe.db.commit()

View File

@ -75,7 +75,7 @@ def work():
frappe.db.commit() frappe.db.commit()
# make purchase orders # make purchase orders
if random.random() < 0.3: if random.random() < 0.5:
from erpnext.stock.doctype.material_request.material_request import make_purchase_order from erpnext.stock.doctype.material_request.material_request import make_purchase_order
report = "Requested Items To Be Ordered" report = "Requested Items To Be Ordered"
for row in query_report.run(report)["result"][:how_many("Purchase Order")]: for row in query_report.run(report)["result"][:how_many("Purchase Order")]:
@ -103,7 +103,7 @@ def make_material_request(item_code, qty):
mr.material_request_type = "Purchase" mr.material_request_type = "Purchase"
mr.transaction_date = frappe.flags.current_date mr.transaction_date = frappe.flags.current_date
mr.append("items", { mr.append("items", {
"doctype": "Material Request Item", "doctype": "Material Request Item",
"schedule_date": frappe.utils.add_days(mr.transaction_date, 7), "schedule_date": frappe.utils.add_days(mr.transaction_date, 7),
@ -130,7 +130,7 @@ def make_subcontract():
po.supplier = get_random("Supplier") po.supplier = get_random("Supplier")
item_code = get_random("Item", {"is_sub_contracted_item": 1}) item_code = get_random("Item", {"is_sub_contracted_item": 1})
po.append("items", { po.append("items", {
"item_code": item_code, "item_code": item_code,
"schedule_date": frappe.utils.add_days(frappe.flags.current_date, 7), "schedule_date": frappe.utils.add_days(frappe.flags.current_date, 7),

View File

@ -36,6 +36,7 @@ def make_purchase_receipt():
try: try:
pr.submit() pr.submit()
except NegativeStockError: except NegativeStockError:
print 'Negative stock for {0}'.format(po)
pass pass
frappe.db.commit() frappe.db.commit()
@ -101,23 +102,25 @@ def submit_draft_stock_entries():
frappe.db.rollback() frappe.db.rollback()
def make_sales_return_records(): def make_sales_return_records():
for data in frappe.get_all('Delivery Note', fields=["name"], filters={"docstatus": 1}): if random.random() < 0.1:
if random.random() < 0.1: for data in frappe.get_all('Delivery Note', fields=["name"], filters={"docstatus": 1}):
try: if random.random() < 0.1:
dn = make_sales_return(data.name) try:
dn.insert() dn = make_sales_return(data.name)
dn.submit() dn.insert()
frappe.db.commit() dn.submit()
except Exception: frappe.db.commit()
frappe.db.rollback() except Exception:
frappe.db.rollback()
def make_purchase_return_records(): def make_purchase_return_records():
for data in frappe.get_all('Purchase Receipt', fields=["name"], filters={"docstatus": 1}): if random.random() < 0.1:
if random.random() < 0.1: for data in frappe.get_all('Purchase Receipt', fields=["name"], filters={"docstatus": 1}):
try: if random.random() < 0.1:
pr = make_purchase_return(data.name) try:
pr.insert() pr = make_purchase_return(data.name)
pr.submit() pr.insert()
frappe.db.commit() pr.submit()
except Exception: frappe.db.commit()
frappe.db.rollback() except Exception:
frappe.db.rollback()

View File

@ -68,7 +68,7 @@ class ItemGroup(NestedSet, WebsiteGenerator):
start = 0 start = 0
context.update({ context.update({
"items": get_product_list_for_group(product_group = self.name, start=start, "items": get_product_list_for_group(product_group = self.name, start=start,
limit=context.page_length, search=frappe.form_dict.get("search")), limit=context.page_length + 1, search=frappe.form_dict.get("search")),
"parent_groups": get_parent_item_groups(self.name), "parent_groups": get_parent_item_groups(self.name),
"title": self.name, "title": self.name,
"products_as_list": cint(frappe.db.get_single_value('Website Settings', 'products_as_list')) "products_as_list": cint(frappe.db.get_single_value('Website Settings', 'products_as_list'))

View File

@ -3052,7 +3052,7 @@
{ {
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 1,
"collapsible_depends_on": "sales_team", "collapsible_depends_on": "sales_team",
"columns": 0, "columns": 0,
"fieldname": "section_break1", "fieldname": "section_break1",
@ -3120,7 +3120,7 @@
"istable": 0, "istable": 0,
"max_attachments": 0, "max_attachments": 0,
"menu_index": 0, "menu_index": 0,
"modified": "2016-11-07 05:52:12.783914", "modified": "2016-12-16 03:56:08.745185",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Stock", "module": "Stock",
"name": "Delivery Note", "name": "Delivery Note",

View File

@ -28,7 +28,7 @@ def get_data():
{ {
'label': _('Buy'), 'label': _('Buy'),
'items': ['Material Request', 'Supplier Quotation', 'Request for Quotation', 'items': ['Material Request', 'Supplier Quotation', 'Request for Quotation',
'Purchase Order', 'Purchase Invoice'] 'Purchase Order', 'Purchase Receipt', 'Purchase Invoice']
}, },
{ {
'label': _('Traceability'), 'label': _('Traceability'),

View File

@ -25,15 +25,17 @@
<div> <div>
{% if items %} {% if items %}
<div id="search-list" {% if not products_as_list -%} class="row" {%- endif %}> <div id="search-list" {% if not products_as_list -%} class="row" {%- endif %}>
{% for item in items %} {% for i in range(0, page_length) %}
{{ item }} {% if items[i] %}
{{ items[i] }}
{% endif %}
{% endfor %} {% endfor %}
</div> </div>
<div class="text-center item-group-nav-buttons"> <div class="text-center item-group-nav-buttons">
{% if frappe.form_dict.start|int > 0 %} {% if frappe.form_dict.start|int > 0 %}
<a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int - page_length }}">Prev</a> <a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int - page_length }}">Prev</a>
{% endif %} {% endif %}
{% if items|length == page_length %} {% if items|length > page_length %}
<a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int + page_length }}">Next</a> <a class="btn btn-default" href="/{{ pathname }}?start={{ frappe.form_dict.start|int + page_length }}">Next</a>
{% endif %} {% endif %}
</div> </div>