mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2024-10-30 19:56:16 +00:00
771 lines
20 KiB
Go
771 lines
20 KiB
Go
// Code generated by qtc from "auth.qtpl". DO NOT EDIT.
|
|
// See https://github.com/valyala/quicktemplate for details.
|
|
|
|
//line views/auth.qtpl:1
|
|
package views
|
|
|
|
//line views/auth.qtpl:1
|
|
import "net/http"
|
|
|
|
//line views/auth.qtpl:2
|
|
import "sort"
|
|
|
|
//line views/auth.qtpl:3
|
|
import "github.com/bouncepaw/mycorrhiza/cfg"
|
|
|
|
//line views/auth.qtpl:4
|
|
import "github.com/bouncepaw/mycorrhiza/l18n"
|
|
|
|
//line views/auth.qtpl:5
|
|
import "github.com/bouncepaw/mycorrhiza/user"
|
|
|
|
//line views/auth.qtpl:7
|
|
import (
|
|
qtio422016 "io"
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
)
|
|
|
|
//line views/auth.qtpl:7
|
|
var (
|
|
_ = qtio422016.Copy
|
|
_ = qt422016.AcquireByteBuffer
|
|
)
|
|
|
|
//line views/auth.qtpl:7
|
|
func StreamRegister(qw422016 *qt422016.Writer, rq *http.Request) {
|
|
//line views/auth.qtpl:7
|
|
qw422016.N().S(`
|
|
`)
|
|
//line views/auth.qtpl:9
|
|
lc := l18n.FromRequest(rq)
|
|
|
|
//line views/auth.qtpl:10
|
|
qw422016.N().S(`
|
|
<main class="main-width">
|
|
<section>
|
|
`)
|
|
//line views/auth.qtpl:13
|
|
if cfg.AllowRegistration {
|
|
//line views/auth.qtpl:13
|
|
qw422016.N().S(`
|
|
<form class="modal" method="post" action="/register?`)
|
|
//line views/auth.qtpl:14
|
|
qw422016.E().S(rq.URL.RawQuery)
|
|
//line views/auth.qtpl:14
|
|
qw422016.N().S(`" id="register-form" enctype="multipart/form-data" autocomplete="off">
|
|
<fieldset class="modal__fieldset">
|
|
<legend class="modal__title">`)
|
|
//line views/auth.qtpl:16
|
|
qw422016.E().S(lc.Get("auth.register_header", &l18n.Replacements{"name": cfg.WikiName}))
|
|
//line views/auth.qtpl:16
|
|
qw422016.N().S(`</legend>
|
|
|
|
<label for="register-form__username">`)
|
|
//line views/auth.qtpl:18
|
|
qw422016.E().S(lc.Get("auth.username"))
|
|
//line views/auth.qtpl:18
|
|
qw422016.N().S(`</label>
|
|
<br>
|
|
<input type="text" required autofocus id="login-form__username" name="username">
|
|
<br>
|
|
<label for="login-form__password">`)
|
|
//line views/auth.qtpl:22
|
|
qw422016.E().S(lc.Get("auth.password"))
|
|
//line views/auth.qtpl:22
|
|
qw422016.N().S(`</label>
|
|
<br>
|
|
<input type="password" required name="password">
|
|
<p>`)
|
|
//line views/auth.qtpl:25
|
|
qw422016.E().S(lc.Get("auth.password_tip"))
|
|
//line views/auth.qtpl:25
|
|
qw422016.N().S(`</p>
|
|
<p>`)
|
|
//line views/auth.qtpl:26
|
|
qw422016.E().S(lc.Get("auth.cookie_tip"))
|
|
//line views/auth.qtpl:26
|
|
qw422016.N().S(`</p>
|
|
<button class="btn" type="submit" value="Register">`)
|
|
//line views/auth.qtpl:27
|
|
qw422016.E().S(lc.Get("auth.register_button"))
|
|
//line views/auth.qtpl:27
|
|
qw422016.N().S(`</button>
|
|
<a class="btn btn_weak" href="/`)
|
|
//line views/auth.qtpl:28
|
|
qw422016.E().S(rq.URL.RawQuery)
|
|
//line views/auth.qtpl:28
|
|
qw422016.N().S(`">`)
|
|
//line views/auth.qtpl:28
|
|
qw422016.E().S(lc.Get("ui.cancel"))
|
|
//line views/auth.qtpl:28
|
|
qw422016.N().S(`</a>
|
|
</fieldset>
|
|
</form>
|
|
`)
|
|
//line views/auth.qtpl:31
|
|
streamtelegramWidget(qw422016, lc)
|
|
//line views/auth.qtpl:31
|
|
qw422016.N().S(`
|
|
`)
|
|
//line views/auth.qtpl:32
|
|
} else if cfg.UseAuth {
|
|
//line views/auth.qtpl:32
|
|
qw422016.N().S(`
|
|
<p>`)
|
|
//line views/auth.qtpl:33
|
|
qw422016.E().S(lc.Get("auth.noregister"))
|
|
//line views/auth.qtpl:33
|
|
qw422016.N().S(`</p>
|
|
<p><a href="/`)
|
|
//line views/auth.qtpl:34
|
|
qw422016.E().S(rq.URL.RawQuery)
|
|
//line views/auth.qtpl:34
|
|
qw422016.N().S(`">← `)
|
|
//line views/auth.qtpl:34
|
|
qw422016.E().S(lc.Get("auth.go_back"))
|
|
//line views/auth.qtpl:34
|
|
qw422016.N().S(`</a></p>
|
|
`)
|
|
//line views/auth.qtpl:35
|
|
} else {
|
|
//line views/auth.qtpl:35
|
|
qw422016.N().S(`
|
|
<p>`)
|
|
//line views/auth.qtpl:36
|
|
qw422016.E().S(lc.Get("auth.noauth"))
|
|
//line views/auth.qtpl:36
|
|
qw422016.N().S(`</p>
|
|
<p><a href="/`)
|
|
//line views/auth.qtpl:37
|
|
qw422016.E().S(rq.URL.RawQuery)
|
|
//line views/auth.qtpl:37
|
|
qw422016.N().S(`">← `)
|
|
//line views/auth.qtpl:37
|
|
qw422016.E().S(lc.Get("auth.go_back"))
|
|
//line views/auth.qtpl:37
|
|
qw422016.N().S(`</a></p>
|
|
`)
|
|
//line views/auth.qtpl:38
|
|
}
|
|
//line views/auth.qtpl:38
|
|
qw422016.N().S(`
|
|
</section>
|
|
</main>
|
|
`)
|
|
//line views/auth.qtpl:41
|
|
}
|
|
|
|
//line views/auth.qtpl:41
|
|
func WriteRegister(qq422016 qtio422016.Writer, rq *http.Request) {
|
|
//line views/auth.qtpl:41
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:41
|
|
StreamRegister(qw422016, rq)
|
|
//line views/auth.qtpl:41
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:41
|
|
}
|
|
|
|
//line views/auth.qtpl:41
|
|
func Register(rq *http.Request) string {
|
|
//line views/auth.qtpl:41
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:41
|
|
WriteRegister(qb422016, rq)
|
|
//line views/auth.qtpl:41
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:41
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:41
|
|
return qs422016
|
|
//line views/auth.qtpl:41
|
|
}
|
|
|
|
//line views/auth.qtpl:43
|
|
func StreamLogin(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:43
|
|
qw422016.N().S(`
|
|
<main class="main-width">
|
|
<section>
|
|
`)
|
|
//line views/auth.qtpl:46
|
|
if cfg.UseAuth {
|
|
//line views/auth.qtpl:46
|
|
qw422016.N().S(`
|
|
<form class="modal" method="post" action="/login" id="login-form" enctype="multipart/form-data" autocomplete="on">
|
|
<fieldset class="modal__fieldset">
|
|
<legend class="modal__title">`)
|
|
//line views/auth.qtpl:49
|
|
qw422016.E().S(lc.Get("auth.login_header", &l18n.Replacements{"name": cfg.WikiName}))
|
|
//line views/auth.qtpl:49
|
|
qw422016.N().S(`</legend>
|
|
<label for="login-form__username">`)
|
|
//line views/auth.qtpl:50
|
|
qw422016.E().S(lc.Get("auth.username"))
|
|
//line views/auth.qtpl:50
|
|
qw422016.N().S(`</label>
|
|
<br>
|
|
<input type="text" required autofocus id="login-form__username" name="username" autocomplete="username">
|
|
<br>
|
|
<label for="login-form__password">`)
|
|
//line views/auth.qtpl:54
|
|
qw422016.E().S(lc.Get("auth.password"))
|
|
//line views/auth.qtpl:54
|
|
qw422016.N().S(`</label>
|
|
<br>
|
|
<input type="password" required name="password" autocomplete="current-password">
|
|
<p>`)
|
|
//line views/auth.qtpl:57
|
|
qw422016.E().S(lc.Get("auth.cookie_tip"))
|
|
//line views/auth.qtpl:57
|
|
qw422016.N().S(`</p>
|
|
<button class="btn" type="submit" value="Log in">`)
|
|
//line views/auth.qtpl:58
|
|
qw422016.E().S(lc.Get("auth.login_button"))
|
|
//line views/auth.qtpl:58
|
|
qw422016.N().S(`</button>
|
|
<a class="btn btn_weak" href="/">`)
|
|
//line views/auth.qtpl:59
|
|
qw422016.E().S(lc.Get("ui.cancel"))
|
|
//line views/auth.qtpl:59
|
|
qw422016.N().S(`</a>
|
|
</fieldset>
|
|
</form>
|
|
`)
|
|
//line views/auth.qtpl:62
|
|
streamtelegramWidget(qw422016, lc)
|
|
//line views/auth.qtpl:62
|
|
qw422016.N().S(`
|
|
`)
|
|
//line views/auth.qtpl:63
|
|
} else {
|
|
//line views/auth.qtpl:63
|
|
qw422016.N().S(`
|
|
<p>`)
|
|
//line views/auth.qtpl:64
|
|
qw422016.E().S(lc.Get("auth.noauth"))
|
|
//line views/auth.qtpl:64
|
|
qw422016.N().S(`</p>
|
|
<p><a class="btn btn_weak" href="/">← `)
|
|
//line views/auth.qtpl:65
|
|
qw422016.E().S(lc.Get("auth.go_home"))
|
|
//line views/auth.qtpl:65
|
|
qw422016.N().S(`</a></p>
|
|
`)
|
|
//line views/auth.qtpl:66
|
|
}
|
|
//line views/auth.qtpl:66
|
|
qw422016.N().S(`
|
|
</section>
|
|
</main>
|
|
`)
|
|
//line views/auth.qtpl:69
|
|
}
|
|
|
|
//line views/auth.qtpl:69
|
|
func WriteLogin(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:69
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:69
|
|
StreamLogin(qw422016, lc)
|
|
//line views/auth.qtpl:69
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:69
|
|
}
|
|
|
|
//line views/auth.qtpl:69
|
|
func Login(lc *l18n.Localizer) string {
|
|
//line views/auth.qtpl:69
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:69
|
|
WriteLogin(qb422016, lc)
|
|
//line views/auth.qtpl:69
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:69
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:69
|
|
return qs422016
|
|
//line views/auth.qtpl:69
|
|
}
|
|
|
|
// Telegram auth widget was requested by Yogurt. As you can see, we don't offer user administrators control over it. Of course we don't.
|
|
|
|
//line views/auth.qtpl:72
|
|
func streamtelegramWidget(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:72
|
|
qw422016.N().S(`
|
|
`)
|
|
//line views/auth.qtpl:73
|
|
if cfg.TelegramEnabled {
|
|
//line views/auth.qtpl:73
|
|
qw422016.N().S(`
|
|
<p class="telegram-notice">`)
|
|
//line views/auth.qtpl:74
|
|
qw422016.E().S(lc.Get("auth.telegram_tip"))
|
|
//line views/auth.qtpl:74
|
|
qw422016.N().S(`</p>
|
|
<script async src="https://telegram.org/js/telegram-widget.js?15" data-telegram-login="`)
|
|
//line views/auth.qtpl:75
|
|
qw422016.E().S(cfg.TelegramBotName)
|
|
//line views/auth.qtpl:75
|
|
qw422016.N().S(`" data-size="medium" data-userpic="false" data-auth-url="`)
|
|
//line views/auth.qtpl:75
|
|
qw422016.E().S(cfg.URL)
|
|
//line views/auth.qtpl:75
|
|
qw422016.N().S(`/telegram-login"></script>
|
|
`)
|
|
//line views/auth.qtpl:76
|
|
}
|
|
//line views/auth.qtpl:76
|
|
qw422016.N().S(`
|
|
`)
|
|
//line views/auth.qtpl:77
|
|
}
|
|
|
|
//line views/auth.qtpl:77
|
|
func writetelegramWidget(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:77
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:77
|
|
streamtelegramWidget(qw422016, lc)
|
|
//line views/auth.qtpl:77
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:77
|
|
}
|
|
|
|
//line views/auth.qtpl:77
|
|
func telegramWidget(lc *l18n.Localizer) string {
|
|
//line views/auth.qtpl:77
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:77
|
|
writetelegramWidget(qb422016, lc)
|
|
//line views/auth.qtpl:77
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:77
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:77
|
|
return qs422016
|
|
//line views/auth.qtpl:77
|
|
}
|
|
|
|
//line views/auth.qtpl:79
|
|
func StreamLoginError(qw422016 *qt422016.Writer, err string, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:79
|
|
qw422016.N().S(`
|
|
<main class="main-width">
|
|
<section>
|
|
`)
|
|
//line views/auth.qtpl:82
|
|
switch err {
|
|
//line views/auth.qtpl:83
|
|
case "unknown username":
|
|
//line views/auth.qtpl:83
|
|
qw422016.N().S(`
|
|
<p class="error">`)
|
|
//line views/auth.qtpl:84
|
|
qw422016.E().S(lc.Get("auth.error_username"))
|
|
//line views/auth.qtpl:84
|
|
qw422016.N().S(`</p>
|
|
`)
|
|
//line views/auth.qtpl:85
|
|
case "wrong password":
|
|
//line views/auth.qtpl:85
|
|
qw422016.N().S(`
|
|
<p class="error">`)
|
|
//line views/auth.qtpl:86
|
|
qw422016.E().S(lc.Get("auth.error_password"))
|
|
//line views/auth.qtpl:86
|
|
qw422016.N().S(`</p>
|
|
`)
|
|
//line views/auth.qtpl:87
|
|
default:
|
|
//line views/auth.qtpl:87
|
|
qw422016.N().S(`
|
|
<p class="error">`)
|
|
//line views/auth.qtpl:88
|
|
qw422016.E().S(err)
|
|
//line views/auth.qtpl:88
|
|
qw422016.N().S(`</p>
|
|
`)
|
|
//line views/auth.qtpl:89
|
|
}
|
|
//line views/auth.qtpl:89
|
|
qw422016.N().S(`
|
|
<p><a href="/login">← `)
|
|
//line views/auth.qtpl:90
|
|
qw422016.E().S(lc.Get("auth.try_again"))
|
|
//line views/auth.qtpl:90
|
|
qw422016.N().S(`</a></p>
|
|
</section>
|
|
</main>
|
|
`)
|
|
//line views/auth.qtpl:93
|
|
}
|
|
|
|
//line views/auth.qtpl:93
|
|
func WriteLoginError(qq422016 qtio422016.Writer, err string, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:93
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:93
|
|
StreamLoginError(qw422016, err, lc)
|
|
//line views/auth.qtpl:93
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:93
|
|
}
|
|
|
|
//line views/auth.qtpl:93
|
|
func LoginError(err string, lc *l18n.Localizer) string {
|
|
//line views/auth.qtpl:93
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:93
|
|
WriteLoginError(qb422016, err, lc)
|
|
//line views/auth.qtpl:93
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:93
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:93
|
|
return qs422016
|
|
//line views/auth.qtpl:93
|
|
}
|
|
|
|
//line views/auth.qtpl:95
|
|
func StreamLogout(qw422016 *qt422016.Writer, can bool, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:95
|
|
qw422016.N().S(`
|
|
<main class="main-width">
|
|
<section>
|
|
`)
|
|
//line views/auth.qtpl:98
|
|
if can {
|
|
//line views/auth.qtpl:98
|
|
qw422016.N().S(`
|
|
<h1>`)
|
|
//line views/auth.qtpl:99
|
|
qw422016.E().S(lc.Get("auth.logout_header"))
|
|
//line views/auth.qtpl:99
|
|
qw422016.N().S(`</h1>
|
|
<form method="POST" action="/logout">
|
|
<input class="btn btn_accent" type="submit" value="`)
|
|
//line views/auth.qtpl:101
|
|
qw422016.E().S(lc.Get("auth.logout_button"))
|
|
//line views/auth.qtpl:101
|
|
qw422016.N().S(`"/>
|
|
<a class="btn btn_weak" href="/">`)
|
|
//line views/auth.qtpl:102
|
|
qw422016.E().S(lc.Get("auth.go_home"))
|
|
//line views/auth.qtpl:102
|
|
qw422016.N().S(`</a>
|
|
</form>
|
|
`)
|
|
//line views/auth.qtpl:104
|
|
} else {
|
|
//line views/auth.qtpl:104
|
|
qw422016.N().S(`
|
|
<p>`)
|
|
//line views/auth.qtpl:105
|
|
qw422016.E().S(lc.Get("auth.logout_anon"))
|
|
//line views/auth.qtpl:105
|
|
qw422016.N().S(`</p>
|
|
<p><a href="/login">`)
|
|
//line views/auth.qtpl:106
|
|
qw422016.E().S(lc.Get("auth.login_title"))
|
|
//line views/auth.qtpl:106
|
|
qw422016.N().S(`</a></p>
|
|
<p><a href="/">← `)
|
|
//line views/auth.qtpl:107
|
|
qw422016.E().S(lc.Get("auth.go_home"))
|
|
//line views/auth.qtpl:107
|
|
qw422016.N().S(`</a></p>
|
|
`)
|
|
//line views/auth.qtpl:108
|
|
}
|
|
//line views/auth.qtpl:108
|
|
qw422016.N().S(`
|
|
</section>
|
|
</main>
|
|
`)
|
|
//line views/auth.qtpl:111
|
|
}
|
|
|
|
//line views/auth.qtpl:111
|
|
func WriteLogout(qq422016 qtio422016.Writer, can bool, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:111
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:111
|
|
StreamLogout(qw422016, can, lc)
|
|
//line views/auth.qtpl:111
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:111
|
|
}
|
|
|
|
//line views/auth.qtpl:111
|
|
func Logout(can bool, lc *l18n.Localizer) string {
|
|
//line views/auth.qtpl:111
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:111
|
|
WriteLogout(qb422016, can, lc)
|
|
//line views/auth.qtpl:111
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:111
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:111
|
|
return qs422016
|
|
//line views/auth.qtpl:111
|
|
}
|
|
|
|
//line views/auth.qtpl:113
|
|
func StreamLock(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:113
|
|
qw422016.N().S(`
|
|
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>🔒 `)
|
|
//line views/auth.qtpl:119
|
|
qw422016.E().S(lc.Get("auth.lock_title"))
|
|
//line views/auth.qtpl:119
|
|
qw422016.N().S(`</title>
|
|
<link rel="shortcut icon" href="/static/favicon.ico">
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body>
|
|
<main class="locked-notice">
|
|
<section class="locked-notice__message">
|
|
<p class="locked-notice__lock">🔒</p>
|
|
<h1 class="locked-notice__title">`)
|
|
//line views/auth.qtpl:127
|
|
qw422016.E().S(lc.Get("auth.lock_title"))
|
|
//line views/auth.qtpl:127
|
|
qw422016.N().S(`</h1>
|
|
<form class="locked-notice__login-form" method="post" action="/login" id="login-form" enctype="multipart/form-data" autocomplete="on">
|
|
<label for="login-form__username">`)
|
|
//line views/auth.qtpl:129
|
|
qw422016.E().S(lc.Get("auth.username"))
|
|
//line views/auth.qtpl:129
|
|
qw422016.N().S(`</label>
|
|
<br>
|
|
<input type="text" required autofocus id="login-form__username" name="username" autocomplete="username">
|
|
<br>
|
|
<label for="login-form__password">`)
|
|
//line views/auth.qtpl:133
|
|
qw422016.E().S(lc.Get("auth.password"))
|
|
//line views/auth.qtpl:133
|
|
qw422016.N().S(`</label>
|
|
<br>
|
|
<input type="password" required name="password" autocomplete="current-password">
|
|
<br>
|
|
<button class="btn" type="submit" value="Log in">`)
|
|
//line views/auth.qtpl:137
|
|
qw422016.E().S(lc.Get("auth.login_button"))
|
|
//line views/auth.qtpl:137
|
|
qw422016.N().S(`</button>
|
|
</form>
|
|
`)
|
|
//line views/auth.qtpl:139
|
|
streamtelegramWidget(qw422016, lc)
|
|
//line views/auth.qtpl:139
|
|
qw422016.N().S(`
|
|
</section>
|
|
</main>
|
|
</body>
|
|
</html>
|
|
`)
|
|
//line views/auth.qtpl:144
|
|
}
|
|
|
|
//line views/auth.qtpl:144
|
|
func WriteLock(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:144
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:144
|
|
StreamLock(qw422016, lc)
|
|
//line views/auth.qtpl:144
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:144
|
|
}
|
|
|
|
//line views/auth.qtpl:144
|
|
func Lock(lc *l18n.Localizer) string {
|
|
//line views/auth.qtpl:144
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:144
|
|
WriteLock(qb422016, lc)
|
|
//line views/auth.qtpl:144
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:144
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:144
|
|
return qs422016
|
|
//line views/auth.qtpl:144
|
|
}
|
|
|
|
//line views/auth.qtpl:147
|
|
var userListL10n = map[string]l10nEntry{
|
|
"heading": en("List of users").ru("Список пользователей"),
|
|
"administrators": en("Administrators").ru("Администраторы"),
|
|
"moderators": en("Moderators").ru("Модераторы"),
|
|
"editors": en("Editors").ru("Редакторы"),
|
|
}
|
|
|
|
//line views/auth.qtpl:155
|
|
func StreamUserList(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:155
|
|
qw422016.N().S(`
|
|
<main class="main-width user-list">
|
|
`)
|
|
//line views/auth.qtpl:158
|
|
var get = func(key string) string {
|
|
return userListL10n[key].get(lc.Locale)
|
|
}
|
|
|
|
var (
|
|
admins = make([]string, 0)
|
|
moderators = make([]string, 0)
|
|
editors = make([]string, 0)
|
|
)
|
|
for u := range user.YieldUsers() {
|
|
switch u.Group {
|
|
// What if we place the users into sorted slices?
|
|
case "admin":
|
|
admins = append(admins, u.Name)
|
|
case "moderator":
|
|
moderators = append(moderators, u.Name)
|
|
case "editor", "trusted":
|
|
editors = append(editors, u.Name)
|
|
}
|
|
}
|
|
sort.Strings(admins)
|
|
sort.Strings(moderators)
|
|
sort.Strings(editors)
|
|
|
|
//line views/auth.qtpl:181
|
|
qw422016.N().S(`
|
|
<h1>`)
|
|
//line views/auth.qtpl:182
|
|
qw422016.E().S(get("heading"))
|
|
//line views/auth.qtpl:182
|
|
qw422016.N().S(`</h1>
|
|
<section>
|
|
<h2>`)
|
|
//line views/auth.qtpl:184
|
|
qw422016.E().S(get("administrators"))
|
|
//line views/auth.qtpl:184
|
|
qw422016.N().S(`</h2>
|
|
<ol>`)
|
|
//line views/auth.qtpl:185
|
|
for _, name := range admins {
|
|
//line views/auth.qtpl:185
|
|
qw422016.N().S(`
|
|
<li><a href="/hypha/`)
|
|
//line views/auth.qtpl:186
|
|
qw422016.E().S(cfg.UserHypha)
|
|
//line views/auth.qtpl:186
|
|
qw422016.N().S(`/`)
|
|
//line views/auth.qtpl:186
|
|
qw422016.E().S(name)
|
|
//line views/auth.qtpl:186
|
|
qw422016.N().S(`">`)
|
|
//line views/auth.qtpl:186
|
|
qw422016.E().S(name)
|
|
//line views/auth.qtpl:186
|
|
qw422016.N().S(`</a></li>
|
|
`)
|
|
//line views/auth.qtpl:187
|
|
}
|
|
//line views/auth.qtpl:187
|
|
qw422016.N().S(`</ol>
|
|
</section>
|
|
<section>
|
|
<h2>`)
|
|
//line views/auth.qtpl:190
|
|
qw422016.E().S(get("moderators"))
|
|
//line views/auth.qtpl:190
|
|
qw422016.N().S(`</h2>
|
|
<ol>`)
|
|
//line views/auth.qtpl:191
|
|
for _, name := range moderators {
|
|
//line views/auth.qtpl:191
|
|
qw422016.N().S(`
|
|
<li><a href="/hypha/`)
|
|
//line views/auth.qtpl:192
|
|
qw422016.E().S(cfg.UserHypha)
|
|
//line views/auth.qtpl:192
|
|
qw422016.N().S(`/`)
|
|
//line views/auth.qtpl:192
|
|
qw422016.E().S(name)
|
|
//line views/auth.qtpl:192
|
|
qw422016.N().S(`">`)
|
|
//line views/auth.qtpl:192
|
|
qw422016.E().S(name)
|
|
//line views/auth.qtpl:192
|
|
qw422016.N().S(`</a></li>
|
|
`)
|
|
//line views/auth.qtpl:193
|
|
}
|
|
//line views/auth.qtpl:193
|
|
qw422016.N().S(`</ol>
|
|
</section>
|
|
<section>
|
|
<h2>`)
|
|
//line views/auth.qtpl:196
|
|
qw422016.E().S(get("editors"))
|
|
//line views/auth.qtpl:196
|
|
qw422016.N().S(`</h2>
|
|
<ol>`)
|
|
//line views/auth.qtpl:197
|
|
for _, name := range editors {
|
|
//line views/auth.qtpl:197
|
|
qw422016.N().S(`
|
|
<li><a href="/hypha/`)
|
|
//line views/auth.qtpl:198
|
|
qw422016.E().S(cfg.UserHypha)
|
|
//line views/auth.qtpl:198
|
|
qw422016.N().S(`/`)
|
|
//line views/auth.qtpl:198
|
|
qw422016.E().S(name)
|
|
//line views/auth.qtpl:198
|
|
qw422016.N().S(`">`)
|
|
//line views/auth.qtpl:198
|
|
qw422016.E().S(name)
|
|
//line views/auth.qtpl:198
|
|
qw422016.N().S(`</a></li>
|
|
`)
|
|
//line views/auth.qtpl:199
|
|
}
|
|
//line views/auth.qtpl:199
|
|
qw422016.N().S(`</ol>
|
|
</section>
|
|
</main>
|
|
`)
|
|
//line views/auth.qtpl:202
|
|
}
|
|
|
|
//line views/auth.qtpl:202
|
|
func WriteUserList(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
|
//line views/auth.qtpl:202
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line views/auth.qtpl:202
|
|
StreamUserList(qw422016, lc)
|
|
//line views/auth.qtpl:202
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line views/auth.qtpl:202
|
|
}
|
|
|
|
//line views/auth.qtpl:202
|
|
func UserList(lc *l18n.Localizer) string {
|
|
//line views/auth.qtpl:202
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line views/auth.qtpl:202
|
|
WriteUserList(qb422016, lc)
|
|
//line views/auth.qtpl:202
|
|
qs422016 := string(qb422016.B)
|
|
//line views/auth.qtpl:202
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line views/auth.qtpl:202
|
|
return qs422016
|
|
//line views/auth.qtpl:202
|
|
}
|