Many fixes and featured added

This commit is contained in:
Antonio de la Rosa 2016-02-05 03:32:29 +01:00
parent 5f7e9cce26
commit b678823a0e
8 changed files with 47 additions and 21 deletions

View file

@ -71,7 +71,7 @@ class GenerateAdminClass:
title_edit=I18n.lang('common', 'add_new_item', 'Add new item')
if GetPostFiles.get['id']!='0':
post=self.model.select_a_row(GetPostFiles.get['id'])
post=self.model.select_a_row(GetPostFiles.get['id'], [], True)
title_edit=I18n.lang('common', 'edit_new_item', 'Edit item')
if post==None:

View file

@ -86,6 +86,8 @@ class ForeignKeyField(IntegerField):
def __init__(self, name, related_table, size=11, required=False, identifier_field='id', named_field="id", select_fields=[]):
super(ForeignKeyField, self).__init__(name, size, required)
self.table_id=related_table.name_field_id
self.table_name=related_table.name
@ -96,10 +98,10 @@ class ForeignKeyField(IntegerField):
self.select_fields=select_fields
super(ForeignKeyField, self).__init__(name, size, required)
self.foreignkey=True
self.change_form(coreforms.SelectModelForm, [related_table, self.named_field, self.identifier_field])
def get_type_sql(self):
return 'INT NULL'

View file

@ -72,7 +72,8 @@ class SelectForm(BaseForm):
for k,v in self.arr_select.items():
arr_selected[k]=arr_selected.get(k, '')
the_form+="<option value=\""+self.setform(str(k))+"\" "+arr_selected[k]+">"+v+"</option>"
the_form+="<option value=\""+self.setform(str(k))+"\" "+arr_selected[k]+">"+self.setform(str(v))+"</option>"
the_form+='</select>\n'
@ -80,18 +81,18 @@ class SelectForm(BaseForm):
class SelectModelForm(SelectForm):
def __init__(self, name, value):
def __init__(self, name, value, model, field_name, field_value):
super(SelectModelForm, self).__init__(name, value)
self.arr_select=OrderedDict()
self.model=None
self.field_name=''
self.field_value='id'
self.model=model
self.field_name=field_name
self.field_value=field_value
def form(self):
self.arr_select['']=''
cur=self.model.select([self.field_name, self.field_value])
cur=self.model.select([self.field_name, self.field_value], True)
for arr_value in cur:

View file

@ -79,7 +79,9 @@ class ImageField(CharField):
if self.yes_prefix==True:
prefix=uuid4().hex+'_'
save_file=self.save_folder+'/'+prefix+filename
filename=prefix+filename
save_file=self.save_folder+'/'+filename
if self.yes_thumbnail:
@ -90,16 +92,18 @@ class ImageField(CharField):
im_thumb=im.copy()
height_t=150
ratio=(real_width/width_t)
height_t=round(real_height/ratio)
size=(self.width_t, height_t)
size=(width_t, height_t)
save_file_thumb=self.save_folder+'/'+name+filename
im_thumb.thumbnail(size, self.default_quality_thumb)
im_thumb.save(self.save_folder, "JPEG")
im_thumb.save(save_file_thumb, "JPEG")
im_thumb.close()
pass
# Save file
try:
@ -130,7 +134,7 @@ class ImageField(CharField):
im.save(save_file)
# Delete old files if have a different name
# Delete old files
if self.model!=None:
@ -142,6 +146,8 @@ class ImageField(CharField):
for arr_image in cur:
if arr_image[self.name]!=save_file:
os.remove(arr_image[self.name])
self.model.yes_reset_conditions=old_reset

View file

@ -127,7 +127,7 @@ class WebModel:
self.fields[field_model.name].required=required
self.files_delete[field_model.name]=field_model.file_related
#self.files_delete[field_model.name]=field_model.file_related
# A method for create the id field.
@ -895,6 +895,10 @@ class PhangoField:
self.file_related=False
# Extra parameters for the form
self.extra_parameters=[]
# This method is used for describe the new field in a sql language format.
@ -929,13 +933,24 @@ class PhangoField:
pass
def create_form(self):
form=self.name_form(self.name, self.default_value)
#self.name, self.default_value,
self.extra_parameters.insert(0, self.name)
self.extra_parameters.insert(1, self.default_value)
form=self.name_form(*self.extra_parameters)
form.default_value=self.default_value
form.required=self.required
form.label=self.label
form.field=self
return form
def change_form(self, new_form, parameters):
self.name_form=new_form
self.extra_parameters=parameters
class PrimaryKeyField(PhangoField):
def __init__(self, name, size=11, required=False):

View file

@ -17,6 +17,8 @@ class TestFieldMethods(unittest.TestCase):
field=ImageField('image', 'tests/images/uploads', module=None, size=255, required=False)
field.yes_thumbnail=True
field.check('')
print(field.txt_error)