Merge pull request #9 from dredgy/test_data_update
Migration now orders pages correctly, adds demo floorplan. Some small…
This commit is contained in:
@@ -112,7 +112,7 @@ let getTableById (id : int) =
|
||||
|
||||
let getRoom (roomId: int) =
|
||||
select {
|
||||
table "floorplan_rooms"
|
||||
table "rooms"
|
||||
where (eq "id" roomId)
|
||||
} |> Database.Select<room> |> first
|
||||
|
||||
|
||||
@@ -6,13 +6,24 @@ open System.IO
|
||||
|
||||
let spaceButton () = (Entity.GetFirstByColumn<button> "primary_action" "spacer").id
|
||||
|
||||
let getPageOrder pageName =
|
||||
match pageName with
|
||||
| "entrees" -> 1
|
||||
| "mains" -> 2
|
||||
| "dessert" -> 3
|
||||
| "beer" -> 4
|
||||
| "wine" -> 5
|
||||
| _ -> 0
|
||||
|
||||
let CreatePageFromDirectory index (dir: string) =
|
||||
let dirName = DirectoryInfo(dir).Name
|
||||
|
||||
let printGroup =
|
||||
match dirName.ToLower() with
|
||||
| "beer" | "wine" -> (Entity.GetFirstByColumn<print_group> "name" "Beverage").id
|
||||
| _ -> (Entity.GetFirstByColumn<print_group> "name" "Food").id
|
||||
| "beer" | "wine" -> (Entity.GetFirstByColumn<print_group> "name" "Drinks").id
|
||||
| "entrees" | "dips" -> (Entity.GetFirstByColumn<print_group> "name" "Entrees").id
|
||||
| "dessert" -> (Entity.GetFirstByColumn<print_group> "name" "Desserts").id
|
||||
| _ -> (Entity.GetFirstByColumn<print_group> "name" "Mains").id
|
||||
|
||||
let parentName =
|
||||
match dirName.ToLower() with
|
||||
@@ -20,7 +31,7 @@ let CreatePageFromDirectory index (dir: string) =
|
||||
| _ -> "Food"
|
||||
let parentCategory = Entity.GetFirstByColumn<sales_category> "name" parentName
|
||||
|
||||
if dirName.ToLower() <> "dips" && dirName.ToLower() <> "Steak Temperatures" then
|
||||
if dirName.ToLower() <> "dips" && dirName.ToLower() <> "steak temperatures" then
|
||||
let NewGrid = Entity.Create {
|
||||
id=0
|
||||
name=dirName
|
||||
@@ -31,11 +42,19 @@ let CreatePageFromDirectory index (dir: string) =
|
||||
|
||||
Entity.Create {
|
||||
id=0
|
||||
order=index
|
||||
order= getPageOrder (dirName.ToLower())
|
||||
venue_id=1
|
||||
label=dirName
|
||||
grid_id=NewGrid.id
|
||||
} |> ignore
|
||||
elif dirName.ToLower() = "steak temperatures" then
|
||||
Entity.Create {
|
||||
id=0
|
||||
name=dirName
|
||||
rows=4
|
||||
cols=6
|
||||
data=""
|
||||
} |> ignore
|
||||
else ()
|
||||
|
||||
Entity.Create {
|
||||
@@ -51,38 +70,52 @@ let CreatePageFromDirectory index (dir: string) =
|
||||
let CreateDefaultPrintGroups (path: string) =
|
||||
Entity.Create {
|
||||
id=0
|
||||
name="Food"
|
||||
name="Entrees"
|
||||
printer_id=1
|
||||
venue_id=1
|
||||
} |> ignore
|
||||
|
||||
Entity.Create {
|
||||
id=0
|
||||
name="Beverage"
|
||||
name="Mains"
|
||||
printer_id=1
|
||||
venue_id=1
|
||||
} |> ignore
|
||||
|
||||
Entity.Create {
|
||||
id=0
|
||||
name="Desserts"
|
||||
printer_id=1
|
||||
venue_id=1
|
||||
} |> ignore
|
||||
|
||||
Entity.Create {
|
||||
id=0
|
||||
name="Drinks"
|
||||
printer_id=2
|
||||
venue_id=1
|
||||
} |> ignore
|
||||
|
||||
|
||||
path
|
||||
|
||||
let CreateDefaultVenue (path: string) =
|
||||
let venue: venue = {
|
||||
{
|
||||
id=0
|
||||
name="Megalomania"
|
||||
}
|
||||
Entity.Create venue
|
||||
|> Entity.Create
|
||||
|>ignore
|
||||
path
|
||||
|
||||
let CreateDefaultClerk (path: string) =
|
||||
let venue: clerk = {
|
||||
{
|
||||
id=0
|
||||
name="Josh"
|
||||
login_code=1408
|
||||
user_group_id=1
|
||||
}
|
||||
Entity.Create venue
|
||||
|> Entity.Create
|
||||
|>ignore
|
||||
path
|
||||
|
||||
@@ -91,7 +124,7 @@ let CreateDefaultSalesCategories (path: string) =
|
||||
id=0
|
||||
parent=0
|
||||
name="Food"
|
||||
print_group_id=(Entity.GetFirstByColumn<print_group> "name" "Food").id
|
||||
print_group_id=(Entity.GetFirstByColumn<print_group> "name" "Mains").id
|
||||
venue_id=1
|
||||
} |> ignore
|
||||
|
||||
@@ -99,7 +132,7 @@ let CreateDefaultSalesCategories (path: string) =
|
||||
id=0
|
||||
parent=0
|
||||
name="Beverage"
|
||||
print_group_id=(Entity.GetFirstByColumn<print_group> "name" "Beverage").id
|
||||
print_group_id=(Entity.GetFirstByColumn<print_group> "name" "Drinks").id
|
||||
venue_id=1
|
||||
} |> ignore
|
||||
|
||||
@@ -228,7 +261,7 @@ let populateDessertGrid () =
|
||||
[|
|
||||
getId 0; space; getId 1; space; space ; space;
|
||||
space; space; space; space; space; space;
|
||||
space; getId 2; space; getId 4; space; space;
|
||||
space; getId 2; space; getId 3; space; space;
|
||||
space; space; space; space; space; space;
|
||||
space; space; space; space; space; space;
|
||||
space; space; space; space; space; space;
|
||||
@@ -283,9 +316,7 @@ 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 =
|
||||
Entity.GetFirstByColumn<order_screen_page_group> "label" "Steak Temperatures"
|
||||
|> Entity.GetRelated<grid, order_screen_page_group>
|
||||
let grid = Entity.GetFirstByColumn<grid> "name" "Steak Temperatures"
|
||||
|
||||
let getId index =
|
||||
match Temps |> Array.tryItem index with
|
||||
@@ -320,14 +351,13 @@ let CreateItemFromFileName (index: int) (dirName: string) (file: string) =
|
||||
let fileName = Path.GetFileNameWithoutExtension file
|
||||
let itemType =
|
||||
match dirName.ToLower() with
|
||||
| "dips" -> "instruction"
|
||||
| "steak temperatures" -> "instruction"
|
||||
| "dips" | "steak temperatures" -> "instruction"
|
||||
| _ -> "item"
|
||||
|
||||
let categories = (Entity.GetAllByColumn<sales_category> "name" dirName)
|
||||
let categoryID =
|
||||
if categories.Length > 0 then categories[0].id
|
||||
else 1
|
||||
else (Entity.GetFirstByColumn<sales_category> "name" "Mains").id
|
||||
|
||||
let newItem = Entity.Create {
|
||||
id = 0
|
||||
@@ -335,7 +365,7 @@ let CreateItemFromFileName (index: int) (dirName: string) (file: string) =
|
||||
sales_category_id=categoryID
|
||||
name=fileName
|
||||
item_type=itemType
|
||||
price1=10
|
||||
price1=1000
|
||||
}
|
||||
|
||||
let classes =
|
||||
@@ -365,6 +395,80 @@ let CreateItemsAndButtons (dir: string) =
|
||||
|> Array.filter (fun file -> Path.GetExtension file = ".png" || Path.GetExtension file = ".jpg")
|
||||
|> Array.iteri (fun index -> CreateItemFromFileName index dirName)
|
||||
|
||||
let addFloorplanTable tableNumber x y shape width height rotation (room:room) =
|
||||
Entity.Create {
|
||||
id=0
|
||||
table_number=tableNumber
|
||||
pos_x=x
|
||||
pos_y=y
|
||||
shape=shape
|
||||
width=width
|
||||
height=height
|
||||
rotation=rotation
|
||||
room_id=room.id
|
||||
venue_id=1
|
||||
default_covers=2
|
||||
merged_children=""
|
||||
previous_state=""
|
||||
status=0
|
||||
} |> ignore
|
||||
room
|
||||
|
||||
|
||||
let PopulateRooms () =
|
||||
Entity.GetFirstByColumn<room> "name" "Deck & Courtyard"
|
||||
|> addFloorplanTable 1 1151 1145 "square" 115 115 45
|
||||
|> addFloorplanTable 2 827 1152 "square" 115 115 0
|
||||
|> addFloorplanTable 3 836 922 "square" 115 115 0
|
||||
|> addFloorplanTable 4 956 712 "square" 115 115 0
|
||||
|> addFloorplanTable 5 535 704 "square" 115 115 0
|
||||
|> addFloorplanTable 6 265 861 "square" 115 115 0
|
||||
|> addFloorplanTable 7 265 1031 "square" 115 115 0
|
||||
|> addFloorplanTable 8 265 1197 "square" 115 115 0
|
||||
|> addFloorplanTable 19 90 533 "square" 115 115 0
|
||||
|> addFloorplanTable 20 90 378 "square" 115 115 0
|
||||
|> addFloorplanTable 21 90 233 "square" 115 115 0
|
||||
|> addFloorplanTable 22 90 77 "square" 115 115 0
|
||||
|> addFloorplanTable 23 622 80 "square" 115 115 0
|
||||
|> addFloorplanTable 24 613 296 "square" 115 115 -45
|
||||
|> addFloorplanTable 25 498 539 "square" 115 115 0
|
||||
|> addFloorplanTable 26 854 546 "square" 115 115 0
|
||||
|> addFloorplanTable 27 932 191 "square" 115 115 45
|
||||
|> addFloorplanTable 28 1136 79 "square" 115 115 0
|
||||
|> addFloorplanTable 29 1145 317 "square" 115 115 0
|
||||
|> addFloorplanTable 30 1145 522 "square" 115 115 0
|
||||
|> ignore
|
||||
|
||||
Entity.GetFirstByColumn<room> "name" "Inside"
|
||||
|> addFloorplanTable 31 943 1196 "square" 215 90 0
|
||||
|> addFloorplanTable 32 943 952 "square" 215 90 0
|
||||
|> addFloorplanTable 33 927 565 "circle" 150 150 0
|
||||
|> addFloorplanTable 39 725 67 "square" 115 115 0
|
||||
|> addFloorplanTable 40 685 222 "square" 115 115 0
|
||||
|> addFloorplanTable 41 685 357 "square" 115 115 0
|
||||
|> addFloorplanTable 42 725 531 "square" 115 115 0
|
||||
|> addFloorplanTable 43 185 452 "square" 100 100 0
|
||||
|> addFloorplanTable 44 185 326 "square" 100 100 0
|
||||
|> addFloorplanTable 45 185 199 "square" 100 100 0
|
||||
|> addFloorplanTable 46 185 69 "square" 100 100 0
|
||||
|> addFloorplanTable 51 685 948 "square" 200 100 0
|
||||
|> addFloorplanTable 52 685 1198 "square" 200 100 0
|
||||
|> addFloorplanTable 61 415 762 "circle" 100 100 0
|
||||
|> addFloorplanTable 62 415 901 "circle" 100 100 0
|
||||
|> addFloorplanTable 63 415 1039 "circle" 100 100 0
|
||||
|> addFloorplanTable 64 415 1176 "circle" 100 100 0
|
||||
|> ignore
|
||||
|
||||
Entity.GetFirstByColumn<room> "name" "Function Room"
|
||||
|> addFloorplanTable 71 1039 361 "square" 110 110 0
|
||||
|> addFloorplanTable 72 1000 652 "square" 200 100 0
|
||||
|> addFloorplanTable 73 976 966 "square" 130 130 0
|
||||
|> addFloorplanTable 74 658 962 "square" 120 115 0
|
||||
|> addFloorplanTable 75 567 629 "square" 110 200 0
|
||||
|> addFloorplanTable 76 120 511 "square" 230 100 0
|
||||
|> addFloorplanTable 77 120 847 "square" 230 100 0
|
||||
|
||||
|
||||
let run () =
|
||||
"wwwroot/images/items"
|
||||
|> CreateDefaultVenue
|
||||
@@ -378,3 +482,4 @@ let run () =
|
||||
|> Array.iter CreateItemsAndButtons
|
||||
|> CreateRooms
|
||||
|> PopulateGrids
|
||||
|> PopulateRooms
|
||||
@@ -62,7 +62,7 @@ let loadOrderScreenView (ctx: HttpContext) (tableNumber: int) =
|
||||
let metaTags = [|"viewport", "user-scalable = no, initial-scale=0.8,maximum-scale=0.8 ,shrink-to-fit=yes"|] |> addDefaultMetaTags
|
||||
|
||||
let printGroupButtons =
|
||||
Entity.GetAllInVenue<sales_category>
|
||||
Entity.GetAllInVenue<print_group>
|
||||
|> Array.map View.printGroupButton
|
||||
|
||||
let orderScreenPageGroupButtons =
|
||||
|
||||
@@ -39,8 +39,8 @@ let pageContainer floorplanTable (clerk: clerk) printGroupButtons orderScreenPag
|
||||
span [_class "voidModeWarning"; VisibleInMode ["void"]] [str (get "void_mode")]
|
||||
]
|
||||
div [_class "orderBoxFooter"] [
|
||||
span [_class "totalPrice"] [str (getAndReplace "totalPrice" ["0.00"])]
|
||||
small [_class "selectedPrice"] [str (getAndReplace "selectedPrice" ["0.00"])]
|
||||
span [_class "orderBoxTotal"] [str (getAndReplace "totalPrice" ["0.00"])]
|
||||
small [_class "orderBoxSelectedTotal"] [str (getAndReplace "selectedPrice" ["0.00"])]
|
||||
|
||||
]
|
||||
]
|
||||
@@ -48,7 +48,12 @@ let pageContainer floorplanTable (clerk: clerk) printGroupButtons orderScreenPag
|
||||
div [_id "topHalf"] [
|
||||
div [_class "functionButtons"] [
|
||||
div [_class "printGroupButtons toggleGroup"] [
|
||||
input [_type "hidden"; _class "value"]
|
||||
input [_type "hidden"; _class "value"; _name "print_override"]
|
||||
posButton "printGroupOverrideButton toggle default" [
|
||||
(attr "data-value") (string 0)
|
||||
] [
|
||||
["default"] |> getAndReplace "print_with" |> str
|
||||
]
|
||||
yield! printGroupButtons
|
||||
]
|
||||
div [_class "functionColumn"] [
|
||||
@@ -103,7 +108,7 @@ let gridContainer =
|
||||
]
|
||||
|
||||
let pageGroupButton (pageGroup: order_screen_page_group) = posButton "loadPageGroup" [(attr "data-page-group-id") (string pageGroup.id)] [str pageGroup.label]
|
||||
let printGroupButton (printGroup: sales_category) = posButton "" [(attr "data-print-group-id") (string printGroup.id)] [str printGroup.name]
|
||||
let printGroupButton (printGroup: print_group) = posButton "toggle printGroupOverrideButton" [(attr "data-value") (string printGroup.id)] [ [printGroup.name] |> getAndReplace "print_with" |> str ]
|
||||
|
||||
let itemButtonImage (button: button) =
|
||||
span [
|
||||
|
||||
Reference in New Issue
Block a user