def save(): data = dict(request.form) data['image'] = request.files.getlist('image') v = Validator(data) v.fields('id').integer(nullable=True) v.field('name').required() v.field('private').boolean() v.field('description').required() v.field('image').image() user = auth.service.get_user() if not user.is_authorized(): abort(403) if not v.is_valid(): return jsonify({ 'status': 'fail', 'errors': v.errors }) data = v.valid_data community = Community.get(data.id) if community: community.type = Community.TYPE.PRIVATE if data.private else Community.TYPE.PUBLIC community.name = data.name community.description = data.description else: community = Community() community.type = Community.TYPE.PRIVATE if data.private else Community.TYPE.PUBLIC community.name = data.name community.description = data.description community.owner = user db.session.add(community) db.session.flush() image = data.image if image: img = community.image = community.image or File.create(name='image.png', module='community', entity=community) img.makedir() img.update_hash() utils.image.thumbnail(image, width=200, height=200, fill=utils.image.COVER).save(img.get_path()) db.session.commit() return jsonify({'status': 'ok', 'community': community.as_dict()})
def community_create(): community = Community() return render_template('community/form.html', **{'community': community})