Fixes in sessions and imagefield
This commit is contained in:
parent
af77628bcd
commit
073e89abf8
3 changed files with 68 additions and 32 deletions
|
|
@ -191,7 +191,9 @@ else:
|
||||||
else:
|
else:
|
||||||
s={'token': token}
|
s={'token': token}
|
||||||
else:
|
else:
|
||||||
s={'token': token}
|
# Need regenerate session
|
||||||
|
|
||||||
|
s=generate_session()
|
||||||
|
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ from uuid import uuid4
|
||||||
|
|
||||||
class ImageField(CharField):
|
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)
|
super().__init__(name, size, required)
|
||||||
|
|
||||||
|
|
@ -40,6 +40,8 @@ class ImageField(CharField):
|
||||||
|
|
||||||
self.file_related=True
|
self.file_related=True
|
||||||
|
|
||||||
|
self.sizes=sizes
|
||||||
|
|
||||||
def change_folder(self, folder):
|
def change_folder(self, folder):
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
@ -56,23 +58,27 @@ class ImageField(CharField):
|
||||||
|
|
||||||
if value=='':
|
if value=='':
|
||||||
|
|
||||||
old_reset=self.model.yes_reset_conditions
|
if self.model:
|
||||||
|
|
||||||
self.model.yes_reset_conditions=False
|
if self.model.updated:
|
||||||
|
|
||||||
with self.model.select([self.name]) as cur:
|
|
||||||
|
|
||||||
for arr_image in cur:
|
|
||||||
|
|
||||||
if arr_image[self.name]!='':
|
old_reset=self.model.yes_reset_conditions
|
||||||
os.remove(arr_image[self.name])
|
|
||||||
|
|
||||||
#if arr_image[self.name]!=save_file and arr_image[self.name]!='':
|
self.model.yes_reset_conditions=False
|
||||||
|
|
||||||
#value=arr_image[self.name]
|
with self.model.select([self.name]) as cur:
|
||||||
|
|
||||||
|
for arr_image in cur:
|
||||||
|
|
||||||
|
if arr_image[self.name]!='':
|
||||||
|
os.remove(arr_image[self.name])
|
||||||
|
|
||||||
|
#if arr_image[self.name]!=save_file and arr_image[self.name]!='':
|
||||||
|
|
||||||
|
#value=arr_image[self.name]
|
||||||
|
|
||||||
|
self.model.yes_reset_conditions=old_reset
|
||||||
|
|
||||||
self.model.yes_reset_conditions=old_reset
|
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
@ -98,7 +104,26 @@ class ImageField(CharField):
|
||||||
|
|
||||||
self.txt_error='Error, file not exists'
|
self.txt_error='Error, file not exists'
|
||||||
return ""
|
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
|
format_image=im.format
|
||||||
|
|
||||||
if format_image!='JPEG' and format_image!='GIF' and format_image!='PNG':
|
if format_image!='JPEG' and format_image!='GIF' and format_image!='PNG':
|
||||||
|
|
@ -122,9 +147,6 @@ class ImageField(CharField):
|
||||||
save_file=self.save_folder+'/'+filename
|
save_file=self.save_folder+'/'+filename
|
||||||
|
|
||||||
if self.yes_thumbnail:
|
if self.yes_thumbnail:
|
||||||
|
|
||||||
real_width=im.size[0]
|
|
||||||
real_height=im.size[1]
|
|
||||||
|
|
||||||
for name, width_t in self.thumbnail.items():
|
for name, width_t in self.thumbnail.items():
|
||||||
|
|
||||||
|
|
@ -176,22 +198,24 @@ class ImageField(CharField):
|
||||||
# Delete old files
|
# Delete old files
|
||||||
|
|
||||||
if self.model!=None:
|
if self.model!=None:
|
||||||
|
|
||||||
#old_conditions=self.model.conditions
|
|
||||||
|
|
||||||
old_reset=self.model.yes_reset_conditions
|
|
||||||
|
|
||||||
self.model.yes_reset_conditions=False
|
|
||||||
|
|
||||||
with self.model.select([self.name]) as cur:
|
|
||||||
|
|
||||||
for arr_image in cur:
|
if self.model.updated:
|
||||||
|
|
||||||
if arr_image[self.name]!=save_file and arr_image[self.name]!='':
|
|
||||||
|
|
||||||
os.remove(arr_image[self.name])
|
|
||||||
|
|
||||||
self.model.yes_reset_conditions=old_reset
|
#old_conditions=self.model.conditions
|
||||||
|
|
||||||
|
old_reset=self.model.yes_reset_conditions
|
||||||
|
|
||||||
|
self.model.yes_reset_conditions=False
|
||||||
|
|
||||||
|
with self.model.select([self.name]) as cur:
|
||||||
|
|
||||||
|
for arr_image in cur:
|
||||||
|
|
||||||
|
if arr_image[self.name]!=save_file and arr_image[self.name]!='':
|
||||||
|
|
||||||
|
os.remove(arr_image[self.name])
|
||||||
|
|
||||||
|
self.model.yes_reset_conditions=old_reset
|
||||||
|
|
||||||
#self.model.conditions=old_conditions
|
#self.model.conditions=old_conditions
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -790,6 +790,16 @@ class WebModel:
|
||||||
self.conditions=[sql_text, values]
|
self.conditions=[sql_text, values]
|
||||||
|
|
||||||
return self
|
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:
|
def set_order(self, order:dict) -> object:
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue