Skip to content

Commit 3422d87

Browse files
committed
Reflect status in listing.
1 parent a6d7c0a commit 3422d87

File tree

5 files changed

+85
-4
lines changed

5 files changed

+85
-4
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package no.java.submit.template;
2+
3+
import io.quarkus.qute.TemplateExtension;
4+
import no.java.submit.service.TalksService;
5+
import no.java.submit.util.SessionHelper;
6+
7+
import java.util.List;
8+
9+
@TemplateExtension(namespace = "session")
10+
public class SessionExtension {
11+
12+
public static List<String> tags(TalksService.Session session) {
13+
return SessionHelper.getTags(session);
14+
}
15+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package no.java.submit.util;
2+
3+
import no.java.submit.service.TalksService;
4+
5+
import java.util.ArrayList;
6+
import java.util.List;
7+
import java.util.Map;
8+
9+
public interface SessionHelper {
10+
11+
@SuppressWarnings("unchecked")
12+
static List<String> getTags(TalksService.Session session) {
13+
var result = new ArrayList<String>();
14+
15+
if (session.data.containsKey("tagswithauthor")) {
16+
var tags = (List< Map<String, String>>) session.data.get("tagswithauthor").value;
17+
for (Map<String, String> tag : tags) {
18+
if (tag.containsKey("tag")) {
19+
result.add(tag.get("tag"));
20+
}
21+
}
22+
}
23+
24+
if (session.data.containsKey("tags")) {
25+
result.addAll((List<String>) session.data.get("tags").value);
26+
}
27+
28+
return result;
29+
}
30+
}

src/main/resources/templates/listing.html

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,27 @@ <h2>Submitted talks</h2>
3636
{/if}
3737
{#else}
3838
{#for session in talks}
39-
<div class="session-item">
39+
{#let tags=session:tags(session)}
40+
<div class="session-item{#if tags.contains("rejected") || tags.contains("trukket") || tags.contains("withdrawn")} out{/if}">
4041
<a href="/talk/{session.sessionId}">{session.data["title"]}</a>
4142

4243
<ul>
4344
<li>{Kind:of(session.data).name}</li>
4445
<li>{Language:of(session.data).name}</li>
45-
{#if session.status == "APPROVED"}
46-
<li>Approved</li>
46+
{#if tags.contains("rejected")}
47+
<li>Rejected</li>
48+
{#else if tags.contains("trukket") || tags.contains("withdrawn")}
49+
<li>Withdrawn</li>
50+
{#else if tags.contains("accepted") && tags.contains("confirmed")}
51+
<li>Confirmed</li>
52+
{#else if tags.contains("accepted")}
53+
<li>Accepted</li>
54+
<li><a href="https://cakeredux.javazone.no/confirm.html?id={session.sessionId}">Confirm</a></li>
4755
{/if}
4856
<li><a href="/talk/{session.sessionId}/edit">Edit</a></li>
4957
</ul>
5058
</div>
59+
{/let}
5160
{/for}
5261
{/if}
5362
</div>

src/main/resources/templates/talk.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{#include partial/base}
2+
{#let tags=session:tags(session)}
23
<h1>{session.data["title"]}</h1>
34

45
<ul class="details">
@@ -9,11 +10,31 @@ <h1>{session.data["title"]}</h1>
910
{#if session.conferenceId != conference:current.id}
1011
<li>{conferences.id(session.conferenceId).name}</li>
1112
{/if}
13+
{#if tags.contains("rejected")}
14+
<li>Rejected</li>
15+
{#else if tags.contains("trukket") || tags.contains("withdrawn")}
16+
<li>Withdrawn</li>
17+
{#else if tags.contains("accepted") && tags.contains("confirmed")}
18+
<li>Confirmed</li>
19+
{#else if tags.contains("accepted")}
20+
<li>Accepted</li>
21+
<li><a href="https://cakeredux.javazone.no/confirm.html?id={session.sessionId}">Confirm</a></li>
22+
{/if}
1223
{#if session.conferenceId == conference:current.id}
1324
<li><a href="/talk/{session.sessionId}/edit">Edit</a></li>
1425
{/if}
1526
</ul>
1627

28+
{#if tags.contains("accepted") && !tags.contains("confirmed")}
29+
<div class="submit">
30+
<form>
31+
<p>This proposal accepted but not yet confirmed.</p>
32+
33+
<a href="https://cakeredux.javazone.no/confirm.html?id={session.sessionId}" class="button">Confirm</a>
34+
</form>
35+
</div>
36+
{/if}
37+
1738
{#if session.status == "DRAFT" && session.conferenceId == conference:current.id}
1839
<div class="submit">
1940
<form>
@@ -69,5 +90,6 @@ <h3>{speaker.name}</h3>
6990
<p style="white-space: pre-wrap;">{speaker.data["bio"]}</p>
7091
{/if}
7192
{/for}
93+
{/let}
7294

7395
{/include}

src/main/resources/web/app/app.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,10 +312,11 @@ div.submit {
312312
margin: 0 0 20pt;
313313
}
314314

315-
input, button {
315+
input, button, a.button {
316316
background-color: var(--submit-background-color);
317317
color: var(--submit-text-color);
318318
border: 2px solid var(--submit-text-color);
319+
text-decoration: none;
319320
padding: 10pt;
320321
border-radius: 4pt;
321322
font-size: 1.1em;
@@ -329,6 +330,10 @@ div.submit {
329330
div.session-item {
330331
margin-bottom: 10pt;
331332

333+
&.out, &.out a {
334+
color: var(--subtext-color);
335+
}
336+
332337
ul {
333338
margin: 3pt 0 0;
334339
padding: 0;

0 commit comments

Comments
 (0)