1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-12-13 05:50:27 +00:00

Add admin panel link to administrators' profiles

This commit is contained in:
bouncepaw 2022-01-02 23:31:54 +05:00
parent c69d4946ec
commit 0eecccdf94
2 changed files with 155 additions and 125 deletions

View File

@ -92,13 +92,22 @@ If you rename .prevnext, change the docs too.
<a class="jump-btn__link" href="#hypha-bottom">↓</a> <a class="jump-btn__link" href="#hypha-bottom">↓</a>
</div> </div>
{% if u.CanProceed("edit") %}<div class="btn btn_navititle"> {% if u.CanProceed("edit") %}
<div class="btn btn_navititle">
<a class="btn__link_navititle" href="/edit/{%s h.Name %}">{%s lc.Get("ui.edit_link") %}</a> <a class="btn__link_navititle" href="/edit/{%s h.Name %}">{%s lc.Get("ui.edit_link") %}</a>
</div>{% endif %} </div>
{% endif %}
{% if cfg.UseAuth && util.IsProfileName(h.Name) && u.Name == strings.TrimPrefix(h.Name, cfg.UserHypha + "/") %}<div class="btn btn_navititle"> {% if cfg.UseAuth && util.IsProfileName(h.Name) && u.Name == strings.TrimPrefix(h.Name, cfg.UserHypha + "/") %}
<div class="btn btn_navititle">
<a class="btn__link_navititle" href="/logout">{%s lc.Get("ui.logout_link") %}</a> <a class="btn__link_navititle" href="/logout">{%s lc.Get("ui.logout_link") %}</a>
</div>{% endif %} </div>
{% if u.Group == "admin" %}
<div class="btn btn_navititle">
<a class="btn__link_navititle" href="admin">{%s lc.Get("ui.admin_panel") %}<a>
</div>
{% endif %}
{% endif %}
{%s= NaviTitleHTML(h) %} {%s= NaviTitleHTML(h) %}
{% if h.Exists %} {% if h.Exists %}

View File

