added german date format dd.mm.yyyy fixes frappe/erpnext#1185
This commit is contained in:
parent
a833627bb5
commit
c61b45dced
3 changed files with 17 additions and 10 deletions
|
|
@ -37,7 +37,7 @@
|
|||
"fieldname": "date_format",
|
||||
"fieldtype": "Select",
|
||||
"label": "Date Format",
|
||||
"options": "yyyy-mm-dd\ndd-mm-yyyy\ndd/mm/yyyy\nmm/dd/yyyy\nmm-dd-yyyy",
|
||||
"options": "yyyy-mm-dd\ndd-mm-yyyy\ndd/mm/yyyy\ndd.mm.yyyy\nmm/dd/yyyy\nmm-dd-yyyy",
|
||||
"permlevel": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
],
|
||||
"icon": "icon-cog",
|
||||
"issingle": 1,
|
||||
"modified": "2014-05-27 06:29:28.922976",
|
||||
"modified": "2014-05-27 07:58:24.700595",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "System Settings",
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ frappe.datetime = {
|
|||
val = d[2]+'-'+d[1]+'-'+d[0] + time_str;
|
||||
else if(user_fmt=='dd/mm/yyyy')
|
||||
val = d[2]+'/'+d[1]+'/'+d[0] + time_str;
|
||||
else if(user_fmt=='dd.mm.yyyy')
|
||||
val = d[2]+'.'+d[1]+'.'+d[0] + time_str;
|
||||
else if(user_fmt=='yyyy-mm-dd')
|
||||
val = d[0]+'-'+d[1]+'-'+d[2] + time_str;
|
||||
else if(user_fmt=='mm/dd/yyyy')
|
||||
|
|
@ -162,6 +164,10 @@ frappe.datetime = {
|
|||
var d = d.split('/');
|
||||
var val = d[2]+'-'+d[1]+'-'+d[0];
|
||||
}
|
||||
else if(user_fmt=='dd.mm.yyyy') {
|
||||
var d = d.split('.');
|
||||
var val = d[2]+'-'+d[1]+'-'+d[0];
|
||||
}
|
||||
else if(user_fmt=='yyyy-mm-dd') {
|
||||
var val = d;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,21 +12,22 @@ dateformats = {
|
|||
'yyyy-mm-dd': '%Y-%m-%d',
|
||||
'mm/dd/yyyy': '%m/%d/%Y',
|
||||
'mm-dd-yyyy': '%m-%d-%Y',
|
||||
"mm/dd/yy": "%m/%d/%y",
|
||||
"mm/dd/yy": "%m/%d/%y",
|
||||
'dd-mmm-yyyy': '%d-%b-%Y', # numbers app format
|
||||
'dd/mm/yyyy': '%d/%m/%Y',
|
||||
'dd.mm.yyyy': '%d.%m.%Y',
|
||||
'dd-mm-yyyy': '%d-%m-%Y',
|
||||
"dd/mm/yy": "%d/%m/%y",
|
||||
}
|
||||
|
||||
def user_to_str(date, date_format=None):
|
||||
if not date: return date
|
||||
|
||||
|
||||
if not date_format:
|
||||
date_format = get_user_date_format()
|
||||
|
||||
try:
|
||||
return datetime.datetime.strptime(date,
|
||||
return datetime.datetime.strptime(date,
|
||||
dateformats[date_format]).strftime('%Y-%m-%d')
|
||||
except ValueError, e:
|
||||
raise ValueError, "Date %s must be in format %s" % (date, date_format)
|
||||
|
|
@ -34,11 +35,11 @@ def user_to_str(date, date_format=None):
|
|||
def parse_date(date):
|
||||
"""tries to parse given date to system's format i.e. yyyy-mm-dd. returns a string"""
|
||||
parsed_date = None
|
||||
|
||||
|
||||
# why the sorting? checking should be done in a predictable order
|
||||
check_formats = [None] + sorted(dateformats.keys(),
|
||||
reverse=not get_user_date_format().startswith("dd"))
|
||||
|
||||
|
||||
for f in check_formats:
|
||||
try:
|
||||
parsed_date = user_to_str(date, f)
|
||||
|
|
@ -53,17 +54,17 @@ def parse_date(date):
|
|||
(date, get_user_date_format())
|
||||
|
||||
return parsed_date
|
||||
|
||||
|
||||
def get_user_date_format():
|
||||
if getattr(frappe.local, "user_date_format", None) is None:
|
||||
frappe.local.user_date_format = frappe.defaults.get_global_default("date_format") or "yyyy-mm-dd"
|
||||
|
||||
return frappe.local.user_date_format
|
||||
|
||||
|
||||
def datetime_in_user_format(date_time):
|
||||
if not date_time:
|
||||
return ""
|
||||
if isinstance(date_time, basestring):
|
||||
date_time = get_datetime(date_time)
|
||||
from frappe.utils import formatdate
|
||||
return formatdate(date_time.date()) + " " + date_time.strftime("%H:%M")
|
||||
return formatdate(date_time.date()) + " " + date_time.strftime("%H:%M")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue