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

Do not show impossible actions for empty hyphae

This commit is contained in:
Timur Ismagilov 2022-07-01 22:38:44 +05:00
parent dde770e3e6
commit 28001f034e
2 changed files with 167 additions and 138 deletions

View File

@ -5,8 +5,13 @@
{% import "github.com/bouncepaw/mycorrhiza/util" %}
{% import "github.com/bouncepaw/mycorrhiza/viewutil" %}
{% func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) %}
{% if u.CanProceed(action) %}
{% func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) %}
{% code flag := true %}
{% switch h.(type) %}
{% case *hyphae.EmptyHypha %}
{% code flag = !hasToExist %}
{% endswitch %}
{% if u.CanProceed(action) && flag %}
<li class="hypha-info__entry hypha-info__entry_{%s action %}">
<a class="hypha-info__link" href="/{%s action %}/{%s h.CanonicalName() %}">{%s displayText %}</a>
</li>
@ -21,12 +26,12 @@
%}
<nav class="hypha-info">
<ul class="hypha-info__list">
{%= hyphaInfoEntry(h, u, "history", lc.Get("ui.history_link")) %}
{%= hyphaInfoEntry(h, u, "rename", lc.Get("ui.rename_link")) %}
{%= hyphaInfoEntry(h, u, "delete", lc.Get("ui.delete_link")) %}
{%= hyphaInfoEntry(h, u, "text", lc.Get("ui.text_link")) %}
{%= hyphaInfoEntry(h, u, "media", lc.Get("ui.media_link")) %}
{%= hyphaInfoEntry(h, u, "backlinks", lc.GetPlural("ui.backlinks_link", backs)) %}
{%= hyphaInfoEntry(h, u, "history", false, lc.Get("ui.history_link")) %}
{%= hyphaInfoEntry(h, u, "rename", true, lc.Get("ui.rename_link")) %}
{%= hyphaInfoEntry(h, u, "delete", true, lc.Get("ui.delete_link")) %}
{%= hyphaInfoEntry(h, u, "text", true, lc.Get("ui.text_link")) %}
{%= hyphaInfoEntry(h, u, "media", true, lc.Get("ui.media_link")) %}
{%= hyphaInfoEntry(h, u, "backlinks", false, lc.GetPlural("ui.backlinks_link", backs)) %}
</ul>
</nav>
{% endfunc %}

View File

