Warning: session_start(): open(/var/lib/php/sessions/sess_4iahkc45tn9kkpi30tvgtedaj7, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass HMultiCRUD extends HAbstractRenderable {
Concepts cc = db_mainConcepts();
L> classes;
bool mutationRights;
*(S *baseLink, Class extends Concept>... classes) {
this(classes);
}
*(Class extends Concept>... classes) {
this.classes = asList(classes);
}
S renderNavi() {
ret p(joinWithVBar(map(classes, c -> ahref(baseLinkPlus(shortName(c)), shortName(c)))));
}
O renderPage(S uri, SS params) {
LS parts = tok_splitAtSlash_nempties(uri);
S html = renderNavi();
Var title = new(mainTitle);
if (nempty(parts)) {
HCRUD crud = makeCRUD(first(parts));
if (crud != null) {
crud.mutationRights = mutationRights;
crud.baseLink = baseLinkPlus(first(parts));
crud.makeFrame = (title2, contents) -> {
title.set(title! + " | " + title2);
ret h3(title2) + contents;
};
html += crud.renderPage(params);
title = crud
}
}
//ret "parts: " + sfu(parts);
ret frame(title, html);
}
selfType mutationRights(bool mutationRights) {
this.mutationRights = mutationRights;
this;
}
// override me
HCRUD makeCRUD(S className) {
null;
}
}