Fixed conflict

This commit is contained in:
Nabin Hait 2015-09-09 18:45:41 +05:30
commit 2377cdfa4e
93 changed files with 2707 additions and 2657 deletions

View File

@ -1,2 +1,2 @@
from __future__ import unicode_literals
__version__ = '6.0.1'
__version__ = '6.1.1'

View File

@ -426,7 +426,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-28 17:17:20.899845",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account",
@ -434,7 +434,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@ -454,7 +454,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -474,7 +474,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -494,7 +494,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -344,7 +344,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 3,
"modified": "2015-02-05 05:11:35.427357",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "C-Form",
@ -352,7 +352,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,

View File

@ -298,7 +298,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:25.504801",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Cost Center",
@ -326,7 +326,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -346,7 +346,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -366,7 +366,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -386,7 +386,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -133,7 +133,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:27.745408",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Fiscal Year",
@ -161,7 +161,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -511,7 +511,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-28 17:14:52.661217",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "GL Entry",
@ -519,7 +519,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -1032,7 +1032,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -1072,7 +1072,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -65,7 +65,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:41.346436",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Mode of Payment",
@ -93,7 +93,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -622,7 +622,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-18 17:49:09.098876",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Profile",
@ -650,7 +650,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -2242,7 +2242,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 16:05:29.519073",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice",
@ -2250,7 +2250,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 0,
@ -2270,7 +2270,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2290,7 +2290,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2330,7 +2330,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -2951,7 +2951,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 16:46:11.526089",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",
@ -2979,7 +2979,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -2999,7 +2999,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -88,13 +88,13 @@ class SalesInvoice(SellingController):
self.update_status_updater_args()
self.update_prevdoc_status()
# this sequence because outstanding may get -ve
self.make_gl_entries()
if not self.is_return:
self.update_billing_status_for_zero_amount_refdoc("Sales Order")
self.check_credit_limit()
# this sequence because outstanding may get -ve
self.make_gl_entries()
if not cint(self.is_pos) == 1 and not self.is_return:
self.update_against_document_in_jv()
@ -161,6 +161,17 @@ class SalesInvoice(SellingController):
'extra_cond': """ and exists (select name from `tabSales Invoice` where name=`tabSales Invoice Item`.parent and update_stock=1 and is_return=1)"""
}
])
def check_credit_limit(self):
from erpnext.selling.doctype.customer.customer import check_credit_limit
validate_against_credit_limit = False
for d in self.get("items"):
if not (d.sales_order or d.delivery_note):
validate_against_credit_limit = True
break
if validate_against_credit_limit:
check_credit_limit(self.customer, self.company)
def set_missing_values(self, for_validate=False):
pos = self.set_pos_fields(for_validate)

View File

