Compare commits

...

10 Commits

Author SHA1 Message Date
Anand Doshi
00c5875ff7 Merge branch 'develop' 2015-08-24 16:53:51 +05:30
Anand Doshi
5c9bd5e650 bumped to version 5.7.7 2015-08-24 17:23:51 +06:00
Anand Doshi
96773bdc0e Merge pull request #3926 from neilLasrado/prod-order
Production Order - Validation Added
2015-08-24 14:44:44 +05:30
Anand Doshi
d092fd918a Merge pull request #3937 from rmehta/purchase-order-fix
[hot] make_stock_entry button in purchase order
2015-08-24 14:41:40 +05:30
Anand Doshi
50e2e1d9af Merge pull request #3936 from rmehta/customer-report-fix
[fix] Customer Address and Contact report
2015-08-24 14:35:42 +05:30
Rushabh Mehta
da24698cf7 [minor] in ap, ar renamed label for date as 'as on date' as it was confusing 2015-08-24 14:31:07 +05:30
Rushabh Mehta
d999dd1bb9 [minor] fix setup wizard buying_items query 2015-08-24 14:23:55 +05:30
Rushabh Mehta
c8a5a2cc4a [hot] make_stock_entry button in purchase order 2015-08-24 13:12:45 +05:30
Rushabh Mehta
12fb0d998f [fix] Customer Address and Contact report 2015-08-24 12:21:04 +05:30
Neil Trini Lasrado
17231e39cc Added validation in Production Order. Operations Time made mandatory 2015-08-21 16:52:04 +05:30
10 changed files with 38 additions and 24 deletions

View File

@@ -1,2 +1,2 @@
from __future__ import unicode_literals
__version__ = '5.7.6'
__version__ = '5.7.7'

View File

@@ -18,7 +18,7 @@ frappe.query_reports["Accounts Payable"] = {
},
{
"fieldname":"report_date",
"label": __("Date"),
"label": __("As on Date"),
"fieldtype": "Date",
"default": get_today()
},

View File

@@ -18,7 +18,7 @@ frappe.query_reports["Accounts Receivable"] = {
},
{
"fieldname":"report_date",
"label": __("Date"),
"label": __("As on Date"),
"fieldtype": "Date",
"default": get_today()
},

View File

@@ -32,7 +32,8 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend(
cur_frm.add_custom_button(__('Receive'), this.make_purchase_receipt).addClass("btn-primary");
if(doc.is_subcontracted==="Yes") {
cur_frm.add_custom_button(__('Transfer Material to Supplier'), this.make_stock_entry);
cur_frm.add_custom_button(__('Transfer Material to Supplier'),
function() { me.make_stock_entry(); });
}
}

View File

