[Fix] Multi company issue for POS

This commit is contained in:
Rohit Waghchaure 2016-10-04 12:18:59 +05:30
parent 6870e45276
commit 6f1d012b65
3 changed files with 9 additions and 7 deletions

View File

@ -15,6 +15,7 @@ def get_pos_data():
doc = frappe.new_doc('Sales Invoice') doc = frappe.new_doc('Sales Invoice')
doc.is_pos = 1; doc.is_pos = 1;
pos_profile = get_pos_profile(doc.company) or {} pos_profile = get_pos_profile(doc.company) or {}
if not doc.company: doc.company = pos_profile.get('company')
doc.update_stock = pos_profile.get('update_stock') doc.update_stock = pos_profile.get('update_stock')
if pos_profile.get('name'): if pos_profile.get('name'):

View File

@ -106,7 +106,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
me.get_data_from_server(function(){ me.get_data_from_server(function(){
me.load_data(false); me.load_data(false);
me.make_customer(); me.make_customer();
me.make_item_list(); me.make_item_list(false);
me.set_missing_values(); me.set_missing_values();
}) })
}); });
@ -275,7 +275,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
make: function() { make: function() {
this.make_search(); this.make_search();
this.make_customer(); this.make_customer();
this.make_item_list(); this.make_item_list(true);
this.make_discount_field() this.make_discount_field()
}, },
@ -296,7 +296,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
this.search.$input.on("keyup", function() { this.search.$input.on("keyup", function() {
setTimeout(function() { setTimeout(function() {
me.items = me.get_items(); me.items = me.get_items();
me.make_item_list(); me.make_item_list(false);
}, 1000); }, 1000);
}); });
@ -369,7 +369,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
} }
}, },
make_item_list: function() { make_item_list: function(index_search) {
var me = this; var me = this;
if(!this.price_list) { if(!this.price_list) {
msgprint(__("Price List not found or disabled")); msgprint(__("Price List not found or disabled"));
@ -383,7 +383,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
if (this.items) { if (this.items) {
$.each(this.items, function(index, obj) { $.each(this.items, function(index, obj) {
if(index < 16){ if(!index_search || index < 16){
$(frappe.render_template("pos_item", { $(frappe.render_template("pos_item", {
item_code: obj.name, item_code: obj.name,
item_price: format_currency(obj.price_list_rate, obj.currency), item_price: format_currency(obj.price_list_rate, obj.currency),

View File

@ -328,10 +328,11 @@ def get_pos_profile_item_details(company, args, pos_profile=None):
@frappe.whitelist() @frappe.whitelist()
def get_pos_profile(company): def get_pos_profile(company):
condition = "and company = '%s'"%(company) if company else ''
pos_profile = frappe.db.sql("""select * from `tabPOS Profile` where user = %s pos_profile = frappe.db.sql("""select * from `tabPOS Profile` where user = %s
and company = %s""", (frappe.session['user'], company), as_dict=1) {cond}""".format(cond=condition), (frappe.session['user']), as_dict=1)
if not pos_profile: if not pos_profile and company:
pos_profile = frappe.db.sql("""select * from `tabPOS Profile` pos_profile = frappe.db.sql("""select * from `tabPOS Profile`
where ifnull(user,'') = '' and company = %s""", company, as_dict=1) where ifnull(user,'') = '' and company = %s""", company, as_dict=1)