Merge branch 'v7.2.0-beta' into develop
This commit is contained in:
commit
e80208e6e5
@ -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
|
||||||
|
@ -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()
|
||||||
|
@ -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),
|
||||||
|
@ -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()
|
||||||
|
@ -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'))
|
||||||
|
@ -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",
|
||||||
|
@ -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'),
|
||||||
|
@ -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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user