@@ -27,7 +27,7 @@ blogs.
"""
app_icon = "icon-th"
app_color = "#e74c3c"
app_version = "5.7.6"
app_version = "5.7.7"
github_link = "https://github.com/frappe/erpnext"
error_report_email = "support@erpnext.com"

View File

@@ -42,6 +42,8 @@ class ProductionOrder(Document):
self.validate_warehouse()
self.calculate_operating_cost()
self.validate_delivery_date()
self.validate_qty()
self.validate_operation_time()
from erpnext.utilities.transaction_base import validate_uom_is_integer
validate_uom_is_integer(self, "stock_uom", ["qty", "produced_qty"])
@@ -327,6 +329,15 @@ class ProductionOrder(Document):
frappe.throw(_("Production Order cannot be raised against a Item Template"), ItemHasVariantError)
validate_end_of_life(self.production_item)
def validate_qty(self):
if not self.qty > 0:
frappe.throw(_("Quantity to Manufacture must be greater than 0."))
def validate_operation_time(self):
for d in self.operations:
if not d.time_in_mins > 0:
frappe.throw(_("Operation Time must be greater than 0 for Operation {0}".format(d.operation)))
@frappe.whitelist()
def get_item_details(item):

View File

@@ -276,7 +276,7 @@
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"unique": 0
@@ -476,7 +476,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"modified": "2015-08-19 12:45:53.834920",
"modified": "2015-08-21 07:17:18.185276",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Order Operation",

View File

@@ -1,17 +1,19 @@
{
"apply_user_permissions": 1,
"creation": "2012-10-04 18:45:27",
"docstatus": 0,
"doctype": "Report",
"idx": 1,
"is_standard": "Yes",
"modified": "2014-07-14 07:18:17.006732",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer Addresses and Contacts",
"owner": "Administrator",
"query": "SELECT\n\t`tabCustomer`.name as customer_id,\n\t`tabCustomer`.customer_name,\n\t`tabCustomer`.customer_group,\n\t`tabAddress`.address_line1,\n\t`tabAddress`.address_line2,\n\t`tabAddress`.city,\n\t`tabAddress`.state,\n\t`tabAddress`.pincode,\n\t`tabAddress`.country,\n\t`tabAddress`.is_primary_address, \n\t`tabContact`.first_name,\n\t`tabContact`.last_name,\n\t`tabContact`.phone,\n\t`tabContact`.mobile_no,\n\t`tabContact`.email_id,\n\t`tabContact`.is_primary_contact\nFROM\n\t`tabCustomer`\n\tleft join `tabAddress` on (\n\t\t`tabAddress`.customer=`tabCustomer`.name\n\t)\n\tleft join `tabContact` on (\n\t\t`tabContact`.customer=`tabCustomer`.name\n\t)\nWHERE\n\t`tabCustomer`.docstatus<2\nORDER BY\n\t`tabCustomer`.name asc",
"ref_doctype": "Customer",
"report_name": "Customer Addresses And Contacts",
"add_total_row": 0,
"apply_user_permissions": 1,
"creation": "2012-10-04 18:45:27",
"disabled": 0,
"docstatus": 0,
"doctype": "Report",
"idx": 1,
"is_standard": "Yes",
"modified": "2015-08-24 11:44:00.711112",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer Addresses And Contacts",
"owner": "Administrator",
"query": "SELECT\n\t`tabCustomer`.name as \"Customer ID:Link/Customer\",\n\t`tabCustomer`.customer_name as \"Customer Name\",\n\t`tabCustomer`.customer_group as \"Customer Group:Link/Customer Group\",\n\t`tabAddress`.address_line1 as \"Address Line 1\",\n\t`tabAddress`.address_line2 as \"Address Line 2\",\n\t`tabAddress`.city as \"City\",\n\t`tabAddress`.state as \"State\",\n\t`tabAddress`.pincode as \"Postal Code\",\n\t`tabAddress`.country as \"Country\",\n\t`tabAddress`.is_primary_address as \"Is Primary Address:Check\", \n\t`tabContact`.first_name as \"First Name\",\n\t`tabContact`.last_name as \"Last Name\",\n\t`tabContact`.phone as \"Phone\",\n\t`tabContact`.mobile_no as \"Mobile No\",\n\t`tabContact`.email_id as \"Email Id\",\n\t`tabContact`.is_primary_contact as \"Is Primary Contact:Check\"\nFROM\n\t`tabCustomer`\n\tleft join `tabAddress` on (\n\t\t`tabAddress`.customer=`tabCustomer`.name\n\t)\n\tleft join `tabContact` on (\n\t\t`tabContact`.customer=`tabCustomer`.name\n\t)\nWHERE\n\t`tabCustomer`.docstatus<2\nORDER BY\n\t`tabCustomer`.name asc",
"ref_doctype": "Customer",
"report_name": "Customer Addresses And Contacts",
"report_type": "Query Report"
}
}

View File

@@ -12,7 +12,7 @@ def make_sample_data():
to help the user get started"""
selling_items = frappe.get_all("Item", filters = {"is_sales_item": 1})
buying_items = frappe.get_all("Item", filters = {"is_sales_item": 0})
buying_items = frappe.get_all("Item", filters = {"is_purchase_item": 1})
if selling_items:
for i in range(3):

View File

@@ -1,6 +1,6 @@
from setuptools import setup, find_packages
version = "5.7.6"
version = "5.7.7"
with open("requirements.txt", "r") as f:
install_requires = f.readlines()