Merge branch 'hotfix'

This commit is contained in:
Nabin Hait 2016-08-29 11:47:30 +05:30
commit 51a236f38b
7 changed files with 261 additions and 224 deletions

View File

@ -2,7 +2,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import frappe import frappe
__version__ = '7.0.33' __version__ = '7.0.34'
def get_default_company(user=None): def get_default_company(user=None):
'''Get default company for user''' '''Get default company for user'''

View File

@ -23,7 +23,8 @@ def get_pos_data():
frappe.msgprint('<a href="#List/POS Profile">' frappe.msgprint('<a href="#List/POS Profile">'
+ _("Welcome to POS: Create your POS Profile") + '</a>'); + _("Welcome to POS: Create your POS Profile") + '</a>');
update_pos_profile_data(doc, pos_profile) company_data = get_company_data(doc.company)
update_pos_profile_data(doc, pos_profile, company_data)
update_multi_mode_option(doc, pos_profile) update_multi_mode_option(doc, pos_profile)
default_print_format = pos_profile.get('print_format') or "Point of Sale" default_print_format = pos_profile.get('print_format') or "Point of Sale"
print_template = frappe.db.get_value('Print Format', default_print_format, 'html') print_template = frappe.db.get_value('Print Format', default_print_format, 'html')
@ -32,7 +33,7 @@ def get_pos_data():
'doc': doc, 'doc': doc,
'default_customer': pos_profile.get('customer'), 'default_customer': pos_profile.get('customer'),
'items': get_items(doc, pos_profile), 'items': get_items(doc, pos_profile),
'customers': get_customers(pos_profile, doc), 'customers': get_customers(pos_profile, doc, company_data.default_currency),
'pricing_rules': get_pricing_rules(doc), 'pricing_rules': get_pricing_rules(doc),
'print_template': print_template, 'print_template': print_template,
'meta': { 'meta': {
@ -42,8 +43,10 @@ def get_pos_data():
} }
} }
def update_pos_profile_data(doc, pos_profile): def get_company_data(company):
company_data = frappe.db.get_value('Company', doc.company, '*', as_dict=1) return frappe.get_all('Company', fields = ["*"], filters= {'name': company})[0]
def update_pos_profile_data(doc, pos_profile, company_data):
doc.campaign = pos_profile.get('campaign') doc.campaign = pos_profile.get('campaign')
doc.write_off_account = pos_profile.get('write_off_account') or \ doc.write_off_account = pos_profile.get('write_off_account') or \
@ -148,14 +151,14 @@ def get_serial_nos(item, pos_profile, company):
return serial_no_list return serial_no_list
def get_customers(pos_profile, doc): def get_customers(pos_profile, doc, company_currency):
filters = {'disabled': 0} filters = {'disabled': 0}
customer_list = [] customer_list = []
customers = frappe.get_all("Customer", fields=["*"], filters = filters) customers = frappe.get_all("Customer", fields=["*"], filters = filters)
for customer in customers: for customer in customers:
customer_currency = get_party_account_currency('Customer', customer.name, doc.company) or doc.currency customer_currency = get_party_account_currency('Customer', customer.name, doc.company) or doc.currency
if customer_currency == doc.currency: if customer_currency == doc.currency or customer_currency == company_currency:
customer_list.append(customer) customer_list.append(customer)
return customer_list return customer_list

View File

@ -57,6 +57,8 @@ class ProcessPayroll(Document):
Creates salary slip for selected employees if already not created Creates salary slip for selected employees if already not created
""" """
self.check_permission('write')
emp_list = self.get_emp_list() emp_list = self.get_emp_list()
ss_list = [] ss_list = []
for emp in emp_list: for emp in emp_list:
@ -102,6 +104,8 @@ class ProcessPayroll(Document):
""" """
Submit all salary slips based on selected criteria Submit all salary slips based on selected criteria
""" """
self.check_permission('write')
ss_list = self.get_sal_slip_list() ss_list = self.get_sal_slip_list()
not_submitted_ss = [] not_submitted_ss = []
for ss in ss_list: for ss in ss_list:
@ -159,6 +163,8 @@ class ProcessPayroll(Document):
def make_journal_entry(self, salary_account = None): def make_journal_entry(self, salary_account = None):
self.check_permission('write')
amount = self.get_total_salary() amount = self.get_total_salary()
default_bank_account = frappe.db.get_value("Company", self.company, default_bank_account = frappe.db.get_value("Company", self.company,
"default_bank_account") "default_bank_account")

View File

@ -139,6 +139,32 @@
"set_only_once": 0, "set_only_once": 0,
"unique": 0 "unique": 0
}, },
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"default": "/products",
"fieldname": "products_url",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "URL for \"All Products\"",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{ {
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
@ -178,7 +204,7 @@
"issingle": 1, "issingle": 1,
"istable": 0, "istable": 0,
"max_attachments": 0, "max_attachments": 0,
"modified": "2016-08-09 05:01:30.287861", "modified": "2016-08-29 01:28:00.961623",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Portal", "module": "Portal",
"name": "Homepage", "name": "Homepage",

View File

@ -5,6 +5,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import frappe import frappe
from frappe.model.document import Document from frappe.model.document import Document
from frappe.website.utils import delete_page_cache
class Homepage(Document): class Homepage(Document):
def validate(self): def validate(self):
@ -12,6 +13,7 @@ class Homepage(Document):
self.setup_items() self.setup_items()
if not self.description: if not self.description:
self.description = frappe._("This is an example website auto-generated from ERPNext") self.description = frappe._("This is an example website auto-generated from ERPNext")
delete_page_cache('home')
def setup_items(self): def setup_items(self):
for d in frappe.get_all('Item', fields=['name', 'item_name', 'description', 'image'], for d in frappe.get_all('Item', fields=['name', 'item_name', 'description', 'image'],

View File

@ -586,7 +586,8 @@ erpnext.taxes_and_totals = erpnext.payments.extend({
if(this.frm.doc.is_pos && (update_paid_amount===undefined || update_paid_amount)){ if(this.frm.doc.is_pos && (update_paid_amount===undefined || update_paid_amount)){
$.each(this.frm.doc['payments'] || [], function(index, data){ $.each(this.frm.doc['payments'] || [], function(index, data){
if(data.type == "Cash" && payment_status) { if(data.type == "Cash" && payment_status) {
data.amount = total_amount_to_pay; data.base_amount = flt(total_amount_to_pay, precision("base_amount"));
data.amount = flt(total_amount_to_pay / me.frm.doc.conversion_rate, precision("amount"));
payment_status = false; payment_status = false;
}else if(me.frm.doc.paid_amount){ }else if(me.frm.doc.paid_amount){
data.amount = 0.0; data.amount = 0.0;
@ -599,7 +600,7 @@ erpnext.taxes_and_totals = erpnext.payments.extend({
var me = this; var me = this;
var paid_amount = base_paid_amount = 0.0; var paid_amount = base_paid_amount = 0.0;
$.each(this.frm.doc['payments'] || [], function(index, data){ $.each(this.frm.doc['payments'] || [], function(index, data){
data.base_amount = flt(data.amount * me.frm.doc.conversion_rate); data.base_amount = flt(data.amount * me.frm.doc.conversion_rate, precision("base_amount"));
paid_amount += data.amount; paid_amount += data.amount;
base_paid_amount += data.base_amount; base_paid_amount += data.base_amount;
}) })

View File

@ -26,9 +26,8 @@
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
<!-- TODO: remove hardcoding of /products -->
<div class="text-center padding"> <div class="text-center padding">
<a href="/products" class="btn btn-primary all-products"> <a href="{{ homepage.products_url or "/products" }}" class="btn btn-primary all-products">
{{ _("View All Products") }}</a></div> {{ _("View All Products") }}</a></div>
</div> </div>
{% endif %} {% endif %}