RESERVATIONS, then OCCUPANCY
1) CHECK DATE AND SPORT
2) SINGLE CLICK ON RESERVATION TO BE CHANGED
3) CLICK ON BUTTON “+ Half Hour” (located at bottom area).
package test | |
import ( | |
"math/rand" | |
"testing" | |
"time" | |
) | |
type Customer struct { | |
Id int |
package main | |
import ( | |
"fmt" | |
"io/ioutil" | |
"net/http" | |
) | |
func main() { | |
hosts := []string{ |
// Tail returns the last n lines of a file. It's not optimized but scans | |
// from the end so it's fast for large files. | |
func Tail(path string, lines int) ([]string, error) { | |
f, err := os.Open(path) | |
if err != nil { | |
return nil, err | |
} | |
defer f.Close() | |
s, err := os.Stat(path) |
package files | |
import ( | |
"bytes" | |
"os" | |
) | |
func NewBackScanner(f *os.File) (*BackScanner, error) { | |
s, err := f.Stat() | |
if err != nil { |
f, err := os.Open("access.log") | |
if err != nil { | |
panic(err) | |
} | |
defer f.Close() | |
sc, err := files.NewBackScanner(f) | |
if err != nil { | |
panic(err) | |
} |
#!/bin/bash | |
set -e | |
cd githubliteide/build | |
# -f first time install, clones the repo and prepares the build env. | |
# -u update build | |
# -k install original | |
# |
namespace web { | |
let global = sync.newMutex(); | |
let locks: Map<sync.Mutex> = <any>{} | |
export function getLockedMutex(key: string): sync.Mutex { | |
global.lock() | |
try { | |
let m = locks[key] | |
if (!m) { |
/** | |
* ------------------------------------------------------------------ * | |
* Recursively enable/disable git repos | |
* Poor man's submodules | |
* ------------------------------------------------------------------ | |
*/ | |
export function main(enabled: string) { | |
let b = convert.toBool(enabled); | |
processDir(".", b, true, os.fileSystem) |
namespace crm { | |
window.addEventListener("load", () => { | |
initRoutes(); | |
}); | |
function initRoutes() { | |
web.addRoute("/crm/clients", clients) | |
} | |
function clients(data: any) { |