diff options
Diffstat (limited to 'src/guff/views')
-rw-r--r-- | src/guff/views/ecrs/test/auth.ecr | 84 | ||||
-rw-r--r-- | src/guff/views/html/test/auth.cr | 24 |
2 files changed, 108 insertions, 0 deletions
diff --git a/src/guff/views/ecrs/test/auth.ecr b/src/guff/views/ecrs/test/auth.ecr index c28f178..89d3283 100644 --- a/src/guff/views/ecrs/test/auth.ecr +++ b/src/guff/views/ecrs/test/auth.ecr @@ -46,5 +46,89 @@ </span><!-- list-group-item --> </div><!-- list-group --> </div><!-- panel --> + + <div class='panel panel-default'> + <div class='panel-heading'> + <b> + <i class='fa fa-user'></i> + Create User + </b> + </div><!-- panel-heading --> + + <div class='panel-body'> + <div class='form-group'> + <label for='user-name'> + Name + </label> + + <input + type='text' + id='user-name' + class='form-control' + title='Enter name of user.' + placeholder='John Doe' + /> + </div><!-- form-group --> + + <div class='form-group'> + <label for='user-email'> + Email Address + </label> + + <input + type='text' + id='user-email' + class='form-control' + title='Enter user email.' + placeholder='johndoe@example.com' + /> + </div><!-- form-group --> + + <div class='form-group'> + <label for='user-password'> + Password + </label> + + <input + type='password' + id='user-password' + class='form-control' + title='Enter password.' + /> + </div><!-- form-group --> + + <div class='form-group'> + <label for='user-role'> + Role + </label> + + <select + id='user-role' + class='form-control' + title='Choose role of user.' + ><%= + get_roles + %></select> + </div><!-- form-group --> + + <div class='form-group'> + <button + id='create-user' + class='btn btn-primary' + title='Create user.' + > + <span class='hidden loading'> + <i class='fa fa-spinner fa-spin'></i> + Please Wait... + </span> + + <span class='loading'> + <i class='fa fa-plus-square'></i> + Create User + </span> + </button> + </div><!-- form-group --> + </div><!-- panel-body --> + </div><!-- panel --> </div><!-- col-md-8 --> </div><!-- container --> diff --git a/src/guff/views/html/test/auth.cr b/src/guff/views/html/test/auth.cr index 9f5d1ad..1baa7de 100644 --- a/src/guff/views/html/test/auth.cr +++ b/src/guff/views/html/test/auth.cr @@ -5,6 +5,18 @@ class Guff::TestAuthHTMLView TITLE = "Guff Auth Test" FEATURES = %w{bootstrap font-awesome guff/util} + TEMPLATES = TemplateCache.new({ + role: " + <option + value='%{name}' + title='%{text}' + %{selected} + > + %{name} + </option> + " + }) + def self.run(models, context : HTTP::Server::Context) new(models).run(context) end @@ -24,5 +36,17 @@ class Guff::TestAuthHTMLView 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 |