Merge branch 'staging-fixes' into staging
This commit is contained in:
commit
96a2f00c07
@ -5,7 +5,7 @@ import frappe
|
||||
from erpnext.hooks import regional_overrides
|
||||
from frappe.utils import getdate
|
||||
|
||||
__version__ = '10.1.67'
|
||||
__version__ = '10.1.68'
|
||||
|
||||
def get_default_company(user=None):
|
||||
'''Get default company for user'''
|
||||
|
@ -1,7 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# License: GNU General Public License v3. See license.txt
|
||||
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import re
|
||||
from past.builtins import cmp
|
||||
@ -342,7 +344,7 @@ def set_gl_entries_by_account(
|
||||
accounts = frappe.db.sql_list("""select name from `tabAccount`
|
||||
where lft >= %s and rgt <= %s""", (root_lft, root_rgt))
|
||||
additional_conditions += " and account in ('{}')"\
|
||||
.format("', '".join([frappe.safe_encode(frappe.db.escape(d)) for d in accounts]))
|
||||
.format("', '".join([frappe.db.escape(d) for d in accounts]))
|
||||
|
||||
gl_entries = frappe.db.sql("""select posting_date, account, debit, credit, is_opening, fiscal_year, debit_in_account_currency, credit_in_account_currency, account_currency from `tabGL Entry`
|
||||
where company=%(company)s
|
||||
@ -400,7 +402,6 @@ def get_additional_conditions(from_date, ignore_closing_entries, filters):
|
||||
|
||||
def get_cost_centers_with_children(cost_centers):
|
||||
if not isinstance(cost_centers, list):
|
||||
cost_centers = frappe.safe_encode(cost_centers)
|
||||
cost_centers = [d.strip() for d in cost_centers.strip().split(',') if d]
|
||||
|
||||
all_cost_centers = []
|
||||
|
@ -85,8 +85,17 @@ class Asset(AccountsController):
|
||||
elif not self.finance_books:
|
||||
frappe.throw(_("Enter depreciation details"))
|
||||
|
||||
if self.available_for_use_date and getdate(self.available_for_use_date) < getdate(nowdate()):
|
||||
frappe.throw(_("Available-for-use Date is entered as past date"))
|
||||
if self.is_existing_asset:
|
||||
return
|
||||
|
||||
date = nowdate()
|
||||
docname = self.purchase_receipt or self.purchase_invoice
|
||||
if docname:
|
||||
doctype = 'Purchase Receipt' if self.purchase_receipt else 'Purchase Invoice'
|
||||
date = frappe.db.get_value(doctype, docname, 'posting_date')
|
||||
|
||||
if self.available_for_use_date and getdate(self.available_for_use_date) < getdate(date):
|
||||
frappe.throw(_("Available-for-use Date should be after purchase date"))
|
||||
|
||||
def make_depreciation_schedule(self):
|
||||
if self.depreciation_method != 'Manual':
|
||||
|
@ -12,7 +12,7 @@ app_license = "GNU General Public License (v3)"
|
||||
source_link = "https://github.com/frappe/erpnext"
|
||||
|
||||
develop_version = '11.x.x-develop'
|
||||
staging_version = '11.0.3-beta.18'
|
||||
staging_version = '11.0.3-beta.19'
|
||||
|
||||
error_report_email = "support@erpnext.com"
|
||||
|
||||
|
@ -10,7 +10,6 @@ import requests
|
||||
from frappe import _
|
||||
from frappe.frappeclient import FrappeClient
|
||||
from frappe.desk.form.load import get_attachments
|
||||
from frappe.utils.file_manager import get_file_path
|
||||
from six import string_types
|
||||
|
||||
current_user = frappe.session.user
|
||||
|
@ -1,3 +1,5 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils.nestedset import rebuild_tree
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="hub-page-container">
|
||||
<component :is="current_page"></component>
|
||||
<component :is="current_page.component" :key="current_page.key"></component>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -100,10 +100,16 @@ export default {
|
||||
}
|
||||
|
||||
if (!route) {
|
||||
return NotFound;
|
||||
return {
|
||||
key: 'not-found',
|
||||
component: NotFound
|
||||
};
|
||||
}
|
||||
|
||||
return route_map[route];
|
||||
return {
|
||||
key: curr_route,
|
||||
component: route_map[route]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -113,6 +113,10 @@ export default {
|
||||
content: this.review_content.get_value()
|
||||
});
|
||||
|
||||
if (!hub.is_seller_registered()) {
|
||||
frappe.throw(__('You need to login as a Marketplace User before you can add any reviews.'));
|
||||
}
|
||||
|
||||
hub.call('add_item_review', {
|
||||
hub_item_name: this.hub_item_name,
|
||||
review: JSON.stringify(review)
|
||||
|
@ -1,31 +0,0 @@
|
||||
/**
|
||||
* Simple EventEmitter which uses jQuery's event system
|
||||
*/
|
||||
class EventEmitter {
|
||||
init() {
|
||||
this.jq = jQuery(this);
|
||||
}
|
||||
|
||||
trigger(evt, data) {
|
||||
!this.jq && this.init();
|
||||
this.jq.trigger(evt, data);
|
||||
}
|
||||
|
||||
once(evt, handler) {
|
||||
!this.jq && this.init();
|
||||
this.jq.one(evt, (e, data) => handler(data));
|
||||
}
|
||||
|
||||
on(evt, handler) {
|
||||
!this.jq && this.init();
|
||||
this.jq.bind(evt, (e, data) => handler(data));
|
||||
}
|
||||
|
||||
off(evt, handler) {
|
||||
!this.jq && this.init();
|
||||
this.jq.unbind(evt, (e, data) => handler(data));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export default EventEmitter;
|
@ -8,14 +8,13 @@ import { ProfileDialog } from './components/profile_dialog';
|
||||
|
||||
// helpers
|
||||
import './hub_call';
|
||||
import EventEmitter from './event_emitter';
|
||||
|
||||
frappe.provide('hub');
|
||||
frappe.provide('erpnext.hub');
|
||||
frappe.provide('frappe.route');
|
||||
|
||||
$.extend(erpnext.hub, EventEmitter.prototype);
|
||||
$.extend(frappe.route, EventEmitter.prototype);
|
||||
frappe.utils.make_event_emitter(frappe.route);
|
||||
frappe.utils.make_event_emitter(erpnext.hub);
|
||||
|
||||
erpnext.hub.Marketplace = class Marketplace {
|
||||
constructor({ parent }) {
|
||||
|
@ -265,6 +265,9 @@ export default {
|
||||
},
|
||||
|
||||
report_item() {
|
||||
if (!hub.is_seller_registered()) {
|
||||
frappe.throw(__('Please login as a Marketplace User to report this item.'));
|
||||
}
|
||||
this.report_item_dialog.show();
|
||||
},
|
||||
|
||||
|
@ -85,9 +85,9 @@ class SerialNo(StockController):
|
||||
self.purchase_date = purchase_sle.posting_date
|
||||
self.purchase_time = purchase_sle.posting_time
|
||||
self.purchase_rate = purchase_sle.incoming_rate
|
||||
if purchase_sle.voucher_type == "Purchase Receipt":
|
||||
if purchase_sle.voucher_type in ("Purchase Receipt", "Purchase Invoice"):
|
||||
self.supplier, self.supplier_name = \
|
||||
frappe.db.get_value("Purchase Receipt", purchase_sle.voucher_no,
|
||||
frappe.db.get_value(purchase_sle.voucher_type, purchase_sle.voucher_no,
|
||||
["supplier", "supplier_name"])
|
||||
|
||||
# If sales return entry
|
||||
@ -304,8 +304,8 @@ def has_duplicate_serial_no(sn, sle):
|
||||
|
||||
status = False
|
||||
if sn.purchase_document_no:
|
||||
if sle.voucher_type in ['Purchase Receipt', 'Stock Entry'] and \
|
||||
sn.delivery_document_type not in ['Purchase Receipt', 'Stock Entry']:
|
||||
if sle.voucher_type in ['Purchase Receipt', 'Stock Entry', "Purchase Invoice"] and \
|
||||
sn.delivery_document_type not in ['Purchase Receipt', 'Stock Entry', "Purchase Invoice"]:
|
||||
status = True
|
||||
|
||||
if status and sle.voucher_type == 'Stock Entry' and \
|
||||
|
Loading…
Reference in New Issue
Block a user