@ -198,7 +198,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-05-06 08:51:54.662853",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Taxes and Charges Template",
@ -206,7 +206,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -296,7 +296,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:46.634371",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Shipping Rule",
@ -304,7 +304,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -324,7 +324,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -226,7 +226,7 @@ class GrossProfitGenerator(object):
inner join `tabSales Invoice Item` item on item.parent = si.name
left join `tabSales Team` sales on sales.parent = si.name
where
si.docstatus = 1 %s
si.docstatus = 1 and si.is_return != 1 %s
order by
si.posting_date desc, si.posting_time desc""" % (conditions,), self.filters, as_dict=1)

View File

@ -2032,7 +2032,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 06:26:20.233037",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Buying",
"name": "Purchase Order",
@ -2040,7 +2040,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2080,7 +2080,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2100,7 +2100,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -534,8 +534,8 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-09-02 16:31:35.050738",
"modified_by": "nabin@erpnext.com",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier",
"owner": "Administrator",
@ -602,7 +602,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -642,7 +642,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -1554,7 +1554,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:23:35.148488",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier Quotation",
@ -1602,7 +1602,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -1622,7 +1622,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -1642,7 +1642,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -1,2 +0,0 @@
- Set default costing rate and billing rate in **Activity Type**
- Task not mandatory in **Time Log** and **Expense Claim**

View File

@ -0,0 +1,4 @@
- Set default costing rate and billing rate in **Activity Type**
- Task not mandatory in **Time Log** and **Expense Claim**
- **Stock Settings**: Enable/Disable automatic fetching of Serial Nos. based on FIFO
- Fixes in Tree UI for mobile, Gross Profit Report and Credit Limit checking

View File

@ -32,10 +32,6 @@ class SellingController(StockController):
self.validate_max_discount()
check_active_sales_items(self)
def check_credit_limit(self):
from erpnext.selling.doctype.customer.customer import check_credit_limit
check_credit_limit(self.customer, self.company)
def set_missing_values(self, for_validate=False):
super(SellingController, self).set_missing_values(for_validate)

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -465,7 +465,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-03-02 07:00:45.803789",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Appraisal",
@ -473,7 +473,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -513,7 +513,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -91,7 +91,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-03-02 06:32:50.109677",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Appraisal Template",
@ -99,7 +99,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,

View File

@ -277,7 +277,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-02-20 05:09:39.161541",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Attendance",
@ -305,7 +305,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:35.266252",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Branch",
@ -50,7 +50,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:37.070363",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Deduction Type",
@ -74,7 +74,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -65,7 +65,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:37.460611",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Department",
@ -73,7 +73,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:37.500898",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Designation",
@ -50,7 +50,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:37.761378",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Earning Type",
@ -74,7 +74,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -1893,7 +1893,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-09 02:25:20.987412",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee",
@ -1901,7 +1901,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -1921,7 +1921,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:38.516592",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Employment Type",
@ -50,7 +50,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

File diff suppressed because it is too large Load Diff

View File

@ -191,7 +191,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-03-23 05:42:02.016041",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Job Applicant",
@ -199,7 +199,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -85,7 +85,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:40.083704",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Job Opening",
@ -93,7 +93,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -310,7 +310,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-05-08 03:44:08.092937",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Allocation",
@ -318,7 +318,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -559,7 +559,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 3,
"modified": "2015-05-27 18:44:36.708614",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Application",
@ -567,7 +567,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -628,7 +628,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -649,7 +649,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -195,7 +195,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:40.729590",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Block List",
@ -203,7 +203,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,

View File

@ -174,7 +174,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-29 05:15:24",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Type",
@ -182,7 +182,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@ -222,7 +222,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -822,7 +822,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-02-20 05:12:10.770423",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Salary Slip",
@ -830,7 +830,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -871,7 +871,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -524,7 +524,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-04-06 06:56:02.395512",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "HR",
"name": "Salary Structure",
@ -532,7 +532,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,

View File

@ -713,7 +713,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-12 08:52:36.656865",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM",
@ -741,7 +741,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -871,7 +871,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:27:08.064900",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Order",
@ -879,7 +879,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -899,7 +899,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -2,9 +2,9 @@
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe, json
import frappe
from frappe.utils import flt, nowdate, get_datetime, getdate, date_diff, cint
from frappe.utils import flt, get_datetime, getdate, date_diff, cint
from frappe import _
from frappe.model.document import Document
from erpnext.manufacturing.doctype.bom.bom import validate_bom_no
@ -14,6 +14,7 @@ from erpnext.manufacturing.doctype.workstation.workstation import WorkstationHol
from erpnext.projects.doctype.time_log.time_log import OverlapError
from erpnext.stock.doctype.stock_entry.stock_entry import get_additional_costs
from erpnext.manufacturing.doctype.manufacturing_settings.manufacturing_settings import get_mins_between_operations
from erpnext.stock.stock_balance import get_planned_qty, update_bin_qty
class OverProductionError(frappe.ValidationError): pass
class StockOverProductionError(frappe.ValidationError): pass
@ -106,8 +107,7 @@ class ProductionOrder(Document):
def stop_unstop(self, status):
""" Called from client side on Stop/Unstop event"""
self.update_status(status)
qty = (flt(self.qty)-flt(self.produced_qty)) * ((status == 'Stopped') and -1 or 1)
self.update_planned_qty(qty)
self.update_planned_qty()
frappe.msgprint(_("Production Order status is {0}").format(status))
self.notify_modified()
@ -154,30 +154,30 @@ class ProductionOrder(Document):
frappe.throw(_("For Warehouse is required before Submit"))
frappe.db.set(self,'status', 'Submitted')
self.make_time_logs()
self.update_planned_qty(self.qty)
self.update_planned_qty()
def on_cancel(self):
self.validate_cancel()
frappe.db.set(self,'status', 'Cancelled')
self.update_planned_qty()
self.delete_time_logs()
def validate_cancel(self):
if self.status == "Stopped":
frappe.throw(_("Stopped Production Order cannot be cancelled, Unstop it first to cancel"))
# Check whether any stock entry exists against this Production Order
stock_entry = frappe.db.sql("""select name from `tabStock Entry`
where production_order = %s and docstatus = 1""", self.name)
if stock_entry:
frappe.throw(_("Cannot cancel because submitted Stock Entry {0} exists").format(stock_entry[0][0]))
frappe.db.set(self,'status', 'Cancelled')
self.update_planned_qty(-self.qty)
self.delete_time_logs()
def update_planned_qty(self, qty):
"""update planned qty in bin"""
args = {
"item_code": self.production_item,
"warehouse": self.fg_warehouse,
"posting_date": nowdate(),
"planned_qty": flt(qty)
}
from erpnext.stock.utils import update_bin
update_bin(args)
def update_planned_qty(self):
update_bin_qty(self.production_item, self.fg_warehouse, {
"planned_qty": get_planned_qty(self.production_item, self.fg_warehouse)
})
def set_production_order_operations(self):
"""Fetch operations from BOM and set in 'Production Order'"""

View File

@ -341,7 +341,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-03-10 15:12:52.857454",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Workstation",
@ -349,7 +349,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -205,4 +205,5 @@ erpnext.patches.v6_0.default_activity_rate
execute:frappe.db.set_value("Stock Settings", None, "automatically_set_serial_nos_based_on_fifo", 1)
execute:frappe.db.sql("""update `tabProject` set percent_complete=round(percent_complete, 2) where percent_complete is not null""")
erpnext.patches.v6_0.fix_outstanding_amount
erpnext.patches.v6_0.multi_currency
erpnext.patches.v6_0.fix_planned_qty
erpnext.patches.v6_0.multi_currency

View File

@ -0,0 +1,14 @@
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from erpnext.stock.stock_balance import get_planned_qty, update_bin_qty
def execute():
for item_code, warehouse in frappe.db.sql("""select distinct production_item, fg_warehouse
from `tabProduction Order`"""):
if frappe.db.exists("Item", item_code) and frappe.db.exists("Warehouse", warehouse):
update_bin_qty(item_code, warehouse, {
"planned_qty": get_planned_qty(item_code, warehouse)
})

View File

@ -1,157 +1,157 @@
{
"allow_copy": 0,
"allow_import": 1,
"allow_rename": 1,
"autoname": "field:activity_type",
"creation": "2013-03-05 10:14:59",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Setup",
"allow_copy": 0,
"allow_import": 1,
"allow_rename": 1,
"autoname": "field:activity_type",
"creation": "2013-03-05 10:14:59",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "activity_type",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Activity Type",
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "activity_type",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Activity Type",
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "costing_rate",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Default Costing Rate",
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "costing_rate",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Default Costing Rate",
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "column_break_3",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "column_break_3",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "billing_rate",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Default Billing Rate",
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "billing_rate",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Default Billing Rate",
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
}
],
"hide_heading": 0,
"hide_toolbar": 0,
"icon": "icon-flag",
"idx": 1,
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-31 06:39:04.527080",
"modified_by": "Administrator",
"module": "Projects",
"name": "Activity Type",
"owner": "Administrator",
],
"hide_heading": 0,
"hide_toolbar": 0,
"icon": "icon-flag",
"idx": 1,
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Projects",
"name": "Activity Type",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"amend": 0,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"if_owner": 0,
"import": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
},
{
"amend": 0,
"apply_user_permissions": 1,
"cancel": 0,
"create": 1,
"delete": 0,
"email": 1,
"export": 0,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Projects User",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"amend": 0,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
"email": 1,
"export": 0,
"if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Projects User",
"set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
"read_only": 0,
],
"read_only": 0,
"read_only_onload": 0
}
}

View File

@ -900,7 +900,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 4,
"modified": "2015-08-12 08:51:43.620261",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project",
@ -908,7 +908,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -682,7 +682,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 5,
"modified": "2015-04-30 05:48:55.176993",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Projects",
"name": "Task",
@ -690,7 +690,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

File diff suppressed because it is too large Load Diff

View File

@ -261,7 +261,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-04-15 08:00:52.746961",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Projects",
"name": "Time Log Batch",
@ -269,7 +269,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -111,7 +111,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:35.510179",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Selling",
"name": "Campaign",
@ -139,7 +139,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -819,15 +819,15 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-09-02 16:32:54.474655",
"modified_by": "nabin@erpnext.com",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -987,7 +987,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:39.190793",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Selling",
"name": "Industry Type",
@ -70,7 +70,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -549,7 +549,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-02-20 05:04:05.403625",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Selling",
"name": "Installation Note",
@ -557,7 +557,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -111,7 +111,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-03 11:23:26.263254",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Selling",
"name": "Product Bundle",
@ -139,7 +139,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -159,7 +159,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -2553,7 +2553,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:28:35.983445",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order",
@ -2561,7 +2561,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2601,7 +2601,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2621,7 +2621,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2641,7 +2641,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2661,7 +2661,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -175,6 +175,10 @@ class SalesOrder(SellingController):
self.update_prevdoc_status('cancel')
frappe.db.set(self, 'status', 'Cancelled')
def check_credit_limit(self):
from erpnext.selling.doctype.customer.customer import check_credit_limit
check_credit_limit(self.customer, self.company)
def check_nextdoc_docstatus(self):
# Checks Delivery Note

View File

@ -8,10 +8,16 @@ import unittest
from erpnext.selling.doctype.sales_order.sales_order \
import make_material_request, make_delivery_note, make_sales_invoice, WarehouseRequired
from frappe.tests.test_permissions import set_user_permission_doctypes
class TestSalesOrder(unittest.TestCase):
def tearDown(self):
frappe.set_user("Administrator")
for role in ("Stock User", "Sales User"):
set_user_permission_doctypes(doctype="Sales Order", role=role,
apply_user_permissions=0, user_permission_doctypes=None)
def test_make_material_request(self):
so = make_sales_order(do_not_submit=True)
@ -187,6 +193,10 @@ class TestSalesOrder(unittest.TestCase):
existing_reserved_qty_item2 + 20)
def test_warehouse_user(self):
for role in ("Stock User", "Sales User"):
set_user_permission_doctypes(doctype="Sales Order", role=role,
apply_user_permissions=1, user_permission_doctypes=["Warehouse"])
frappe.permissions.add_user_permission("Warehouse", "_Test Warehouse 1 - _TC", "test@example.com")
frappe.permissions.add_user_permission("Warehouse", "_Test Warehouse 2 - _TC1", "test2@example.com")
frappe.permissions.add_user_permission("Company", "_Test Company 1", "test2@example.com")

View File

@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:24.597639",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Brand",
@ -94,7 +94,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -114,7 +114,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -134,7 +134,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -154,7 +154,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -1092,7 +1092,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-14 02:23:45.064575",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Company",
@ -1120,7 +1120,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -85,7 +85,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-03-23 14:45:09.645344",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Currency Exchange",
@ -113,7 +113,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -133,7 +133,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -153,7 +153,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -316,7 +316,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-09 12:43:18.846143",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Customer Group",
@ -344,7 +344,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -430,7 +430,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 3,
"modified": "2015-07-13 05:28:26.719060",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Item Group",
@ -458,7 +458,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -498,7 +498,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -518,7 +518,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -538,7 +538,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:42.732646",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Print Heading",
@ -94,7 +94,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -568,7 +568,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-19 09:26:41.397649",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Partner",
@ -596,7 +596,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -320,7 +320,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-05 05:11:46.204837",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Person",
@ -348,7 +348,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -108,7 +108,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-02-24 17:35:22.087557",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Supplier Type",
@ -136,7 +136,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:25.035649",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Terms and Conditions",
@ -94,7 +94,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -114,7 +114,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -154,7 +154,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@ -174,7 +174,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -281,7 +281,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:25.602509",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "Territory",
@ -330,7 +330,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -350,7 +350,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -370,7 +370,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -64,7 +64,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:23.143040",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Setup",
"name": "UOM",
@ -112,7 +112,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -109,7 +109,8 @@ def setup_account(args=None):
def update_user_name(args):
if args.get("email"):
args['name'] = args.get("email")
frappe.flags.mute_emails = True
_mute_emails, frappe.flags.mute_emails = frappe.flags.mute_emails, True
doc = frappe.get_doc({
"doctype":"User",
"email": args.get("email"),
@ -118,7 +119,7 @@ def update_user_name(args):
})
doc.flags.no_welcome_mail = True
doc.insert()
frappe.flags.mute_emails = False
frappe.flags.mute_emails = _mute_emails
from frappe.auth import _update_password
_update_password(args.get("email"), args.get("password"))

View File

@ -323,7 +323,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:24.087304",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Bin",
@ -331,7 +331,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -351,7 +351,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -371,7 +371,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -2438,7 +2438,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:29:47.032037",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note",
@ -2446,7 +2446,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2486,7 +2486,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2506,7 +2506,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2526,7 +2526,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -214,6 +214,17 @@ class DeliveryNote(SellingController):
self.cancel_packing_slips()
self.make_gl_entries_on_cancel()
def check_credit_limit(self):
from erpnext.selling.doctype.customer.customer import check_credit_limit
validate_against_credit_limit = False
for d in self.get("items"):
if not (d.against_sales_order or d.against_sales_invoice):
validate_against_credit_limit = True
break
if validate_against_credit_limit:
check_credit_limit(self.customer, self.company)
def validate_packed_qty(self):
"""

