Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F82258577
title_field.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Sep 10, 10:45
Size
2 KB
Mime Type
text/x-python
Expires
Thu, Sep 12, 10:45 (1 d, 22 h)
Engine
blob
Format
Raw Data
Handle
20667427
Attached To
R3600 invenio-infoscience
title_field.py
View Options
# -*- coding: utf-8 -*-
##
## This file is part of Invenio.
## Copyright (C) 2012, 2013 CERN.
##
## Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
from
wtforms
import
TextField
from
invenio.webdeposit_field
import
WebDepositField
__all__
=
[
'TitleField'
]
class
TitleField
(
WebDepositField
(
key
=
'title.title'
),
TextField
):
def
__init__
(
self
,
**
kwargs
):
super
(
TitleField
,
self
)
.
__init__
(
**
kwargs
)
self
.
_icon_html
=
'<i class="icon-book"></i>'
def
pre_validate
(
self
,
form
=
None
):
# Load custom validation
validators
=
self
.
config
.
get_validators
()
if
validators
is
not
[]
and
validators
is
not
None
:
validation_json
=
{}
for
validator
in
validators
:
json
=
validator
(
self
)
validation_json
=
self
.
merge_validation_json
(
validation_json
,
json
)
return
validation_json
value
=
self
.
data
if
value
==
""
or
value
.
isspace
():
return
dict
(
error
=
0
,
error_message
=
''
)
error_message
=
'Document Title must have at least 4 characters'
if
len
(
str
(
value
))
<
4
:
try
:
self
.
errors
.
append
(
error_message
)
except
AttributeError
:
self
.
errors
=
list
(
self
.
process_errors
)
self
.
errors
.
append
(
error_message
)
return
dict
(
error
=
1
,
error_message
=
error_message
)
return
dict
(
error
=
0
,
error_message
=
''
)
Event Timeline
Log In to Comment