Skip to content

Commit 8840a66

Browse files
committed
Some minor fixes
1 parent 5ad7801 commit 8840a66

File tree

13 files changed

+796
-126
lines changed

13 files changed

+796
-126
lines changed

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ trim_trailing_whitespace = false
1313

1414
[*.{yml,yaml}]
1515
indent_size = 2
16+
17+
[Makefile]
18+
indent_style = tab

CHANGELOG.de.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
Änderungen für v2.0
2+
===================
3+
4+
In der Version 2.0 wird der Fokus auf eine Erweiterung der Verwaltung
5+
einer Veranstaltung gelegt. Es soll weitere Möglichkeiten geben die aktuellen
6+
Umstände der Veranstaltung zu dokumentieren und anzuzeigen.
7+
8+
* Änderung der Lizensierung von MIT auf GPLv3
9+
* Aktualisierung auf Version 5.3 des Symfony Framework
10+
* Erstellung einer Docker Umgebung
11+
112
Änderungen für v1.1
213
===================
314

CHANGELOG.en.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

LICENSE

Lines changed: 673 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ zusätzlichen Funktionalitäten vor.
3030
* Einfaches verschieben von Ordnergruppen mit automatischer Protkollierung
3131
* Übersetzung der Software in andere Sprachen
3232

33+
## Verwendung als Docker-Environment
34+
35+
Die Applikation unterstützt die Arbeit in einer Docker-Container-Umgebung. Diese Umgebung erfordert
36+
keinerlei PHP-Abhängigkeiten auf einem Host-System, so dass unabhängig vom Host die Applikation
37+
ausgeführt werden kann.
38+
39+
Dafür ist das Programm [Docker](https://www.docker.com/) ebenso wie [Docker Compose](https://docs.docker.com/compose/)
40+
auf dem Host-System nötig. Die Applikation kann dann folgendermaßen ausgeführt und über die Adresse `http://localhost:8080` ausgeführt
41+
werden.
42+
3343
## Verwendung als Desktopapplikation (Windows)
3444

3545
Für die Verwendung der Desktopversion ist ein Download des fertigen PHPDesktop-Paketes nötig. Die letzte
@@ -56,7 +66,7 @@ Eine Hilfe wie man einen Webserver für eine Symfony-Applikation einrichtet find
5666

5767
Um das Projekt über den Sourcecode zu installieren sind folgende Schritte nötig:
5868

59-
```shell script
69+
```bash
6070
# Installation aller PHP Abhängigkeiten
6171
composer install --optimize-autoloader --no-dev --prefer-dist --no-plugins --no-scripts --no-progress
6272

assets/css/app.scss

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
.protocol-add-child-highlite {
2-
background-color: #868e96 !important;
3-
color: #fff !important;
4-
}
5-
6-
.protocol-add-child-highlite .text-muted {
7-
color: #fff !important;
8-
}
9-
101
small i {
112
font-size: 87.5% !important;
123
}

docker-compose.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
version: "3.8"
2-
31
services:
42
php:
53
build:
64
context: .
75
dockerfile: ./.docker/php/Dockerfile
86
volumes:
9-
- ".:/usr/src/app:cached"
7+
- ".:/usr/src/app"
108
restart: on-failure
119
env_file:
1210
- .env

public/images/hertha_24x24.png

1.24 KB
Loading

templates/base.html.twig

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
</head>
2626

2727
<body class="antialiased">
28-
<div class="page" data-controller="loader" data-loader-template-id="screen-loader-template">
28+
<div class="wrapper" data-controller="loader" data-loader-template-id="screen-loader-template">
2929
<header class="navbar navbar-expand-md navbar-light d-print-none">
3030
<div class="container-xl">
3131
<div class="navbar-nav flex-row order-md-last">
@@ -45,8 +45,8 @@
4545
</div>
4646
</div>
4747
</header>
48-
<div class="content">
49-
<div class="container-xl">
48+
<div class="page-wrapper">
49+
<div class="{% block page_layout %}container-xl{% endblock %}">
5050
{% block flash_messages %}
5151
{% for label, messages in app.flashes %}
5252
{% for message in messages %}
@@ -61,8 +61,11 @@
6161
{% endfor %}
6262
{% endfor %}
6363
{% endblock %}
64-
{% block content %}{% endblock %}
65-
64+
</div>
65+
<div class="page-body">
66+
<div class="container-xl">
67+
{% block content %}{% endblock %}
68+
</div>
6669
</div>
6770
<footer class="footer footer-transparent d-print-none">
6871
<div class="container">

templates/game/_form.html.twig

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
{{ form_start(form) }}
2-
{{ form_widget(form) }}
3-
<button type="submit" class="btn" data-check-form="game">{{ button_label|default('Save') }}</button>
4-
{{ form_end(form) }}
1+
<div class="row row-cards">
2+
<div class="col-6">
3+
{{ form_start(form, {'attr': {'class': 'card'}}) }}
4+
<div class="card-body">
5+
{{ form_widget(form) }}
6+
</div>
7+
<div class="card-footer text-end">
8+
<div class="d-flex">
9+
<a href="{{ path('dashboard') }}" class="btn btn-link">Abbrechen</a>
10+
<button type="submit" data-check-form="game" class="btn btn-primary ms-auto">Speichern</button>
11+
</div>
12+
</div>
13+
{{ form_end(form) }}
14+
</div>
15+
</div>

templates/game/edit.html.twig

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,5 @@
55
<h1>Spiel "{{ game.name }}" bearbeiten</h1>
66
</div>
77

8-
<div class="row row-cards">
9-
<div class="col-12">
10-
{{ form_start(form, {'attr': {'class': 'card'}}) }}
11-
<div class="card-body">
12-
{{ form_widget(form) }}
13-
<button type="submit" class="btn btn-primary" data-check-form="game">Speichern</button>
14-
<a href="{{ path('dashboard') }}" class="btn btn-secondary">Abbrechen</a>
15-
</div>
16-
{{ form_end(form) }}
17-
</div>
18-
</div>
8+
{% include 'game/_form.html.twig' %}
199
{% endblock %}

templates/game/new.html.twig

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,5 @@
55
<h1>Neues Spiel erstellen</h1>
66
</div>
77

8-
<div class="row row-cards">
9-
<div class="col-12">
10-
{{ form_start(form, {'attr': {'class': 'card'}}) }}
11-
<div class="card-body">
12-
{{ form_widget(form) }}
13-
<button type="submit" class="btn btn-primary" data-check-form="game">Speichern</button>
14-
<a href="{{ path('dashboard') }}" class="btn btn-secondary">Abbrechen</a>
15-
</div>
16-
{{ form_end(form) }}
17-
</div>
18-
</div>
8+
{% include 'game/_form.html.twig' %}
199
{% endblock %}

templates/protocol/index.html.twig

Lines changed: 72 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,88 @@
11
{% extends 'base.html.twig' %}
22

33
{% block content %}
4+
<div {% if game.closedAt is null %}data-controller="protocol" data-protocol-form-query="form[name='protocol']"{% endif %}>
5+
<div class="row row-cards">
6+
{% if game.closedAt is null %}
7+
<div class="col-sm-12 col-md-4">
8+
<div class="row row-cards">
9+
{% if game.closedAt is null %}
10+
<div class="col-sm-12">
11+
<div class="card">
12+
{{ form_start(form, {'action': path('protocol_index', {'game': game.id})}) }}
13+
<div class="card-body protocol-form">
14+
{{ form_errors(form) }}
15+
{{ form_errors(form.content) }}
16+
<div class="mb-3">{{ form_widget(form.sender, {'attr': {'tabindex': 1}}) }}</div>
17+
<div class="mb-3">{{ form_widget(form.content, {'attr': {'tabindex': 2}}) }}</div>
18+
<div class="mb-3">{{ form_widget(form.recipent, {'attr': {'tabindex': 3}}) }}</div>
19+
<div class="mb-3">
420

5-
<div class="row">
6-
<div class="col-12">
7-
<h3>Funkprotokoll {{ game.name }} vom {{ game.createdAt|format_datetime('short', 'none') }}</h3>
8-
</div>
9-
</div>
10-
<div class="row" data-controller="protocol" data-protocol-form-query="form[name='protocol']">
11-
{% if game.closedAt is null %}
12-
<div class="col-4">
13-
<div class="card-body position-fixed bg-white border-top protocol-form" style="width: 15%; min-width: 380px;">
14-
{{ form_errors(form) }}
15-
16-
{{ form_start(form, {'action': path('protocol_index', {'game': game.id})}) }}
17-
{{ form_errors(form.content) }}
18-
<div class="mb-3">{{ form_widget(form.sender, {'attr': {'tabindex': 1}}) }}</div>
19-
<div class="mb-3">{{ form_widget(form.content, {'attr': {'tabindex': 2}}) }}</div>
20-
<div class="mb-3">{{ form_widget(form.recipent, {'attr': {'tabindex': 3}}) }}</div>
21-
<div class="mb-3"><button type="submit" class="btn btn-block btn-primary" tabindex="3" data-check-form="protocol">Speichern</button></div>
22-
{{ form_end(form) }}
23-
<p class="mt-3">
24-
<strong>STRG + C</strong>: Abbrechen einer Eingabe<br />
25-
<strong>STRG + Return</strong>: Absenden des Formulars
26-
</p>
27-
<span id="focusguard" tabindex="5" data-action="focus->protocol#focusguard"></span>
21+
</div>
22+
<span id="focusguard" tabindex="5" data-action="focus->protocol#focusguard" style="height: 1px; width: 1px;"></span>
23+
<p class="mt-3">
24+
<strong>STRG + C</strong>: Abbrechen einer Eingabe<br/>
25+
<strong>STRG + Return</strong>: Absenden des Formulars
26+
</p>
27+
</div>
28+
<div class="card-footer">
29+
<div class="d-flex protocol-form-buttons">
30+
<button type="submit" class="btn btn-primary ms-auto" tabindex="3" data-check-form="protocol">Speichern</button>
31+
</div>
32+
</div>
33+
{{ form_end(form) }}
34+
</div>
35+
</div>
36+
{% endif %}
37+
</div>
2838
</div>
29-
</div>
30-
{% endif %}
39+
{% endif %}
3140

32-
<div class="{% if game.closedAt is null %}col-8{% else %}col-12{% endif %}">
33-
{% for protocol in protocol_list %}
34-
<div class="row protocol-entry">
41+
42+
<div class="{% if game.closedAt is null %}col-md-8 col-sm-12{% else %}col-12{% endif %}">
43+
<div class="row row-cards ">
3544
<div class="col-12">
36-
<div class="card p-3 mb-1">
37-
<div class="media">
38-
<div class="media-body">
39-
<div class="media-heading">
40-
<small class="float-right text-muted text-right">
41-
{{ protocol.createdAt|ago }} - {{ protocol.createdAt|format_datetime('none', 'short') }}
42-
{% if game.closedAt is null %}
43-
&nbsp;<button data-id="{{ protocol.id }}" data-highlite="card" class="btn btn-success btn-sm no-loader" data-action="protocol#addChildEntry"><i class="fas fa-plus p-1"></i></button>
45+
<h3>Funkprotokoll {{ game.name }} vom {{ game.createdAt|format_datetime('short', 'none') }}</h3>
46+
</div>
47+
{% for protocol in protocol_list %}
48+
<div class="col-12 protocol-entry">
49+
<div class="card">
50+
<div class="card-body">
51+
<div class="media">
52+
<div class="media-body">
53+
<div class="media-heading">
54+
<small class="float-right text-muted text-right">
55+
{{ protocol.createdAt|ago }} - {{ protocol.createdAt|format_datetime('none', 'short') }}
56+
{% if game.closedAt is null %}
57+
&nbsp;<button data-id="{{ protocol.id }}" data-highlite="card" class="btn btn-success btn-sm no-loader" data-action="protocol#addChildEntry"><i class="fas fa-plus p-1"></i></button>
58+
{% endif %}
59+
</small>
60+
<h5 class="mb-0 strong">Von <span class="bold protocol-sender">{{ protocol.sender ?: '10' }}</span> an <span class= "bold protocol-recipent">{{ protocol.recipent ?: (protocol.sender is empty ? 'alle' : '10') }}</span></h5>
61+
</div>
62+
<div class="protocol-content">{{ protocol.content|nl2br }}</div>
63+
{% if protocol.children|length > 0 %}
64+
<ul class="mt-3 protocol-entry-replies">
65+
{% for protocolChild in protocol.children %}
66+
<li class="media p-1 {{ cycle(['bg-muted-lt', ''], loop.index0) }}">
67+
<div class="media-body border-left mb-3">
68+
<small class="float-right text-muted">{{ protocolChild.createdAt|ago }} - {{ protocolChild.createdAt|format_datetime('none', 'short') }}</small>
69+
<h5 class="mb-0 strong">Von {{ protocolChild.sender ?: '10' }} an {{ protocolChild.recipent ?: (protocolChild.sender is empty ? 'alle' : '10') }}</h5>
70+
<div>{{ protocolChild.content|nl2br }}</div>
71+
</div>
72+
</li>
73+
{% endfor %}
74+
</ul>
4475
{% endif %}
45-
</small>
46-
<h5 class="mb-0">Von <span class="bold protocol-sender">{{ protocol.sender ?: '10' }}</span> an <span class= "bold protocol-recipent">{{ protocol.recipent ?: (protocol.sender is empty ? 'alle' : '10') }}</span></h5>
76+
</div>
4777
</div>
48-
<div class="protocol-content">{{ protocol.content|nl2br }}</div>
49-
{% if protocol.children|length > 0 %}
50-
<ul class="media-list mt-4 ml-5 protocol-entry-replies">
51-
{% for protocolChild in protocol.children %}
52-
<li class="media mt-4">
53-
<div class="media-body border-left pl-3 mb-3">
54-
<small class="float-right text-muted">{{ protocolChild.createdAt|ago }} - {{ protocolChild.createdAt|format_datetime('none', 'short') }}</small>
55-
<strong>Von <strong>{{ protocolChild.sender ?: '10' }}</strong> an <strong>{{ protocolChild.recipent ?: (protocolChild.sender is empty ? 'alle VDO' : 'VDO 10') }}</strong></strong>
56-
<div>{{ protocolChild.content|nl2br }}</div>
57-
</div>
58-
</li>
59-
{% endfor %}
60-
</ul>
61-
{% endif %}
6278
</div>
6379
</div>
6480
</div>
65-
</div>
81+
{% else %}
82+
<div class="alert alert-info">Es liegen aktuell keine Aktivitäten vor</div>
83+
{% endfor %}
6684
</div>
67-
{% else %}
68-
<li class="list-group-item py-5">
69-
<div class="media">
70-
<div class="media-body">
71-
<div class="alert alert-info">
72-
Keine Einträge bisher
73-
</div>
74-
</div>
75-
</div>
76-
</li>
77-
{% endfor %}
85+
</div>
7886
</div>
7987
</div>
80-
</protocol>
81-
8288
{% endblock %}

0 commit comments

Comments
 (0)