Update Semantic
Fixes #40,#24
This commit is contained in:
parent
1715f27f44
commit
2027b94179
621 changed files with 172488 additions and 15939 deletions
|
@ -1,3 +1,18 @@
|
|||
.card {
|
||||
h2 {
|
||||
margin-bottom: 0.3em !important;
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
.meta {
|
||||
.label,.button {
|
||||
margin-bottom: 0.3em;
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.event.box {
|
||||
h2 {
|
||||
padding: 0.5rem;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
body {
|
||||
margin: 0;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
margin: 40px 0 0;
|
||||
}
|
||||
|
||||
header {
|
||||
|
|
|
@ -49,7 +49,6 @@ jQuery(document).ready(function () {
|
|||
if (!(jQuery('input[name=location_lat]').val() == undefined)) {
|
||||
jQuery('input[name=location_lat]').val(coords.lat);
|
||||
jQuery('input[name=location_lon]').val(coords.lng);
|
||||
jQuery('input[name=location]').css('margin-bottom', '3.2rem');
|
||||
jQuery('span.coords').text('Folgende Koordinaten sind angegeben: lat:' + coords.lat + ', lon:' + coords.lng);
|
||||
} else {
|
||||
jQuery('input[name=geocords]').val(coords.lat + ',' + coords.lng);
|
||||
|
@ -83,9 +82,35 @@ jQuery(document).ready(function () {
|
|||
}
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
function calcBoxSize(columns) {
|
||||
var card_selector = jQuery('.ui.cards .card');
|
||||
var screen_width = $(window).width() - 14 - 14; /* padding of basic segment */
|
||||
// first check if we can display 4 cards on the screen with a minimum width of 399px
|
||||
var box_width = Math.floor((screen_width / columns)) - 10;
|
||||
if ((box_width >= 395) || (columns == 1)) {
|
||||
card_selector.css('width',box_width);
|
||||
} else {
|
||||
calcBoxSize(columns - 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (jQuery('#view-map').length == 1) {
|
||||
$(window).resize(function(){
|
||||
var card_selector = jQuery('.ui.cards .card');
|
||||
|
||||
if (card_selector.length > 0) {
|
||||
calcBoxSize(4);
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
var view_map_selector = jQuery('#view-map');
|
||||
var card_selector = jQuery('.ui.cards .card');
|
||||
|
||||
if (card_selector.length > 0) {
|
||||
calcBoxSize(4);
|
||||
}
|
||||
|
||||
if (view_map_selector.length == 1) {
|
||||
jQuery('.show_map').click(addGeoCoordinates);
|
||||
map = L.map('view-map');
|
||||
|
||||
|
@ -108,8 +133,8 @@ $(document).ready(function() {
|
|||
},
|
||||
onVisible: function () {
|
||||
map.invalidateSize(true);
|
||||
var lat = $('#view-map').data('lat');
|
||||
var lon = $('#view-map').data('lon');
|
||||
var lat = view_map_selector.data('lat');
|
||||
var lon = view_map_selector.data('lon');
|
||||
if ((lat > 0) && (lon > 0)) {
|
||||
map.setView([lat, lon], 16);
|
||||
var latlng = new L.LatLng(lat, lon);
|
||||
|
|
|
@ -19,14 +19,12 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<h1>Termin bearbeiten</h1>
|
||||
</div>
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui dividing green header">Termin bearbeiten</h1>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<div class="ui basic segment">
|
||||
<div class="ui segment">
|
||||
{{ include('CalciferBundle:Event:event_form.html.twig',{'entity':entity}) }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,57 +1,61 @@
|
|||
<div class="ui column">
|
||||
<div class="ui segment event box">
|
||||
<h2 class="ui dividing header segment green inverted"><a
|
||||
<div class="ui {% if (detail|default(false)) %}fluid {% endif %}card">
|
||||
<div class="content">
|
||||
<h2 class="ui green dividing header"><a
|
||||
href="{{ path('_show', { 'slug': entity.slug }) }}">{{ entity.summary }}</a>
|
||||
</h2>
|
||||
|
||||
<div class="meta">
|
||||
<div class="ui green compact small label">
|
||||
<i class="calendar icon"></i> {{ entity.getFormatedDate() }}
|
||||
</div>
|
||||
|
||||
{% if entity.location is not null %}
|
||||
<a class="ui green compact small label"
|
||||
href="{{ path('location_show', {'slug' : entity.location.slug }) }}">
|
||||
<i class="map marker icon"></i> {{ entity.location.name }}
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if (detail|default(false)) %}
|
||||
{% if entity.tags|length > 0 %}
|
||||
{% for tag in entity.tags %}
|
||||
<a class="ui green compact small label" href="{{ path('tag_show', {'slug' : tag.slug }) }}">
|
||||
<i class="tag icon"></i> {{ tag.name }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if entity.url|length > 0 %}
|
||||
<a class="ui green compact small label" href="{{ entity.url }}">
|
||||
<i class="globe icon"></i> {{ entity.url|truncate(30) }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
{% if truncate_summary|default(false) %}
|
||||
<p>{{ entity.description|truncate(255)|markdown }}</p>
|
||||
{% else %}
|
||||
<p>{{ entity.description|markdown }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if (detail|default(false)) %}
|
||||
<p class="action">
|
||||
<a href="{{ path('_edit', {'slug' : entity.slug }) }}"><i
|
||||
class="circular icon edit green inverted link"></i>Bearbeiten</a>
|
||||
</p>
|
||||
|
||||
<p class="action">
|
||||
<a href="{{ path('_delete', {'slug' : entity.slug }) }}"><i class="circular icon delete green inverted link"></i>Löschen</a>
|
||||
</p>
|
||||
|
||||
<p class="action">
|
||||
<a href="{{ path('_copy', {'slug' : entity.slug }) }}"><i class="circular icon copy green inverted link"></i>Kopieren</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<p class="startdate ">
|
||||
<i class="circular icon calendar green inverted link" title="Wann?"
|
||||
data-content="Wann?"></i>{{ entity.getFormatedDate() }}
|
||||
</p>
|
||||
|
||||
{% if entity.location is not null %}
|
||||
<p class="location">
|
||||
<a href="{{ path('location_show', {'slug' : entity.location.slug }) }}"><i
|
||||
class="circular icon map marker green inverted link" title="Wo?"
|
||||
data-content="Wo?"></i>{{ entity.location.name }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if entity.tags|length > 0 %}
|
||||
<ul class="tags">
|
||||
{% for tag in entity.tags %}
|
||||
<li class="tag"><a href="{{ path('tag_show',{'slug' : tag.slug }) }}"><i
|
||||
class="circular icon tag green inverted link"></i>{{ tag.name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if entity.url|length > 0 %}
|
||||
<p class="url">
|
||||
<a href="{{ entity.url }}"><i class="circular icon globe green inverted link"></i>{{ entity.url }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="ui clearing divider"></div>
|
||||
|
||||
{% if truncate_summary|default(false) %}
|
||||
<p>{{ entity.description|truncate(255)|markdown }}</p>
|
||||
{% else %}
|
||||
<p>{{ entity.description|markdown }}</p>
|
||||
<a class="ui green tiny compact labeled icon button"
|
||||
href="{{ path('_edit', {'slug' : entity.slug }) }}">
|
||||
<i class="edit icon"></i>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a class="ui green tiny compact labeled icon button"
|
||||
href="{{ path('_delete', {'slug' : entity.slug }) }}">
|
||||
<i class="delete icon"></i>
|
||||
Löschen
|
||||
</a>
|
||||
<a class="ui green tiny compact labeled icon button"
|
||||
href="{{ path('_copy', {'slug' : entity.slug }) }}">
|
||||
<i class="copy icon"></i>
|
||||
Kopieren
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
|
@ -1,142 +1,148 @@
|
|||
<form method="post" action="{% if entity.id|default(0) > 0 %}{{ path('_update',{'slug':entity.slug}) }}{% else %}{{ path('_create') }}{% endif %}">
|
||||
<div class="ui form segment">
|
||||
<div class="field{% if(errors|default('0') != 0) %} {% if('startdate' in errors|keys) %}error{% endif %}{% endif %}">
|
||||
<label class="control-label required" for="event_startdate">Startdatum</label>
|
||||
<form class="ui form" method="post"
|
||||
action="{% if entity.id|default(0) > 0 %}{{ path('_update',{'slug':entity.slug}) }}{% else %}{{ path('_create') }}{% endif %}">
|
||||
<div class="required field{% if(errors|default('0') != 0) %} {% if('startdate' in errors|keys) %}error{% endif %}{% endif %}">
|
||||
<label for="event_startdate">Startdatum</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="datetime"
|
||||
id="event_startdate"
|
||||
name="startdate"
|
||||
required="required"
|
||||
value="{{ entity.startdate.format('Y-m-d H:i')|default('') }}"
|
||||
placeholder="{{ "now"|date('Y-m-d H:i') }}"
|
||||
class="form-control">
|
||||
{% if(errors|default('0') != 0) %} {% if('startdate' in errors|keys) %}
|
||||
<div class="ui icon input">
|
||||
<input type="datetime"
|
||||
id="event_startdate"
|
||||
name="startdate"
|
||||
required="required"
|
||||
value="{{ entity.startdate.format('Y-m-d H:i')|default('') }}"
|
||||
placeholder="{{ "now"|date('Y-m-d H:i') }}"
|
||||
class="form-control">
|
||||
{% if(errors|default('0') != 0) %} {% if('startdate' in errors|keys) %}
|
||||
<div class="ui red pointing above ui label">{{ errors.startdate }}</div>
|
||||
{% endif %}{% endif %}
|
||||
{% endif %}{% endif %}
|
||||
|
||||
<i class="icon calendar"></i>
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
<i class="icon calendar"></i>
|
||||
</div>
|
||||
<div class="field{% if(errors|default('0') != 0) %} {% if('enddate' in errors|keys) %}error{% endif %}{% endif %}">
|
||||
<label class="control-label required" for="event_enddate">Enddatum</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="datetime"
|
||||
id="event_enddate"
|
||||
name="enddate"
|
||||
value="{{ entity.enddate.format('Y-m-d H:i')|default('') }}"
|
||||
placeholder="{{ "now"|date('Y-m-d H:i') }}"
|
||||
class="form-control">
|
||||
|
||||
{% if(errors|default('0') != 0) %} {% if('enddate' in errors|keys) %}
|
||||
<div class="ui red pointing above ui label">{{ errors.enddate }}</div>
|
||||
{% endif %}{% endif %}
|
||||
|
||||
<i class="icon calendar"></i>
|
||||
</div>
|
||||
<div class="ui label">
|
||||
Bitte gebe das Startdatum im Format <a href="http://de.wikipedia.org/wiki/ISO_8601">ISO 8601</a> an.
|
||||
</div>
|
||||
<div class="field{% if(errors|default('0') != 0) %} {% if('summary' in errors|keys) %}error{% endif %}{% endif %}">
|
||||
<label class="" for="event_summary">Zusammenfassung</label>
|
||||
</div>
|
||||
<div class="required field{% if(errors|default('0') != 0) %} {% if('enddate' in errors|keys) %}error{% endif %}{% endif %}">
|
||||
<label for="event_enddate">Enddatum</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="event_summary"
|
||||
name="summary"
|
||||
value="{{ entity.summary|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
<div class="ui icon input">
|
||||
<input type="datetime"
|
||||
id="event_enddate"
|
||||
name="enddate"
|
||||
value="{{ entity.enddate.format('Y-m-d H:i')|default('') }}"
|
||||
placeholder="{{ "now"|date('Y-m-d H:i') }}"
|
||||
class="form-control">
|
||||
|
||||
{% if(errors|default('0') != 0) %} {% if('summary' in errors|keys) %}
|
||||
<div class="ui red pointing above ui label">{{ errors.summary }}</div>
|
||||
{% endif %}{% endif %}
|
||||
{% if(errors|default('0') != 0) %} {% if('enddate' in errors|keys) %}
|
||||
<div class="ui red pointing above ui label">{{ errors.enddate }}</div>
|
||||
{% endif %}{% endif %}
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
<i class="icon calendar"></i>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_summary">Beschreibung</label>
|
||||
|
||||
<div class="ui left labeled icon input attached-label">
|
||||
<textarea name="description">{{ entity.description|default('') }}</textarea>
|
||||
<div class="ui bottom attached label">Du kannst hier <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> benutzen.</div>
|
||||
</div>
|
||||
<div class="ui label">
|
||||
Bitte gebe das Enddatum im Format <a href="http://de.wikipedia.org/wiki/ISO_8601">ISO 8601</a> an.
|
||||
</div>
|
||||
</div>
|
||||
<div class="required field{% if(errors|default('0') != 0) %} {% if('summary' in errors|keys) %}error{% endif %}{% endif %}">
|
||||
<label for="event_summary">Zusammenfassung</label>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_url">URL</label>
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="event_summary"
|
||||
name="summary"
|
||||
value="{{ entity.summary|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<input type="text"
|
||||
id="event_url"
|
||||
name="url"
|
||||
maxlength="255"
|
||||
value="{{ entity.url|default('') }}"
|
||||
class="form-control">
|
||||
<i class="icon globe"></i>
|
||||
</div>
|
||||
{% if(errors|default('0') != 0) %} {% if('summary' in errors|keys) %}
|
||||
<div class="ui red pointing above ui label">{{ errors.summary }}</div>
|
||||
{% endif %}{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_location">Ort</label>
|
||||
|
||||
<div class="ui left labeled icon input attached-{% if entity.location.lat|default(0) > 0 %}geo-{% endif %}label">
|
||||
<input type="text"
|
||||
id="event_location"
|
||||
name="location"
|
||||
maxlength="255"
|
||||
value="{{ entity.location.name|default('') }}"
|
||||
class="form-control">
|
||||
<input type="hidden" name="location_lat" value="{{ entity.location.lat|default('') }}">
|
||||
<input type="hidden" name="location_lon" value="{{ entity.location.lon|default('') }}">
|
||||
<i class="icon map marker"></i>
|
||||
<div class="ui bottom attached label">
|
||||
Du kannst zu diesem Ort auch Geokoordinaten <a href="#" class="add_geo">hinterlegen</a>.<br />
|
||||
<span class="coords">{% if entity.location.lat|default(0) > 0 %}Folgende Koordinaten sind angegeben: lat:{{ entity.location.lat }}, lon:{{ entity.location.lon }}{% endif %}</span>
|
||||
</div>
|
||||
<div class="ui modal geo chooser">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Wähle einen Punkt auf der Karte
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button cancel">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="ui button ok">
|
||||
Okay
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="event_tags">Tags</label>
|
||||
|
||||
<div class="ui left icon input attached-label">
|
||||
<input type="text"
|
||||
id="event_tags"
|
||||
name="tags"
|
||||
value="{{ entity.getTagsAsText() }}"
|
||||
class="form-control">
|
||||
<i class="icon tag"></i>
|
||||
<div class="ui bottom attached label">Du kannst hier kommasepariert <a href="https://en.wikipedia.org/wiki/Tag_%28metadata%29">Tags</a> angeben.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" class="ui button blue" value="Speichern"/>
|
||||
</div>
|
||||
|
||||
<div class="required field">
|
||||
<label for="event_summary">Beschreibung</label>
|
||||
|
||||
<div class="ui input">
|
||||
<textarea name="description">{{ entity.description|default('') }}</textarea>
|
||||
</div>
|
||||
<div class="ui label">Du kannst hier <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a>
|
||||
benutzen.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="event_url">URL</label>
|
||||
|
||||
<div class="ui icon input">
|
||||
<input type="text"
|
||||
id="event_url"
|
||||
name="url"
|
||||
maxlength="255"
|
||||
value="{{ entity.url|default('') }}"
|
||||
class="form-control">
|
||||
<i class="icon globe"></i>
|
||||
</div>
|
||||
|
||||
<div class="ui label">
|
||||
Vergesse nicht das https:// zur URL anzugeben.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="required field">
|
||||
<label for="event_location">Ort</label>
|
||||
|
||||
<div class="ui icon input attached-{% if entity.location.lat|default(0) > 0 %}geo-{% endif %}label">
|
||||
<input type="text"
|
||||
id="event_location"
|
||||
name="location"
|
||||
maxlength="255"
|
||||
value="{{ entity.location.name|default('') }}"
|
||||
class="form-control">
|
||||
<input type="hidden" name="location_lat" value="{{ entity.location.lat|default('') }}">
|
||||
<input type="hidden" name="location_lon" value="{{ entity.location.lon|default('') }}">
|
||||
<i class="icon map marker"></i>
|
||||
</div>
|
||||
|
||||
<div class="ui label">
|
||||
Du kannst zu diesem Ort auch Geokoordinaten <a href="#" class="add_geo">hinterlegen</a> (JavaScript erforderlich).<br/>
|
||||
<span class="coords">{% if entity.location.lat|default(0) > 0 %}Folgende Koordinaten sind angegeben: lat:{{ entity.location.lat }}, lon:{{ entity.location.lon }}{% endif %}</span>
|
||||
</div>
|
||||
<div class="ui modal geo chooser">
|
||||
<i class="close icon"></i>
|
||||
|
||||
<div class="header">
|
||||
Wähle einen Punkt auf der Karte
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button cancel">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="ui button ok">
|
||||
Okay
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="event_tags">Tags</label>
|
||||
|
||||
<div class="ui icon input">
|
||||
<input type="text"
|
||||
id="event_tags"
|
||||
name="tags"
|
||||
value="{{ entity.getTagsAsText() }}"
|
||||
class="form-control">
|
||||
<i class="icon tag"></i>
|
||||
</div>
|
||||
<div class="ui label">Du kannst hier kommasepariert <a
|
||||
href="https://en.wikipedia.org/wiki/Tag_%28metadata%29">Tags</a> angeben.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" class="ui button green" value="Speichern"/>
|
||||
</form>
|
|
@ -2,92 +2,98 @@
|
|||
|
||||
{% block css %}
|
||||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/events.scss"
|
||||
"@CalciferBundle/Resources/assets/css/leaflet.scss"
|
||||
%}
|
||||
<link rel="stylesheet" href="{{ asset_url }}" />
|
||||
"@CalciferBundle/Resources/assets/css/events.scss"
|
||||
"@CalciferBundle/Resources/assets/css/leaflet.scss" %}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% javascripts
|
||||
"@CalciferBundle/Resources/assets/js/events.js"
|
||||
"@CalciferBundle/Resources/assets/js/leaflet.js"
|
||||
%}
|
||||
"@CalciferBundle/Resources/assets/js/leaflet.js" %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid title">
|
||||
<div class="ui column">
|
||||
<h1>
|
||||
Termine
|
||||
{% if tags|default(false) %}
|
||||
{% if tags|length == 1 %}
|
||||
für Tag {{ tags[0].name }}
|
||||
{% elseif(tags|length == 2) %}
|
||||
für die Tags {{ tags[0].name }} {% if operator == 'or' %}oder{% else %}und{% endif %} {{ tags[1].name }}
|
||||
{% else %}
|
||||
für die Tags
|
||||
{% for tag in tags %}
|
||||
{% if not loop.last %}
|
||||
{{ tag.name }}{% if loop.index < (tags|length - 1) %},{% endif %}
|
||||
{% else %}
|
||||
{% if operator == 'or' %}oder{% else %}und{% endif %} {{ tag.name }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui green dividing header">
|
||||
Termine
|
||||
{% if tags|default(false) %}
|
||||
{% if tags|length == 1 %}
|
||||
für Tag {{ tags[0].name }}
|
||||
{% elseif(tags|length == 2) %}
|
||||
für die Tags {{ tags[0].name }} {% if operator == 'or' %}oder{% else %}und{% endif %} {{ tags[1].name }}
|
||||
{% else %}
|
||||
für die Tags
|
||||
{% for tag in tags %}
|
||||
{% if not loop.last %}
|
||||
{{ tag.name }}{% if loop.index < (tags|length - 1) %},{% endif %}
|
||||
{% else %}
|
||||
{% if operator == 'or' %}oder{% else %}und{% endif %} {{ tag.name }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if location|default(false) %} für Ort „{{ location.name }}“ <a class="location-edit" href="{{ path("location_edit",{slug:location.slug}) }}"><i class="ui icon edit inverted green circular link" data-content="Ort bearbeiten" title="Ort bearbeiten"></i> </a> {% endif %}
|
||||
</h1>
|
||||
{% if tag|default(false) %}
|
||||
<a href="{{ path('tag_show',{'slug' : tag.slug }) }}.ics"><i class="icon calendar"></i>Link zur Kalenderdatei</a>
|
||||
{% endif %}
|
||||
{% if location|default(false) %}
|
||||
{% if (location.description|length > 0) or location.hasAddress() %}
|
||||
<div id="location-description" class="ui message green">
|
||||
{% if (location.description|length > 0) %}
|
||||
<p>{{ location.description|markdown }}</p>
|
||||
{% endif %}
|
||||
{% if (location.hasAddress()) %}
|
||||
<div class="ui section divider"></div>
|
||||
<p>
|
||||
Anschrift:<br/>
|
||||
{{ location.streetaddress }}{% if(location.streetnumber|length > 0) %} {{ location.streetnumber }}{% endif %}<br/>
|
||||
{% if location|default(false) %} für Ort „{{ location.name }}“ <a class="location-edit"
|
||||
href="{{ path("location_edit",{slug:location.slug}) }}"><i
|
||||
class="ui icon edit green link" data-content="Ort bearbeiten"
|
||||
title="Ort bearbeiten"></i> </a> {% endif %}
|
||||
</h1>
|
||||
{% if tag|default(false) %}
|
||||
<a href="{{ path('tag_show',{'slug' : tag.slug }) }}.ics"><i class="icon calendar"></i>Link zur
|
||||
Kalenderdatei</a>
|
||||
{% endif %}
|
||||
{% if location|default(false) %}
|
||||
{% if (location.description|length > 0) or location.hasAddress() %}
|
||||
<div id="location-description" class="ui message green">
|
||||
{% if (location.description|length > 0) %}
|
||||
<p>{{ location.description|markdown }}</p>
|
||||
{% endif %}
|
||||
{% if (location.hasAddress()) %}
|
||||
<div class="ui section divider"></div>
|
||||
<p>
|
||||
Anschrift:<br/>
|
||||
{{ location.streetaddress }}{% if(location.streetnumber|length > 0) %} {{ location.streetnumber }}{% endif %}
|
||||
<br/>
|
||||
{% if(location.zipcode|length > 0) %}{{ location.zipcode }} {% endif %}{{ location.city }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if ((location.lon > 0) and (location.lat > 0)) %}
|
||||
<p><a href="" class="show_map">Auf einer OpenStreetMap-Karte anzeigen</a></p>
|
||||
<div class="ui modal geo viewer">
|
||||
<i class="close icon"></i>
|
||||
|
||||
<div class="header">
|
||||
{{ location.name }}<br/>
|
||||
{{ location.streetaddress }}{% if(location.streetnumber|length > 0) %} {{ location.streetnumber }}{% endif %}
|
||||
<br/>
|
||||
{% if(location.zipcode|length > 0) %}{{ location.zipcode }} {% endif %}{{ location.city }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if ((location.lon > 0) and (location.lat > 0)) %}
|
||||
<p><a href="" class="show_map">Auf einer OpenStreetMap-Karte anzeigen</a></p>
|
||||
<div class="ui modal geo viewer">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
{{ location.name }}<br/>
|
||||
{{ location.streetaddress }}{% if(location.streetnumber|length > 0) %} {{ location.streetnumber }}{% endif %}<br/>
|
||||
{% if(location.zipcode|length > 0) %}{{ location.zipcode }} {% endif %}{{ location.city }}
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="view-map" data-lat="{{ location.lat }}" data-lon="{{ location.lon }}"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button ok">
|
||||
Schließen
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="view-map" data-lat="{{ location.lat }}"
|
||||
data-lon="{{ location.lon }}"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button ok">
|
||||
Schließen
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if entities|length > 0 %}
|
||||
<div class="ui three column page grid stackable">
|
||||
{% for entity in entities %}
|
||||
{{ include('CalciferBundle:Event:event_box.html.twig',{'truncate_summary':true}) }}
|
||||
{% endfor %}
|
||||
<div class="ui basic segment">
|
||||
<div class="ui cards">
|
||||
{% for entity in entities %}
|
||||
{{ include('CalciferBundle:Event:event_box.html.twig',{'truncate_summary':true}) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="ui one column page grid stackable">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui basic segment">
|
||||
{{ include('CalciferBundle:Event:event_box.html.twig',{'entity' : entity,'detail' : true}) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -19,157 +19,151 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<h1>Ort bearbeiten</h1>
|
||||
</div>
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui green dividing header">Ort bearbeiten</h1>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<form method="post"
|
||||
<div class="ui basic segment">
|
||||
<div class="ui segment">
|
||||
<form class="ui form"
|
||||
method="post"
|
||||
action="{{ path('location_update',{'slug':entity.slug}) }}">
|
||||
{% set errors = app.session.flashbag.get('error') %}
|
||||
{% if errors|length > 0 %}
|
||||
<div class="ui error message">
|
||||
<div class="header">Bitte korrigiere folgende Fehler:</div>
|
||||
<ul class="list">
|
||||
{% for flashMessage in errors %}
|
||||
<li>{{ flashMessage }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="ui error message">
|
||||
<div class="header">Bitte korrigiere folgende Fehler:</div>
|
||||
<ul class="list">
|
||||
{% for flashMessage in errors %}
|
||||
<li>{{ flashMessage }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="ui form segment">
|
||||
<div class="field">
|
||||
<label class="" for="location-name">Name</label>
|
||||
<div class="required field">
|
||||
<label for="location-name">Name</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-name"
|
||||
name="name"
|
||||
value="{{ entity.name|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-name"
|
||||
name="name"
|
||||
value="{{ entity.name|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="location-description">Beschreibung</label>
|
||||
|
||||
<div class="ui left labeled icon input attached-label">
|
||||
<textarea id="location-description" name="description">{{ entity.description|default('') }}</textarea>
|
||||
|
||||
<div class="ui bottom attached label">Du kannst hier <a
|
||||
href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> benutzen.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="location-streetaddress">Straße</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-streetaddress"
|
||||
name="streetaddress"
|
||||
value="{{ entity.streetaddress|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="location-streetnumber">Hausnummer</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-streetnumber"
|
||||
name="streetnumber"
|
||||
value="{{ entity.streetnumber|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="location-zipcode">Postleitzahl</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-zipcode"
|
||||
name="zipcode"
|
||||
value="{{ entity.zipcode|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="location-city">Ort</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-city"
|
||||
name="city"
|
||||
value="{{ entity.city|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="location-geocords">Geokoordinaten</label>
|
||||
|
||||
<div class="ui left labeled icon input attached-{% if entity.location.lat|default(0) > 0 %}geo-{% endif %}label">
|
||||
<input type="text"
|
||||
id="location-geocords"
|
||||
name="geocords"
|
||||
maxlength="255"
|
||||
value="{{ entity.lat|default('0') }},{{ entity.lon|default('0') }}"
|
||||
class="form-control">
|
||||
<i class="icon map marker"></i>
|
||||
<div class="ui bottom attached label">
|
||||
Gebe entweder Breitengrad und Längengrad (Mit Punkten!) kommasepariert ein oder <a href="#" class="add_geo">wähle einen Punkt auf der Karte aus</a>.
|
||||
</div>
|
||||
<div class="ui modal geo chooser">
|
||||
<i class="close icon"></i>
|
||||
<div class="header">
|
||||
Wähle einen Punkt auf der Karte
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button cancel">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="ui button ok">
|
||||
Okay
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<input type="submit" class="ui button blue" value="Speichern"/>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="location-description">Beschreibung</label>
|
||||
|
||||
<div class="ui input">
|
||||
<textarea id="location-description"
|
||||
name="description">{{ entity.description|default('') }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="ui label">Du kannst hier <a
|
||||
href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> benutzen.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="location-streetaddress">Straße</label>
|
||||
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="location-streetaddress"
|
||||
name="streetaddress"
|
||||
value="{{ entity.streetaddress|default('') }}"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="location-streetnumber">Hausnummer</label>
|
||||
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="location-streetnumber"
|
||||
name="streetnumber"
|
||||
value="{{ entity.streetnumber|default('') }}"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="location-zipcode">Postleitzahl</label>
|
||||
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="location-zipcode"
|
||||
name="zipcode"
|
||||
value="{{ entity.zipcode|default('') }}"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="location-city">Ort</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<input type="text"
|
||||
id="location-city"
|
||||
name="city"
|
||||
value="{{ entity.city|default('') }}"
|
||||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="location-geocords">Geokoordinaten</label>
|
||||
|
||||
<div class="ui icon input">
|
||||
<input type="text"
|
||||
id="location-geocords"
|
||||
name="geocords"
|
||||
maxlength="255"
|
||||
value="{{ entity.lat|default('0') }},{{ entity.lon|default('0') }}"
|
||||
class="form-control">
|
||||
<i class="icon map marker"></i>
|
||||
</div>
|
||||
|
||||
<div class="ui label">
|
||||
Gebe entweder Breitengrad und Längengrad (Mit Punkten!) kommasepariert ein oder <a href="#"
|
||||
class="add_geo">wähle
|
||||
einen Punkt auf der Karte aus</a>.
|
||||
</div>
|
||||
<div class="ui modal geo chooser">
|
||||
<i class="close icon"></i>
|
||||
|
||||
<div class="header">
|
||||
Wähle einen Punkt auf der Karte
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button cancel">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="ui button ok">
|
||||
Okay
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<input type="submit" class="ui button blue" value="Speichern"/>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/jquery.datetimepicker.scss"
|
||||
"@CalciferBundle/Resources/assets/css/events.scss"
|
||||
"@CalciferBundle/Resources/assets/css/leaflet.scss"
|
||||
%}
|
||||
"@CalciferBundle/Resources/assets/css/leaflet.scss" %}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
@ -15,21 +14,18 @@
|
|||
"@CalciferBundle/Resources/assets/js/jquery.datetimepicker.js"
|
||||
"@CalciferBundle/Resources/assets/js/repeating_events.js"
|
||||
"@CalciferBundle/Resources/assets/js/events.js"
|
||||
"@CalciferBundle/Resources/assets/js/leaflet.js"
|
||||
%}
|
||||
"@CalciferBundle/Resources/assets/js/leaflet.js" %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<h1>Wiederholenden Termin bearbeiten</h1>
|
||||
</div>
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui green dividing header">Wiederholenden Termin bearbeiten</h1>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<div class="ui basic segment">
|
||||
<div class="ui segment">
|
||||
{{ include('CalciferBundle:RepeatingEvent:repeating_event_form.html.twig',{'entity':entity}) }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -15,51 +15,47 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid title">
|
||||
<div class="ui column">
|
||||
<h1 class="ui header">
|
||||
Wiederholende Termine
|
||||
</h1>
|
||||
</div>
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui green dividing header">
|
||||
Wiederholende Termine
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid stackable">
|
||||
<div class="column">
|
||||
<table class="ui table">
|
||||
<thead>
|
||||
<div class="ui basic segment">
|
||||
<table class="ui table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Zusammenfassung</th>
|
||||
<th>Nächstes Datum</th>
|
||||
<th>Wiederholungsmuster</th>
|
||||
<th>Aktionen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entity in entities %}
|
||||
<tr>
|
||||
<th>Zusammenfassung</th>
|
||||
<th>Nächstes Datum</th>
|
||||
<th>Wiederholungsmuster</th>
|
||||
<th>Aktionen</th>
|
||||
<td>
|
||||
{{ entity.summary }}
|
||||
</td>
|
||||
<td>
|
||||
{{ entity.nextdate.format('Y-m-d H:i') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ entity.repeating_pattern }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('repeating_event_edit', {'slug':entity.slug}) }}">Bearbeiten</a> |
|
||||
<a href="{{ path('repeating_event_delete', {'slug':entity.slug}) }}">Löschen</a>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entity in entities %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ entity.summary }}
|
||||
</td>
|
||||
<td>
|
||||
{{ entity.nextdate.format('Y-m-d H:i') }}
|
||||
</td>
|
||||
<td>
|
||||
{{ entity.repeating_pattern }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('repeating_event_edit', {'slug':entity.slug}) }}">Bearbeiten</a> |
|
||||
<a href="{{ path('repeating_event_delete', {'slug':entity.slug}) }}">Löschen</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4"><a href="{{ path('repeating_event_new') }}">Neuen wiederholenden Termin anlegen</a></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4"><a class="ui green button" href="{{ path('repeating_event_new') }}">Neuen wiederholenden Termin anlegen</a></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -20,14 +20,12 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<h1>Wiederholenden Termin erstellen</h1>
|
||||
</div>
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui green dividing header">Wiederholenden Termin erstellen</h1>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<div class="ui basic segment">
|
||||
<div class="ui segment">
|
||||
{{ include('CalciferBundle:RepeatingEvent:repeating_event_form.html.twig') }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<form method="post"
|
||||
<form class="ui form" method="post"
|
||||
action="{% if entity.id|default(0) > 0 %}{{ path('repeating_event_update',{'slug':entity.slug}) }}{% else %}{{ path('repeating_event_create') }}{% endif %}">
|
||||
<div class="ui form segment">
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_startdate">Nächster Termin</label>
|
||||
<div class="required field">
|
||||
<label for="event_startdate">Nächster Termin</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<div class="ui icon input">
|
||||
<input type="datetime"
|
||||
id="event_nextdate"
|
||||
name="nextdate"
|
||||
|
@ -15,15 +14,16 @@
|
|||
|
||||
<i class="icon calendar"></i>
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui label">
|
||||
Bitte gebe das Datum des nächsten Termin im Format <a href="http://de.wikipedia.org/wiki/ISO_8601">ISO 8601</a> an.
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_duration">Dauer</label>
|
||||
<label for="event_duration">Dauer</label>
|
||||
|
||||
<div class="ui left labeled input attached-label">
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="event_duration"
|
||||
name="duration"
|
||||
|
@ -31,16 +31,16 @@
|
|||
value="{{ entity.duration }}"
|
||||
class="form-control">
|
||||
|
||||
<div class="ui bottom attached label">
|
||||
Hier gibst du bitte die Dauer der Veranstaltung in Minuten an.
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui label">
|
||||
Hier gibst du bitte die Dauer der Veranstaltung in Minuten an.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_duration">Terminwiederholungsmuster</label>
|
||||
<div class="required field">
|
||||
<label for="event_duration">Terminwiederholungsmuster</label>
|
||||
|
||||
<div class="ui left labeled input attached-label">
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="repeating_pattern"
|
||||
name="repeating_pattern"
|
||||
|
@ -48,22 +48,18 @@
|
|||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
</div>
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
|
||||
<div class="ui bottom attached label">
|
||||
Gebe hier ein <a href="{{ path("repeating_patterns") }}">Wiederholungsmuster</a> an.
|
||||
</div>
|
||||
<div class="ui label">
|
||||
Gebe hier ein <a href="{{ path("repeating_patterns") }}">Wiederholungsmuster</a> an.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="" for="event_summary">Zusammenfassung</label>
|
||||
<div class="required field">
|
||||
<label for="event_summary">Zusammenfassung</label>
|
||||
|
||||
<div class="ui left labeled input">
|
||||
<div class="ui input">
|
||||
<input type="text"
|
||||
id="event_summary"
|
||||
name="summary"
|
||||
|
@ -71,29 +67,24 @@
|
|||
required="required"
|
||||
maxlength="255"
|
||||
class="form-control">
|
||||
|
||||
<div class="ui corner label">
|
||||
<i class="icon asterisk"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_summary">Beschreibung</label>
|
||||
<label for="event_summary">Beschreibung</label>
|
||||
|
||||
<div class="ui left labeled icon input attached-label">
|
||||
<div class="ui input">
|
||||
<textarea name="description">{{ entity.description|default('') }}</textarea>
|
||||
|
||||
<div class="ui bottom attached label">Du kannst hier <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a>
|
||||
benutzen.
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui label">Du kannst hier <a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a>
|
||||
benutzen.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="control-label required" for="event_url">URL</label>
|
||||
<label for="event_url">URL</label>
|
||||
|
||||
<div class="ui left labeled icon input">
|
||||
<div class="ui icon input">
|
||||
<input type="text"
|
||||
id="event_url"
|
||||
name="url"
|
||||
|
@ -104,10 +95,10 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div class="required field">
|
||||
<label class="control-label required" for="event_location">Ort</label>
|
||||
|
||||
<div class="ui left labeled icon input attached-{% if entity.location.lat|default(0) > 0 %}geo-{% endif %}label">
|
||||
<div class="ui icon input">
|
||||
<input type="text"
|
||||
id="event_location"
|
||||
name="location"
|
||||
|
@ -117,27 +108,27 @@
|
|||
<input type="hidden" name="location_lat" value="{{ entity.location.lat|default('') }}">
|
||||
<input type="hidden" name="location_lon" value="{{ entity.location.lon|default('') }}">
|
||||
<i class="icon map marker"></i>
|
||||
</div>
|
||||
|
||||
<div class="ui bottom attached label">
|
||||
Du kannst zu diesem Ort auch Geokoordinaten <a href="#" class="add_geo">hinterlegen</a>.<br/>
|
||||
<span class="coords">{% if entity.location.lat|default(0) > 0 %}Folgende Koordinaten sind angegeben: lat:{{ entity.location.lat }}, lon:{{ entity.location.lon }}{% endif %}</span>
|
||||
<div class="ui label">
|
||||
Du kannst zu diesem Ort auch Geokoordinaten <a href="#" class="add_geo">hinterlegen</a> (JavaScript erforderlich).<br/>
|
||||
<span class="coords">{% if entity.location.lat|default(0) > 0 %}Folgende Koordinaten sind angegeben: lat:{{ entity.location.lat }}, lon:{{ entity.location.lon }}{% endif %}</span>
|
||||
</div>
|
||||
<div class="ui modal geo chooser">
|
||||
<i class="close icon"></i>
|
||||
|
||||
<div class="header">
|
||||
Wähle einen Punkt auf der Karte
|
||||
</div>
|
||||
<div class="ui modal geo chooser">
|
||||
<i class="close icon"></i>
|
||||
|
||||
<div class="header">
|
||||
Wähle einen Punkt auf der Karte
|
||||
<div class="content">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button cancel">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="content">
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui button cancel">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="ui button ok">
|
||||
Okay
|
||||
</div>
|
||||
<div class="ui button ok">
|
||||
Okay
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -146,21 +137,20 @@
|
|||
<div class="field">
|
||||
<label class="" for="event_tags">Tags</label>
|
||||
|
||||
<div class="ui left icon input attached-label">
|
||||
<div class="ui icon input">
|
||||
<input type="text"
|
||||
id="event_tags"
|
||||
name="tags"
|
||||
value="{{ entity.getTagsAsText() }}"
|
||||
class="form-control">
|
||||
<i class="icon tag"></i>
|
||||
</div>
|
||||
|
||||
<div class="ui bottom attached label">Du kannst hier kommasepariert <a
|
||||
href="https://en.wikipedia.org/wiki/Tag_%28metadata%29">Tags</a> angeben.
|
||||
</div>
|
||||
<div class="ui label">Du kannst hier kommasepariert <a
|
||||
href="https://en.wikipedia.org/wiki/Tag_%28metadata%29">Tags</a> angeben.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" class="ui button blue" value="Speichern"/>
|
||||
</div>
|
||||
<input type="submit" class="ui green button" value="Speichern"/>
|
||||
|
||||
</form>
|
|
@ -15,22 +15,30 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block body -%}
|
||||
<div class="ui one column page grid title">
|
||||
<div class="ui column">
|
||||
<h1 class="ui header">
|
||||
Wiederholungsmuster
|
||||
</h1>
|
||||
</div>
|
||||
<div class="ui basic segment">
|
||||
<h1 class="ui green dividing header">
|
||||
Wiederholungsmuster
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="ui one column page grid segment">
|
||||
<div class="ui column">
|
||||
<div class="ui basic segment">
|
||||
<div class="ui segment">
|
||||
<p>Es gibt 2 verschiedene Wiederholungsmustertypen. Feste Termine oder Interval Termine.</p>
|
||||
<p>Der erste definiert sich dadurch das der Termin immer an einem bestimmten Tag im Monat passieren soll. Das Hackspace-Plenum findet z.B. am <code>Zweiten Freitag des Monats</code> statt. Die Sicherheitssprechstunde findet immer am <code>Ersten Dienstag des Monats</code> statt. Anhand dieser Beispiele sollte eigentlich klar sein wie dieses Wiederholungsmuster funktioniert:</p>
|
||||
<p>An erster stelle definiert man die Woche: Erster, Zweiter, Dritter, Letzter (In manchen Fällen kann Dritter und Letzter auch identisch sein).</p>
|
||||
|
||||
<p>Der erste definiert sich dadurch das der Termin immer an einem bestimmten Tag im Monat passieren soll.
|
||||
Das Hackspace-Plenum findet z.B. am „<code>Zweiten Freitag des Monats</code>“ statt. Die
|
||||
Sicherheitssprechstunde findet immer am „<code>Ersten Dienstag des Monats</code>“ statt. Anhand dieser
|
||||
Beispiele sollte eigentlich klar sein wie dieses Wiederholungsmuster funktioniert:</p>
|
||||
|
||||
<p>An erster stelle definiert man die Woche: Erster, Zweiter, Dritter, Letzter (In manchen Fällen kann
|
||||
Dritter und Letzter auch identisch sein).</p>
|
||||
|
||||
<p>An zweiter stelle definiert man den Wochentag: Montag, Dienstag, Mitwoch usw.</p>
|
||||
|
||||
<p>An letzter Stelle steht noch pro Forma „des Monats“</p>
|
||||
<p>Der zweite Wiederholungstyp ist für regelmäßige Termine wie z.B. die Elektrorunde gedacht, die <code>Alle 7 Tage</code>. Für die Brettspielerei würde man <code>Alle 2 Wochen</code> schreiben.</p>
|
||||
|
||||
<p>Der zweite Wiederholungstyp ist für regelmäßige Termine wie z.B. die Elektrorunde gedacht, die „<code>Alle
|
||||
7 Tage</code>“. Für die Brettspielerei würde man „<code>Alle 2 Wochen</code>“ schreiben.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -4,15 +4,13 @@
|
|||
|
||||
<title>{% block title %}Terminverwaltung Calcifer{% endblock %}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- Bootstrap -->
|
||||
<link rel="shortcut icon" href="/favicon.png" />
|
||||
<link href='//fonts.googleapis.com/css?family=Roboto:400,700' rel='stylesheet' type='text/css'>
|
||||
<link href="/semantic/dist/semantic.css" rel="stylesheet">
|
||||
{% stylesheets filter="compass"
|
||||
"@CalciferBundle/Resources/assets/css/main.scss"
|
||||
"css/semantic.scss"
|
||||
"css/custom.scss"
|
||||
"@CalciferBundle/Resources/assets/css/main.scss"
|
||||
"css/custom.scss"
|
||||
%}
|
||||
<link rel="stylesheet" href="{{ asset_url }}" media="screen" />
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% block css %}
|
||||
|
||||
|
@ -23,28 +21,13 @@
|
|||
<body>
|
||||
{% include "CalciferBundle::navigation.html.twig" %}
|
||||
|
||||
<div class="ui one column page grid">
|
||||
<div class="column">
|
||||
<div id="mission-statement" class="ui message green">
|
||||
{% image '@CalciferBundle/Resources/assets/images/logo.png' %}
|
||||
<img
|
||||
title="Eine Zeichnung von Calcifer. Gezeichnet von simply-Sylvan (http://simply-sylvan.deviantart.com/art/Calcifer-Purple-176746086)"
|
||||
alt="Eine Zeichnung von Calcifer. Gezeichnet von simply-Sylvan (http://simply-sylvan.deviantart.com/art/Calcifer-Purple-176746086)"
|
||||
src="{{ asset_url }}"
|
||||
class="ui image small floated left" />
|
||||
{% endimage %}
|
||||
<p>Calcifer ist ein Daemon aus dem Anime <a href="http://anidb.net/perl-bin/animedb.pl?show=anime&aid=1218">„Das wandelnde Schloss“</a>, der sich darum kümmert das sich Howls Schloss weiter bewegt. Diese Terminverwaltung soll dafür sorgen das sich der <a href="https://www.krautspace.de/">Hackspace Jena</a> auch weiter bewegt und viele tolle Termine statfinden.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="main" class="segment">
|
||||
<div id="main">
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
<!-- jQuery (necessary for Bootstraps JavaScript plugins) -->
|
||||
<script src="{{ asset('js/jquery.js') }}"></script>
|
||||
<!-- Include all JavaScripts, compiled by Assetic -->
|
||||
<script src="{{ asset('js/semantic.js') }}"></script>
|
||||
<script src="{{ asset('semantic/dist/semantic.min.js') }}"></script>
|
||||
{% block javascripts %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
|
@ -1,9 +1,8 @@
|
|||
<header class="ui fixed main menu inverted transparent ">
|
||||
<div class="ui one column page grid">
|
||||
<div class="ui column">
|
||||
<div class="title item"><a href="{{ path('') }}">Calcifer</a></div>
|
||||
<div class="item"><a href="{{ path('_new') }}">Neuer Termin</a> </div>
|
||||
<div class="item"><a href="{{ path('repeating_event_show') }}">Wiederholende Termine</a></div>
|
||||
</div>
|
||||
<header class="ui fixed green main menu">
|
||||
<div class="ui basic segment">
|
||||
<div class="title {% if app.request.pathinfo == path('') %}active {% endif %}item"><a href="{{ path('') }}">Start</a></div>
|
||||
<div class="{% if app.request.pathinfo == path('_new') %}active {% endif %}item"><a href="{{ path('_new') }}">Neuer Termin</a></div>
|
||||
<div class="{% if app.request.pathinfo == path('repeating_event_show') %}active {% endif %}item"><a href="{{ path('repeating_event_show') }}">Wiederholende Termine</a></div>
|
||||
<div class="{% if app.request.pathinfo == path('about_calcifer') %}active {% endif %}item"><a href="{{ path('about_calcifer') }}">Über Calcifer</a></div>
|
||||
</div>
|
||||
</header>
|
Reference in a new issue