def tenancy_edit(key_id): tenancy = Tenancy.retrieve_by_id(key_id) if not tenancy: return redirect(url_for('tenancy.admin.tenancy')) if request.method == 'POST' and 'delete_tenancy' in request.form: tenancy.key.delete() return redirect(url_for('tenancy.admin.tenancy')) url = blobstore.create_upload_url( url_for('tenancy.admin.edit', key_id=key_id) ) form = TenancyForm(obj=tenancy) if request.method == 'POST': upload_files = get_uploads(request, 'attach_file') file_ = None if len(upload_files): blob_info = upload_files[0] else: blob_info = None if form.validate_on_submit(): if blob_info: blob_info = blobstore.BlobInfo.get(blob_info.key()) if blob_info.size: file_ = File.create( blob_key=blob_info.key(), title=form.name.data, description=form.description.data, is_public=form.is_public.data, filename=os.path.basename(blob_info.filename.replace('\\', '/')), size=blob_info.size, content_type=blob_info.content_type) file_.put() else: blob_info.delete() form.populate_obj(tenancy) if file_: if tenancy.file: tenancy.file.delete() tenancy.file = file_.key tenancy.put() return redirect(url_for('tenancy.admin.tenancy')) return render_template( 'tenancy/admin/tenancy_edit.html', tenancy=tenancy, form=form, url=url )
def tenancy_add(): form = TenancyForm() url = blobstore.create_upload_url( url_for('tenancy.admin.add') ) if request.method == 'POST': upload_files = get_uploads(request, 'attach_file') file_ = None if len(upload_files): blob_info = upload_files[0] else: blob_info = None if form.validate_on_submit(): if blob_info: blob_info = blobstore.BlobInfo.get(blob_info.key()) if blob_info.size: file_ = File.create( blob_key=blob_info.key(), title=form.name.data, description=form.description.data, is_public=form.is_public.data, filename=os.path.basename(blob_info.filename.replace('\\', '/')), size=blob_info.size, content_type=blob_info.content_type) file_.put() else: blob_info.delete() tenancy = Tenancy() form.populate_obj(tenancy) if file_: tenancy.file = file_.key tenancy.put() return redirect(url_for('tenancy.admin.tenancy')) tenancies = Tenancy.query() return render_template( 'tenancy/admin/add.html', add_active='active', form=form, tenancies=tenancies, url=url )