瀏覽代碼

added german date format dd.mm.yyyy fixes frappe/erpnext#1185

version-14
Rushabh Mehta 11 年之前
父節點
當前提交
c61b45dced
共有 3 個檔案被更改,包括 17 行新增10 行删除
  1. +2
    -2
      frappe/core/doctype/system_settings/system_settings.json
  2. +6
    -0
      frappe/public/js/legacy/datetime.js
  3. +9
    -8
      frappe/utils/dateutils.py

+ 2
- 2
frappe/core/doctype/system_settings/system_settings.json 查看文件

@@ -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",


+ 6
- 0
frappe/public/js/legacy/datetime.js 查看文件

@@ -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;
}


+ 9
- 8
frappe/utils/dateutils.py 查看文件

@@ -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…
取消
儲存