Migration test data complete

This commit is contained in:
2022-07-01 15:25:10 +10:00
parent 5e78701b0b
commit 905adcd7bd
4 changed files with 95 additions and 70 deletions

View File

@@ -4,6 +4,8 @@ open DredgeFramework
open DredgePos.Types
open System.IO
let spaceButton () = (Entity.GetFirstByColumn<button> "primary_action" "spacer").id
let CreatePageFromDirectory index (dir: string) =
let dirName = DirectoryInfo(dir).Name
@@ -103,6 +105,33 @@ let CreateDefaultSalesCategories (path: string) =
path
let CreateDefaultButtons (path: string) =
Entity.Create {
id = 0
text = ""
primary_action = "spacer"
secondary_action = ""
primary_action_value = ""
secondary_action_value = ""
image = ""
extra_classes = "invisible"
extra_styles = ""
}
|> ignore
path
let CreateDefaultItems (path: string) =
Entity.Create {
id = 0
name = "Custom Item"
code = "OPEN000"
sales_category_id = (Entity.GetFirstByColumn<sales_category> "name" "Food").id
item_type = "item"
price1 = 0
}
|> ignore
path
let CreateRooms () =
"wwwroot/images/rooms"
|> Directory.GetFiles
@@ -122,23 +151,24 @@ let populateEntreeGrid () =
let DipSalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Dips"
let Entrees = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let Dips = Entity.GetAllByColumn<item> "sales_category_id" DipSalesCategory.id
let space = spaceButton()
let GridData =
[|
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
|]
|> Array.mapi (fun index current ->
let isFirstColumn = (index % 6) = 0
if not isFirstColumn then current else
let entree = Entrees |> Array.tryItem (index/6)
match entree with
| None -> 0
| None -> space
| Some x -> x.id
)
|> Array.mapi (fun index current ->
@@ -146,7 +176,7 @@ let populateEntreeGrid () =
if not isSecondRow then current else
let entree = Dips |> Array.tryItem (index-7)
match entree with
| None -> 0
| None -> space
| Some x -> x.id
)
@@ -162,20 +192,21 @@ let populateEntreeGrid () =
let populateMainGrid (category: string) () =
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" category
let Mains = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let space = spaceButton()
let getId index =
match Mains |> Array.tryItem index with
| None -> 0
| None -> space
| Some x -> x.id
let GridData =
[|
getId 0; 0; getId 1; 0; getId 2; 0;
0; 0; 0; 0; 0; 0;
getId 3; 0; getId 4; 0; getId 5; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
getId 0; space; getId 1; space; getId 2; space;
space; space; space; space; space; space;
getId 3; space; getId 4; space; getId 5; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
|]
let grid =
@@ -186,22 +217,23 @@ let populateMainGrid (category: string) () =
Entity.Update newGrid |> ignore
let populateDessertGrid () =
let space = spaceButton()
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Dessert"
let Desserts = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let getId index =
match Desserts |> Array.tryItem index with
| None -> 0
| None -> space
| Some x -> x.id
let GridData =
[|
getId 0; 0; getId 1; 0; 0 ; 0;
0; 0; 0; 0; 0; 0;
0; getId 2; 0; getId 4; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
getId 0; space; getId 1; space; space ; space;
space; space; space; space; space; space;
space; getId 2; space; getId 4; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
space; space; space; space; space; space;
|]
let grid =
@@ -212,38 +244,43 @@ let populateDessertGrid () =
Entity.Update newGrid |> ignore
let populateBeerGrid () =
let space = spaceButton()
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Beer"
let Beers = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let grid =
Entity.GetFirstByColumn<order_screen_page_group> "label" "Beer"
|> Entity.GetRelated<grid, order_screen_page_group>
let GridData =
let mutable buttonMap = Map.empty<string, int[]>
Beers
|> Array.chunkBySize 24
|> Array.map (fun beerPage ->
let getId index =
match beerPage |> Array.tryItem index with
| None -> 0
| None -> space
| Some x -> x.id
[|
getId 0; getId 1; getId 2; getId 3; getId 4 ; getId 5;
0; 0; 0; 0; 0 ;0;
space; space; space; space; space; space;
getId 6; getId 7; getId 8; getId 9; getId 10 ; getId 11;
0; 0; 0; 0; 0 ;0;
space; space; space; space; space; space;
getId 12; getId 13; getId 14; getId 15; getId 16 ; getId 17;
0; 0; 0; 0; 0 ;0;
space; space; space; space; space; space;
getId 18; getId 19; getId 20; getId 21; getId 22 ; getId 23;
0; 0; 0; 0; 0 ;0;
space; space; space; space; space; space;
|]
)
|> Array.mapi (fun index beerpage -> (map [$"page{index+1}", beerpage]))
|> jsonEncode
|> Array.iteri (fun index buttonIds ->
buttonMap <- buttonMap |> Map.add $"page{index+1}" buttonIds
)
let GridData = buttonMap |> jsonEncode
let newGrid = {grid with data=GridData}
Entity.Update newGrid |> ignore
let populateSteakTemperaturesGrid () =
let space = spaceButton()
let SalesCategory = Entity.GetFirstByColumn<sales_category> "name" "Steak Temperatures"
let Temps = Entity.GetAllByColumn<item> "sales_category_id" SalesCategory.id
let grid =
@@ -252,18 +289,14 @@ let populateSteakTemperaturesGrid () =
let getId index =
match Temps |> Array.tryItem index with
| None -> 0
| None -> space
| Some x -> x.id
let GridData =
[|
getId 0; 0; getId 1; 0; getId 2; 0;
0; 0; 0; 0; 0; 0;
getId 3; 0; getId 4; 0; getId 5; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
0; 0; 0; 0; 0; 0;
getId 0; space; getId 1; space; getId 2; space;
space; space; space; space; space; space;
getId 3; space; getId 4; space; getId 5; space;
space; space; space; space; space; space;
|]
let newGrid = {grid with data=(jsonEncode {|page1=GridData|}); rows=4; cols=6}
@@ -338,6 +371,8 @@ let run () =
|> CreateDefaultClerk
|> CreateDefaultPrintGroups
|> CreateDefaultSalesCategories
|> CreateDefaultItems
|> CreateDefaultButtons
|> Directory.GetDirectories
|> Array.mapi CreatePageFromDirectory
|> Array.iter CreateItemsAndButtons

View File

@@ -14,7 +14,7 @@ let getOrderScreenData (tableNumber: int) =
order_screen_pages = Entity.GetAllInVenue<order_screen_page_group>
sales_categories = Entity.GetAllInVenue<sales_category>
print_groups = Entity.GetAllInVenue<print_group>
custom_item = Entity.GetAllByColumn<item> "code" "OPEN000" |> first
custom_item = Entity.GetFirstByColumn<item> "code" "OPEN000"
table = Floorplan.Model.getTable tableNumber
|}
|> ajaxSuccess

View File

@@ -112,7 +112,7 @@ let itemButton (button: button) =
else
span [
_class "buttonImg"
_style $"background-image:url('/images/items/{button.image}');"
_style $"background-image:url(\"/images/items/{button.image}\");"
] []
posButton extraClasses [

10
sql.log
View File

@@ -1,10 +0,0 @@
create table if not exists migrations
(
id serial
constraint migrations_pk
primary key,
"name" varchar(100) not null,
"timestamp" int not null
);