def save_object(): if not request.user.role('admin'): return False data = request.forms photos = request.files.getall('file') v = Validator(data) v.fields("file.id").integer(nullable=True) v.fields("file.visible").boolean() v.fields("file.order").integer() if v.is_valid(): data = v.valid_data about = request.db(Content).get_by_alias('about') if not about: about = Content() about.con_alias = 'about' about.con_name = 'about' about.con_text = data.get("text") request.db.add(about) request.db.commit() action = data.getall('file.action') visible = data.getall('file.visible') order = data.getall('file.order') for i, id in enumerate(data.getall('file.id')): if action[i]: if action[i] == 'new': file = request.db(File).create('photo.jpg', module=module.name, entity=about) file.create_dir() file.update_uniq_id() photo = photos.pop(0) image_resize(photo).convert('RGB').save(file.get_fullpath()) else: file = request.db(File).get_by_id(id) file.visible = visible[i] file.order = order[i] if action[i] == 'delete': file.remove_files() request.db.delete(file) else: request.db.add(file) request.db.commit() return {"status": "ok", "reload": 'true'} else: return {"status": "fail", "errors": v.errors}
def save_object(): if not request.user.role("admin"): return False data = request.forms data["image"] = request.files.get("image") v = Validator(data) v.field("image").image() img = data.get("image") if v.is_valid() and img is not None: path = os.path.abspath(files_dir + "/upload/") image_name = "image." + str(uuid.uuid4()) + ".png" if not os.path.exists(path): os.makedirs(path) image_path = os.path.join(path, image_name) image = image_resize(img) image.save(image_path) return {"status": "ok", "url": "/file/upload/" + image_name, "width": image.size[0], "height": image.size[1]} else: return {"status": "fail", "errors": v.errors}