Merge branch 'hotfix'
This commit is contained in:
commit
51a236f38b
@ -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'''
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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")
|
||||||
|
@ -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",
|
||||||
|
@ -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'],
|
||||||
|
@ -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;
|
||||||
})
|
})
|
||||||
|
@ -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 %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user