Commit b3042546 authored by Pratik Vyas's avatar Pratik Vyas
Browse files

Merge branch 'develop'

parents 05587d4e ad1fd7fb
No related merge requests found
Showing with 37 additions and 19 deletions
+37 -19
__version__ = "4.8.0"
__version__ = "4.9.0"
......@@ -20,7 +20,8 @@ class PrintFormat(Document):
jenv = frappe.get_jenv()
try:
jenv.from_string(self.html)
except TemplateSyntaxError:
except TemplateSyntaxError, e:
frappe.msgprint('Line {}: {}'.format(e.lineno, e.message))
frappe.throw(frappe._("Syntax error in Jinja template"))
def on_update(self):
......
......@@ -3,7 +3,7 @@ app_title = "Frappe Framework"
app_publisher = "Web Notes Technologies Pvt. Ltd."
app_description = "Full Stack Web Application Framework in Python"
app_icon = "assets/frappe/images/frappe.svg"
app_version = "4.8.0"
app_version = "4.9.0"
app_color = "#3498db"
app_email = "support@frappe.io"
......
......@@ -387,29 +387,44 @@ frappe.ui.form.ControlInt = frappe.ui.form.ControlData.extend({
frappe.ui.form.ControlFloat = frappe.ui.form.ControlInt.extend({
parse: function(value) {
return isNaN(parseFloat(value)) ? null : flt(value);
return isNaN(parseFloat(value)) ? null : flt(value, this.get_precision());
},
format_for_input: function(value) {
var number_format;
var precision = this.df.precision || cint(frappe.boot.sysdefaults.float_precision, null);
if (this.df.fieldtype==="Float" && this.df.options && this.df.options.trim()) {
number_format = get_number_format(this.get_currency());
number_format = this.get_number_format();
}
var formatted_value = format_number(parseFloat(value), number_format, precision);
var formatted_value = format_number(parseFloat(value), number_format, this.get_precision());
return isNaN(parseFloat(value)) ? "" : formatted_value;
},
// even a float field can be formatted based on currency format instead of float format
get_currency: function() {
return frappe.meta.get_field_currency(this.df, this.get_doc());
get_number_format: function() {
var currency = frappe.meta.get_field_currency(this.df, this.get_doc());
return get_number_format(currency);
},
get_precision: function() {
// round based on field precision or float precision, else don't round
return this.df.precision || cint(frappe.boot.sysdefaults.float_precision, null);
}
});
frappe.ui.form.ControlCurrency = frappe.ui.form.ControlFloat.extend({
format_for_input: function(value) {
var formatted_value = format_number(parseFloat(value),
get_number_format(this.get_currency()), this.df.precision || null);
var formatted_value = format_number(parseFloat(value), this.get_number_format(), this.get_precision());
return isNaN(parseFloat(value)) ? "" : formatted_value;
},
get_precision: function() {
// always round based on field precision or currency's precision
// this method is also called in this.parse()
if (!this.df.precision) {
this.df.precision = get_number_format_info(this.get_number_format()).precision;
}
return this.df.precision;
}
});
......
......@@ -11,7 +11,8 @@ function flt(v, decimals, number_format) {
// strip currency symbol if exists
if(v.indexOf(" ")!=-1) {
v = v.split(" ")[1];
// using slice(1).join(" ") because space could also be a group separator
v = isNaN(parseFloat(v.split(" ")[0])) ? v.split(" ").slice(1).join(" ") : v;
}
v = strip_number_groups(v, number_format);
......@@ -40,15 +41,16 @@ function cint(v, def) {
function strip_number_groups(v, number_format) {
if(!number_format) number_format = get_number_format();
var info = get_number_format_info(number_format);
// strip groups (,)
if(get_number_format_info(number_format).group_sep==".") {
v = v.replace(/\./g,'');
var group_regex = new RegExp(info.group_sep==="." ? "\\." : info.group_sep, "g");
v = v.replace(group_regex, "");
// sanitize decimal separator to .
v = v.replace(/,/g, ".");
} else {
v=v.replace(/,/g,'');
// replace decimal separator with (.)
if (info.decimal_str!=="." && info.decimal_str!=="") {
var decimal_regex = new RegExp(info.decimal_str, "g");
v = v.replace(decimal_regex, ".");
}
return v;
......
from setuptools import setup, find_packages
import os
version = "4.8.0"
version = "4.9.0"
with open("requirements.txt", "r") as f:
install_requires = f.readlines()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment