From abc29844d3fe1b137a905d6c0668b20394867b0f Mon Sep 17 00:00:00 2001 From: Amritanshu Date: Wed, 21 Aug 2019 00:07:46 +0530 Subject: [PATCH] Fixed a lot of permissions --- DB/db.cmd | 48 +++++----- barker/scripts/fixtures.py | 1 + barker/views/device.py | 10 +- barker/views/menu_category.py | 10 +- barker/views/role.py | 96 ++++++++++++++----- barker/views/section_printer.py | 4 +- bookie/src/app/home/home.component.html | 34 +++---- bookie/src/app/home/home.component.ts | 2 +- .../modifier-categories-routing.module.ts | 6 +- .../section-printers-routing.module.ts | 4 +- setup.py | 2 +- 11 files changed, 133 insertions(+), 84 deletions(-) diff --git a/DB/db.cmd b/DB/db.cmd index d2da98a..6d70bef 100644 --- a/DB/db.cmd +++ b/DB/db.cmd @@ -2,27 +2,27 @@ "\Program Files\PostgreSQL\11\bin\createdb.exe" -U postgres petty ..\env\Scripts\initdb.exe ..\development.ini ..\env\Scripts\fixtures.exe ..\development.ini -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < a-Roles.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < b-Permissions.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < c-RolePermissions.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < d-Users.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < e-UserRoles.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < f-Customers.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < g-FoodTables.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < h-Taxes.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < i-MenuCategories.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < j-SaleCategories.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < k-Products.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < l-Modifiers.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < m-Sections.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < n-Printers.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < o-SectionPrinters.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < p-Vouchers.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < q-Kots.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < r-Inventories.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < s-InventoryModifiers.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < t-Overview.sql -REM "\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < u-ProductGroupModifiers.sql -REM "\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < v-Reprints.sql -REM "\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < w-Settings.sql -"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < x-VoucherSettlements.sql \ No newline at end of file +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\a-Roles.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\b-Permissions.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\c-RolePermissions.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\d-Users.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\e-UserRoles.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\f-Customers.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\g-FoodTables.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\h-Taxes.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\i-MenuCategories.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\j-SaleCategories.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\k-Products.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\l-Modifiers.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\m-Sections.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\n-Printers.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\o-SectionPrinters.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\p-Vouchers.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\q-Kots.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\r-Inventories.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\s-InventoryModifiers.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\t-Overview.sql +REM "\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\u-ProductGroupModifiers.sql +REM "\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\v-Reprints.sql +REM "\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\w-Settings.sql +"\Program Files\PostgreSQL\11\bin\psql.exe" -U postgres petty < Data\x-VoucherSettlements.sql \ No newline at end of file diff --git a/barker/scripts/fixtures.py b/barker/scripts/fixtures.py index bd92aaa..0b1aece 100644 --- a/barker/scripts/fixtures.py +++ b/barker/scripts/fixtures.py @@ -49,6 +49,7 @@ def main(argv=sys.argv): dbsession.add(Permission("Guest Book", uuid.UUID("7669dfc9-cc75-4e48-b267-145c8832a83c"))) dbsession.add(Permission("Printers", uuid.UUID("5b66c6f6-003a-4ef8-ba28-49b8ff1ac33c"))) dbsession.add(Permission("Sections", uuid.UUID("c973f32c-a37b-496a-8dc5-60d2e4c39e97"))) + dbsession.add(Permission("Section Printers", uuid.UUID("7a04ba63-5d08-4078-9051-a6d91cce3e48"))) else: add_permissions(dbsession) diff --git a/barker/views/device.py b/barker/views/device.py index 5f3c383..48cb3ed 100644 --- a/barker/views/device.py +++ b/barker/views/device.py @@ -11,7 +11,7 @@ from barker.models.validation_exception import ValidationError request_method="POST", route_name="v1_devices_new", renderer="json", - permission="Tables", + permission="Devices", trans=True, ) def save(request): @@ -33,7 +33,7 @@ def save(request): request_method="PUT", route_name="v1_devices_id", renderer="json", - permission="Tables", + permission="Devices", trans=True, ) def update(request): @@ -57,7 +57,7 @@ def update(request): request_method="DELETE", route_name="v1_devices_id", renderer="json", - permission="Tables", + permission="Devices", trans=True, ) def delete(request): @@ -80,7 +80,7 @@ def delete(request): request_method="GET", route_name="v1_devices_new", renderer="json", - permission="Tables", + permission="Authenticated", ) def show_blank(request): return device_info(None, request.dbsession) @@ -90,7 +90,7 @@ def show_blank(request): request_method="GET", route_name="v1_devices_id", renderer="json", - permission="Tables", + permission="Authenticated", ) def show_id(request): return device_info(uuid.UUID(request.matchdict["id"]), request.dbsession) diff --git a/barker/views/menu_category.py b/barker/views/menu_category.py index cb6387a..4c0aaa0 100644 --- a/barker/views/menu_category.py +++ b/barker/views/menu_category.py @@ -14,7 +14,7 @@ from barker.models.validation_exception import ValidationError request_method="POST", route_name="v1_menu_categories_new", renderer="json", - permission="Menu Categories", + permission="Products", trans=True, ) def save(request): @@ -39,7 +39,7 @@ def save(request): request_method="PUT", route_name="v1_menu_categories_id", renderer="json", - permission="Menu Categories", + permission="Products", trans=True, ) def update(request): @@ -69,7 +69,7 @@ def update(request): request_method="DELETE", route_name="v1_menu_categories_id", renderer="json", - permission="Menu Categories", + permission="Products", trans=True, ) def delete(request): @@ -107,7 +107,7 @@ def show_blank(request): request_method="GET", route_name="v1_menu_categories_id", renderer="json", - permission="Menu Categories", + permission="Products", ) def show_id(request): return menu_category_info(uuid.UUID(request.matchdict["id"]), request.dbsession) @@ -183,7 +183,7 @@ def sale_list(request): request_method="POST", route_name="v1_menu_categories_list", renderer="json", - permission="Menu Categories", + permission="Products", trans=True, ) def sort_order(request): diff --git a/barker/views/role.py b/barker/views/role.py index ad041c8..62c6b24 100644 --- a/barker/views/role.py +++ b/barker/views/role.py @@ -7,40 +7,60 @@ from pyramid.view import view_config from barker.models import Permission, Role -@view_config(request_method='POST', route_name='v1_roles_new', renderer='json', permission='Users', trans=True) +@view_config( + request_method="POST", + route_name="v1_roles_new", + renderer="json", + permission="Users", + trans=True, +) def save(request): - item = Role(request.json_body['name']) + item = Role(request.json_body["name"]) request.dbsession.add(item) - add_permissions(item, request.json_body['permissions'], request.dbsession) + add_permissions(item, request.json_body["permissions"], request.dbsession) transaction.commit() return role_info(item.id, request.dbsession) -@view_config(request_method='PUT', route_name='v1_roles_id', renderer='json', permission='Users', trans=True) +@view_config( + request_method="PUT", + route_name="v1_roles_id", + renderer="json", + permission="Users", + trans=True, +) def update(request): - id_ = request.matchdict['id'] + id_ = request.matchdict["id"] item = request.dbsession.query(Role).filter(Role.id == uuid.UUID(id_)).one() - item.name = request.json_body['name'] - add_permissions(item, request.json_body['permissions'], request.dbsession) + item.name = request.json_body["name"] + add_permissions(item, request.json_body["permissions"], request.dbsession) transaction.commit() return role_info(item.id, request.dbsession) def add_permissions(role, permissions, dbsession): for permission in permissions: - id_ = uuid.UUID(permission['id']) + id_ = uuid.UUID(permission["id"]) rp = [p for p in role.permissions if p.id == id_] rp = None if len(rp) == 0 else rp[0] - if permission['enabled'] and rp is None: - permission_object = dbsession.query(Permission).filter(Permission.id == id_).one() + if permission["enabled"] and rp is None: + permission_object = ( + dbsession.query(Permission).filter(Permission.id == id_).one() + ) role.permissions.append(permission_object) - elif not permission['enabled'] and rp: + elif not permission["enabled"] and rp: role.permissions.remove(rp) -@view_config(request_method='DELETE', route_name='v1_roles_id', renderer='json', permission='Users', trans=True) +@view_config( + request_method="DELETE", + route_name="v1_roles_id", + renderer="json", + permission="Users", + trans=True, +) def delete(request): - id_ = request.matchdict['id'] + id_ = request.matchdict["id"] if id_ is None: response = Response("Role is Null") response.status_int = 500 @@ -51,22 +71,42 @@ def delete(request): return response -@view_config(request_method='GET', route_name='v1_roles_id', renderer='json', permission='Authenticated') +@view_config( + request_method="GET", + route_name="v1_roles_id", + renderer="json", + permission="Authenticated", +) def show_id(request): - id_ = uuid.UUID(request.matchdict['id']) + id_ = uuid.UUID(request.matchdict["id"]) return role_info(id_, request.dbsession) -@view_config(request_method='GET', route_name='v1_roles_new', renderer='json', permission='Authenticated') +@view_config( + request_method="GET", + route_name="v1_roles_new", + renderer="json", + permission="Authenticated", +) def show_blank(request): return role_info(None, request.dbsession) -@view_config(request_method='GET', route_name='v1_roles_list', renderer='json', permission='Authenticated') +@view_config( + request_method="GET", + route_name="v1_roles_list", + renderer="json", + permission="Authenticated", +) def show_list(request): list_ = request.dbsession.query(Role).order_by(Role.name).all() return [ - {'id': item.id, 'name': item.name, 'permissions': sorted(p.name for p in item.permissions)} for item in list_ + { + "id": item.id, + "name": item.name, + "permissions": sorted(p.name for p in item.permissions), + } + for item in list_ ] @@ -74,14 +114,22 @@ def role_info(item, dbsession): permissions = dbsession.query(Permission).order_by(Permission.name).all() if item is None: return { - 'name': '', - 'permissions': [{'id': p.id, 'name': p.name, 'enabled': False} for p in permissions] + "name": "", + "permissions": [ + {"id": p.id, "name": p.name, "enabled": False} for p in permissions + ], } if type(item) is uuid.UUID: item = dbsession.query(Role).filter(Role.id == item).first() return { - 'id': item.id, - 'name': item.name, - 'permissions': [{'id': p.id, 'name': p.name, 'enabled': True if p in item.permissions else False} - for p in permissions] + "id": item.id, + "name": item.name, + "permissions": [ + { + "id": p.id, + "name": p.name, + "enabled": True if p in item.permissions else False, + } + for p in permissions + ], } diff --git a/barker/views/section_printer.py b/barker/views/section_printer.py index 5bd6cdb..838b36b 100644 --- a/barker/views/section_printer.py +++ b/barker/views/section_printer.py @@ -14,7 +14,7 @@ from barker.models.validation_exception import ValidationError request_method="POST", route_name="v1_section_printers_id", renderer="json", - permission="Products", + permission="Section Printers", trans=True, ) def save(request): @@ -79,7 +79,7 @@ def save(request): request_method="DELETE", route_name="v1_section_printers_id", renderer="json", - permission="Products", + permission="Section Printers", trans=True, ) def delete(request): diff --git a/bookie/src/app/home/home.component.html b/bookie/src/app/home/home.component.html index 02a5a13..f64a5b1 100644 --- a/bookie/src/app/home/home.component.html +++ b/bookie/src/app/home/home.component.html @@ -5,55 +5,55 @@ Login - +

Guest Book

- +

Sales

- +

Cashier Checkout

- +

Sale Analysis

- +

Tables

- +

Sections

- +

Menu Categories

- +

Sale Categories

- +

Products

- +

Modifier Categories

- +

Modifiers

- +

Taxes

- +

Devices

- +

Section Printers

- +

Printers

- +

Roles

- +

Users

; - constructor(private auth: AuthService) { + constructor(public auth: AuthService) { } ngOnInit() { diff --git a/bookie/src/app/modifier-categories/modifier-categories-routing.module.ts b/bookie/src/app/modifier-categories/modifier-categories-routing.module.ts index 56f7b84..ba32ec9 100644 --- a/bookie/src/app/modifier-categories/modifier-categories-routing.module.ts +++ b/bookie/src/app/modifier-categories/modifier-categories-routing.module.ts @@ -13,7 +13,7 @@ const roleRoutes: Routes = [ component: ModifierCategoryListComponent, canActivate: [AuthGuard], data: { - permission: 'Users' + permission: 'Modifiers' }, resolve: { list: ModifierCategoryListResolver @@ -24,7 +24,7 @@ const roleRoutes: Routes = [ component: ModifierCategoryDetailComponent, canActivate: [AuthGuard], data: { - permission: 'Users' + permission: 'Modifiers' }, resolve: { item: ModifierCategoryResolver, @@ -35,7 +35,7 @@ const roleRoutes: Routes = [ component: ModifierCategoryDetailComponent, canActivate: [AuthGuard], data: { - permission: 'Users' + permission: 'Modifiers' }, resolve: { item: ModifierCategoryResolver diff --git a/bookie/src/app/section-printers/section-printers-routing.module.ts b/bookie/src/app/section-printers/section-printers-routing.module.ts index 3b64786..35aef7b 100644 --- a/bookie/src/app/section-printers/section-printers-routing.module.ts +++ b/bookie/src/app/section-printers/section-printers-routing.module.ts @@ -13,7 +13,7 @@ const sectionPrinterRoutes: Routes = [ component: SectionPrinterComponent, canActivate: [AuthGuard], data: { - permission: 'Users' + permission: 'Section Printers' }, resolve: { item: SectionPrinterResolver, @@ -26,7 +26,7 @@ const sectionPrinterRoutes: Routes = [ component: SectionPrinterComponent, canActivate: [AuthGuard], data: { - permission: 'Users' + permission: 'Section Printers' }, resolve: { item: SectionPrinterResolver, diff --git a/setup.py b/setup.py index 7544660..c251231 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ requires = [ ] setup(name='barker', - version='1.0.0-alpha.4', + version='1.0.0-alpha.5', description='barker', long_description=README + '\n\n' + CHANGES, classifiers=[