Fixed validation pattern for name in edit form
This commit is contained in:
parent
6b1b3ac96b
commit
28ba3c6c38
|
@ -228,7 +228,7 @@ def makeLabel(obj):
|
||||||
class PackageForm(FlaskForm):
|
class PackageForm(FlaskForm):
|
||||||
type = SelectField(lazy_gettext("Type"), [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.GAME)
|
type = SelectField(lazy_gettext("Type"), [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.GAME)
|
||||||
title = StringField(lazy_gettext("Title (Human-readable)"), [InputRequired(), Length(1, 100)])
|
title = StringField(lazy_gettext("Title (Human-readable)"), [InputRequired(), Length(1, 100)])
|
||||||
name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100), Regexp("^[a-z0-9_\-\.]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_), dashes and periods only"))])
|
name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100), Regexp("^[a-zA-Z0-9_\-\.]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_), dashes and periods only"))])
|
||||||
short_desc = StringField(lazy_gettext("Short Description (Plaintext)"), [InputRequired(), Length(1,200)])
|
short_desc = StringField(lazy_gettext("Short Description (Plaintext)"), [InputRequired(), Length(1,200)])
|
||||||
|
|
||||||
dev_state = SelectField(lazy_gettext("Maintenance State"), [InputRequired()], choices=PackageDevState.choices(with_none=True), coerce=PackageDevState.coerce)
|
dev_state = SelectField(lazy_gettext("Maintenance State"), [InputRequired()], choices=PackageDevState.choices(with_none=True), coerce=PackageDevState.coerce)
|
||||||
|
@ -546,7 +546,7 @@ def audit(package):
|
||||||
class PackageAliasForm(FlaskForm):
|
class PackageAliasForm(FlaskForm):
|
||||||
author = StringField(lazy_gettext("Author Name"), [InputRequired(), Length(1, 50)])
|
author = StringField(lazy_gettext("Author Name"), [InputRequired(), Length(1, 50)])
|
||||||
name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100),
|
name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100),
|
||||||
Regexp("^[a-z0-9_\_\.]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_), dashes and periods only"))])
|
Regexp("^[a-zA-Z0-9_\-\.]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_), dashes and periods only"))])
|
||||||
submit = SubmitField(lazy_gettext("Save"))
|
submit = SubmitField(lazy_gettext("Save"))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ def get_license(name):
|
||||||
return license
|
return license
|
||||||
|
|
||||||
|
|
||||||
name_re = re.compile("^[a-z0-9_\-\.]+$")
|
name_re = re.compile("^[a-zA-Z0-9_\-\.]+$")
|
||||||
|
|
||||||
AnyType = "?"
|
AnyType = "?"
|
||||||
ALLOWED_FIELDS = {
|
ALLOWED_FIELDS = {
|
||||||
|
|
|
@ -380,7 +380,7 @@ class Package(db.Model):
|
||||||
created_at = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)
|
created_at = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)
|
||||||
approved_at = db.Column(db.DateTime, nullable=True, default=None)
|
approved_at = db.Column(db.DateTime, nullable=True, default=None)
|
||||||
|
|
||||||
name_valid = db.CheckConstraint("name ~* '^[a-z0-9_\-\.]+$'")
|
name_valid = db.CheckConstraint("name ~* '^[a-zA-Z0-9_\-\.]+$'")
|
||||||
|
|
||||||
search_vector = db.Column(TSVectorType("name", "title", "short_desc", "desc",
|
search_vector = db.Column(TSVectorType("name", "title", "short_desc", "desc",
|
||||||
weights={ "name": "A", "title": "B", "short_desc": "C", "desc": "D" }))
|
weights={ "name": "A", "title": "B", "short_desc": "C", "desc": "D" }))
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||||
<ShortName>ContentDB</ShortName>
|
<ShortName>Okapi</ShortName>
|
||||||
<LongName>ContentDB</LongName>
|
<LongName>Okapi ContentDB</LongName>
|
||||||
<InputEncoding>UTF-8</InputEncoding>
|
<InputEncoding>UTF-8</InputEncoding>
|
||||||
<Description>Search mods, games, and textures for Minetest.</Description>
|
<Description>Search libre games, tools and mods</Description>
|
||||||
<Tags>Minetest Tool Game Subgame Search</Tags>
|
<Tags>Libre Tool Game Subgame Search</Tags>
|
||||||
<Url type="text/html" method="get" template="https://content.minetest.net/packages?q={searchTerms}"/>
|
<Url type="text/html" method="get" template="https://games.armen138.com/packages?q={searchTerms}"/>
|
||||||
</OpenSearchDescription>
|
</OpenSearchDescription>
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
{{ render_field(form.name, class_="pkg_meta col-sm-4",
|
{{ render_field(form.name, class_="pkg_meta col-sm-4",
|
||||||
readonly=True, hint=_("Please open a thread to request a name change")) }}
|
readonly=True, hint=_("Please open a thread to request a name change")) }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ render_field(form.name, class_="pkg_meta col-sm-4", pattern="[a-z0-9_\-\.]+", title=_("Lower case letters (a-z), digits (0-9), and underscores (_), dashes and periods only")) }}
|
{{ render_field(form.name, class_="pkg_meta col-sm-4", pattern="[a-zA-Z0-9_\-\.]+", title=_("Lower case letters (a-z), digits (0-9), and underscores (_), dashes and periods only")) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{{ render_field(form.short_desc, class_="pkg_meta") }}
|
{{ render_field(form.short_desc, class_="pkg_meta") }}
|
||||||
|
|
|
@ -19,7 +19,7 @@ depends_on = None
|
||||||
def upgrade():
|
def upgrade():
|
||||||
conn = op.get_bind()
|
conn = op.get_bind()
|
||||||
sync_trigger(conn, 'package', 'search_vector', ["name", "title", "short_desc", "desc"])
|
sync_trigger(conn, 'package', 'search_vector', ["name", "title", "short_desc", "desc"])
|
||||||
op.create_check_constraint("name_valid", "package", "name ~* '^[a-z0-9_\-\.]+$'")
|
op.create_check_constraint("name_valid", "package", "name ~* '^[a-zA-Z0-9_\-\.]+$'")
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
def downgrade():
|
||||||
|
|
Loading…
Reference in New Issue