Skip to content

Commit 9e7e826

Browse files
committed
Merge branch 'staging' into production
2 parents e2b45a9 + 31e2b9e commit 9e7e826

9 files changed

Lines changed: 13 additions & 483 deletions

File tree

bloomstack_core/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# -*- coding: utf-8 -*-
22
from __future__ import unicode_literals
33

4-
__version__ = '2.0.4'
4+
__version__ = '2.0.5'

bloomstack_core/bloomstack_core/custom/job_applicant.json

Lines changed: 0 additions & 31 deletions
This file was deleted.

bloomstack_core/hook_events/sales_order.py

Lines changed: 1 addition & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import json
2-
31
import frappe
4-
from erpnext.selling.doctype.sales_order.sales_order import create_pick_list, make_sales_invoice, make_delivery_note
2+
from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
53
from erpnext.stock.doctype.batch.batch import get_batch_qty
64
from frappe import _
75
from frappe.utils import flt, getdate, today
@@ -20,125 +18,6 @@ def create_sales_invoice_against_contract():
2018
sales_invoice = make_sales_invoice(order.name)
2119
sales_invoice.save()
2220

23-
24-
@frappe.whitelist()
25-
def create_multiple_pick_lists(orders):
26-
orders = json.loads(orders)
27-
28-
created_orders = []
29-
for order in orders:
30-
created = False
31-
customer = frappe.db.get_value("Sales Order", order, "customer")
32-
33-
# check if a Pick List already exists against the order
34-
pick_lists = frappe.get_all("Pick List",
35-
filters=[
36-
["Pick List", "docstatus", "<", 2],
37-
["Pick List Item", "sales_order", "=", order]
38-
],
39-
distinct=True)
40-
pick_lists = [item.name for item in pick_lists if item.name]
41-
42-
# if none are found, then create a new Pick List
43-
if not pick_lists:
44-
order_doc = create_pick_list(order)
45-
46-
# if no items can be picked, do not create an empty Pick List
47-
if order_doc.get("locations"):
48-
order_doc.save()
49-
pick_lists = [order_doc.name]
50-
created = True
51-
else:
52-
pick_lists = []
53-
54-
created_orders.append({
55-
"sales_order": order,
56-
"customer": customer,
57-
"pick_lists": pick_lists,
58-
"created": created
59-
})
60-
61-
return created_orders
62-
63-
@frappe.whitelist()
64-
def create_multiple_sales_invoices(orders):
65-
orders = json.loads(orders)
66-
67-
created_orders = []
68-
for order in orders:
69-
created = False
70-
customer = frappe.db.get_value("Sales Order", order, "customer")
71-
72-
# check if a Sales Invoice already exists against the order
73-
sales_invoices = frappe.get_all("Sales Invoice",
74-
filters=[
75-
["Sales Invoice", "docstatus", "<", 2],
76-
["Sales Invoice Item", "sales_order", "=", order]
77-
],
78-
distinct=True)
79-
sales_invoices = [item.name for item in sales_invoices if item.name]
80-
81-
# if none are found, then create a new Sales Invoice
82-
if not sales_invoices:
83-
order_doc = make_sales_invoice(order)
84-
85-
# if no items can be avilable, do not create an empty Sales Invoice
86-
if order_doc.get("items"):
87-
order_doc.save()
88-
sales_invoices = [order_doc.name]
89-
created = True
90-
else:
91-
sales_invoices = []
92-
93-
created_orders.append({
94-
"sales_order": order,
95-
"customer": customer,
96-
"sales_invoices": sales_invoices,
97-
"created": created
98-
})
99-
100-
return created_orders
101-
102-
@frappe.whitelist()
103-
def create_muliple_delivery_notes(orders):
104-
orders = json.loads(orders)
105-
106-
created_orders = []
107-
for order in orders:
108-
created = False
109-
customer = frappe.db.get_value("Sales Order", order, "customer")
110-
111-
# check if a Delivery Note already exists against the order
112-
delivery_notes = frappe.get_all("Delivery Note",
113-
filters=[
114-
["Delivery Note", "docstatus", "<", 2],
115-
["Delivery Note Item", "against_sales_order", "=", order]
116-
],
117-
distinct=True)
118-
delivery_notes = [item.name for item in delivery_notes if item.name]
119-
120-
# if none are found, then create a new Pick List
121-
if not delivery_notes:
122-
order_doc = make_delivery_note(order)
123-
124-
# if no items can be picked, do not create an empty Pick List
125-
if order_doc.get("items"):
126-
order_doc.save()
127-
delivery_notes = [order_doc.name]
128-
created = True
129-
else:
130-
delivery_notes = []
131-
132-
created_orders.append({
133-
"sales_order": order,
134-
"customer": customer,
135-
"delivery_notes": delivery_notes,
136-
"created": created
137-
})
138-
139-
return created_orders
140-
141-
14221
def validate_batch_item(sales_order, method):
14322
for item in sales_order.items:
14423
qty = item.stock_qty or item.transfer_qty or item.qty or 0

