Added more tests
This commit is contained in:
parent
764a4863a2
commit
912f288f67
7 changed files with 183 additions and 7 deletions
|
|
@ -175,7 +175,7 @@ class TextField(PhangoField):
|
|||
class HTMLField(TextField):
|
||||
"""Class used for html fields
|
||||
|
||||
Class used for html fields, use TEXT sql type for the this field because is children of TextField.
|
||||
Class used for html fields, use TEXT sql type for the this field because is children of TextField. In this method self.escape is used for convert " to "
|
||||
"""
|
||||
|
||||
def __init__(self, name, required=False):
|
||||
|
|
@ -204,7 +204,14 @@ class HTMLField(TextField):
|
|||
if tag.name not in self.trusted_tags:
|
||||
tag.hidden=True
|
||||
|
||||
return soup.renderContents().decode('utf-8')
|
||||
value=soup.renderContents().decode('utf-8')
|
||||
|
||||
if self.escape:
|
||||
|
||||
return value.replace('"', '"')
|
||||
else:
|
||||
|
||||
return value
|
||||
|
||||
|
||||
class ForeignKeyField(IntegerField):
|
||||
|
|
@ -217,7 +224,7 @@ class ForeignKeyField(IntegerField):
|
|||
"""
|
||||
Args:
|
||||
name (str): Name of field
|
||||
related_table(str): The table related with this foreign key
|
||||
related_table(WebModel): The table-model related with this foreign key
|
||||
size (int): The size of the new field in database. By default 11.
|
||||
required (bool): Boolean for define if field is required or not
|
||||
identifier_field (str): The Id field name from related table
|
||||
|
|
@ -297,6 +304,7 @@ class BooleanField(IntegerField):
|
|||
if value<0 or value>1:
|
||||
self.txt_error=self.default_error
|
||||
self.error=True
|
||||
value=0
|
||||
|
||||
except:
|
||||
|
||||
|
|
|
|||
|
|
@ -37,10 +37,17 @@ class ArrayField(PhangoField):
|
|||
self.error=True
|
||||
self.txt_error='Sorry, the json array is invalid'
|
||||
|
||||
error=0
|
||||
|
||||
if type(self.field_type).__name__!='ArrayField':
|
||||
for k,v in enumerate(value):
|
||||
|
||||
value[k]=self.field_type.check(v)
|
||||
if self.field_type.error:
|
||||
error+=1
|
||||
|
||||
if error>0:
|
||||
self.error=True
|
||||
|
||||
final_value=json.dumps(value)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
from paramecio2.libraries.db.corefields import IntegerField
|
||||
from paramecio2.libraries.db.extraforms.colorform import ColorForm
|
||||
try:
|
||||
from paramecio2.libraries.db.extraforms.colorform import ColorForm
|
||||
except:
|
||||
class ColorForm:
|
||||
pass
|
||||
|
||||
class ColorField(IntegerField):
|
||||
"""Simple field for save colors in hexadecimal format."""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
from paramecio2.libraries.db.corefields import PhangoField
|
||||
from paramecio2.libraries import datetime
|
||||
from paramecio2.libraries.db.extraforms.dateform import DateForm
|
||||
try:
|
||||
from paramecio2.libraries.db.extraforms.dateform import DateForm
|
||||
except:
|
||||
|
||||
class DateForm:
|
||||
pass
|
||||
|
||||
class DateField(PhangoField):
|
||||
"""Field for use and save dates in YYYYMMDDHHSS format"""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
from paramecio2.libraries.db.corefields import PhangoField
|
||||
from paramecio2.libraries import datetime
|
||||
from paramecio2.libraries.db.extraforms.dateform import DateForm
|
||||
try:
|
||||
from paramecio2.libraries.db.extraforms.dateform import DateForm
|
||||
except:
|
||||
class DateForm:
|
||||
pass
|
||||
|
||||
class DateTimeField(PhangoField):
|
||||
"""Field for use and save dates in MySQL date format"""
|
||||
|
|
|
|||
|
|
@ -36,13 +36,18 @@ class DictField(PhangoField):
|
|||
value={}
|
||||
self.error=True
|
||||
self.txt_error=self.error_default
|
||||
|
||||
error=0
|
||||
for k,v in value.items():
|
||||
|
||||
value[k]=self.field_type.check(v)
|
||||
if self.field_type.error:
|
||||
error+=1
|
||||
|
||||
final_value=json.dumps(value)
|
||||
|
||||
if error>0:
|
||||
self.error=True
|
||||
|
||||
#final_value=WebModel.escape_sql(final_value)
|
||||
|
||||
return final_value
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue