Redesign1 #1
4 changed files with 0 additions and 68 deletions
|
|
@ -1,31 +0,0 @@
|
||||||
from flask import Flask, render_template, request, redirect, url_for
|
|
||||||
from test_app.models import Device, User
|
|
||||||
from test_app.db import Base, engine, SessionLocal
|
|
||||||
from crudkit.core.service import CRUDService
|
|
||||||
from crudkit.api.flask_api import generate_crud_blueprint
|
|
||||||
from crudkit.ui.fragments import render_table, render_form
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
|
||||||
|
|
||||||
Base.metadata.create_all(engine)
|
|
||||||
|
|
||||||
session = SessionLocal()
|
|
||||||
device_service = CRUDService(Device, session)
|
|
||||||
user_service = CRUDService(User, session)
|
|
||||||
|
|
||||||
app.register_blueprint(generate_crud_blueprint(Device, device_service), url_prefix='/api/devices')
|
|
||||||
app.register_blueprint(generate_crud_blueprint(User, user_service), url_prefix='/api/users')
|
|
||||||
|
|
||||||
@app.route('/', methods=['GET', 'POST'])
|
|
||||||
def index():
|
|
||||||
if request.method == 'POST':
|
|
||||||
device_service.create(request.form.to_dict())
|
|
||||||
return redirect(url_for('index'))
|
|
||||||
|
|
||||||
devices = device_service.list()
|
|
||||||
table = render_table(devices)
|
|
||||||
form = render_form(Device, {}, session)
|
|
||||||
return render_template('index.html', table=table, form=form)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
app.run(debug=True, host='127.0.0.1', port=5050)
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
from sqlalchemy import create_engine
|
|
||||||
from sqlalchemy.orm import sessionmaker, declarative_base
|
|
||||||
|
|
||||||
engine = create_engine('sqlite:///test.db', echo=True)
|
|
||||||
SessionLocal = sessionmaker(bind=engine)
|
|
||||||
Base = declarative_base()
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
from sqlalchemy import Column, String, Integer, ForeignKey
|
|
||||||
from sqlalchemy.orm import relationship
|
|
||||||
from crudkit.core.base import CRUDMixin
|
|
||||||
from test_app.db import Base
|
|
||||||
|
|
||||||
class User(CRUDMixin, Base):
|
|
||||||
__tablename__ = 'users'
|
|
||||||
name = Column(String)
|
|
||||||
email = Column(String)
|
|
||||||
supervisor_id = Column(Integer, ForeignKey('users.id'))
|
|
||||||
supervisor = relationship('User', remote_side='User.id')
|
|
||||||
|
|
||||||
class Device(CRUDMixin, Base):
|
|
||||||
__tablename__ = 'devices'
|
|
||||||
name = Column(String)
|
|
||||||
serial = Column(String)
|
|
||||||
assigned_to_id = Column(Integer, ForeignKey('users.id'))
|
|
||||||
assigned_to = relationship('User')
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Device List</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Devices</h1>
|
|
||||||
{{ table|safe }}
|
|
||||||
|
|
||||||
<h2>Add Device</h2>
|
|
||||||
{{ form|safe }}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue