!7 mainPackage gazelle mainClassName main module GazAI > GazelleBEA { transient long filesObjectID = 270; /*O html4(Req req) { ret hfullcenter(centerGazelleLogo()); }*/ @Override O serveHomePage_base() { new HTMLFramer1 framer; framer.title = "Gaz.AI"; framer.renderTitle = () -> ""; framer.addInHead(hsansserif()); framer.add(hfullcenter( centerGazelleLogo() + p(ahref(baseLink + "/login", "Internal")) )); ret framer!; } @Override Cl cruddableClasses(DynGazelleRocks.Req req) { ret addAllAndReturnCollection(super.cruddableClasses(req), Settings); } S authFormMoreContent() { printStackTrace(); ret super.authFormMoreContent(); } void init :: after { botName = heading = adminName = "Gaz.AI"; showCRUDToEveryone = false; showCRUDToNonMasterUsers = true; // TODO: make sure no classes "leak" set authedDialogIDForEveryCookie; } @Override L crudClasses(DynGazelleRocks.Req req) { if (!masterAuthed(req)) ret ll(UploadedImage); else ret super.crudClasses(req); } @Override MapSO filtersForClass(Class c, DynGazelleRocks.Req req) { if (c == UploadedImage.class && !masterAuthed(req)) ret litmap(user := user(req)); ret super.filtersForClass(c, req); } O serve404Page() { ret subBot_serve404("Resource not found, please try the " + ahref("/", "home page")); } @Override O serveDefaultPage(DynGazelleRocks.Req req) { if (!eq(req.uri(), "/")) ret serve404Page(); ret super.serveDefaultPage(req); // basically just completes the frame } O serveOtherPage2(Req req) null { new Matches m; if (startsWith(req.uri(), "/files/", m)) { req.subUri = m.rest(); ret beaCall(filesObjectID, "html", req); } super.serveOtherPage2(req); } } !include early #1031418 // Gazelle BEA