bloomstack_core/public/js/issues.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ frappe.ready(function () {
44
if (!frappe.web_form.is_new) {
55
frappe.web_form.set_df_property('subject', 'read_only', 1);
66
frappe.web_form.set_df_property('description', 'read_only', 1);
7+
frappe.web_form.set_df_property('attachment', 'read_only', 1);
8+
if (!frappe.web_form.doc.attachment) {
9+
frappe.web_form.set_df_property('attachment', 'hidden', 1);
10+
}
11+
712
$('.web-form-actions .btn-primary, .web-form-footer .btn-primary').hide();
813
}
914

bloomstack_core/public/js/purchase_invoice_list.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ frappe.listview_settings['Purchase Invoice'].onload =
1414
}
1515
};
1616
frappe.call({
17-
method: "bloomstack_core.utils.get_contact",
17+
method: "erpnext.utils.get_contact",
1818
args: { "doctype": doctype, "name": selected_docs[0].name, "contact_field": "supplier" },
1919
callback: function (r) {
2020
frappe.call({
21-
method: "bloomstack_core.utils.get_document_links",
21+
method: "erpnext.utils.get_document_links",
2222
args: { "doctype": doctype, "docs": selected_docs },
2323
callback: function (res) {
2424
new frappe.views.CommunicationComposer({

bloomstack_core/public/js/purchase_order_list.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ frappe.listview_settings['Purchase Order'].onload =
1414
}
1515
};
1616
frappe.call({
17-
method: "bloomstack_core.utils.get_contact",
17+
method: "erpnext.utils.get_contact",
1818
args: { "doctype": doctype, "name": selected_docs[0].name, "contact_field": "supplier" },
1919
callback: function (r) {
2020
frappe.call({
21-
method: "bloomstack_core.utils.get_document_links",
21+
method: "erpnext.utils.get_document_links",
2222
args: { "doctype": doctype, "docs": selected_docs },
2323
callback: function (res) {
2424
new frappe.views.CommunicationComposer({

bloomstack_core/public/js/sales_invoice_list.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ frappe.listview_settings['Sales Invoice'].onload =
1414
}
1515
};
1616
frappe.call({
17-
method: "bloomstack_core.utils.get_contact",
17+
method: "erpnext.utils.get_contact",
1818
args: { "doctype": doctype, "name": selected_docs[0].name, "contact_field": "customer" },
1919
callback: function (r) {
2020
frappe.call({
21-
method: "bloomstack_core.utils.get_document_links",
21+
method: "erpnext.utils.get_document_links",
2222
args: { "doctype": doctype, "docs": selected_docs },
2323
callback: function (res) {
2424
new frappe.views.CommunicationComposer({

0 commit comments

Comments
 (0)