Fixes in sessions and imagefield

This commit is contained in:
Antonio de la Rosa 2017-03-30 03:26:10 +02:00
parent af77628bcd
commit 073e89abf8
3 changed files with 68 additions and 32 deletions

View file

@ -191,7 +191,9 @@ else:
else:
s={'token': token}
else:
s={'token': token}
# Need regenerate session
s=generate_session()
return s

View file

@ -18,7 +18,7 @@ from uuid import uuid4
class ImageField(CharField):
def __init__(self, name, save_folder='media/upload/images', maximum_size=None, module=None, size=255, required=False):
def __init__(self, name, save_folder='media/upload/images', sizes=None, module=None, size=255, required=False):
super().__init__(name, size, required)
@ -40,6 +40,8 @@ class ImageField(CharField):
self.file_related=True
self.sizes=sizes
def change_folder(self, folder):
pass
@ -56,6 +58,10 @@ class ImageField(CharField):
if value=='':
if self.model:
if self.model.updated:
old_reset=self.model.yes_reset_conditions
self.model.yes_reset_conditions=False
@ -99,6 +105,25 @@ class ImageField(CharField):
self.txt_error='Error, file not exists'
return ""
real_width=im.size[0]
real_height=im.size[1]
if self.sizes:
if 'maximum' in self.sizes:
if self.sizes.size['maximum'][0]<real_width or self.sizes.size['maximum'][1]<real_height:
self.error=True
self.txt_error='Size is wrong. Maximum size is '+str(self.sizes.size['maximum'][0])+'x'+str(self.sizes.size['maximum'][1])
im.close()
return ""
if 'minimum' in self.sizes:
if self.sizes.size['minimum'][0]<real_width or self.sizes.size['minimum'][1]<real_height:
self.error=True
self.txt_error='Size is wrong. Minimum size is '+str(real_width)+'x'+str(real_height)
im.close()
return ""
format_image=im.format
if format_image!='JPEG' and format_image!='GIF' and format_image!='PNG':
@ -123,9 +148,6 @@ class ImageField(CharField):
if self.yes_thumbnail:
real_width=im.size[0]
real_height=im.size[1]
for name, width_t in self.thumbnail.items():
im_thumb=im.copy()
@ -177,6 +199,8 @@ class ImageField(CharField):
if self.model!=None:
if self.model.updated:
#old_conditions=self.model.conditions
old_reset=self.model.yes_reset_conditions

View file

@ -791,6 +791,16 @@ class WebModel:
return self
@staticmethod
def check_in_list(in_list):
for x in range(0, len(in_list)):
try:
in_list[x]=str(int(in_list[x]))
except:
in_list[x]=str(0)
return '('+', '.join(in_list)+')'
def set_order(self, order:dict) -> object:
arr_order=[]