Skip to content

Commit 442b700

Browse files
author
Ivan Krivosheev
committed
Delete bugs.
1 parent e90207a commit 442b700

File tree

10 files changed

+78
-48
lines changed

10 files changed

+78
-48
lines changed

examples/sqla_utils/app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class User(db.Model):
3737
email = db.Column(db.String(120), unique=True)
3838
password = db.Column(PasswordType(schemes=['md5_crypt']))
3939
status = db.Column(ChoiceType(choices=USERS_TYPE), default="1")
40-
create = db.Column(ArrowType, default=arrow.utcnow)
40+
create = db.Column(ArrowType, default=arrow.now())
4141
color = db.Column(ColorType, nullable=True)
4242

4343
# Required for administrative interface. For python 3 please use __str__ instead.

flask_admin_utils/fields.py

Lines changed: 0 additions & 7 deletions
This file was deleted.

flask_admin_utils/sqla_utils/form.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,22 @@
11
from flask.ext.admin.model.form import converts
22
from flask.ext.admin.contrib.sqla.form import AdminModelConverter as Converter
33

4-
from sqla_utils_types import arrow_type, password_type, choice_type, color_type
4+
try:
5+
from sqla_utils_types import arrow_type
6+
except ImportError:
7+
arrow_type = None
8+
try:
9+
from sqla_utils_types import password_type
10+
except ImportError:
11+
password_type = None
12+
try:
13+
from sqla_utils_types import choice_type
14+
except ImportError:
15+
choice_type = None
16+
try:
17+
from sqla_utils_types import color_type
18+
except ImportError:
19+
color_type = None
520

621

722
class AdminModelConverter(Converter):

flask_admin_utils/sqla_utils/formatter.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

flask_admin_utils/sqla_utils/sqla_utils_types/__init__.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33

44
from flask.ext.admin.model import typefmt
55

6-
# BASE_FORMATTERS = typefmt.BASE_FORMATTERS.update({
7-
# Password: password_formatter,
8-
# Color: colour_formatter,
9-
# })
6+
from sqlalchemy_utils import Password
7+
BASE_FORMATTERS = typefmt.BASE_FORMATTERS.update({Password: password_formatter})
8+
9+
try:
10+
from colour import Color
11+
BASE_FORMATTERS = typefmt.BASE_FORMATTERS.update({Color: color_formatter})
12+
except ImportError:
13+
pass
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1-
from flask.ext.admin.form.fields import DateTimeField
1+
import datetime
2+
from dateutil import tz
3+
4+
from flask.ext.admin.form.fields import DateTimeField as DTF
5+
6+
7+
class DateTimeField(DTF):
8+
9+
def process_formdata(self, valuelist):
10+
if valuelist:
11+
date_str = ' '.join(valuelist)
12+
try:
13+
self.data = datetime.datetime.strptime(date_str, self.format).replace(tzinfo=tz.tzutc())
14+
except ValueError:
15+
self.data = None
16+
raise ValueError(self.gettext('Not a valid datetime value'))
217

318
field = DateTimeField
Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,27 @@
1-
from ...fields import ColorField
1+
from jinja2 import Markup
2+
from colour import Color
3+
from wtforms import StringField, widgets
4+
5+
6+
class ColorInput(widgets.Input):
7+
input_type = 'color'
8+
9+
10+
class ColorField(StringField):
11+
widget = ColorInput()
12+
13+
def process_formdata(self, valuelist):
14+
if valuelist:
15+
try:
16+
self.data = Color(valuelist[0])
17+
except ValueError:
18+
self.data = None
19+
raise ValueError(self.gettext('Not a valid color value'))
20+
21+
22+
def color_formatter(view, value):
23+
return Markup('<div style="float: left; margin: 2px -px 0 0; width: 15px; height: 15px; background: {0}"></div><div style="float: right">{0}</div>'.format(value))
24+
225

326
field = ColorField
4-
formatter = None
27+
formatter = color_formatter
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
from wtforms import PasswordField
22

33

4+
def password_formatter(view, value):
5+
"""
6+
Return "********" - if value is Password
7+
8+
:param value:
9+
Value to check
10+
"""
11+
return "*" * 8
12+
13+
414
field = PasswordField
5-
formatter = None
15+
formatter = password_formatter

flask_admin_utils/sqla_utils/view.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from form import AdminModelConverter
22

3-
from formatter import BASE_FORMATTERS
3+
from sqla_utils_types import BASE_FORMATTERS
44

55
from flask.ext.admin.contrib.sqla import ModelView as View
66

flask_admin_utils/widgets.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)