require "ecr/macros" require "../page" class Guff::TestAuthHTMLView TITLE = "Guff Auth Test" FEATURES = %w{bootstrap font-awesome guff/util} TEMPLATES = TemplateCache.new({ role: " " }) def self.run(models, context : HTTP::Server::Context) new(models).run(context) end def initialize(@models : Models) end def run(context) page = PageHTMLView.new(TITLE, self.to_s) page.add_features(FEATURES) page.scripts << "/guff-stuff/test/auth.js" context.response.content_type = page.content_type context.response.puts page end def h(s : String) HTML.escape(s || "") end def get_roles @models.role.get_roles.map { |row| name = row["role_name"] as String TEMPLATES[:role].run({ "name": h(name), "text": h(row["role_desc"] as String), "selected": (name == "guest") ? "selected='selected'" : "" }) }.join end ECR.def_to_s("./src/guff/views/ecrs/test/auth.ecr") end