Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
thalia
concrexit
Commits
3ec66786
Commit
3ec66786
authored
Sep 01, 2016
by
Luuk Scholten
Committed by
Sébastiaan Versteeg
Oct 10, 2016
Browse files
Add calendar page
parent
5dc12c68
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
website/events/locale/nl/LC_MESSAGES/django.mo
View file @
3ec66786
No preview for this file type
website/events/locale/nl/LC_MESSAGES/django.po
View file @
3ec66786
...
...
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-1
4 21:4
8+0200\n"
"PO-Revision-Date: 2016-09-1
4 21
:4
5
+0200\n"
"POT-Creation-Date: 2016-09-1
6 08:3
8+0200\n"
"PO-Revision-Date: 2016-09-1
6 08
:4
0
+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
...
...
@@ -16,178 +16,178 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.
8
\n"
"X-Generator: Poedit 1.8.
7.1
\n"
#: admin.py:3
6
#: admin.py:3
7
msgid "order"
msgstr "volgorde"
#: admin.py:7
1
#: admin.py:7
2
msgid "Edit"
msgstr "Aanpassen"
#: admin.py:8
1
#: admin.py:8
2
msgid "Number of participants"
msgstr "Aantal deelnemers"
#: admin.py:8
5
#: admin.py:8
6
msgid "Publish selected events"
msgstr "Publiceer geselecteerde evenementen"
#: admin.py:
8
9
#: admin.py:9
0
msgid "Unpublish selected events"
msgstr "Publicatie van geselecteerde evenementen ongedaan maken"
#: models.py:1
2
#: models.py:1
3
msgid "No registration required"
msgstr "Geen registratie vereist"
#: models.py:1
4
templates/events/admin/details.html:47
#: models.py:1
7
templates/events/admin/details.html:47
msgid "title"
msgstr "titel"
#: models.py:1
6
models.py:1
5
7
#: models.py:
2
1 models.py:1
6
7
msgid "description"
msgstr "beschrijving"
#: models.py:
18
#: models.py:
23
msgid "start time"
msgstr "starttijd"
#: models.py:2
0
#: models.py:2
5
msgid "end time"
msgstr "eindtijd"
#: models.py:
26
templates/events/admin/details.html:51
#: models.py:
31
templates/events/admin/details.html:51
msgid "organiser"
msgstr "organisator"
#: models.py:3
0
#: models.py:3
5
msgid "registration start"
msgstr "start registratie"
#: models.py:
36
#: models.py:
41
msgid "registration end"
msgstr "einde registratie"
#: models.py:4
2
#: models.py:4
7
msgid "cancel deadline"
msgstr "afmelddeadline"
#: models.py:4
7
templates/events/admin/details.html:55
#: models.py:
5
4 templates/events/admin/details.html:55
msgid "location"
msgstr "locatie"
#: models.py:5
0
#: models.py:5
9
msgid "location for minimap"
msgstr "locatie voor minimap"
#: models.py:
52
#: models.py:
61
msgid "Location of Huygens: Heyendaalseweg 135, Nijmegen. Not shown as text!!"
msgstr ""
"Locatie van ’t Huygens: Heyendaalseweg 135, Nijmegen. Dit veld wordt niet "
"getoond als tekst!!"
#: models.py:
57
templates/events/admin/details.html:57
#: models.py:
66
templates/events/admin/details.html:57
msgid "price"
msgstr "prijs"
#: models.py:
65
templates/events/admin/details.html:59
#: models.py:
74
templates/events/admin/details.html:59
msgid "cost"
msgstr "kosten"
#: models.py:
69
#: models.py:
78
msgid "Actual cost of event."
msgstr "werkelijke kosten van het evenement"
#: models.py:
74
#: models.py:
83
msgid "maximum number of participants"
msgstr "maximum aantal deelnemers"
#: models.py:
8
0
#: models.py:
9
0
msgid "message when there is no registration"
msgstr "bericht dat getoond wordt wanneer er geen registratie nodig is"
#: models.py:
8
4
#: models.py:
9
4
msgid "Default: "
msgstr "Standaard: "
#: models.py:
8
8
#: models.py:
9
8
msgid "published"
msgstr "gepubliceerd"
#: models.py:
9
8
#: models.py:
10
8
msgid "Can't have an event travel back in time"
msgstr "Een evenement kan niet terugreizen in de tijd"
#: models.py:1
0
3
#: models.py:1
1
3
msgid "Doesn't make sense to have this if you require registrations."
msgstr "Het is niet logisch om dit te hebben als je registratie vereist."
#: models.py:1
0
8
#: models.py:1
1
8
msgid "If registration is required, you need a start of registration"
msgstr ""
"Als registratie vereist is, dan heb je een starttijd voor de registratie "
"nodig"
#: models.py:1
1
3
#: models.py:1
2
3
msgid "If registration is required, you need an end of registration"
msgstr ""
"Als registratie vereist is, dan heb je een eindtijd voor de registratie nodig"
#: models.py:1
1
7
#: models.py:1
2
7
msgid "Registration start should be before registration end"
msgstr "De starttijd voor de registratie moet voor de eindtijd liggen"
#: models.py:1
3
9
#: models.py:1
4
9
msgid "checkbox"
msgstr "checkbox"
#: models.py:1
4
0
#: models.py:1
5
0
msgid "text field"
msgstr "tekstveld"
#: models.py:1
4
1
#: models.py:1
5
1
msgid "integer field"
msgstr "integerveld"
#: models.py:1
4
6
#: models.py:1
5
6
msgid "field type"
msgstr "veldtype"
#: models.py:1
5
2
#: models.py:1
6
2
msgid "field name"
msgstr "veldnaam"
#: models.py:
19
4 templates/events/admin/registrations_table.html:6
#: models.py:
20
4 templates/events/admin/registrations_table.html:6
msgid "name"
msgstr "naam"
#: models.py:
19
6
#: models.py:
20
6
msgid "Use this for non-members"
msgstr "Gebruikt dit voor niet-leden"
#: models.py:2
0
1
#: models.py:2
1
1
msgid "registration date"
msgstr "registratiedatum"
#: models.py:2
0
2
#: models.py:2
1
2
msgid "cancellation date"
msgstr "afmelddatum"
#: models.py:2
0
7 templates/events/admin/registrations_table.html:11
#: models.py:2
1
7 templates/events/admin/registrations_table.html:11
msgid "present"
msgstr "aanwezig"
#: models.py:2
1
1 templates/events/admin/registrations_table.html:12
#: models.py:2
2
1 templates/events/admin/registrations_table.html:12
msgid "paid"
msgstr "betaald"
#: models.py:2
2
4 models.py:2
2
5
#: models.py:2
3
4 models.py:2
3
5
msgid "Either specify a member or a name"
msgstr "Geef een lid of een naam op"
#: models.py:2
4
7
#: models.py:2
5
7
msgid "last changed"
msgstr "laatst aangepast"
...
...
@@ -255,6 +255,23 @@ msgstr "toevoegen"
msgid "Nobody %(verb)s yet"
msgstr "Niemand heeft zich %(verb)s"
#: templates/events/index.html:13
msgid "Calendar"
msgstr "Agenda"
#: templates/events/index.html:44 templates/events/index.html:46
#: templates/events/index.html:52
msgid "hide birthdays"
msgstr "Verberg verjaardagen"
#: templates/events/index.html:44 templates/events/index.html:47
msgid "show birthdays"
msgstr "Toon verjaardagen"
#: templates/events/index.html:64
msgid "list"
msgstr "Lijst"
#~ msgid "Present"
#~ msgstr "Aanwezig"
...
...
website/events/static/events/css/fullcalendar.css
0 → 100644
View file @
3ec66786
This diff is collapsed.
Click to expand it.
website/events/static/events/css/fullcalendar.print.css
0 → 100644
View file @
3ec66786
/*!
* FullCalendar v2.4.0 Print Stylesheet
* Docs & License: http://fullcalendar.io/
* (c) 2015 Adam Shaw
*/
/*
* Include this stylesheet on your page to get a more printer-friendly calendar.
* When including this stylesheet, use the media='print' attribute of the <link> tag.
* Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
*/
.fc
{
max-width
:
100%
!important
;
}
/* Global Event Restyling
--------------------------------------------------------------------------------------------------*/
.fc-event
{
background
:
#fff
!important
;
color
:
#000
!important
;
page-break-inside
:
avoid
;
}
.fc-event
.fc-resizer
{
display
:
none
;
}
/* Table & Day-Row Restyling
--------------------------------------------------------------------------------------------------*/
th
,
td
,
hr
,
thead
,
tbody
,
.fc-row
{
border-color
:
#ccc
!important
;
background
:
#fff
!important
;
}
/* kill the overlaid, absolutely-positioned common components */
.fc-bg
,
.fc-bgevent-skeleton
,
.fc-highlight-skeleton
,
.fc-helper-skeleton
{
display
:
none
;
}
/* don't force a min-height on rows (for DayGrid) */
.fc
tbody
.fc-row
{
height
:
auto
!important
;
/* undo height that JS set in distributeHeight */
min-height
:
0
!important
;
/* undo the min-height from each view's specific stylesheet */
}
.fc
tbody
.fc-row
.fc-content-skeleton
{
position
:
static
;
/* undo .fc-rigid */
padding-bottom
:
0
!important
;
/* use a more border-friendly method for this... */
}
.fc
tbody
.fc-row
.fc-content-skeleton
tbody
tr
:last-child
td
{
/* only works in newer browsers */
padding-bottom
:
1em
;
/* ...gives space within the skeleton. also ensures min height in a way */
}
.fc
tbody
.fc-row
.fc-content-skeleton
table
{
/* provides a min-height for the row, but only effective for IE, which exaggerates this value,
making it look more like 3em. for other browers, it will already be this tall */
height
:
1em
;
}
/* Undo month-view event limiting. Display all events and hide the "more" links
--------------------------------------------------------------------------------------------------*/
.fc-more-cell
,
.fc-more
{
display
:
none
!important
;
}
.fc
tr
.fc-limited
{
display
:
table-row
!important
;
}
.fc
td
.fc-limited
{
display
:
table-cell
!important
;
}
.fc-popover
{
display
:
none
;
/* never display the "more.." popover in print mode */
}
/* TimeGrid Restyling
--------------------------------------------------------------------------------------------------*/
/* undo the min-height 100% trick used to fill the container's height */
.fc-time-grid
{
min-height
:
0
!important
;
}
/* don't display the side axis at all ("all-day" and time cells) */
.fc-agenda-view
.fc-axis
{
display
:
none
;
}
/* don't display the horizontal lines */
.fc-slats
,
.fc-time-grid
hr
{
/* this hr is used when height is underused and needs to be filled */
display
:
none
!important
;
/* important overrides inline declaration */
}
/* let the container that holds the events be naturally positioned and create real height */
.fc-time-grid
.fc-content-skeleton
{
position
:
static
;
}
/* in case there are no events, we still want some height */
.fc-time-grid
.fc-content-skeleton
table
{
height
:
4em
;
}
/* kill the horizontal spacing made by the event container. event margins will be done below */
.fc-time-grid
.fc-event-container
{
margin
:
0
!important
;
}
/* TimeGrid *Event* Restyling
--------------------------------------------------------------------------------------------------*/
/* naturally position events, vertically stacking them */
.fc-time-grid
.fc-event
{
position
:
static
!important
;
margin
:
3px
2px
!important
;
}
/* for events that continue to a future day, give the bottom border back */
.fc-time-grid
.fc-event.fc-not-end
{
border-bottom-width
:
1px
!important
;
}
/* indicate the event continues via "..." text */
.fc-time-grid
.fc-event.fc-not-end
:after
{
content
:
"..."
;
}
/* for events that are continuations from previous days, give the top border back */
.fc-time-grid
.fc-event.fc-not-start
{
border-top-width
:
1px
!important
;
}
/* indicate the event is a continuation via "..." text */
.fc-time-grid
.fc-event.fc-not-start
:before
{
content
:
"..."
;
}
/* time */
/* undo a previous declaration and let the time text span to a second line */
.fc-time-grid
.fc-event
.fc-time
{
white-space
:
normal
!important
;
}
/* hide the the time that is normally displayed... */
.fc-time-grid
.fc-event
.fc-time
span
{
display
:
none
;
}
/* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
.fc-time-grid
.fc-event
.fc-time
:after
{
content
:
attr
(
data-full
);
}
/* Vertical Scroller & Containers
--------------------------------------------------------------------------------------------------*/
/* kill the scrollbars and allow natural height */
.fc-scroller
,
.fc-day-grid-container
,
/* these divs might be assigned height, which we need to cleared */
.fc-time-grid-container
{
/* */
overflow
:
visible
!important
;
height
:
auto
!important
;
}
/* kill the horizontal border/padding used to compensate for scrollbars */
.fc-row
{
border
:
0
!important
;
margin
:
0
!important
;
}
/* Button Controls
--------------------------------------------------------------------------------------------------*/
.fc-button-group
,
.fc
button
{
display
:
none
;
/* don't display any button-related controls */
}
website/events/static/events/css/override_fullcalendar.css
0 → 100644
View file @
3ec66786
.fc-unthemed
.fc-today
{
background
:
#fff9fc
;
}
.fc-highlight
{
background
:
#f1bcdc
;
}
.fc-state-default.fc-corner-left
{
/* non-theme */
border-top-left-radius
:
0px
;
border-bottom-left-radius
:
0px
;
}
.fc-state-default.fc-corner-right
{
/* non-theme */
border-top-right-radius
:
0px
;
border-bottom-right-radius
:
0px
;
}
.fc-state-default
{
background
:
black
;
color
:
white
;
border-radius
:
0
;
border
:
none
;
text-shadow
:
none
;
box-shadow
:
none
;
}
.fc-state-hover
,
.fc-state-down
,
.fc-state-active
,
.fc-state-disabled
{
color
:
black
;
background-color
:
#e62272
;
}
.fc-state-disabled
{
color
:
white
;
}
.fc-state-down
,
.fc-state-active
{
background-color
:
#2F2F2F
;
color
:
white
;
background-image
:
none
;
box-shadow
:
none
;
}
.fc-row
.fc-content-skeleton
tbody
td
,
/* cells with events inside (so NOT the day number cell) */
.fc-row
.fc-helper-skeleton
tbody
td
{
padding
:
3px
;
}
.fc-event
{
background-color
:
black
;
border-radius
:
0px
;
border
:
none
;
}
a
.fc-event
:active
,
a
.fc-event
:hover
{
color
:
#fff
;
text-decoration
:
none
;
}
.fc-event
:hover
a
{
color
:
white
;
}
.fc-event
.fc-content
{
padding
:
2px
4px
;
}
.fc-event
.fc-bg
{
background
:
inherit
;
opacity
:
1
;
filter
:
alpha
(
opacity
=
25
,
enabled
=
false
)
!important
;
/* for IE */
}
.fc-time-grid-event
.fc-content
{
padding
:
4px
;
}
@media
(
max-width
:
767px
)
{
.fc-toolbar
.fc-right
{
float
:
left
;
clear
:
both
;
margin-top
:
10px
;
}
.fc-toolbar
.fc-right
>
*
{
float
:
left
;
clear
:
both
;
margin-left
:
0
;
margin-top
:
5px
;
}
}
\ No newline at end of file
website/events/static/events/css/registration_changed.css
0 → 100644
View file @
3ec66786
.registration-unsaved-changes
{
color
:
#E62272
;
}
\ No newline at end of file
website/events/static/events/js/calendarcardview.js
0 → 100644
View file @
3ec66786
var
FC
=
$
.
fullCalendar
;
// a reference to FullCalendar's root namespace
var
View
=
FC
.
View
;
// the class that all views must inherit from
var
CardView
;
// our subclass
CardView
=
View
.
extend
({
// make a subclass of View
title
:
'
Aankomende evenementen
'
,
months
:
[
'
Jan
'
,
'
Feb
'
,
'
Maa
'
,
'
Apr
'
,
'
Mei
'
,
'
Jun
'
,
'
Jul
'
,
'
Aug
'
,
'
Sep
'
,
'
Okt
'
,
'
Nov
'
,
'
Dec
'
],
updateTitle
:
function
()
{
// this space intentionally left blank
},
computeRange
:
function
(
date
)
{
var
range
=
View
.
prototype
.
computeRange
.
call
(
this
,
date
);
range
.
end
.
add
(
1
,
'
years
'
);
return
range
;
},
renderEvents
:
function
(
events
)
{
wrapperDiv
=
$
(
'
<div>
'
).
addClass
(
'
blog
'
);
wrapperUl
=
$
(
'
<ul>
'
).
addClass
(
'
row
'
);
if
(
this
.
opt
(
'
maxEvents
'
)
!=
undefined
)
{
events
=
events
.
slice
(
0
,
this
.
opt
(
'
maxEvents
'
));
}
events
.
forEach
(
function
(
event
)
{
html
=
'
<li class="post span6 has-overlay event">
'
+
'
<a href="
'
+
event
.
url
+
'
">
'
+
'
<div class="post-inner">
'
+
'
<div class="post-body">
'
+
'
<h2>
'
+
event
.
title
+
'
</h2>
'
+
'
<div class="post-date circle">
'
+
'
<div class="circle-border"></div>
'
+
'
<div class="circle-inner">
'
+
event
.
start
.
date
()
+
'
<span>
'
+
this
.
months
[
event
.
start
.
month
()]
+
'
</span>
'
+
'
</div>
'
+
'
</div>
'
+
'
<div class="post-excerpt">
'
+
'
<p>
'
+
this
.
trimDescription
(
event
.
description
,
135
)
+
'
</p>
'
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
+
'
</a>
'
+
'
</li>
'
;
wrapperUl
.
append
(
$
(
html
));
}.
bind
(
this
));
wrapperDiv
.
append
(
wrapperUl
);