View File

@ -2090,7 +2090,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 1,
"modified": "2015-08-25 08:31:05.907086",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item",
@ -2138,7 +2138,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2158,7 +2158,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2178,7 +2178,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2198,7 +2198,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2218,7 +2218,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2238,7 +2238,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -510,7 +510,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:40:16.238465",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request",
@ -558,7 +558,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -578,7 +578,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -513,7 +513,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:24.850528",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Packing Slip",
@ -521,7 +521,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -541,7 +541,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -193,7 +193,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 1,
"modified": "2015-04-17 01:54:01.907175",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Price List",
@ -201,7 +201,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -241,7 +241,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -281,7 +281,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -2076,7 +2076,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 06:27:48.950655",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Purchase Receipt",
@ -2104,7 +2104,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2124,7 +2124,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -2144,7 +2144,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -2164,7 +2164,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -917,7 +917,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:30:21.522100",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Serial No",
@ -965,7 +965,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -1291,7 +1291,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2015-08-27 03:30:35.994097",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Entry",
@ -1299,7 +1299,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
@ -1319,7 +1319,7 @@
},
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -441,16 +441,7 @@ class StockEntry(StockController):
if self.fg_completed_qty:
pro_doc.run_method("update_production_order_qty")
if self.purpose == "Manufacture":
self.update_planned_qty(pro_doc)
def update_planned_qty(self, pro_doc):
from erpnext.stock.utils import update_bin
update_bin({
"item_code": pro_doc.production_item,
"warehouse": pro_doc.fg_warehouse,
"posting_date": self.posting_date,
"planned_qty": (self.docstatus==1 and -1 or 1 ) * flt(self.fg_completed_qty)
})
pro_doc.run_method("update_planned_qty")
def get_item_details(self, args=None, for_update=False):
item = frappe.db.sql("""select stock_uom, description, image, item_name,

View File

@ -11,6 +11,7 @@ from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt \
from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import StockFreezeError
from erpnext.stock.stock_ledger import get_previous_sle
from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation
from frappe.tests.test_permissions import set_user_permission_doctypes
def get_sle(**args):
condition, values = "", []
@ -28,6 +29,10 @@ class TestStockEntry(unittest.TestCase):
frappe.set_user("Administrator")
set_perpetual_inventory(0)
for role in ("Stock User", "Sales User"):
set_user_permission_doctypes(doctype="Stock Entry", role=role,
apply_user_permissions=0, user_permission_doctypes=None)
def test_fifo(self):
frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1)
item_code = "_Test Item 2"
@ -64,12 +69,12 @@ class TestStockEntry(unittest.TestCase):
self.assertEqual([[1, 20],[1, 30]], eval(sle.stock_queue))
frappe.db.set_default("allow_negative_stock", 0)
def test_auto_material_request(self):
from erpnext.stock.doctype.item.test_item import make_item_variant
make_item_variant()
self._test_auto_material_request("_Test Item")
def test_auto_material_request_for_variant(self):
self._test_auto_material_request("_Test Variant Item-S")
@ -80,19 +85,19 @@ class TestStockEntry(unittest.TestCase):
template = frappe.get_doc("Item", item.variant_of)
else:
template = item
projected_qty, actual_qty = frappe.db.get_value("Bin", {"item_code": item_code,
"warehouse": "_Test Warehouse - _TC"}, ["projected_qty", "actual_qty"]) or [0, 0]
# stock entry reqd for auto-reorder
create_stock_reconciliation(item_code=item_code, warehouse="_Test Warehouse - _TC",
qty = actual_qty + abs(projected_qty) + 10, rate=100)
projected_qty = frappe.db.get_value("Bin", {"item_code": item_code,
"warehouse": "_Test Warehouse - _TC"}, "projected_qty") or 0
frappe.db.set_value("Stock Settings", None, "auto_indent", 1)
# update re-level qty so that it is more than projected_qty
if projected_qty >= template.reorder_levels[0].warehouse_reorder_level:
template.reorder_levels[0].warehouse_reorder_level += projected_qty
@ -234,7 +239,7 @@ class TestStockEntry(unittest.TestCase):
repack = frappe.copy_doc(test_records[3])
repack.posting_date = nowdate()
repack.posting_time = nowtime()
repack.set("additional_costs", [
{
"description": "Actual Oerating Cost",
@ -258,7 +263,7 @@ class TestStockEntry(unittest.TestCase):
"voucher_no": repack.name, "item_code": "_Test Item Home Desktop 100"}, "stock_value_difference"))
stock_value_diff = flt(fg_stock_value_diff - rm_stock_value_diff, 2)
self.assertEqual(stock_value_diff, 1200)
self.check_gl_entries("Stock Entry", repack.name,
@ -291,7 +296,7 @@ class TestStockEntry(unittest.TestCase):
gl_entries = frappe.db.sql("""select account, debit, credit
from `tabGL Entry` where voucher_type=%s and voucher_no=%s
order by account asc, debit asc""", (voucher_type, voucher_no), as_list=1)
self.assertTrue(gl_entries)
gl_entries.sort(key=lambda x: x[0])
for i, gle in enumerate(gl_entries):
@ -456,6 +461,10 @@ class TestStockEntry(unittest.TestCase):
def test_warehouse_user(self):
set_perpetual_inventory(0)
for role in ("Stock User", "Sales User"):
set_user_permission_doctypes(doctype="Stock Entry", role=role,
apply_user_permissions=1, user_permission_doctypes=["Warehouse"])
frappe.defaults.add_default("Warehouse", "_Test Warehouse 1 - _TC", "test@example.com", "User Permission")
frappe.defaults.add_default("Warehouse", "_Test Warehouse 2 - _TC1", "test2@example.com", "User Permission")
test_user = frappe.get_doc("User", "test@example.com")
@ -531,7 +540,7 @@ class TestStockEntry(unittest.TestCase):
rm_cost += flt(d.amount)
fg_cost = filter(lambda x: x.item_code=="_Test FG Item 2", stock_entry.get("items"))[0].amount
self.assertEqual(fg_cost,
self.assertEqual(fg_cost,
flt(rm_cost + bom_operation_cost + production_order.additional_operating_cost, 2))

View File

@ -557,7 +557,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-16 16:37:54.452944",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Ledger Entry",
@ -565,7 +565,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -362,7 +362,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-07-13 05:28:25.214824",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Stock",
"name": "Warehouse",
@ -390,7 +390,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -410,7 +410,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -430,7 +430,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -450,7 +450,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@ -470,7 +470,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,

View File

@ -597,7 +597,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-06-01 08:14:01.750421",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Support",
"name": "Issue",
@ -605,7 +605,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -625,7 +625,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -695,7 +695,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:33:20.922744",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Support",
"name": "Maintenance Visit",
@ -703,7 +703,7 @@
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,

View File

@ -958,7 +958,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-27 03:34:26.924171",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Support",
"name": "Warranty Claim",
@ -966,7 +966,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,

View File

@ -536,7 +536,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"modified": "2015-08-10 19:42:18.331819",
"modified": "2015-09-07 15:51:26",
"modified_by": "Administrator",
"module": "Utilities",
"name": "Address",
@ -544,7 +544,7 @@
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -564,7 +564,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -584,7 +584,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@ -604,7 +604,7 @@
},
{
"amend": 0,
"apply_user_permissions": 1,
"apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,

View File

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