@ -324,299 +324,320 @@ func StreamHyphaHTML(qw422016 *qt422016.Writer, rq *http.Request, lc *l18n.Local
//line views/readers.qtpl:95 //line views/readers.qtpl:95
if u.CanProceed("edit") { if u.CanProceed("edit") {
//line views/readers.qtpl:95 //line views/readers.qtpl:95
qw422016.N().S(`<div class="btn btn_navititle"> qw422016.N().S(`
<div class="btn btn_navititle">
<a class="btn__link_navititle" href="/edit/`) <a class="btn__link_navititle" href="/edit/`)
//line views/readers.qtpl:96 //line views/readers.qtpl:97
qw422016.E().S(h.Name) qw422016.E().S(h.Name)
//line views/readers.qtpl:96 //line views/readers.qtpl:97
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/readers.qtpl:96 //line views/readers.qtpl:97
qw422016.E().S(lc.Get("ui.edit_link")) qw422016.E().S(lc.Get("ui.edit_link"))
//line views/readers.qtpl:96 //line views/readers.qtpl:97
qw422016.N().S(`</a> qw422016.N().S(`</a>
</div>`) </div>
//line views/readers.qtpl:97 `)
//line views/readers.qtpl:99
} }
//line views/readers.qtpl:97 //line views/readers.qtpl:99
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:99 //line views/readers.qtpl:101
if cfg.UseAuth && util.IsProfileName(h.Name) && u.Name == strings.TrimPrefix(h.Name, cfg.UserHypha+"/") { if cfg.UseAuth && util.IsProfileName(h.Name) && u.Name == strings.TrimPrefix(h.Name, cfg.UserHypha+"/") {
//line views/readers.qtpl:99 //line views/readers.qtpl:101
qw422016.N().S(`<div class="btn btn_navititle"> qw422016.N().S(`
<div class="btn btn_navititle">
<a class="btn__link_navititle" href="/logout">`) <a class="btn__link_navititle" href="/logout">`)
//line views/readers.qtpl:100 //line views/readers.qtpl:103
qw422016.E().S(lc.Get("ui.logout_link")) qw422016.E().S(lc.Get("ui.logout_link"))
//line views/readers.qtpl:100 //line views/readers.qtpl:103
qw422016.N().S(`</a> qw422016.N().S(`</a>
</div>`) </div>
//line views/readers.qtpl:101 `)
//line views/readers.qtpl:105
if u.Group == "admin" {
//line views/readers.qtpl:105
qw422016.N().S(`
<div class="btn btn_navititle">
<a class="btn__link_navititle" href="admin">`)
//line views/readers.qtpl:107
qw422016.E().S(lc.Get("ui.admin_panel"))
//line views/readers.qtpl:107
qw422016.N().S(`<a>
</div>
`)
//line views/readers.qtpl:109
}
//line views/readers.qtpl:109
qw422016.N().S(`
`)
//line views/readers.qtpl:110
} }
//line views/readers.qtpl:101 //line views/readers.qtpl:110
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:103 //line views/readers.qtpl:112
qw422016.N().S(NaviTitleHTML(h)) qw422016.N().S(NaviTitleHTML(h))
//line views/readers.qtpl:103 //line views/readers.qtpl:112
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:104 //line views/readers.qtpl:113
if h.Exists { if h.Exists {
//line views/readers.qtpl:104 //line views/readers.qtpl:113
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:105 //line views/readers.qtpl:114
qw422016.N().S(contents) qw422016.N().S(contents)
//line views/readers.qtpl:105 //line views/readers.qtpl:114
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:106 //line views/readers.qtpl:115
} else { } else {
//line views/readers.qtpl:106 //line views/readers.qtpl:115
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:107 //line views/readers.qtpl:116
streamnonExistentHyphaNotice(qw422016, h, u, lc) streamnonExistentHyphaNotice(qw422016, h, u, lc)
//line views/readers.qtpl:107 //line views/readers.qtpl:116
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:108 //line views/readers.qtpl:117
} }
//line views/readers.qtpl:108 //line views/readers.qtpl:117
qw422016.N().S(` qw422016.N().S(`
</section> </section>
<section class="prevnext"> <section class="prevnext">
`) `)
//line views/readers.qtpl:111 //line views/readers.qtpl:120
if prevHyphaName != "" { if prevHyphaName != "" {
//line views/readers.qtpl:111 //line views/readers.qtpl:120
qw422016.N().S(` qw422016.N().S(`
<a class="prevnext__el prevnext__prev" href="/hypha/`) <a class="prevnext__el prevnext__prev" href="/hypha/`)
//line views/readers.qtpl:112 //line views/readers.qtpl:121
qw422016.E().S(prevHyphaName) qw422016.E().S(prevHyphaName)
//line views/readers.qtpl:112 //line views/readers.qtpl:121
qw422016.N().S(`" rel="prev">← `) qw422016.N().S(`" rel="prev">← `)
//line views/readers.qtpl:112 //line views/readers.qtpl:121
qw422016.E().S(util.BeautifulName(path.Base(prevHyphaName))) qw422016.E().S(util.BeautifulName(path.Base(prevHyphaName)))
//line views/readers.qtpl:112 //line views/readers.qtpl:121
qw422016.N().S(`</a> qw422016.N().S(`</a>
`) `)
//line views/readers.qtpl:113 //line views/readers.qtpl:122
} }
//line views/readers.qtpl:113 //line views/readers.qtpl:122
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:114 //line views/readers.qtpl:123
if nextHyphaName != "" { if nextHyphaName != "" {
//line views/readers.qtpl:114 //line views/readers.qtpl:123
qw422016.N().S(` qw422016.N().S(`
<a class="prevnext__el prevnext__next" href="/hypha/`) <a class="prevnext__el prevnext__next" href="/hypha/`)
//line views/readers.qtpl:115 //line views/readers.qtpl:124
qw422016.E().S(nextHyphaName) qw422016.E().S(nextHyphaName)
//line views/readers.qtpl:115 //line views/readers.qtpl:124
qw422016.N().S(`" rel="next">`) qw422016.N().S(`" rel="next">`)
//line views/readers.qtpl:115 //line views/readers.qtpl:124
qw422016.E().S(util.BeautifulName(path.Base(nextHyphaName))) qw422016.E().S(util.BeautifulName(path.Base(nextHyphaName)))
//line views/readers.qtpl:115 //line views/readers.qtpl:124
qw422016.N().S(` </a> qw422016.N().S(` </a>
`) `)
//line views/readers.qtpl:116 //line views/readers.qtpl:125
} }
//line views/readers.qtpl:116 //line views/readers.qtpl:125
qw422016.N().S(` qw422016.N().S(`
</section> </section>
`) `)
//line views/readers.qtpl:118 //line views/readers.qtpl:127
StreamSubhyphaeHTML(qw422016, subhyphae, lc) StreamSubhyphaeHTML(qw422016, subhyphae, lc)
//line views/readers.qtpl:118 //line views/readers.qtpl:127
qw422016.N().S(` qw422016.N().S(`
<section id="hypha-bottom"> <section id="hypha-bottom">
<div class="jump-btn"> <div class="jump-btn">
<a class="jump-btn__link" href="#hypha"></a> <a class="jump-btn__link" href="#hypha"></a>
</div> </div>
`) `)
//line views/readers.qtpl:123 //line views/readers.qtpl:132
streamhyphaInfo(qw422016, rq, h) streamhyphaInfo(qw422016, rq, h)
//line views/readers.qtpl:123 //line views/readers.qtpl:132
qw422016.N().S(` qw422016.N().S(`
</section> </section>
</main> </main>
`) `)
//line views/readers.qtpl:126 //line views/readers.qtpl:135
streamsiblingHyphaeHTML(qw422016, siblings, lc) streamsiblingHyphaeHTML(qw422016, siblings, lc)
//line views/readers.qtpl:126 //line views/readers.qtpl:135
qw422016.N().S(` qw422016.N().S(`
</div> </div>
`) `)
//line views/readers.qtpl:128 //line views/readers.qtpl:137
streamviewScripts(qw422016) streamviewScripts(qw422016)
//line views/readers.qtpl:128 //line views/readers.qtpl:137
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
} }
//line views/readers.qtpl:129 //line views/readers.qtpl:138
func WriteHyphaHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) { func WriteHyphaHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) {
//line views/readers.qtpl:129 //line views/readers.qtpl:138
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
StreamHyphaHTML(qw422016, rq, lc, h, contents) StreamHyphaHTML(qw422016, rq, lc, h, contents)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
} }
//line views/readers.qtpl:129 //line views/readers.qtpl:138
func HyphaHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) string { func HyphaHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) string {
//line views/readers.qtpl:129 //line views/readers.qtpl:138
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/readers.qtpl:129 //line views/readers.qtpl:138
WriteHyphaHTML(qb422016, rq, lc, h, contents) WriteHyphaHTML(qb422016, rq, lc, h, contents)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/readers.qtpl:129 //line views/readers.qtpl:138
return qs422016 return qs422016
//line views/readers.qtpl:129 //line views/readers.qtpl:138
} }
//line views/readers.qtpl:131 //line views/readers.qtpl:140
func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) { func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) {
//line views/readers.qtpl:131 //line views/readers.qtpl:140
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:133 //line views/readers.qtpl:142
siblings, subhyphae, _, _ := tree.Tree(h.Name) siblings, subhyphae, _, _ := tree.Tree(h.Name)
//line views/readers.qtpl:134 //line views/readers.qtpl:143
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width"> <main class="main-width">
<section> <section>
<p>`) <p>`)
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.E().S(lc.Get("ui.revision_warning")) qw422016.E().S(lc.Get("ui.revision_warning"))
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.N().S(` <a href="/rev-text/`) qw422016.N().S(` <a href="/rev-text/`)
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.E().S(revHash) qw422016.E().S(revHash)
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.E().S(h.Name) qw422016.E().S(h.Name)
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.E().S(lc.Get("ui.revision_link")) qw422016.E().S(lc.Get("ui.revision_link"))
//line views/readers.qtpl:138 //line views/readers.qtpl:147
qw422016.N().S(`</a></p> qw422016.N().S(`</a></p>
`) `)
//line views/readers.qtpl:139 //line views/readers.qtpl:148
qw422016.N().S(NaviTitleHTML(h)) qw422016.N().S(NaviTitleHTML(h))
//line views/readers.qtpl:139 //line views/readers.qtpl:148
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:140 //line views/readers.qtpl:149
qw422016.N().S(contents) qw422016.N().S(contents)
//line views/readers.qtpl:140 //line views/readers.qtpl:149
qw422016.N().S(` qw422016.N().S(`
</section> </section>
`) `)
//line views/readers.qtpl:142 //line views/readers.qtpl:151
StreamSubhyphaeHTML(qw422016, subhyphae, lc) StreamSubhyphaeHTML(qw422016, subhyphae, lc)
//line views/readers.qtpl:142 //line views/readers.qtpl:151
qw422016.N().S(` qw422016.N().S(`
</main> </main>
`) `)
//line views/readers.qtpl:144 //line views/readers.qtpl:153
streamsiblingHyphaeHTML(qw422016, siblings, lc) streamsiblingHyphaeHTML(qw422016, siblings, lc)
//line views/readers.qtpl:144 //line views/readers.qtpl:153
qw422016.N().S(` qw422016.N().S(`
</div> </div>
`) `)
//line views/readers.qtpl:146 //line views/readers.qtpl:155
streamviewScripts(qw422016) streamviewScripts(qw422016)
//line views/readers.qtpl:146 //line views/readers.qtpl:155
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
} }
//line views/readers.qtpl:147 //line views/readers.qtpl:156
func WriteRevisionHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) { func WriteRevisionHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) {
//line views/readers.qtpl:147 //line views/readers.qtpl:156
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
StreamRevisionHTML(qw422016, rq, lc, h, contents, revHash) StreamRevisionHTML(qw422016, rq, lc, h, contents, revHash)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
} }
//line views/readers.qtpl:147 //line views/readers.qtpl:156
func RevisionHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) string { func RevisionHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) string {
//line views/readers.qtpl:147 //line views/readers.qtpl:156
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/readers.qtpl:147 //line views/readers.qtpl:156
WriteRevisionHTML(qb422016, rq, lc, h, contents, revHash) WriteRevisionHTML(qb422016, rq, lc, h, contents, revHash)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/readers.qtpl:147 //line views/readers.qtpl:156
return qs422016 return qs422016
//line views/readers.qtpl:147 //line views/readers.qtpl:156
} }
//line views/readers.qtpl:149 //line views/readers.qtpl:158
func streamviewScripts(qw422016 *qt422016.Writer) { func streamviewScripts(qw422016 *qt422016.Writer) {
//line views/readers.qtpl:149 //line views/readers.qtpl:158
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:150 //line views/readers.qtpl:159
for _, scriptPath := range cfg.ViewScripts { for _, scriptPath := range cfg.ViewScripts {
//line views/readers.qtpl:150 //line views/readers.qtpl:159
qw422016.N().S(` qw422016.N().S(`
<script src="`) <script src="`)
//line views/readers.qtpl:151 //line views/readers.qtpl:160
qw422016.E().S(scriptPath) qw422016.E().S(scriptPath)
//line views/readers.qtpl:151 //line views/readers.qtpl:160
qw422016.N().S(`"></script> qw422016.N().S(`"></script>
`) `)
//line views/readers.qtpl:152 //line views/readers.qtpl:161
} }
//line views/readers.qtpl:152 //line views/readers.qtpl:161
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
} }
//line views/readers.qtpl:153 //line views/readers.qtpl:162
func writeviewScripts(qq422016 qtio422016.Writer) { func writeviewScripts(qq422016 qtio422016.Writer) {
//line views/readers.qtpl:153 //line views/readers.qtpl:162
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
streamviewScripts(qw422016) streamviewScripts(qw422016)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
} }
//line views/readers.qtpl:153 //line views/readers.qtpl:162
func viewScripts() string { func viewScripts() string {
//line views/readers.qtpl:153 //line views/readers.qtpl:162
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/readers.qtpl:153 //line views/readers.qtpl:162
writeviewScripts(qb422016) writeviewScripts(qb422016)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/readers.qtpl:153 //line views/readers.qtpl:162
return qs422016 return qs422016
//line views/readers.qtpl:153 //line views/readers.qtpl:162
} }