[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.is_pos = 1;
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')
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.load_data(false);
me.make_customer();
me.make_item_list();
me.make_item_list(false);
me.set_missing_values();
})
});
@ -275,7 +275,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
make: function() {
this.make_search();
this.make_customer();
this.make_item_list();
this.make_item_list(true);
this.make_discount_field()
},
@ -296,7 +296,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
this.search.$input.on("keyup", function() {
setTimeout(function() {
me.items = me.get_items();
me.make_item_list();
me.make_item_list(false);
}, 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;
if(!this.price_list) {
msgprint(__("Price List not found or disabled"));
@ -383,7 +383,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
if (this.items) {
$.each(this.items, function(index, obj) {
if(index < 16){
if(!index_search || index < 16){
$(frappe.render_template("pos_item", {
item_code: obj.name,
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()
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
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`
where ifnull(user,'') = '' and company = %s""", company, as_dict=1)