Tables List and Detail working
TODO: Save SortOrder also, Drag and Drop ordering
This commit is contained in:
@ -89,9 +89,12 @@ def includeme(config):
|
||||
config.add_route('guest_book_list', '/guest-book/list')
|
||||
config.add_route('guest_book_id', '/guest-book/{id}')
|
||||
|
||||
config.add_route('food_table', '/table/new.json')
|
||||
config.add_route('food_table_list', '/table/list.json')
|
||||
config.add_route('food_table_id', '/table/{id}.json')
|
||||
config.add_route("tables_new", "/tables/new")
|
||||
config.add_route("tables_id", "/tables/{id}")
|
||||
config.add_route("tables_list", "/tables")
|
||||
config.add_route("v1_tables_new", "/v1/tables/new")
|
||||
config.add_route("v1_tables_id", "/v1/tables/{id}")
|
||||
config.add_route("v1_tables_list", "/v1/tables")
|
||||
|
||||
config.add_route('voucher', '/Voucher.json')
|
||||
config.add_route('voucher_id', '/Voucher/{id}.json')
|
||||
|
||||
@ -7,7 +7,7 @@ from pyramid.view import view_config
|
||||
from barker.models import FoodTable, Overview
|
||||
|
||||
|
||||
@view_config(request_method='PUT', route_name='food_table', renderer='json', permission='Tables', trans=True)
|
||||
@view_config(request_method='POST', route_name='v1_tables_new', renderer='json', permission='Tables', trans=True)
|
||||
def save(request):
|
||||
json = request.json_body
|
||||
item = FoodTable(json['name'], json['location'], json['isActive'], json['sortOrder'])
|
||||
@ -17,7 +17,7 @@ def save(request):
|
||||
return food_table_info(item)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='food_table_id', renderer='json', permission='Tables', trans=True)
|
||||
@view_config(request_method='PUT', route_name='v1_tables_id', renderer='json', permission='Tables', trans=True)
|
||||
def update(request):
|
||||
json = request.json_body
|
||||
item = request.dbsession.query(FoodTable).filter(FoodTable.id == uuid.UUID(request.matchdict['id'])).first()
|
||||
@ -30,7 +30,7 @@ def update(request):
|
||||
return food_table_info(item)
|
||||
|
||||
|
||||
@view_config(request_method='DELETE', route_name='food_table_id', renderer='json', permission='Tables', trans=True)
|
||||
@view_config(request_method='DELETE', route_name='v1_tables_id', renderer='json', permission='Tables', trans=True)
|
||||
def delete(request):
|
||||
item = request.dbsession.query(FoodTable).filter(FoodTable.id == uuid.UUID(request.matchdict['id'])).first()
|
||||
request.dbsession.delete(item)
|
||||
@ -38,7 +38,7 @@ def delete(request):
|
||||
return {}
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='food_table_id', renderer='json', permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='v1_tables_id', renderer='json', permission='Authenticated')
|
||||
def show_id(request):
|
||||
id_ = request.matchdict['id']
|
||||
p = re.compile('^[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}$')
|
||||
@ -50,8 +50,8 @@ def show_id(request):
|
||||
return food_table_info(item)
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='food_table', renderer='json', request_param='v', permission='Tables')
|
||||
def show_blank(request):
|
||||
@view_config(request_method='GET', route_name='v1_tables_new', renderer='json', request_param='v')
|
||||
def show_voucher(request):
|
||||
voucher_id = request.GET['v']
|
||||
voucher = request.dbsession.query(Overview).filter(Overview.voucher_id == voucher_id).first()
|
||||
if voucher is not None:
|
||||
@ -59,7 +59,17 @@ def show_blank(request):
|
||||
return {}
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='food_table_list', renderer='json', permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='v1_tables_new', renderer='json', permission='Tables')
|
||||
def show_blank(request):
|
||||
return {
|
||||
'name': "",
|
||||
'isActive': True,
|
||||
'location': "",
|
||||
'sortOrder': 0
|
||||
}
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='v1_tables_list', renderer='json', permission='Authenticated')
|
||||
def show_list(request):
|
||||
active = request.GET.get('a', None)
|
||||
list_ = request.dbsession.query(FoodTable)
|
||||
@ -81,7 +91,7 @@ def show_list(request):
|
||||
return food_tables
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='food_table_list', renderer='json', permission='Tables')
|
||||
@view_config(request_method='PUT', route_name='v1_tables_list', renderer='json', permission='Tables')
|
||||
def sort_order(request):
|
||||
json = request.json_body
|
||||
for index, item in enumerate(json):
|
||||
@ -99,8 +109,8 @@ def food_table_info(item):
|
||||
return {
|
||||
'id': item.id,
|
||||
'name': item.name,
|
||||
'isActive': item.is_active,
|
||||
'location': item.location,
|
||||
'isActive': item.is_active,
|
||||
'status': '' if item.status is None else item.status.status,
|
||||
'sortOrder': item.sort_order,
|
||||
'voucherId': None if item.status is None else item.status.voucher_id
|
||||
|
||||
Reference in New Issue
Block a user