@ -36,33 +36,28 @@ var (
)
//line views/nav.qtpl:8
func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) {
func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) {
//line views/nav.qtpl:8
qw422016.N().S(`
`)
//line views/nav.qtpl:9
if u.CanProceed(action) {
flag := true
//line views/nav.qtpl:9
qw422016.N().S(`
<li class="hypha-info__entry hypha-info__entry_`)
`)
//line views/nav.qtpl:10
qw422016.E().S(action)
//line views/nav.qtpl:10
qw422016.N().S(`">
<a class="hypha-info__link" href="/`)
switch h.(type) {
//line views/nav.qtpl:11
qw422016.E().S(action)
case *hyphae.EmptyHypha:
//line views/nav.qtpl:11
qw422016.N().S(`/`)
//line views/nav.qtpl:11
qw422016.E().S(h.CanonicalName())
//line views/nav.qtpl:11
qw422016.N().S(`">`)
//line views/nav.qtpl:11
qw422016.E().S(displayText)
//line views/nav.qtpl:11
qw422016.N().S(`</a>
</li>
qw422016.N().S(`
`)
//line views/nav.qtpl:12
flag = !hasToExist
//line views/nav.qtpl:12
qw422016.N().S(`
`)
//line views/nav.qtpl:13
}
@ -70,196 +65,225 @@ func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.Use
qw422016.N().S(`
`)
//line views/nav.qtpl:14
}
if u.CanProceed(action) && flag {
//line views/nav.qtpl:14
func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) {
//line views/nav.qtpl:14
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/nav.qtpl:14
streamhyphaInfoEntry(qw422016, h, u, action, displayText)
//line views/nav.qtpl:14
qt422016.ReleaseWriter(qw422016)
//line views/nav.qtpl:14
}
//line views/nav.qtpl:14
func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) string {
//line views/nav.qtpl:14
qb422016 := qt422016.AcquireByteBuffer()
//line views/nav.qtpl:14
writehyphaInfoEntry(qb422016, h, u, action, displayText)
//line views/nav.qtpl:14
qs422016 := string(qb422016.B)
//line views/nav.qtpl:14
qt422016.ReleaseByteBuffer(qb422016)
//line views/nav.qtpl:14
return qs422016
//line views/nav.qtpl:14
}
//line views/nav.qtpl:16
func streamhyphaInfo(qw422016 *qt422016.Writer, meta viewutil.Meta, h hyphae.Hypha) {
//line views/nav.qtpl:16
qw422016.N().S(`
<li class="hypha-info__entry hypha-info__entry_`)
//line views/nav.qtpl:15
qw422016.E().S(action)
//line views/nav.qtpl:15
qw422016.N().S(`">
<a class="hypha-info__link" href="/`)
//line views/nav.qtpl:16
qw422016.E().S(action)
//line views/nav.qtpl:16
qw422016.N().S(`/`)
//line views/nav.qtpl:16
qw422016.E().S(h.CanonicalName())
//line views/nav.qtpl:16
qw422016.N().S(`">`)
//line views/nav.qtpl:16
qw422016.E().S(displayText)
//line views/nav.qtpl:16
qw422016.N().S(`</a>
</li>
`)
//line views/nav.qtpl:18
}
//line views/nav.qtpl:18
qw422016.N().S(`
`)
//line views/nav.qtpl:19
}
//line views/nav.qtpl:19
func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) {
//line views/nav.qtpl:19
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/nav.qtpl:19
streamhyphaInfoEntry(qw422016, h, u, action, hasToExist, displayText)
//line views/nav.qtpl:19
qt422016.ReleaseWriter(qw422016)
//line views/nav.qtpl:19
}
//line views/nav.qtpl:19
func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action string, hasToExist bool, displayText string) string {
//line views/nav.qtpl:19
qb422016 := qt422016.AcquireByteBuffer()
//line views/nav.qtpl:19
writehyphaInfoEntry(qb422016, h, u, action, hasToExist, displayText)
//line views/nav.qtpl:19
qs422016 := string(qb422016.B)
//line views/nav.qtpl:19
qt422016.ReleaseByteBuffer(qb422016)
//line views/nav.qtpl:19
return qs422016
//line views/nav.qtpl:19
}
//line views/nav.qtpl:21
func streamhyphaInfo(qw422016 *qt422016.Writer, meta viewutil.Meta, h hyphae.Hypha) {
//line views/nav.qtpl:21
qw422016.N().S(`
`)
//line views/nav.qtpl:23
u := meta.U
lc := meta.Lc
backs := backlinks.BacklinksCount(h)
//line views/nav.qtpl:21
//line views/nav.qtpl:26
qw422016.N().S(`
<nav class="hypha-info">
<ul class="hypha-info__list">
`)
//line views/nav.qtpl:24
streamhyphaInfoEntry(qw422016, h, u, "history", lc.Get("ui.history_link"))
//line views/nav.qtpl:24
qw422016.N().S(`
`)
//line views/nav.qtpl:25
streamhyphaInfoEntry(qw422016, h, u, "rename", lc.Get("ui.rename_link"))
//line views/nav.qtpl:25
qw422016.N().S(`
`)
//line views/nav.qtpl:26
streamhyphaInfoEntry(qw422016, h, u, "delete", lc.Get("ui.delete_link"))
//line views/nav.qtpl:26
qw422016.N().S(`
`)
//line views/nav.qtpl:27
streamhyphaInfoEntry(qw422016, h, u, "text", lc.Get("ui.text_link"))
//line views/nav.qtpl:27
qw422016.N().S(`
`)
//line views/nav.qtpl:28
streamhyphaInfoEntry(qw422016, h, u, "media", lc.Get("ui.media_link"))
//line views/nav.qtpl:28
qw422016.N().S(`
`)
//line views/nav.qtpl:29
streamhyphaInfoEntry(qw422016, h, u, "backlinks", lc.GetPlural("ui.backlinks_link", backs))
streamhyphaInfoEntry(qw422016, h, u, "history", false, lc.Get("ui.history_link"))
//line views/nav.qtpl:29
qw422016.N().S(`
`)
//line views/nav.qtpl:30
streamhyphaInfoEntry(qw422016, h, u, "rename", true, lc.Get("ui.rename_link"))
//line views/nav.qtpl:30
qw422016.N().S(`
`)
//line views/nav.qtpl:31
streamhyphaInfoEntry(qw422016, h, u, "delete", true, lc.Get("ui.delete_link"))
//line views/nav.qtpl:31
qw422016.N().S(`
`)
//line views/nav.qtpl:32
streamhyphaInfoEntry(qw422016, h, u, "text", true, lc.Get("ui.text_link"))
//line views/nav.qtpl:32
qw422016.N().S(`
`)
//line views/nav.qtpl:33
streamhyphaInfoEntry(qw422016, h, u, "media", true, lc.Get("ui.media_link"))
//line views/nav.qtpl:33
qw422016.N().S(`
`)
//line views/nav.qtpl:34
streamhyphaInfoEntry(qw422016, h, u, "backlinks", false, lc.GetPlural("ui.backlinks_link", backs))
//line views/nav.qtpl:34
qw422016.N().S(`
</ul>
</nav>
`)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
}
//line views/nav.qtpl:32
//line views/nav.qtpl:37
func writehyphaInfo(qq422016 qtio422016.Writer, meta viewutil.Meta, h hyphae.Hypha) {
//line views/nav.qtpl:32
//line views/nav.qtpl:37
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
streamhyphaInfo(qw422016, meta, h)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
qt422016.ReleaseWriter(qw422016)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
}
//line views/nav.qtpl:32
//line views/nav.qtpl:37
func hyphaInfo(meta viewutil.Meta, h hyphae.Hypha) string {
//line views/nav.qtpl:32
//line views/nav.qtpl:37
qb422016 := qt422016.AcquireByteBuffer()
//line views/nav.qtpl:32
//line views/nav.qtpl:37
writehyphaInfo(qb422016, meta, h)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
qs422016 := string(qb422016.B)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
qt422016.ReleaseByteBuffer(qb422016)
//line views/nav.qtpl:32
//line views/nav.qtpl:37
return qs422016
//line views/nav.qtpl:32
//line views/nav.qtpl:37
}
//line views/nav.qtpl:34
//line views/nav.qtpl:39
func streamcommonScripts(qw422016 *qt422016.Writer) {
//line views/nav.qtpl:34
//line views/nav.qtpl:39
qw422016.N().S(`
`)
//line views/nav.qtpl:35
//line views/nav.qtpl:40
for _, scriptPath := range cfg.CommonScripts {
//line views/nav.qtpl:35
//line views/nav.qtpl:40
qw422016.N().S(`
<script src="`)
//line views/nav.qtpl:36
//line views/nav.qtpl:41
qw422016.E().S(scriptPath)
//line views/nav.qtpl:36
//line views/nav.qtpl:41
qw422016.N().S(`"></script>
`)
//line views/nav.qtpl:37
//line views/nav.qtpl:42
}
//line views/nav.qtpl:37
//line views/nav.qtpl:42
qw422016.N().S(`
`)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
}
//line views/nav.qtpl:38
//line views/nav.qtpl:43
func writecommonScripts(qq422016 qtio422016.Writer) {
//line views/nav.qtpl:38
//line views/nav.qtpl:43
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
streamcommonScripts(qw422016)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
qt422016.ReleaseWriter(qw422016)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
}
//line views/nav.qtpl:38
//line views/nav.qtpl:43
func commonScripts() string {
//line views/nav.qtpl:38
//line views/nav.qtpl:43
qb422016 := qt422016.AcquireByteBuffer()
//line views/nav.qtpl:38
//line views/nav.qtpl:43
writecommonScripts(qb422016)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
qs422016 := string(qb422016.B)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
qt422016.ReleaseByteBuffer(qb422016)
//line views/nav.qtpl:38
//line views/nav.qtpl:43
return qs422016
//line views/nav.qtpl:38
//line views/nav.qtpl:43
}
//line views/nav.qtpl:40
//line views/nav.qtpl:45
func streambeautifulLink(qw422016 *qt422016.Writer, hyphaName string) {
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qw422016.N().S(`<a href="/hypha/`)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qw422016.N().S(hyphaName)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qw422016.N().S(`">`)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qw422016.E().S(util.BeautifulName(hyphaName))
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qw422016.N().S(`</a>`)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
}
//line views/nav.qtpl:40
//line views/nav.qtpl:45
func writebeautifulLink(qq422016 qtio422016.Writer, hyphaName string) {
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
streambeautifulLink(qw422016, hyphaName)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qt422016.ReleaseWriter(qw422016)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
}
//line views/nav.qtpl:40
//line views/nav.qtpl:45
func beautifulLink(hyphaName string) string {
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qb422016 := qt422016.AcquireByteBuffer()
//line views/nav.qtpl:40
//line views/nav.qtpl:45
writebeautifulLink(qb422016, hyphaName)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qs422016 := string(qb422016.B)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
qt422016.ReleaseByteBuffer(qb422016)
//line views/nav.qtpl:40
//line views/nav.qtpl:45
return qs422016
//line views/nav.qtpl:40
//line views/nav.qtpl:45
}