mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 00:07:22 +00:00
Optimize recurring event input #254
This commit is contained in:
parent
298ad9d9b7
commit
4e43a2422f
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -22,5 +22,8 @@
|
||||
},
|
||||
"[html]": {
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.formatOnSave": false
|
||||
}
|
||||
}
|
||||
@ -1,30 +1,43 @@
|
||||
describe('Event', () => {
|
||||
it('creates event', () => {
|
||||
cy.login()
|
||||
cy.createAdminUnit().then(function(adminUnitId) {
|
||||
cy.visit('/admin_unit/' + adminUnitId + '/events/create')
|
||||
describe("Event", () => {
|
||||
[{ recurrence: false }, { recurrence: true }].forEach(function (test) {
|
||||
it("creates event with recurrence=" + test.recurrence, () => {
|
||||
cy.login();
|
||||
cy.createAdminUnit().then(function (adminUnitId) {
|
||||
cy.visit("/admin_unit/" + adminUnitId + "/events/create");
|
||||
|
||||
cy.get('#name').type("Stadtfest")
|
||||
cy.get("#name").type("Stadtfest");
|
||||
cy.checkEventStartEnd(false, test.recurrence);
|
||||
|
||||
cy.select2('event_place_id', 'Neu')
|
||||
cy.get('#new_event_place-location-city').type("Goslar")
|
||||
cy.get('#new_place_container_search_link').click()
|
||||
cy.select2('event_place_id', 'Gos', 'Goslar, 38640 Goslar')
|
||||
cy.select2("event_place_id", "Neu");
|
||||
cy.get("#new_event_place-location-city").type("Goslar");
|
||||
cy.get("#new_place_container_search_link").click();
|
||||
cy.select2("event_place_id", "Gos", "Goslar, 38640 Goslar");
|
||||
|
||||
cy.select2('organizer_id', 'Neu')
|
||||
cy.get('#new_organizer-location-city').type("Goslar")
|
||||
cy.get('#new_organizer_container_search_link').click()
|
||||
cy.select2('organizer_id', 'Mei', 'Meine Crew')
|
||||
cy.select2("organizer_id", "Neu");
|
||||
cy.get("#new_organizer-location-city").type("Goslar");
|
||||
cy.get("#new_organizer_container_search_link").click();
|
||||
cy.select2("organizer_id", "Mei", "Meine Crew");
|
||||
|
||||
cy.get('#submit').click()
|
||||
cy.url().should('include', '/actions')
|
||||
cy.get('div.alert').should('contain', 'Veranstaltung erfolgreich erstellt')
|
||||
cy.get("#submit").click();
|
||||
cy.url().should("include", "/actions");
|
||||
cy.get("div.alert").should(
|
||||
"contain",
|
||||
"Veranstaltung erfolgreich erstellt"
|
||||
);
|
||||
|
||||
cy.contains('a', 'Veranstaltung bearbeiten').click()
|
||||
cy.url().should('include', '/update')
|
||||
cy.get('#submit').click()
|
||||
cy.url().should('include', '/manage/admin_unit/' + adminUnitId + '/events')
|
||||
cy.get('div.alert').should('contain', 'Veranstaltung erfolgreich aktualisiert')
|
||||
})
|
||||
})
|
||||
})
|
||||
cy.contains("a", "Veranstaltung bearbeiten").click();
|
||||
cy.url().should("include", "/update");
|
||||
cy.checkEventStartEnd(true, test.recurrence);
|
||||
cy.get("#submit").click();
|
||||
cy.url().should(
|
||||
"include",
|
||||
"/manage/admin_unit/" + adminUnitId + "/events"
|
||||
);
|
||||
cy.get("div.alert").should(
|
||||
"contain",
|
||||
"Veranstaltung erfolgreich aktualisiert"
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
74
cypress/integration/suggestion.js
Normal file
74
cypress/integration/suggestion.js
Normal file
@ -0,0 +1,74 @@
|
||||
describe("Suggestion", () => {
|
||||
[
|
||||
{
|
||||
recurrence: false,
|
||||
suffix: true,
|
||||
},
|
||||
{
|
||||
recurrence: true,
|
||||
suffix: false,
|
||||
},
|
||||
].forEach(function (test) {
|
||||
it(
|
||||
"creates suggestion with recurrence=" +
|
||||
test.recurrence +
|
||||
", suffix=" +
|
||||
test.suffix,
|
||||
() => {
|
||||
cy.createAdminUnit().then(function (adminUnitId) {
|
||||
// Start
|
||||
cy.visit("/meinecrew/widget/event_suggestions/create");
|
||||
cy.get(".wizard-next:visible").click();
|
||||
|
||||
// Tos
|
||||
cy.get("#accept_tos").check();
|
||||
cy.get(".wizard-next:visible").click();
|
||||
|
||||
// Contact
|
||||
cy.get("#contact_name").type("Vorname Nachname");
|
||||
cy.get("#contact_email").type("vorname.nachname@domain.de");
|
||||
cy.get(".wizard-next:visible").click();
|
||||
|
||||
// Required fields
|
||||
cy.get("#name").type("Vorschlag");
|
||||
|
||||
cy.get("#event_place_id_suffix").should("not.exist");
|
||||
cy.select2("event_place_id", "Neu", "Neu");
|
||||
cy.get("#event_place_id_suffix").type("Adresse");
|
||||
|
||||
if (!test.suffix) {
|
||||
cy.select2("event_place_id", "Gos", "Goslar");
|
||||
cy.get("#event_place_id_suffix").should("not.exist");
|
||||
}
|
||||
|
||||
cy.get("#organizer_id_suffix").should("not.exist");
|
||||
cy.select2("organizer_id", "Neu", "Neu");
|
||||
cy.get("#organizer_id_suffix").type("Adresse");
|
||||
|
||||
if (!test.suffix) {
|
||||
cy.select2("organizer_id", "Cre", "Meine Crew");
|
||||
cy.get("#organizer_id_suffix").should("not.exist");
|
||||
}
|
||||
|
||||
cy.checkEventStartEnd(false, test.recurrence);
|
||||
cy.get(".wizard-next:visible").click();
|
||||
|
||||
// Photo
|
||||
cy.get("#photo-copyright_text").type("2021");
|
||||
cy.get(".wizard-next:visible").click();
|
||||
|
||||
// Optional details
|
||||
cy.get("#description").type("Beschreibung");
|
||||
cy.get(".wizard-next:visible").click();
|
||||
|
||||
cy.get("#submit").click();
|
||||
cy.url().should("include", "/review_status");
|
||||
cy.get("div.alert").should(
|
||||
"contain",
|
||||
"Die Veranstaltung wird geprüft."
|
||||
);
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
@ -1,78 +1,158 @@
|
||||
Cypress.Commands.add('logexec', (command) => {
|
||||
return cy.exec(command, { failOnNonZeroExit: false }).then(function(result) {
|
||||
if (result.code) {
|
||||
throw new Error(`Execution of "${command}" failed
|
||||
Cypress.Commands.add("logexec", (command) => {
|
||||
return cy.exec(command, { failOnNonZeroExit: false }).then(function (result) {
|
||||
if (result.code) {
|
||||
throw new Error(`Execution of "${command}" failed
|
||||
Exit code: ${result.code}
|
||||
Stdout:\n${result.stdout}
|
||||
Stderr:\n${result.stderr}`)
|
||||
}
|
||||
Stderr:\n${result.stderr}`);
|
||||
}
|
||||
|
||||
return result;
|
||||
})
|
||||
})
|
||||
return result;
|
||||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add('setup', () => {
|
||||
cy.logexec('flask test reset --seed')
|
||||
cy.logexec('flask user create test@test.de password --confirm')
|
||||
})
|
||||
Cypress.Commands.add("setup", () => {
|
||||
cy.logexec("flask test reset --seed");
|
||||
cy.logexec("flask user create test@test.de password --confirm");
|
||||
});
|
||||
|
||||
Cypress.Commands.add('createAdminUnit', (userEmail = 'test@test.de', name = 'Meine Crew') => {
|
||||
return cy.logexec('flask test admin-unit-create ' + userEmail + ' "' + name + '"').then(function(result) {
|
||||
let json = JSON.parse(result.stdout)
|
||||
return json.admin_unit_id
|
||||
})
|
||||
})
|
||||
Cypress.Commands.add(
|
||||
"createAdminUnit",
|
||||
(userEmail = "test@test.de", name = "Meine Crew") => {
|
||||
return cy
|
||||
.logexec("flask test admin-unit-create " + userEmail + ' "' + name + '"')
|
||||
.then(function (result) {
|
||||
let json = JSON.parse(result.stdout);
|
||||
return json.admin_unit_id;
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
Cypress.Commands.add('createEvent', (adminUnitId) => {
|
||||
return cy.logexec('flask test event-create ' + adminUnitId).then(function(result) {
|
||||
let json = JSON.parse(result.stdout)
|
||||
return json.event_id
|
||||
})
|
||||
})
|
||||
Cypress.Commands.add("createEvent", (adminUnitId) => {
|
||||
return cy
|
||||
.logexec("flask test event-create " + adminUnitId)
|
||||
.then(function (result) {
|
||||
let json = JSON.parse(result.stdout);
|
||||
return json.event_id;
|
||||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add('createIncomingReferenceRequest', (adminUnitId) => {
|
||||
return cy.logexec('flask test reference-request-create-incoming ' + adminUnitId).then(function(result) {
|
||||
let json = JSON.parse(result.stdout)
|
||||
return json.reference_request_id
|
||||
})
|
||||
})
|
||||
Cypress.Commands.add("createIncomingReferenceRequest", (adminUnitId) => {
|
||||
return cy
|
||||
.logexec("flask test reference-request-create-incoming " + adminUnitId)
|
||||
.then(function (result) {
|
||||
let json = JSON.parse(result.stdout);
|
||||
return json.reference_request_id;
|
||||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add('assertValid', (fieldId) => {
|
||||
cy.get('#' + fieldId).should('have.class', 'is-valid')
|
||||
cy.get('#' + fieldId + '-error').should('be.empty')
|
||||
})
|
||||
Cypress.Commands.add("assertValid", (fieldId) => {
|
||||
cy.get("#" + fieldId).should("have.class", "is-valid");
|
||||
cy.get("#" + fieldId + "-error").should("be.empty");
|
||||
});
|
||||
|
||||
Cypress.Commands.add("assertInvalid", (fieldId, msg) => {
|
||||
cy.get("#" + fieldId).should("have.class", "is-invalid");
|
||||
cy.get("#" + fieldId + "-error").should("contain", msg);
|
||||
});
|
||||
|
||||
Cypress.Commands.add('assertInvalid', (fieldId, msg) => {
|
||||
cy.get('#' + fieldId).should('have.class', 'is-invalid')
|
||||
cy.get('#' + fieldId + '-error').should('contain', msg)
|
||||
})
|
||||
Cypress.Commands.add("assertRequired", (fieldId) => {
|
||||
cy.assertInvalid(fieldId, "Pflichtfeld");
|
||||
});
|
||||
|
||||
Cypress.Commands.add('assertRequired', (fieldId) => {
|
||||
cy.assertInvalid(fieldId, 'Pflichtfeld')
|
||||
})
|
||||
Cypress.Commands.add(
|
||||
"login",
|
||||
(email = "test@test.de", password = "password") => {
|
||||
cy.visit("/login");
|
||||
cy.get("#email").type(email);
|
||||
cy.get("#password").type(password);
|
||||
cy.get("#submit").click();
|
||||
cy.url().should("include", "/manage");
|
||||
cy.getCookie("session").should("exist");
|
||||
}
|
||||
);
|
||||
|
||||
Cypress.Commands.add('login', (email = "test@test.de", password = "password") => {
|
||||
cy.visit('/login')
|
||||
cy.get('#email').type(email)
|
||||
cy.get('#password').type(password)
|
||||
cy.get('#submit').click()
|
||||
cy.url().should('include', '/manage')
|
||||
cy.getCookie('session').should('exist')
|
||||
})
|
||||
|
||||
Cypress.Commands.add('select2', (selectId, textToEnter, expectedText = null, expectedValue = null) => {
|
||||
cy.get('#select2-' + selectId + '-container').click()
|
||||
cy.get('input[aria-controls="select2-' + selectId + '-results"]')
|
||||
.type(textToEnter + '{enter}', {
|
||||
Cypress.Commands.add(
|
||||
"select2",
|
||||
(selectId, textToEnter, expectedText = null, expectedValue = null) => {
|
||||
cy.get("#select2-" + selectId + "-container").click();
|
||||
cy.get('input[aria-controls="select2-' + selectId + '-results"]').type(
|
||||
textToEnter + "{enter}",
|
||||
{
|
||||
delay: 500,
|
||||
})
|
||||
}
|
||||
);
|
||||
|
||||
if (expectedText) {
|
||||
cy.get('#select2-' + selectId + '-container').should('have.text', expectedText)
|
||||
}
|
||||
if (expectedText) {
|
||||
cy.get("#select2-" + selectId + "-container").should(
|
||||
"have.text",
|
||||
expectedText
|
||||
);
|
||||
}
|
||||
|
||||
if (expectedValue) {
|
||||
cy.get('#' + selectId).should('have.value', expectedValue)
|
||||
if (expectedValue) {
|
||||
cy.get("#" + selectId).should("have.value", expectedValue);
|
||||
}
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
Cypress.Commands.add("inputsShouldHaveSameValue", (input1, input2) => {
|
||||
cy.get(input1)
|
||||
.invoke("val")
|
||||
.then((value) => {
|
||||
cy.get(input2).should("have.value", value);
|
||||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add(
|
||||
"checkEventStartEnd",
|
||||
(update = false, recurrence = false) => {
|
||||
if (update && recurrence) {
|
||||
cy.get("#single-event-container").should("not.be.visible");
|
||||
cy.get("#recc-event-container").should("be.visible");
|
||||
cy.get('[name="riedit"]').click();
|
||||
} else {
|
||||
cy.get("#start-user").click();
|
||||
cy.get("#ui-datepicker-div").should("be.visible");
|
||||
cy.get("#ui-datepicker-div a.ui-state-default:first").click(); // select first date
|
||||
cy.get("#ui-datepicker-div").should("not.be.visible");
|
||||
|
||||
cy.get("#start-time").click();
|
||||
cy.get(".ui-timepicker-wrapper").should("be.visible");
|
||||
cy.get(".ui-timepicker-wrapper .ui-timepicker-am[data-time=0]").click(); // select 00:00
|
||||
cy.get("#ui-datepicker-div").should("not.be.visible");
|
||||
|
||||
cy.get("#end-container").should("not.be.visible");
|
||||
cy.get("#end-show-container .show-link").click();
|
||||
cy.get("#end-show-container").should("not.be.visible");
|
||||
cy.get("#end-container").should("be.visible");
|
||||
cy.inputsShouldHaveSameValue("#start-user", "#end-user");
|
||||
cy.get("#end-time").should("have.value", "03:00");
|
||||
cy.get("#end-hide-container .hide-link").click();
|
||||
cy.get("#end-show-container").should("be.visible");
|
||||
cy.get("#end-container").should("not.be.visible");
|
||||
cy.get("#end-user").should("have.value", "");
|
||||
cy.get("#end-time").should("have.value", "");
|
||||
|
||||
cy.get("#recc-event-container").should("not.be.visible");
|
||||
cy.get("#recc-button").click();
|
||||
}
|
||||
|
||||
cy.get(".modal-recurrence").should("be.visible");
|
||||
cy.inputsShouldHaveSameValue("#start-user", "#recc-start-user");
|
||||
cy.inputsShouldHaveSameValue("#start-time", "#recc-start-time");
|
||||
cy.get("#rirtemplate option").should("have.length", 4);
|
||||
cy.get(".modal-recurrence input[value=BYENDDATE]").should("be.checked");
|
||||
cy.get(".modal-recurrence .modal-footer .btn-primary").click();
|
||||
|
||||
cy.get("#single-event-container").should("not.be.visible");
|
||||
cy.get("#recc-event-container").should("be.visible");
|
||||
|
||||
if (recurrence == false) {
|
||||
cy.get('[name="ridelete"]').click();
|
||||
cy.get("#single-event-container").should("be.visible");
|
||||
cy.get("#recc-event-container").should("not.be.visible");
|
||||
cy.get("#end-container").should("not.be.visible");
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import './commands'
|
||||
import "./commands";
|
||||
|
||||
beforeEach(() => {
|
||||
cy.setup()
|
||||
})
|
||||
cy.setup();
|
||||
});
|
||||
|
||||
366
messages.pot
366
messages.pot
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-08-07 11:28+0200\n"
|
||||
"POT-Creation-Date: 2021-08-11 07:54+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -165,24 +165,24 @@ msgstr ""
|
||||
msgid "."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:10 project/templates/layout.html:329
|
||||
#: project/forms/admin.py:10 project/templates/layout.html:331
|
||||
#: project/views/root.py:42
|
||||
msgid "Terms of service"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:333
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:335
|
||||
#: project/views/root.py:50
|
||||
msgid "Legal notice"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:12 project/templates/_macros.html:1280
|
||||
#: project/templates/layout.html:337
|
||||
#: project/templates/widget/event_suggestion/create.html:172
|
||||
#: project/forms/admin.py:12 project/templates/_macros.html:1284
|
||||
#: project/templates/layout.html:339
|
||||
#: project/templates/widget/event_suggestion/create.html:177
|
||||
#: project/views/admin_unit.py:36 project/views/root.py:58
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:13 project/templates/layout.html:341
|
||||
#: project/forms/admin.py:13 project/templates/layout.html:343
|
||||
#: project/views/root.py:66
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
@ -247,7 +247,7 @@ msgid "Longitude"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:28 project/forms/event.py:35
|
||||
#: project/forms/event.py:64 project/forms/event.py:362
|
||||
#: project/forms/event.py:64 project/forms/event.py:359
|
||||
#: project/forms/event_place.py:25 project/forms/event_place.py:50
|
||||
#: project/forms/event_suggestion.py:26 project/forms/oauth2_client.py:66
|
||||
#: project/forms/organizer.py:25 project/forms/organizer.py:52
|
||||
@ -268,12 +268,12 @@ msgstr ""
|
||||
msgid "The short name is used to create a unique identifier for your events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1410
|
||||
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1414
|
||||
msgid "Short name must contain only letters numbers or underscore"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:46 project/forms/event.py:56
|
||||
#: project/forms/event.py:93 project/forms/event_place.py:26
|
||||
#: project/forms/event.py:90 project/forms/event_place.py:26
|
||||
#: project/forms/organizer.py:26
|
||||
msgid "Link URL"
|
||||
msgstr ""
|
||||
@ -282,7 +282,7 @@ msgstr ""
|
||||
#: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28
|
||||
#: project/forms/event.py:57 project/forms/event_suggestion.py:38
|
||||
#: project/forms/organizer.py:27 project/templates/_macros.html:262
|
||||
#: project/templates/_macros.html:1370 project/templates/admin/users.html:19
|
||||
#: project/templates/_macros.html:1374 project/templates/admin/users.html:19
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
@ -445,349 +445,343 @@ msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:71
|
||||
msgid ""
|
||||
"Indicate when the event will take place. If the event takes place "
|
||||
"regularly, enter when the first date will begin."
|
||||
msgid "Indicate when the event will take place."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:76
|
||||
#: project/forms/event.py:74
|
||||
msgid "End"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:78
|
||||
msgid ""
|
||||
"Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
" If the event takes place regularly, enter when the first date will end."
|
||||
#: project/forms/event.py:76
|
||||
msgid "Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:83
|
||||
msgid "Recurrence rule"
|
||||
#: project/forms/event.py:81 project/templates/event/create.html:298
|
||||
#: project/templates/event/update.html:135
|
||||
#: project/templates/widget/event_suggestion/create.html:212
|
||||
msgid "Recurring event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:85
|
||||
msgid "Enter if the event takes place regularly."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:88 project/forms/event_place.py:28
|
||||
#: project/forms/event.py:85 project/forms/event_place.py:28
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:90
|
||||
#: project/forms/event.py:87
|
||||
msgid "Add an description of the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:95
|
||||
#: project/forms/event.py:92
|
||||
msgid ""
|
||||
"Enter a link to an external website containing more information about the"
|
||||
" event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:100
|
||||
#: project/forms/event.py:97
|
||||
msgid "Ticket Link URL"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:102
|
||||
#: project/forms/event.py:99
|
||||
msgid "Enter a link where tickets can be purchased."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:105 project/templates/_macros.html:244
|
||||
#: project/forms/event.py:102 project/templates/_macros.html:244
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:107
|
||||
#: project/forms/event.py:104
|
||||
msgid ""
|
||||
"Enter keywords with which the event should be found. Words do not need to"
|
||||
" be entered if they are already in the name or description."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:112
|
||||
#: project/forms/event.py:109
|
||||
msgid "Kid friendly"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:114
|
||||
#: project/forms/event.py:111
|
||||
msgid "If the event is particularly suitable for children."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:117
|
||||
#: project/forms/event.py:114
|
||||
msgid "Accessible for free"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:119
|
||||
#: project/forms/event.py:116
|
||||
msgid "If the event is accessible for free."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:122
|
||||
#: project/forms/event.py:119
|
||||
msgid "Typical Age from"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:124
|
||||
#: project/forms/event.py:121
|
||||
msgid "The minimum age that participants should be."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:127
|
||||
#: project/forms/event.py:124
|
||||
msgid "Typical Age to"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:129
|
||||
#: project/forms/event.py:126
|
||||
msgid "The maximum age that participants should be."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:132
|
||||
#: project/forms/event.py:129
|
||||
msgid "Registration required"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:134
|
||||
#: project/forms/event.py:131
|
||||
msgid "If the participants needs to register for the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:139 project/templates/_macros.html:276
|
||||
#: project/templates/layout.html:157
|
||||
#: project/forms/event.py:136 project/templates/_macros.html:276
|
||||
#: project/templates/layout.html:159
|
||||
msgid "Booked up"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:141
|
||||
#: project/forms/event.py:138
|
||||
msgid "If the event is booked up or sold out."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:144
|
||||
#: project/forms/event.py:141
|
||||
msgid "Expected number of participants"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:146
|
||||
#: project/forms/event.py:143
|
||||
msgid "The estimated expected attendance."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:149
|
||||
#: project/forms/event.py:146
|
||||
msgid "Price info"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:151
|
||||
#: project/forms/event.py:148
|
||||
msgid ""
|
||||
"Enter price information in textual form. E.g., different prices for "
|
||||
"adults and children."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:156
|
||||
#: project/forms/event.py:153
|
||||
msgid "Target group origin"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:161
|
||||
#: project/forms/event.py:158
|
||||
msgid "EventTargetGroupOrigin.both"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:165
|
||||
#: project/forms/event.py:162
|
||||
msgid "EventTargetGroupOrigin.tourist"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:169
|
||||
#: project/forms/event.py:166
|
||||
msgid "EventTargetGroupOrigin.resident"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:172
|
||||
#: project/forms/event.py:169
|
||||
msgid ""
|
||||
"Choose whether the event is particularly suitable for tourists or "
|
||||
"residents."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:177
|
||||
#: project/forms/event.py:174
|
||||
msgid "Attendance mode"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:182
|
||||
#: project/forms/event.py:179
|
||||
msgid "EventAttendanceMode.offline"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:186 project/templates/layout.html:145
|
||||
#: project/forms/event.py:183 project/templates/layout.html:147
|
||||
msgid "EventAttendanceMode.online"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:188 project/templates/layout.html:148
|
||||
#: project/forms/event.py:185 project/templates/layout.html:150
|
||||
msgid "EventAttendanceMode.mixed"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:190
|
||||
#: project/forms/event.py:187
|
||||
msgid "Choose how people can attend the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:194 project/forms/event_place.py:27
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/forms/event.py:191 project/forms/event_place.py:27
|
||||
#: project/templates/widget/event_suggestion/create.html:230
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:196
|
||||
#: project/forms/event.py:193
|
||||
msgid ""
|
||||
"We recommend uploading a photo for the event. It looks a lot more, but of"
|
||||
" course it works without it."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:206 project/templates/_macros.html:1193
|
||||
#: project/forms/event.py:203 project/templates/_macros.html:1193
|
||||
msgid "The start must be before the end."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:212 project/templates/_macros.html:1210
|
||||
#: project/forms/event.py:209 project/templates/_macros.html:1210
|
||||
msgid "An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:220 project/templates/_macros.html:423
|
||||
#: project/forms/event.py:217 project/templates/_macros.html:423
|
||||
#: project/templates/_macros.html:582
|
||||
msgid "Previous start date"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:222
|
||||
#: project/forms/event.py:219
|
||||
msgid "Enter when the event should have taken place before it was postponed."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:227 project/forms/event_suggestion.py:71
|
||||
#: project/forms/event.py:224 project/forms/event_suggestion.py:71
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:230 project/forms/event_suggestion.py:74
|
||||
#: project/forms/event.py:227 project/forms/event_suggestion.py:74
|
||||
msgid "Choose categories that fit the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:233 project/forms/reference.py:14
|
||||
#: project/forms/event.py:230 project/forms/reference.py:14
|
||||
#: project/forms/reference.py:27 project/forms/reference_request.py:75
|
||||
#: project/templates/event/create.html:403
|
||||
#: project/templates/event/update.html:206
|
||||
#: project/templates/event/create.html:412
|
||||
#: project/templates/event/update.html:214
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:237 project/forms/reference.py:18
|
||||
#: project/forms/event.py:234 project/forms/reference.py:18
|
||||
#: project/forms/reference.py:31 project/forms/reference_request.py:79
|
||||
msgid ""
|
||||
"Choose how relevant the event is to your organization. The value is not "
|
||||
"visible and is used for sorting."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:245 project/forms/event.py:254
|
||||
#: project/forms/event.py:318 project/forms/event_suggestion.py:50
|
||||
#: project/forms/event.py:242 project/forms/event.py:251
|
||||
#: project/forms/event.py:315 project/forms/event_suggestion.py:50
|
||||
#: project/templates/_macros.html:462 project/templates/_macros.html:618
|
||||
#: project/templates/event/create.html:328
|
||||
#: project/templates/event/update.html:156
|
||||
#: project/templates/event/create.html:337
|
||||
#: project/templates/event/update.html:164
|
||||
#: project/templates/event_place/create.html:21
|
||||
#: project/templates/event_place/delete.html:13
|
||||
#: project/templates/event_place/update.html:21
|
||||
msgid "Place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:247
|
||||
#: project/forms/event.py:244
|
||||
msgid "Select existing place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:248
|
||||
#: project/forms/event.py:245
|
||||
msgid "Enter new place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:261 project/forms/event.py:270
|
||||
#: project/forms/event.py:326 project/forms/event.py:376
|
||||
#: project/forms/event.py:258 project/forms/event.py:267
|
||||
#: project/forms/event.py:323 project/forms/event.py:373
|
||||
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:500
|
||||
#: project/templates/_macros.html:655 project/templates/event/create.html:299
|
||||
#: project/templates/event/update.html:147
|
||||
#: project/templates/_macros.html:655 project/templates/event/create.html:308
|
||||
#: project/templates/event/update.html:155
|
||||
#: project/templates/organizer/create.html:17
|
||||
#: project/templates/organizer/delete.html:13
|
||||
#: project/templates/organizer/update.html:17
|
||||
msgid "Organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:263
|
||||
#: project/forms/event.py:260
|
||||
msgid "Select existing organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:264
|
||||
#: project/forms/event.py:261
|
||||
msgid "Enter new organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:276 project/templates/event/create.html:4
|
||||
#: project/templates/event/create.html:271 project/templates/layout.html:254
|
||||
#: project/forms/event.py:273 project/templates/event/create.html:4
|
||||
#: project/templates/event/create.html:275 project/templates/layout.html:256
|
||||
#: project/templates/manage/events.html:12
|
||||
#: project/templates/manage/organizers.html:21
|
||||
msgid "Create event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:302
|
||||
#: project/forms/event.py:299
|
||||
msgid "Select existing place or enter new place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:309
|
||||
#: project/forms/event.py:306
|
||||
msgid "Select existing organizer or enter new organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:321
|
||||
#: project/forms/event.py:318
|
||||
msgid ""
|
||||
"Choose where the event takes place. You can add and modify places at "
|
||||
"Manage > Places."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:329
|
||||
#: project/forms/event.py:326
|
||||
msgid ""
|
||||
"Select the organizer. You can add and modify organizers at Manage > "
|
||||
"Organizers."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:335 project/templates/event/update.html:137
|
||||
#: project/forms/event.py:332 project/templates/event/update.html:145
|
||||
#: project/templates/oauth2_token/list.html:21
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:338
|
||||
#: project/forms/event.py:335
|
||||
msgid "EventStatus.scheduled"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:339 project/templates/layout.html:111
|
||||
#: project/templates/layout.html:126
|
||||
#: project/forms/event.py:336 project/templates/layout.html:113
|
||||
#: project/templates/layout.html:128
|
||||
msgid "EventStatus.cancelled"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:340 project/templates/layout.html:114
|
||||
#: project/templates/layout.html:129
|
||||
#: project/forms/event.py:337 project/templates/layout.html:116
|
||||
#: project/templates/layout.html:131
|
||||
msgid "EventStatus.movedOnline"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:341 project/templates/layout.html:117
|
||||
#: project/templates/layout.html:132
|
||||
#: project/forms/event.py:338 project/templates/layout.html:119
|
||||
#: project/templates/layout.html:134
|
||||
msgid "EventStatus.postponed"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:342 project/templates/layout.html:120
|
||||
#: project/templates/layout.html:135
|
||||
#: project/forms/event.py:339 project/templates/layout.html:122
|
||||
#: project/templates/layout.html:137
|
||||
msgid "EventStatus.rescheduled"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:344
|
||||
#: project/forms/event.py:341
|
||||
msgid "Select the status of the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:347 project/templates/event/update.html:4
|
||||
#: project/templates/event/update.html:109
|
||||
#: project/forms/event.py:344 project/templates/event/update.html:4
|
||||
#: project/templates/event/update.html:112
|
||||
msgid "Update event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:361 project/templates/_macros.html:1165
|
||||
#: project/forms/event.py:358 project/templates/_macros.html:1165
|
||||
#: project/templates/event/actions.html:47
|
||||
#: project/templates/event/delete.html:6
|
||||
msgid "Delete event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:369 project/forms/event_date.py:15
|
||||
#: project/forms/event.py:366 project/forms/event_date.py:15
|
||||
#: project/forms/planing.py:14
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:370 project/forms/event_date.py:16
|
||||
#: project/forms/event.py:367 project/forms/event_date.py:16
|
||||
#: project/forms/planing.py:15
|
||||
msgid "to"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:371 project/forms/event_date.py:17
|
||||
#: project/forms/event.py:368 project/forms/event_date.py:17
|
||||
msgid "Keyword"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:373 project/forms/event_date.py:19
|
||||
#: project/forms/event.py:370 project/forms/event_date.py:19
|
||||
#: project/forms/planing.py:17 project/templates/_macros.html:386
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:379
|
||||
#: project/forms/event.py:376
|
||||
msgid "Find events"
|
||||
msgstr ""
|
||||
|
||||
@ -846,13 +840,13 @@ msgstr ""
|
||||
msgid "I would like to be notified by email after the review"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:333
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:342
|
||||
msgid ""
|
||||
"Choose where the event takes place. If the venue is not yet in the list, "
|
||||
"just enter it."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:303
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:312
|
||||
msgid ""
|
||||
"Select the organizer. If the organizer is not yet on the list, just enter"
|
||||
" it."
|
||||
@ -860,7 +854,7 @@ msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:78
|
||||
#: project/templates/widget/event_suggestion/create.html:4
|
||||
#: project/templates/widget/event_suggestion/create.html:125
|
||||
#: project/templates/widget/event_suggestion/create.html:130
|
||||
msgid "Create event suggestion"
|
||||
msgstr ""
|
||||
|
||||
@ -929,7 +923,7 @@ msgstr ""
|
||||
#: project/templates/_macros.html:521 project/templates/_macros.html:681
|
||||
#: project/templates/admin_unit/create.html:19
|
||||
#: project/templates/admin_unit/update.html:20
|
||||
#: project/templates/layout.html:284
|
||||
#: project/templates/layout.html:286
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
|
||||
@ -954,7 +948,7 @@ msgstr ""
|
||||
msgid "Delete request"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference_request.py:27 project/templates/_macros.html:1292
|
||||
#: project/forms/reference_request.py:27 project/templates/_macros.html:1296
|
||||
#: project/templates/event_suggestion/review_status.html:18
|
||||
#: project/templates/reference_request/review_status.html:12
|
||||
msgid "Review status"
|
||||
@ -1012,7 +1006,7 @@ msgstr ""
|
||||
msgid "Deny"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/widgets.py:147
|
||||
#: project/forms/widgets.py:137
|
||||
msgid "This field is required."
|
||||
msgstr ""
|
||||
|
||||
@ -1059,11 +1053,11 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:402 project/templates/_macros.html:578
|
||||
#: project/templates/event/actions.html:12
|
||||
#: project/templates/event/create.html:278
|
||||
#: project/templates/event/create.html:282
|
||||
#: project/templates/event/delete.html:13
|
||||
#: project/templates/event/update.html:116
|
||||
#: project/templates/event/update.html:119
|
||||
#: project/templates/reference/delete.html:13
|
||||
#: project/templates/widget/event_suggestion/create.html:197
|
||||
#: project/templates/widget/event_suggestion/create.html:202
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
@ -1073,12 +1067,12 @@ msgid "%(count)d event dates"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:445 project/templates/_macros.html:600
|
||||
#: project/templates/_macros.html:1355 project/templates/event/actions.html:32
|
||||
#: project/templates/_macros.html:1359 project/templates/event/actions.html:32
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:449 project/templates/_macros.html:604
|
||||
#: project/templates/_macros.html:1385
|
||||
#: project/templates/_macros.html:1389
|
||||
msgid "Add to calendar"
|
||||
msgstr ""
|
||||
|
||||
@ -1107,12 +1101,12 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:811 project/templates/_macros.html:813
|
||||
#: project/templates/event_date/list.html:279
|
||||
#: project/templates/widget/event_suggestion/create.html:161
|
||||
#: project/templates/widget/event_suggestion/create.html:186
|
||||
#: project/templates/widget/event_suggestion/create.html:208
|
||||
#: project/templates/widget/event_suggestion/create.html:231
|
||||
#: project/templates/widget/event_suggestion/create.html:264
|
||||
#: project/templates/widget/event_suggestion/create.html:293
|
||||
#: project/templates/widget/event_suggestion/create.html:166
|
||||
#: project/templates/widget/event_suggestion/create.html:191
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/templates/widget/event_suggestion/create.html:242
|
||||
#: project/templates/widget/event_suggestion/create.html:275
|
||||
#: project/templates/widget/event_suggestion/create.html:304
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
@ -1123,11 +1117,11 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:817 project/templates/_macros.html:819
|
||||
#: project/templates/event_date/list.html:281
|
||||
#: project/templates/widget/event_suggestion/create.html:162
|
||||
#: project/templates/widget/event_suggestion/create.html:187
|
||||
#: project/templates/widget/event_suggestion/create.html:209
|
||||
#: project/templates/widget/event_suggestion/create.html:232
|
||||
#: project/templates/widget/event_suggestion/create.html:265
|
||||
#: project/templates/widget/event_suggestion/create.html:167
|
||||
#: project/templates/widget/event_suggestion/create.html:192
|
||||
#: project/templates/widget/event_suggestion/create.html:220
|
||||
#: project/templates/widget/event_suggestion/create.html:243
|
||||
#: project/templates/widget/event_suggestion/create.html:276
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
@ -1159,31 +1153,35 @@ msgstr ""
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1252
|
||||
#: project/templates/_macros.html:1214
|
||||
msgid "Please enter a valid time, between 00:00 and 23:59."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1256
|
||||
msgid "Event suggestion"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1364
|
||||
#: project/templates/_macros.html:1368
|
||||
msgid "Link copied"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1364
|
||||
#: project/templates/_macros.html:1368
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1393
|
||||
#: project/templates/_macros.html:1397
|
||||
msgid "Google calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1394
|
||||
#: project/templates/_macros.html:1398
|
||||
msgid "Apple calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1395
|
||||
#: project/templates/_macros.html:1399
|
||||
msgid "Yahoo calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1396
|
||||
#: project/templates/_macros.html:1400
|
||||
msgid "Other calendar"
|
||||
msgstr ""
|
||||
|
||||
@ -1196,31 +1194,31 @@ msgstr ""
|
||||
msgid "Register for free"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_place/read.html:22 project/templates/layout.html:204
|
||||
#: project/templates/layout.html:247 project/templates/manage/events.html:5
|
||||
#: project/templates/event_place/read.html:22 project/templates/layout.html:206
|
||||
#: project/templates/layout.html:249 project/templates/manage/events.html:5
|
||||
#: project/templates/manage/events.html:9
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:205
|
||||
#: project/templates/layout.html:207
|
||||
msgid "Planing"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:206
|
||||
#: project/templates/layout.html:208
|
||||
msgid "Example"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/admin/admin.html:19
|
||||
#: project/templates/admin/admin_units.html:4
|
||||
#: project/templates/admin/admin_units.html:11
|
||||
#: project/templates/layout.html:215
|
||||
#: project/templates/layout.html:217
|
||||
#: project/templates/manage/admin_units.html:3
|
||||
#: project/templates/manage/admin_units.html:16
|
||||
#: project/templates/profile.html:60
|
||||
msgid "Organizations"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:216
|
||||
#: project/templates/layout.html:218
|
||||
#: project/templates/oauth2_client/list.html:10
|
||||
#: project/templates/oauth2_client/read.html:10
|
||||
#: project/templates/oauth2_token/list.html:10 project/templates/profile.html:4
|
||||
@ -1230,61 +1228,61 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin/admin.html:3 project/templates/admin/admin.html:9
|
||||
#: project/templates/admin/admin_units.html:10
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:219
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:221
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:223
|
||||
#: project/templates/layout.html:225
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:253
|
||||
#: project/templates/layout.html:255
|
||||
msgid "Show events"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:256
|
||||
#: project/templates/layout.html:258
|
||||
msgid "Review suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:265
|
||||
#: project/templates/layout.html:267
|
||||
#: project/templates/manage/references_incoming.html:5
|
||||
#: project/templates/manage/references_outgoing.html:5
|
||||
msgid "References"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:271
|
||||
#: project/templates/layout.html:273
|
||||
#: project/templates/manage/references_incoming.html:9
|
||||
msgid "Incoming references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:272
|
||||
#: project/templates/layout.html:274
|
||||
#: project/templates/manage/references_outgoing.html:9
|
||||
msgid "Outgoing references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:274
|
||||
#: project/templates/layout.html:276
|
||||
#: project/templates/manage/reference_requests_incoming.html:9
|
||||
msgid "Incoming reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:279
|
||||
#: project/templates/layout.html:281
|
||||
#: project/templates/manage/reference_requests_outgoing.html:9
|
||||
msgid "Outgoing reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:287 project/templates/manage/organizers.html:5
|
||||
#: project/templates/layout.html:289 project/templates/manage/organizers.html:5
|
||||
#: project/templates/manage/organizers.html:9
|
||||
msgid "Organizers"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_place/list.html:3
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:288
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:290
|
||||
#: project/templates/manage/places.html:5
|
||||
#: project/templates/manage/places.html:9
|
||||
msgid "Places"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:290 project/templates/manage/members.html:5
|
||||
#: project/templates/layout.html:292 project/templates/manage/members.html:5
|
||||
#: project/templates/manage/members.html:28
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
@ -1293,22 +1291,22 @@ msgstr ""
|
||||
#: project/templates/admin/settings.html:4
|
||||
#: project/templates/admin/settings.html:8
|
||||
#: project/templates/admin_unit/update.html:14
|
||||
#: project/templates/layout.html:291 project/templates/manage/widgets.html:12
|
||||
#: project/templates/layout.html:293 project/templates/manage/widgets.html:12
|
||||
#: project/templates/profile.html:19
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:292 project/templates/manage/reviews.html:10
|
||||
#: project/templates/layout.html:294 project/templates/manage/reviews.html:10
|
||||
#: project/templates/manage/widgets.html:5
|
||||
#: project/templates/manage/widgets.html:9
|
||||
msgid "Widgets"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:302
|
||||
#: project/templates/layout.html:304
|
||||
msgid "Switch organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:4 project/templates/layout.html:351
|
||||
#: project/templates/developer/read.html:4 project/templates/layout.html:353
|
||||
#: project/templates/profile.html:29
|
||||
msgid "Developer"
|
||||
msgstr ""
|
||||
@ -1348,8 +1346,8 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin_unit/create.html:49
|
||||
#: project/templates/admin_unit/update.html:50
|
||||
#: project/templates/event/create.html:391
|
||||
#: project/templates/event/update.html:194
|
||||
#: project/templates/event/create.html:400
|
||||
#: project/templates/event/update.html:202
|
||||
#: project/templates/event_place/create.html:47
|
||||
#: project/templates/event_place/update.html:47
|
||||
#: project/templates/organizer/create.html:46
|
||||
@ -1454,42 +1452,42 @@ msgstr ""
|
||||
msgid "List all events of %(admin_unit_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:87
|
||||
#: project/templates/event/update.html:73
|
||||
#: project/templates/event/create.html:90
|
||||
#: project/templates/event/update.html:76
|
||||
msgid "Enter place or address"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:97
|
||||
#: project/templates/event/create.html:210
|
||||
#: project/templates/event/create.html:100
|
||||
#: project/templates/event/create.html:213
|
||||
#, python-format
|
||||
msgid "Just use %(term)s"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:200
|
||||
#: project/templates/event/update.html:96
|
||||
#: project/templates/event/create.html:203
|
||||
#: project/templates/event/update.html:99
|
||||
msgid "Enter organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:288
|
||||
#: project/templates/event/update.html:126
|
||||
#: project/templates/event/create.html:292
|
||||
#: project/templates/event/update.html:129
|
||||
msgid "Event date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:320
|
||||
#: project/templates/event/create.html:329
|
||||
msgid "Switch to organizer search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:353
|
||||
#: project/templates/event/create.html:362
|
||||
msgid "Switch to place search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:364
|
||||
#: project/templates/event/update.html:167
|
||||
#: project/templates/event/create.html:373
|
||||
#: project/templates/event/update.html:175
|
||||
msgid "Access"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:378
|
||||
#: project/templates/event/update.html:181
|
||||
#: project/templates/event/create.html:387
|
||||
#: project/templates/event/update.html:189
|
||||
msgid "Target group"
|
||||
msgstr ""
|
||||
|
||||
@ -1703,15 +1701,15 @@ msgstr ""
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:143
|
||||
#: project/templates/widget/event_suggestion/create.html:148
|
||||
msgid "Continue as guest"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:242
|
||||
#: project/templates/widget/event_suggestion/create.html:253
|
||||
msgid "Optional details"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:275
|
||||
#: project/templates/widget/event_suggestion/create.html:286
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
@ -1777,23 +1775,23 @@ msgstr ""
|
||||
msgid "Invitation successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:168
|
||||
#: project/views/event.py:167
|
||||
msgid "Event successfully created"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:208
|
||||
#: project/views/event.py:207
|
||||
msgid "Event successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:231 project/views/reference.py:162
|
||||
#: project/views/event.py:230 project/views/reference.py:162
|
||||
msgid "Entered name does not match event name"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:237
|
||||
#: project/views/event.py:236
|
||||
msgid "Event successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:384
|
||||
#: project/views/event.py:383
|
||||
msgid "Referenced event changed"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@ -68,21 +68,18 @@ class SharedEventForm(FlaskForm):
|
||||
start = CustomDateTimeField(
|
||||
lazy_gettext("Start"),
|
||||
validators=[DataRequired()],
|
||||
description=lazy_gettext(
|
||||
"Indicate when the event will take place. If the event takes place regularly, enter when the first date will begin."
|
||||
),
|
||||
description=lazy_gettext("Indicate when the event will take place."),
|
||||
)
|
||||
end = CustomDateTimeField(
|
||||
lazy_gettext("End"),
|
||||
validators=[Optional()],
|
||||
description=lazy_gettext(
|
||||
"Indicate when the event will end. An event can last a maximum of 14 days. If the event takes place regularly, enter when the first date will end."
|
||||
"Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
),
|
||||
)
|
||||
recurrence_rule = TextAreaField(
|
||||
lazy_gettext("Recurrence rule"),
|
||||
lazy_gettext("Recurring event"),
|
||||
validators=[Optional()],
|
||||
description=lazy_gettext("Enter if the event takes place regularly."),
|
||||
)
|
||||
description = TextAreaField(
|
||||
lazy_gettext("Description"),
|
||||
|
||||
@ -1,226 +1,110 @@
|
||||
div.riform {
|
||||
padding: 1em;
|
||||
background-color: white;
|
||||
/* box-shadow: 0 0 3em 0.5em #666; */
|
||||
line-height: 2;
|
||||
/* -moz-box-shadow: 0 0 3em 0.5em #666;
|
||||
-webkit-box-shadow: 0 0 3em #666; */
|
||||
}
|
||||
|
||||
div.riform h1 {
|
||||
color: #888888;
|
||||
border-bottom: 1px solid #DDDDDD;
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
margin: 0;
|
||||
padding-bottom: 5px;
|
||||
padding-left: 5px;
|
||||
color: #888888;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
margin: 0;
|
||||
padding-bottom: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
div.riform form {
|
||||
margin-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.riform .rifield {
|
||||
clear: both;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.riform .rifield .field {
|
||||
float:left;
|
||||
clear: none;
|
||||
float: left;
|
||||
clear: none;
|
||||
}
|
||||
|
||||
div.riform .label {
|
||||
display: block;
|
||||
float: left;
|
||||
font-weight: bold;
|
||||
margin-right: 10px;
|
||||
text-align: right;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
div.riform #rirtemplate {
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
div#riformfields {
|
||||
min-height: 11em;
|
||||
min-width: 25em;
|
||||
}
|
||||
|
||||
div.riform #rirangeoptions input,
|
||||
div.riform #rimonthlyoptions input,
|
||||
div.riform #riyearlyoptions input {
|
||||
margin: 0;
|
||||
display: block;
|
||||
float: left;
|
||||
font-weight: bold;
|
||||
margin-right: 10px;
|
||||
text-align: right;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
div.riform #riweeklyweekdays .riweeklyweekday input {
|
||||
display:block;
|
||||
margin: 8px auto 0;
|
||||
display: block;
|
||||
margin: 8px auto 0;
|
||||
}
|
||||
div.riform #riweeklyweekdays .riweeklyweekday label {
|
||||
display:block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.riform #riweeklyweekdays .riweeklyweekday {
|
||||
margin-right: 15px;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.riform input.ricancelbutton {
|
||||
/* // pb_close.png */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAABHVBMVEUAAAAAAAADAwMEBAQFBQUGBgYJCQkKCgoPDw8RERETExMWFhYbGxscHBwfHx8iIiIlJSUoKCgsLCwyMjI1NTU4ODg7OztDQ0NGRkZKSkpLS0tNTU1XV1ddXV1gYGBjY2NkZGRmZmZoaGhsbGxvb291dXV7e3t+fn6BgYGCgoKFhYWLi4uMjIyNjY2Ojo6QkJCTk5OVlZWWlpaXl5eZmZmdnZ2fn5+qqqqurq6vr6+ysrKzs7O5ubnCwsLFxcXHx8fJycnLy8vMzMzR0dHV1dXY2Nja2trc3Nzd3d3f39/g4ODh4eHk5OTl5eXo6Ojr6+vs7Ozt7e3u7u7x8fHy8vLz8/P19fX29vb39/f4+Pj6+vr7+/v8/Pz9/f3////kwcJJAAAAAXRSTlMAQObYZgAAAThJREFUKBXNwWdb2gAYhtH3CVbQFisVlOLWVlHcdeBedXSQqoiR4f3/f4YJF8Gg9psfPMfezL8avvqNvaaCz/2Nr2wvPFBbz8qXXrynZs/AXp9aUidgHRpsOmpz5sEibthzFLVGxZ5wl5Q0MCjfx/G49KGEtf1iRdIXyEufS6xLmuTKQh4ZSX0e5PtLUJDU28BC3CqQ8+AWio58p1iIczXlqkDRUWCHH9bCTzWlroA5NW2zai1cK5ByoQF5BY74bi01kpISLhSHPZiW5JSx0CXfJGWg6CjnsSUpi2uhJdy4pMlpR1I6n5S0z661lSiowxgVezIBY4oYrLNqEWswq7bRKgcW1bMCZyNxBbKHcCDrkJj6C9XTjY3jMlwvyJ6Ja/mCpj+bXbKXupUYmpn5+kmy/4jFFLP34hGuw0GxTwkuWgAAAABJRU5ErkJggg==);
|
||||
background-color: transparent;
|
||||
font-size: 0; /* For IE8 */
|
||||
color: transparent;
|
||||
border: none;
|
||||
position: absolute;
|
||||
left: -14px;
|
||||
top: -14px;
|
||||
cursor: pointer;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
/* // pb_close.png */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAABHVBMVEUAAAAAAAADAwMEBAQFBQUGBgYJCQkKCgoPDw8RERETExMWFhYbGxscHBwfHx8iIiIlJSUoKCgsLCwyMjI1NTU4ODg7OztDQ0NGRkZKSkpLS0tNTU1XV1ddXV1gYGBjY2NkZGRmZmZoaGhsbGxvb291dXV7e3t+fn6BgYGCgoKFhYWLi4uMjIyNjY2Ojo6QkJCTk5OVlZWWlpaXl5eZmZmdnZ2fn5+qqqqurq6vr6+ysrKzs7O5ubnCwsLFxcXHx8fJycnLy8vMzMzR0dHV1dXY2Nja2trc3Nzd3d3f39/g4ODh4eHk5OTl5eXo6Ojr6+vs7Ozt7e3u7u7x8fHy8vLz8/P19fX29vb39/f4+Pj6+vr7+/v8/Pz9/f3////kwcJJAAAAAXRSTlMAQObYZgAAAThJREFUKBXNwWdb2gAYhtH3CVbQFisVlOLWVlHcdeBedXSQqoiR4f3/f4YJF8Gg9psfPMfezL8avvqNvaaCz/2Nr2wvPFBbz8qXXrynZs/AXp9aUidgHRpsOmpz5sEibthzFLVGxZ5wl5Q0MCjfx/G49KGEtf1iRdIXyEufS6xLmuTKQh4ZSX0e5PtLUJDU28BC3CqQ8+AWio58p1iIczXlqkDRUWCHH9bCTzWlroA5NW2zai1cK5ByoQF5BY74bi01kpISLhSHPZiW5JSx0CXfJGWg6CjnsSUpi2uhJdy4pMlpR1I6n5S0z661lSiowxgVezIBY4oYrLNqEWswq7bRKgcW1bMCZyNxBbKHcCDrkJj6C9XTjY3jMlwvyJ6Ja/mCpj+bXbKXupUYmpn5+kmy/4jFFLP34hGuw0GxTwkuWgAAAABJRU5ErkJggg==);
|
||||
background-color: transparent;
|
||||
font-size: 0; /* For IE8 */
|
||||
color: transparent;
|
||||
border: none;
|
||||
position: absolute;
|
||||
left: -14px;
|
||||
top: -14px;
|
||||
cursor: pointer;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
div.rioccurrencesactions .riaddoccurrence #adddate {
|
||||
width: 75%;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
div.rioccurrencesactions .rioccurancesheader {
|
||||
border-bottom: 1px solid #DDDDDD;
|
||||
line-height: 1.5;
|
||||
clear: both;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
div.rioccurrencesactions .rioccurancesheader h2 {
|
||||
color: #888888;
|
||||
display: inline;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
margin: 0px 0px 5px 5px;
|
||||
}
|
||||
|
||||
|
||||
div.rioccurrences div.batching {
|
||||
font-size: 70%;
|
||||
text-align: center;
|
||||
font-size: 70%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.rioccurrences span.current {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.riform span.action a {
|
||||
height: 19px;
|
||||
width: 19px;
|
||||
overflow: hidden;
|
||||
float: right;
|
||||
text-indent: 9999px;
|
||||
}
|
||||
|
||||
div.rioccurrences .occurrence {
|
||||
border-top: 1px solid transparent;
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
|
||||
div.rioccurrences .occurrence:hover {
|
||||
border-top: 1px solid #DDDDDD;
|
||||
border-bottom: 1px solid #DDDDDD;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.rioccurrences .occurrence.start span.rlabel,
|
||||
div.rioccurrences .occurrence.rdate span.rlabel {
|
||||
color: #9CBA9B;
|
||||
margin: 0 5px;
|
||||
font-size: 70%;
|
||||
font-weight: bold;
|
||||
color: #9cba9b;
|
||||
margin: 0 5px;
|
||||
font-size: 70%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.rioccurrences .occurrence.exdate {
|
||||
opacity:0.4;
|
||||
filter:alpha(opacity=40);
|
||||
opacity: 0.4;
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
|
||||
div.ridisplay .occurrence.exdate {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.ridisplay label.ridisplay {
|
||||
font-weight: 300;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
div.ridisplay .rimain a {
|
||||
margin-right: 0.5em;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
div.rioccurrences .occurrence.rdate {
|
||||
background: #FFFFE0;
|
||||
}
|
||||
|
||||
div.rioccurrences div.occurrence {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
div.rioccurrences a.rrule,
|
||||
div.rioccurrences a.rdate,
|
||||
div.rioccurrences a.exdate {
|
||||
color: transparent;
|
||||
margin-top: 6px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
|
||||
div.rioccurrences a.rrule,
|
||||
div.rioccurrences a.rdate {
|
||||
/* // delete.png */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAMAAABFjsb+AAAAdVBMVEUAAAAAAAACAgIHBwcICAgODg4PDw8QEBASEhIXFxcbGxsdHR0fHx8gICAnJyc2NjY3Nzc4ODg5OTk+Pj5ERERISEhJSUlSUlJYWFhqampvb2/Hx8fPz8/R0dHn5+fs7Ozv7+/x8fHy8vL39/f9/f3+/v7///8jaUCMAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAOkAAADpAVSSFEsAAAB9SURBVBjTY2BQQwcMDGqyYuxsCMAuJqvGoCbCiApEgGIsECaTEBOEwQIUYwbSbAKCUmqSggKsQDYzVEwGarw0kpiwKlhIhR9JjEVNXFlMWUKNEUWMU4FZgYfGYrxKHEp8KGJM8opqQCgHEwP7l1sUBLhg/sUWLljCD0s4AwBmjBYPljOv7QAAAABJRU5ErkJggg==);
|
||||
}
|
||||
|
||||
div.rioccurrences a.exdate {
|
||||
/* // undelete.png */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAMAAABFjsb+AAAAnFBMVEUCodIAAAABAQEVAAAHBwcICAgKCgoPDw8QEBBTAABVAABZAABaAAAXFxdcBwdhCgodHR2TAAAhISFlDw9nDw8vLy8wMDAxMTH4AAD5AQH6AgL+Bgb/BweDKipBQUFERERJSUlQUFBXV1daWlpmZmb0nZ31nZ36o6P/pqb/qanNzc3R0dHp6ens7Ozt7e3v7+/y8vL39/f8/Pz////TudgfAAAAAXRSTlMAQObYZgAAAKFJREFUGFdt0FsXQkAUhuHZIYfIITTVFJVEiNr//781xoUJ79Ws52KvNR8hOI0QrFJDHzPSCgkmoIBcwk0D3+LP1X41mMZNBZNuozjDLI7W3FRhYJ/K4fxrNDgzgd+LZFAcn7fPHUE2DJnbOhNzcprPrHVZODP9cShm1u7Y5s+8zum8ktqS1Q2+saktagrTeguufQFYvvhvAnKK2GVhv4WdfzaPHhGyo11gAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
div.rioccurrencesactions a.rirefreshbutton {
|
||||
/* // refresh.png */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAMAAABFjsb+AAAA1VBMVEWbLGwAAAABAQECAgIFBQUGBgYHBwcICAgJCQkKCgoWFhYZGRkaGhoeHh4fHx8gICAkJCQmJiYoKCgrKyssLCwxMTE3Nzc4ODg5OTk+Pj5DQ0NHR0dISEhRUVFUVFRWVlZXV1ddXV1fX19gYGBkZGRoaGhwcHBxcXF6enp/f3+BgYGDg4OEhISJiYmNjY2VlZWampqnp6eoqKirq6uurq62trbCwsLDw8PFxcXIyMjNzc3V1dXW1tbZ2dnb29vv7+/19fX39/f4+Pj6+vr7+/v8/Pz///9okOBsAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAOkAAADpAVSSFEsAAADYSURBVBjTZdBrk8EwFAbghEprFaulxN2y2HVZ6n5tWX3//0+ScIwZ3g/JmWcmOTlhDK9hDBtpCiEqqYTQMeUGDJLrtBcxfo9UJnSRnKCfbyV1KchKRyDq4Fh6mhchxF8hQOQ9zDpg1V0a3F7hYJE1EdjlD3XMDtAkG8Gnnj5GZDMMyYaYkQ0wJ5tjQFbDyVFgec4JNTJji73LY/7vHlvj8T43xLn4gwtC9zlHbo2vf2CdozlMfXlcfvYwjuvSVFalnnz6fduqynaNbEYn7dTVmm3s9Ke+/fMVeXMr/BRXPaEAAAAASUVORK5CYII=);
|
||||
color: transparent;
|
||||
margin-top: 4px;
|
||||
margin-right: 5px;
|
||||
background: #ffffe0;
|
||||
}
|
||||
|
||||
div#messagearea,
|
||||
div.errorarea {
|
||||
display: none;
|
||||
background-color: red;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
div#calroot {
|
||||
z-index:10000;
|
||||
}
|
||||
|
||||
/* div.ributtons .risavebutton {
|
||||
display: block;
|
||||
margin: 30px auto 0;
|
||||
} */
|
||||
|
||||
/* // jQueryTools overrides */
|
||||
#calnext,
|
||||
#calprev {
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAOAOZsAPb29vv7+/f39/Ly8vr6+vn5+QCFzfz8/PDw8PPz8wCEzQODzACHzwCFzgCBzCKb1fL7/fHx8aXZ7+r4/F295LXg8pTR6wKCzA2L0J3V7ZnW7T234gaS05bV7v3+/ofN65Tb8JfX7/n+/pff8uv6/YXN60C748/s9wCIz9ry+gKHzgOIzs7r9gF+yx+Z1QKEzSKg2AGP0mG54uf2++b4/AyP0QGCzGG844bN62m95Gm/5Fm95AeQ0vf8/bzl9ACAyxma1rbi9DKm2////weGzpfW7Mvp9QyO0J/Y7qrc8AiJz9jy+mK949Tv+QCDzHLA5geIzgCDzcfr9gqM0Mzv+ACQ0g2Q0sLn9XbM6y+p3L/s96LY706w3sbo9PX19ZXT7PD7/Tis3gyQ0g+R0v7+/gCGzgCHzvj4+ACCzPT09O/v7wCJz+7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGwALAAAAAAOAA4AAAe0gGyCamlnBAQCCYKLbAMHTVgbJh00BWqLA2QlMQpoCxdAQQGXagc4CmZlRxIWC1ZXZ2xpVBwGZTVIZBlKDllgCAUfaAxTGkNfUAxraydpATloK0VkW0Rmyw1JAAFPDio6EEYuUcsGFQBnIQZmNkwiLA9lZlUpCQMkME4oLzceXRg/KPS4VMDHGDRl0Mjg0kLIDC+DCEgJw2NNAzE7JghgpEYAGS0gRiw5kIbRogjozqRBwCgQADs=);
|
||||
}
|
||||
#calnext {
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAOAOZsAPb29vv7+/f39/Ly8vr6+vn5+QCFzfz8/PDw8PPz8wCEzQODzACHzwCFzgCBzCKb1fL7/fHx8aXZ7+r4/F295LXg8pTR6wKCzA2L0J3V7ZnW7T234gaS05bV7v3+/ofN65Tb8JfX7/n+/pff8uv6/YXN60C748/s9wCIz9ry+gKHzgOIzs7r9gF+yx+Z1QKEzSKg2AGP0mG54uf2++b4/AyP0QGCzGG844bN62m95Gm/5Fm95AeQ0vf8/bzl9ACAyxma1rbi9DKm2////weGzpfW7Mvp9QyO0J/Y7qrc8AiJz9jy+mK949Tv+QCDzHLA5geIzgCDzcfr9gqM0Mzv+ACQ0g2Q0sLn9XbM6y+p3L/s96LY706w3sbo9PX19ZXT7PD7/Tis3gyQ0g+R0v7+/gCGzgCHzvj4+ACCzPT09O/v7wCJz+7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGwALAAAAAAOAA4AAAe2gGyCbAhpZ2cAEYOLaQdLIyBaZAJqiwITO2INazxhUgSVbF4zQi1cMmhlaGM+BWxqPRQ/GF0eNy8oTjAkAwkpVWZlDywiTDZmBiGIFQZra1EuRhA6Kg5PAQBJm2tmRFtkRStoOQFpJ84MUF9DGlMMaB8FCGBZDkoZZEg1ZQYcVGlszlyxssCChCNlzCjAcaCSmgBBgFxYgEZBjBJkBgxSU4BGBxMbsDQ5oHERmwQCCBA4kyYUm0AAOw==);
|
||||
}
|
||||
div.overlaybg div.close,
|
||||
div.overlay div.close {
|
||||
/* // pb_close.png */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAABHVBMVEUAAAAAAAADAwMEBAQFBQUGBgYJCQkKCgoPDw8RERETExMWFhYbGxscHBwfHx8iIiIlJSUoKCgsLCwyMjI1NTU4ODg7OztDQ0NGRkZKSkpLS0tNTU1XV1ddXV1gYGBjY2NkZGRmZmZoaGhsbGxvb291dXV7e3t+fn6BgYGCgoKFhYWLi4uMjIyNjY2Ojo6QkJCTk5OVlZWWlpaXl5eZmZmdnZ2fn5+qqqqurq6vr6+ysrKzs7O5ubnCwsLFxcXHx8fJycnLy8vMzMzR0dHV1dXY2Nja2trc3Nzd3d3f39/g4ODh4eHk5OTl5eXo6Ojr6+vs7Ozt7e3u7u7x8fHy8vLz8/P19fX29vb39/f4+Pj6+vr7+/v8/Pz9/f3////kwcJJAAAAAXRSTlMAQObYZgAAAThJREFUKBXNwWdb2gAYhtH3CVbQFisVlOLWVlHcdeBedXSQqoiR4f3/f4YJF8Gg9psfPMfezL8avvqNvaaCz/2Nr2wvPFBbz8qXXrynZs/AXp9aUidgHRpsOmpz5sEibthzFLVGxZ5wl5Q0MCjfx/G49KGEtf1iRdIXyEufS6xLmuTKQh4ZSX0e5PtLUJDU28BC3CqQ8+AWio58p1iIczXlqkDRUWCHH9bCTzWlroA5NW2zai1cK5ByoQF5BY74bi01kpISLhSHPZiW5JSx0CXfJGWg6CjnsSUpi2uhJdy4pMlpR1I6n5S0z661lSiowxgVezIBY4oYrLNqEWswq7bRKgcW1bMCZyNxBbKHcCDrkJj6C9XTjY3jMlwvyJ6Ja/mCpj+bXbKXupUYmpn5+kmy/4jFFLP34hGuw0GxTwkuWgAAAABJRU5ErkJggg==);
|
||||
}
|
||||
#calroot {
|
||||
width: auto;
|
||||
display: none;
|
||||
background-color: red;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
@ -48,18 +48,6 @@
|
||||
'rirangeoptions'
|
||||
]
|
||||
},
|
||||
mondayfriday: {
|
||||
rrule: 'FREQ=WEEKLY;BYDAY=MO,FR',
|
||||
fields: [
|
||||
'rirangeoptions'
|
||||
]
|
||||
},
|
||||
weekdays: {
|
||||
rrule: 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR',
|
||||
fields: [
|
||||
'rirangeoptions'
|
||||
]
|
||||
},
|
||||
weekly: {
|
||||
rrule: 'FREQ=WEEKLY',
|
||||
fields: [
|
||||
@ -212,13 +200,17 @@
|
||||
weekly: 'Weekly',
|
||||
monthly: 'Monthly',
|
||||
yearly: 'Yearly'
|
||||
}
|
||||
},
|
||||
|
||||
reccStart: 'Start date',
|
||||
reccStartTime: 'Begin',
|
||||
reccFoEndTime: 'End'
|
||||
});
|
||||
|
||||
|
||||
var OCCURRENCETMPL = ['<div class="rioccurrences">',
|
||||
var OCCURRENCETMPL = ['<div class="rioccurrences list-group list-group-flush">',
|
||||
'{{for occurrences}}',
|
||||
'<div class="occurrence {{:type}}">',
|
||||
'<div class="occurrence {{:type}} list-group-item d-flex justify-content-between align-items-center p-1">',
|
||||
'<span>',
|
||||
'{{:formattedDate}}',
|
||||
'{{if type === "start"}}',
|
||||
@ -232,20 +224,20 @@
|
||||
'<span class="action">',
|
||||
'{{if type === "rrule"}}',
|
||||
'<a date="{{:date}}" href="#"',
|
||||
'class="{{:type}}" title="{{:~root.i18n.exclude}}">',
|
||||
'{{:~root.i18n.exclude}}',
|
||||
'class="{{:type}} btn btn-outline-secondary btn-sm" title="{{:~root.i18n.exclude}}">',
|
||||
'<i class="fa fa-trash"></i>',
|
||||
'</a>',
|
||||
'{{/if}}',
|
||||
'{{if type === "rdate"}}',
|
||||
'<a date="{{:date}}" href="#"',
|
||||
'class="{{:type}}" title="{{:~root.i18n.remove}}" >',
|
||||
'{{:~root.i18n.remove}}',
|
||||
'class="{{:type}} btn btn-outline-secondary btn-sm" title="{{:~root.i18n.remove}}" >',
|
||||
'<i class="fa fa-trash"></i>',
|
||||
'</a>',
|
||||
'{{/if}}',
|
||||
'{{if type === "exdate"}}',
|
||||
'<a date="{{:date}}" href="#"',
|
||||
'class="{{:type}}" title="{{:~root.i18n.include}}">',
|
||||
'{{:~root.i18n.include}}',
|
||||
'class="{{:type}} btn btn-outline-secondary btn-sm" title="{{:~root.i18n.include}}">',
|
||||
'<i class="fa fa-trash-restore"></i>',
|
||||
'</a>',
|
||||
'{{/if}}',
|
||||
'</span>',
|
||||
@ -263,12 +255,16 @@
|
||||
$.templates('occurrenceTmpl', OCCURRENCETMPL);
|
||||
|
||||
var DISPLAYTMPL = ['<div class="ridisplay">',
|
||||
'<div class="rimain">',
|
||||
'<div class="rimain bg-light mt-3 p-3 rounded border">',
|
||||
'<div class="mb-2">',
|
||||
'<div class="ridisplay-start"></div>',
|
||||
'<div class="ridisplay-times"></div>',
|
||||
'<div class="ridisplay">{{:i18n.displayUnactivate}}</div>',
|
||||
'</div>',
|
||||
'{{if !readOnly}}',
|
||||
'<button type="button" name="riedit" class="btn btn-outline-secondary">{{:i18n.add_rules}}</button>',
|
||||
'<button type="button" name="ridelete" class="btn btn-outline-secondary" style="display:none">{{:i18n.delete_rules}}</button>',
|
||||
'{{/if}}',
|
||||
'<label class="ridisplay">{{:i18n.displayUnactivate}}</label>',
|
||||
'</div>',
|
||||
'<div class="rioccurrences" style="display:none" /></div>'].join('\n');
|
||||
|
||||
@ -276,7 +272,7 @@
|
||||
|
||||
var FORMTMPL = ['<div class="modal fade" tabindex="-1" role="dialog">',
|
||||
'<div class="modal-dialog" role="document">',
|
||||
'<div class="modal-content">',
|
||||
'<div class="modal-content modal-recurrence">',
|
||||
'<div class="modal-header">',
|
||||
'<h5 class="modal-title">{{:i18n.title}}</h5>',
|
||||
'<button type="button" class="close" data-dismiss="modal" aria-label="Close">',
|
||||
@ -288,241 +284,329 @@
|
||||
'<form>',
|
||||
'<div id="messagearea" style="display: none;">',
|
||||
'</div>',
|
||||
'<div id="rirtemplate">',
|
||||
'<label for="{{:name}}rtemplate" class="label">',
|
||||
'{{:i18n.recurrenceType}}',
|
||||
'</label>',
|
||||
'<select id="rirtemplate" name="rirtemplate" class="field">',
|
||||
'{{props rtemplate}}',
|
||||
'<option value="{{>key}}">{{:~root.i18n.rtemplate[key]}}</value>',
|
||||
'{{/props}}',
|
||||
'</select>',
|
||||
'<div>',
|
||||
'<div id="riformfields">',
|
||||
'<div id="ridailyinterval" class="rifield">',
|
||||
'<label for="{{:name}}dailyinterval" class="label">',
|
||||
'{{:i18n.dailyInterval1}}',
|
||||
'</label>',
|
||||
'<div class="field">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1"',
|
||||
'name="ridailyinterval"',
|
||||
'id="{{:name}}dailyinterval" />',
|
||||
'{{:i18n.dailyInterval2}}',
|
||||
'</div>',
|
||||
|
||||
'<div class="form-row">',
|
||||
'<div class="form-group col-md">',
|
||||
'<label class="mb-0" for="recc-start">{{:i18n.reccStart}}</label>',
|
||||
'<input type="text" class="form-control datepicker" data-range-to="#recc-end" id="recc-start" name="recc-start" required="" />',
|
||||
'</div>',
|
||||
'<div id="riweeklyinterval" class="rifield">',
|
||||
'<label for="{{:name}}weeklyinterval" class="label">',
|
||||
'{{:i18n.weeklyInterval1}}',
|
||||
'</label>',
|
||||
'<div class="field">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1"',
|
||||
'name="riweeklyinterval"',
|
||||
'id="{{:name}}weeklyinterval"/>',
|
||||
'{{:i18n.weeklyInterval2}}',
|
||||
'</div>',
|
||||
|
||||
'<div class="form-group col-md">',
|
||||
'<label class="mb-0" for="recc-start-time">{{:i18n.reccStartTime}}</label>',
|
||||
'<input type="text" class="form-control timepicker" id="recc-start-time" name="recc-start-time" required="" />',
|
||||
'</div>',
|
||||
'<div id="riweeklyweekdays" class="rifield">',
|
||||
'<label for="{{:name}}weeklyinterval" class="label">{{:i18n.weeklyWeekdays}}</label>',
|
||||
'<div class="field">',
|
||||
'{{for orderedWeekdays itemVar=\'~value\'}}',
|
||||
'<div class="riweeklyweekday">',
|
||||
'<input type="checkbox"',
|
||||
'name="riweeklyweekdays{{:~root.weekdays[~value]}}"',
|
||||
'id="{{:name}}weeklyWeekdays{{:~root.weekdays[~value]}}"',
|
||||
'value="{{:~root.weekdays[~value]}}" />',
|
||||
'<label for="{{:name}}weeklyWeekdays{{:~root.weekdays[~value]}}">{{:~root.i18n.shortWeekdays[~value]}}</label>',
|
||||
|
||||
'<div class="form-group col-md">',
|
||||
'<label class="mb-0" for="recc-fo-end-time">{{:i18n.reccFoEndTime}}</label>',
|
||||
'<input type="text" class="form-control timepicker" id="recc-fo-end-time" name="recc-fo-end-time" />',
|
||||
'</div>',
|
||||
'</div>',
|
||||
|
||||
'<div class="form-row">',
|
||||
'<div id="rirangeoptions" class="form-group col-md">',
|
||||
'<label class="mb-0">{{:i18n.range}}</label>',
|
||||
'<div class="input-group mb-1">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<div class="input-group-text">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'checked="checked"',
|
||||
'value="BYENDDATE"',
|
||||
'name="rirangetype"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}rangetype:BYENDDATE"/>',
|
||||
'{{:i18n.rangeByEndDate}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'{{/for}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="rimonthlyinterval" class="rifield">',
|
||||
'<label for="rimonthlyinterval" class="label">{{:i18n.monthlyInterval1}}</label>',
|
||||
'<div class="field">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1" ',
|
||||
'name="rimonthlyinterval"/>',
|
||||
'{{:i18n.monthlyInterval2}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="rimonthlyoptions" class="rifield">',
|
||||
'<label for="rimonthlytype" class="label">{{:i18n.monthlyRepeatOn}}</label>',
|
||||
'<div class="field">',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="DAYOFMONTH"',
|
||||
'name="rimonthlytype"',
|
||||
'id="{{:name}}monthlytype:DAYOFMONTH" />',
|
||||
'<label for="{{:name}}monthlytype:DAYOFMONTH">',
|
||||
'{{:i18n.monthlyDayOfMonth1}}',
|
||||
'</label>',
|
||||
'<select name="rimonthlydayofmonthday"',
|
||||
'id="{{:name}}monthlydayofmonthday">',
|
||||
'{{for start=1 end=32}}',
|
||||
'<option value="{{:}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.monthlyDayOfMonth2}}',
|
||||
'type="text"',
|
||||
'class="form-control"',
|
||||
'name="rirangebyenddatecalendar" id="recc-end" />',
|
||||
'</div>',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="WEEKDAYOFMONTH"',
|
||||
'name="rimonthlytype"',
|
||||
'id="{{:name}}monthlytype:WEEKDAYOFMONTH" />',
|
||||
'<label for="{{:name}}monthlytype:WEEKDAYOFMONTH">',
|
||||
'{{:i18n.monthlyWeekdayOfMonth1}}',
|
||||
'</label>',
|
||||
'<select name="rimonthlyweekdayofmonthindex">',
|
||||
'{{for i18n.orderIndexes}}',
|
||||
'<option value="{{:~root.orderIndexes[$index]}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.monthlyWeekdayOfMonth2}}',
|
||||
'<select name="rimonthlyweekdayofmonth">',
|
||||
'{{for orderedWeekdays itemVar=\'~value\'}}',
|
||||
'<option value="{{:~root.weekdays[~value]}}">{{:~root.i18n.weekdays[~value]}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.monthlyWeekdayOfMonth3}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="riyearlyinterval" class="rifield">',
|
||||
'<label for="riyearlyinterval" class="label">{{:i18n.yearlyInterval1}}</label>',
|
||||
'<div class="field">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1" ',
|
||||
'name="riyearlyinterval"/>',
|
||||
'{{:i18n.yearlyInterval2}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="riyearlyoptions" class="rifield">',
|
||||
'<label for="riyearlyType" class="label">{{:i18n.yearlyRepeatOn}}</label>',
|
||||
'<div class="field">',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="DAYOFMONTH"',
|
||||
'name="riyearlyType"',
|
||||
'id="{{:name}}yearlytype:DAYOFMONTH" />',
|
||||
'<label for="{{:name}}yearlytype:DAYOFMONTH">',
|
||||
'{{:i18n.yearlyDayOfMonth1}}',
|
||||
'</label>',
|
||||
'<select name="riyearlydayofmonthmonth">',
|
||||
'{{for i18n.months}}',
|
||||
'<option value="{{:#getIndex()+1}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.yearlyDayOfMonth2}}',
|
||||
'<select name="riyearlydayofmonthday">',
|
||||
'{{for start=1 end=32}}',
|
||||
'<option value="{{:}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.yearlyDayOfMonth3}}',
|
||||
'</div>',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="WEEKDAYOFMONTH"',
|
||||
'name="riyearlyType"',
|
||||
'id="{{:name}}yearlytype:WEEKDAYOFMONTH"/>',
|
||||
'<label for="{{:name}}yearlytype:WEEKDAYOFMONTH">',
|
||||
'{{:i18n.yearlyWeekdayOfMonth1}}',
|
||||
'</label>',
|
||||
'<select name="riyearlyweekdayofmonthindex">',
|
||||
'{{for i18n.orderIndexes}}',
|
||||
'<option value="{{:~root.orderIndexes[#getIndex()]}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<label for="{{:name}}yearlytype:WEEKDAYOFMONTH">',
|
||||
'{{:i18n.yearlyWeekdayOfMonth2}}',
|
||||
'</label>',
|
||||
'<select name="riyearlyweekdayofmonthday">',
|
||||
'{{for orderedWeekdays itemVar=\'~value\'}}',
|
||||
'<option value="{{:~root.weekdays[~value]}}">{{:~root.i18n.weekdays[~value]}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.yearlyWeekdayOfMonth3}}',
|
||||
'<select name="riyearlyweekdayofmonthmonth">',
|
||||
'{{for i18n.months}}',
|
||||
'<option value="{{:#getIndex()+1}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'{{:i18n.yearlyWeekdayOfMonth4}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="rirangeoptions" class="rifield">',
|
||||
'<label class="label">{{:i18n.range}}</label>',
|
||||
'<div class="field">',
|
||||
'{{if hasRepeatForeverButton}}',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="NOENDDATE"',
|
||||
'name="rirangetype"',
|
||||
'id="{{:name}}rangetype:NOENDDATE"/>',
|
||||
'<label for="{{:name}}rangetype:NOENDDATE">',
|
||||
'{{:i18n.rangeNoEnd}}',
|
||||
'</label>',
|
||||
'</div>',
|
||||
'{{/if}}',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'checked="checked"',
|
||||
'value="BYOCCURRENCES"',
|
||||
'name="rirangetype"',
|
||||
'id="{{:name}}rangetype:BYOCCURRENCES"/>',
|
||||
'<label for="{{:name}}rangetype:BYOCCURRENCES">',
|
||||
'{{:i18n.rangeByOccurrences1}}',
|
||||
'</label>',
|
||||
'<div class="input-group mb-1">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<div class="input-group-text">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="BYOCCURRENCES"',
|
||||
'name="rirangetype"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}rangetype:BYOCCURRENCES"/>',
|
||||
'{{:i18n.rangeByOccurrences1}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<input',
|
||||
'type="text" size="3"',
|
||||
'value="7"',
|
||||
'class="form-control"',
|
||||
'name="rirangebyoccurrencesvalue" />',
|
||||
'{{:i18n.rangeByOccurrences2}}',
|
||||
'<div class="input-group-append">',
|
||||
'<span class="input-group-text">',
|
||||
'{{:i18n.rangeByOccurrences2}}',
|
||||
'</span>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div>',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="BYENDDATE"',
|
||||
'name="rirangetype"',
|
||||
'id="{{:name}}rangetype:BYENDDATE"/>',
|
||||
'<label for="{{:name}}rangetype:BYENDDATE">',
|
||||
'{{:i18n.rangeByEndDate}}',
|
||||
'</label>',
|
||||
'<input',
|
||||
'type="text"',
|
||||
'name="rirangebyenddatecalendar" />',
|
||||
'{{if hasRepeatForeverButton}}',
|
||||
'<div class="input-group mb-1">',
|
||||
'<div class="input-group-text w-100">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="NOENDDATE"',
|
||||
'name="rirangetype"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}rangetype:NOENDDATE"/>',
|
||||
'{{:i18n.rangeNoEnd}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'{{/if}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
|
||||
'<div class="form-row">',
|
||||
'<div class="form-group col-md">',
|
||||
'<label for="{{:name}}rtemplate" class="mb-0">',
|
||||
'{{:i18n.recurrenceType}}',
|
||||
'</label>',
|
||||
'<select id="rirtemplate" name="rirtemplate" class="form-control">',
|
||||
'{{props rtemplate}}',
|
||||
'<option value="{{>key}}">{{:~root.i18n.rtemplate[key]}}</value>',
|
||||
'{{/props}}',
|
||||
'</select>',
|
||||
'</div>',
|
||||
|
||||
'<div class="col-md">',
|
||||
'<div id="ridailyinterval" class="form-group rifield">',
|
||||
'<label for="{{:name}}dailyinterval" class="mb-0">',
|
||||
'{{:i18n.dailyInterval1}}',
|
||||
'</label>',
|
||||
'<div class="input-group">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1"',
|
||||
'name="ridailyinterval"',
|
||||
'class="form-control"',
|
||||
'id="{{:name}}dailyinterval" />',
|
||||
'<div class="input-group-append">',
|
||||
'<span class="input-group-text">',
|
||||
'{{:i18n.dailyInterval2}}',
|
||||
'</span>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="riweeklyinterval" class="form-group rifield">',
|
||||
'<label for="{{:name}}weeklyinterval" class="mb-0">',
|
||||
'{{:i18n.weeklyInterval1}}',
|
||||
'</label>',
|
||||
'<div class="input-group">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1"',
|
||||
'name="riweeklyinterval"',
|
||||
'class="form-control"',
|
||||
'id="{{:name}}riweeklyinterval" />',
|
||||
'<div class="input-group-append">',
|
||||
'<span class="input-group-text">',
|
||||
'{{:i18n.weeklyInterval2}}',
|
||||
'</span>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="rimonthlyinterval" class="form-group rifield">',
|
||||
'<label for="rimonthlyinterval" class="mb-0">{{:i18n.monthlyInterval1}}</label>',
|
||||
'<div class="input-group">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1"',
|
||||
'name="rimonthlyinterval"',
|
||||
'class="form-control" />',
|
||||
'<div class="input-group-append">',
|
||||
'<span class="input-group-text">',
|
||||
'{{:i18n.monthlyInterval2}}',
|
||||
'</span>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div id="riyearlyinterval" class="form-group rifield">',
|
||||
'<label for="riyearlyinterval" class="mb-0">{{:i18n.yearlyInterval1}}</label>',
|
||||
'<div class="input-group">',
|
||||
'<input type="text" size="2"',
|
||||
'value="1" ',
|
||||
'class="form-control"',
|
||||
'name="riyearlyinterval"/>',
|
||||
'<div class="input-group-append">',
|
||||
'<span class="input-group-text">',
|
||||
'{{:i18n.yearlyInterval2}}',
|
||||
'</span>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="rioccurrencesactions">',
|
||||
'<div class="rioccurancesheader">',
|
||||
'<h2>{{:i18n.preview}}</h2>',
|
||||
'<span class="refreshbutton action">',
|
||||
'<a class="rirefreshbutton" href="#" title="{{:i18n.refresh}}">',
|
||||
'{{:i18n.refresh}}',
|
||||
'</a>',
|
||||
'</span>',
|
||||
|
||||
'<div id="riweeklyweekdays" class="form-group rifield">',
|
||||
'<label for="{{:name}}weeklyinterval" class="mb-0">{{:i18n.weeklyWeekdays}}</label>',
|
||||
'<div>',
|
||||
'{{for orderedWeekdays itemVar=\'~value\'}}',
|
||||
'<div class="form-check form-check-inline">',
|
||||
'<input type="checkbox"',
|
||||
'name="riweeklyweekdays{{:~root.weekdays[~value]}}"',
|
||||
'id="{{:name}}weeklyWeekdays{{:~root.weekdays[~value]}}"',
|
||||
'class="form-check-input"',
|
||||
'value="{{:~root.weekdays[~value]}}" />',
|
||||
'<label for="{{:name}}weeklyWeekdays{{:~root.weekdays[~value]}}" class="form-check-label">{{:~root.i18n.shortWeekdays[~value]}}</label>',
|
||||
'</div>',
|
||||
'{{/for}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="rioccurrences">',
|
||||
'</div>',
|
||||
'<div class="rioccurrencesactions">',
|
||||
'<div class="rioccurancesheader">',
|
||||
'<h2>{{:i18n.addDate}}</h2>',
|
||||
'<div id="rimonthlyoptions" class="form-group rifield">',
|
||||
'<label for="rimonthlytype" class="mb-0">{{:i18n.monthlyRepeatOn}}</label>',
|
||||
'<div>',
|
||||
'<div class="input-group mb-1">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<div class="input-group-text">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="DAYOFMONTH"',
|
||||
'name="rimonthlytype"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}monthlytype:DAYOFMONTH" />',
|
||||
'{{:i18n.monthlyDayOfMonth1}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<select name="rimonthlydayofmonthday" class="form-control"',
|
||||
'id="{{:name}}monthlydayofmonthday">',
|
||||
'{{for start=1 end=32}}',
|
||||
'<option value="{{:}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<div class="input-group-append">',
|
||||
'<div class="input-group-text">',
|
||||
'{{:i18n.monthlyDayOfMonth2}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="input-group">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<div class="input-group-text">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="WEEKDAYOFMONTH"',
|
||||
'name="rimonthlytype"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}monthlytype:WEEKDAYOFMONTH" />',
|
||||
'{{:i18n.monthlyWeekdayOfMonth1}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<select name="rimonthlyweekdayofmonthindex" class="form-control">',
|
||||
'{{for i18n.orderIndexes}}',
|
||||
'<option value="{{:~root.orderIndexes[$index]}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<select name="rimonthlyweekdayofmonth" class="form-control">',
|
||||
'{{for orderedWeekdays itemVar=\'~value\'}}',
|
||||
'<option value="{{:~root.weekdays[~value]}}">{{:~root.i18n.weekdays[~value]}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<div class="input-group-append">',
|
||||
'<div class="input-group-text">',
|
||||
'{{:i18n.monthlyWeekdayOfMonth3}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="riaddoccurrence">',
|
||||
'<div class="errorarea"></div>',
|
||||
'<input type="text" name="adddate" id="adddate" />',
|
||||
'<input type="button" name="addaction" id="addaction" value="{{:i18n.add}}">',
|
||||
'</div>',
|
||||
'<div id="riyearlyoptions" class="form-group rifield">',
|
||||
'<label for="riyearlyType" class="mb-0">{{:i18n.yearlyRepeatOn}}</label>',
|
||||
'<div>',
|
||||
'<div class="input-group mb-1">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<div class="input-group-text">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="DAYOFMONTH"',
|
||||
'name="riyearlyType"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}yearlytype:DAYOFMONTH" />',
|
||||
'{{:i18n.yearlyDayOfMonth1}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<select name="riyearlydayofmonthday" class="form-control">',
|
||||
'{{for start=1 end=32}}',
|
||||
'<option value="{{:}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<select name="riyearlydayofmonthmonth" class="form-control">',
|
||||
'{{for i18n.months}}',
|
||||
'<option value="{{:#getIndex()+1}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'</div>',
|
||||
'<div class="input-group">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<div class="input-group-text">',
|
||||
'<input',
|
||||
'type="radio"',
|
||||
'value="WEEKDAYOFMONTH"',
|
||||
'name="riyearlyType"',
|
||||
'class="form-check-inline"',
|
||||
'id="{{:name}}yearlytype:WEEKDAYOFMONTH"/>',
|
||||
'{{:i18n.yearlyWeekdayOfMonth1}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<select name="riyearlyweekdayofmonthindex" class="form-control">',
|
||||
'{{for i18n.orderIndexes}}',
|
||||
'<option value="{{:~root.orderIndexes[#getIndex()]}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<select name="riyearlyweekdayofmonthday" class="form-control">',
|
||||
'{{for orderedWeekdays itemVar=\'~value\'}}',
|
||||
'<option value="{{:~root.weekdays[~value]}}">{{:~root.i18n.weekdays[~value]}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'<div class="input-group-append">',
|
||||
'<div class="input-group-text">',
|
||||
'{{:i18n.yearlyWeekdayOfMonth3}}',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<select name="riyearlyweekdayofmonthmonth" class="form-control">',
|
||||
'{{for i18n.months}}',
|
||||
'<option value="{{:#getIndex()+1}}">{{:}}</option>',
|
||||
'{{/for}}',
|
||||
'</select>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
|
||||
'<div id="occurences-show-container">',
|
||||
'<a href="#" class="show-link" data-container="occurences-container" data-show-container="occurences-show-container"><i class="fa fa-chevron-down"></i> {{:i18n.preview}}</a>',
|
||||
'</div>',
|
||||
'<div id="occurences-container" style="display: none;">',
|
||||
'<div class="rioccurrencesactions">',
|
||||
'<div class="rioccurancesheader">',
|
||||
'<h2 class="my-2">{{:i18n.preview}}',
|
||||
'<span class="refreshbutton action">',
|
||||
'<a class="btn btn-sm btn-outline-secondary rirefreshbutton" href="#" title="{{:i18n.refresh}}">',
|
||||
'<i class="fa fa-sync-alt"></i>',
|
||||
'</a>',
|
||||
'</span>',
|
||||
'</h2>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="rioccurrences">',
|
||||
'</div>',
|
||||
'<div class="rioccurrencesactions">',
|
||||
'<div class="riaddoccurrence mt-3">',
|
||||
'<div class="errorarea"></div>',
|
||||
'<div class="input-group">',
|
||||
'<div class="input-group-prepend">',
|
||||
'<span class="input-group-text">{{:i18n.addDate}}</span>',
|
||||
'</div>',
|
||||
'<input type="text" class="form-control" name="adddate" id="adddate" />',
|
||||
'<div class="input-group-append">',
|
||||
'<input type="button" class="btn btn-outline-secondary" name="addoccurencebtn" id="addoccurencebtn" value="{{:i18n.add}}" />',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="mt-3" id="occurences-hide-container">',
|
||||
'<a href="#" class="hide-link" data-container="occurences-container" data-show-container="occurences-show-container"><i class="fa fa-chevron-up"></i> {{:i18n.preview}}</a>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</form>',
|
||||
@ -1116,8 +1200,9 @@
|
||||
}
|
||||
form.ical.EXDATE.push(this.attributes.date.value);
|
||||
var $this = $(this);
|
||||
$this.attr('class', 'exdate');
|
||||
$this.removeClass('rrule').addClass('exdate');
|
||||
$this.parent().parent().addClass('exdate');
|
||||
$(this).find('i').removeClass('fa-trash').addClass('fa-trash-restore');
|
||||
$this.unbind(event);
|
||||
$this.click(occurrenceInclude); // Jslint warns here, but that's OK.
|
||||
}
|
||||
@ -1126,8 +1211,9 @@
|
||||
event.preventDefault();
|
||||
form.ical.EXDATE.splice($.inArray(this.attributes.date.value, form.ical.EXDATE), 1);
|
||||
var $this = $(this);
|
||||
$this.attr('class', 'rrule');
|
||||
$this.removeClass('exdate').addClass('rrule');
|
||||
$this.parent().parent().removeClass('exdate');
|
||||
$(this).find('i').removeClass('fa-trash-restore').addClass('fa-trash');
|
||||
$this.unbind(event);
|
||||
$this.click(occurrenceExclude);
|
||||
}
|
||||
@ -1155,14 +1241,14 @@
|
||||
// Add date only if it is not already in RDATE
|
||||
if ($.inArray(datevalue, form.ical.RDATE) === -1) {
|
||||
form.ical.RDATE.push(datevalue);
|
||||
var html = ['<div class="occurrence rdate" style="display: none;">',
|
||||
var html = ['<div class="occurrence rdate list-group-item d-flex justify-content-between align-items-center p-1" style="display: none;">',
|
||||
'<span class="rdate">',
|
||||
$.datepicker.formatDate("D, dd.mm.yy", dateinput.data('picker').datepicker("getDate")),
|
||||
'<span class="rlabel">' + conf.i18n.additionalDate + '</span>',
|
||||
'</span>',
|
||||
'<span class="action">',
|
||||
'<a date="' + datevalue + '" href="#" class="rdate" >',
|
||||
'Include',
|
||||
'<a date="' + datevalue + '" href="#" class="rdate btn btn-outline-secondary btn-sm" >',
|
||||
'<i class="fa fa-trash"></i>',
|
||||
'</a>',
|
||||
'</span>',
|
||||
'</div>'].join('\n');
|
||||
@ -1284,9 +1370,11 @@
|
||||
var startdate = null;
|
||||
var startField, startFieldYear, startFieldMonth, startFieldDay;
|
||||
|
||||
var startField = 'recc-start'; // conf.startField;
|
||||
|
||||
// Find the default byday and bymonthday from the start date, if any:
|
||||
if (conf.startField) {
|
||||
startField = getField(conf.startField);
|
||||
if (startField) {
|
||||
startField = getField(startField);
|
||||
if (!startField.length) {
|
||||
// Field not found
|
||||
return null;
|
||||
@ -1414,9 +1502,22 @@
|
||||
displayFields(selector);
|
||||
}
|
||||
|
||||
function displayOn() {
|
||||
display.find('div[class=ridisplay-start]').text($('#start-user').val());
|
||||
var times = $('#start-time').val();
|
||||
var end_time = $('#end-time').val();
|
||||
if (end_time) {
|
||||
times += ' - ' + end_time
|
||||
}
|
||||
display.find('div[class=ridisplay-times]').text(times);
|
||||
|
||||
$('#single-event-container').hide();
|
||||
$('#recc-event-container').show();
|
||||
}
|
||||
|
||||
function recurrenceOn() {
|
||||
var RFC5545 = widgetSaveToRfc5545(form, conf, false);
|
||||
var label = display.find('label[class=ridisplay]');
|
||||
var label = display.find('div[class=ridisplay]');
|
||||
label.text(conf.i18n.displayActivate + ' ' + RFC5545.description);
|
||||
textarea.val(RFC5545.result).change();
|
||||
// var startdate = findStartDate();
|
||||
@ -1425,15 +1526,25 @@
|
||||
// }
|
||||
display.find('button[name="riedit"]').text(conf.i18n.edit_rules);
|
||||
display.find('button[name="ridelete"]').show();
|
||||
|
||||
displayOn();
|
||||
}
|
||||
|
||||
function displayOff() {
|
||||
$('#single-event-container').show();
|
||||
$('#recc-event-container').hide();
|
||||
}
|
||||
|
||||
function recurrenceOff() {
|
||||
var label = display.find('label[class=ridisplay]');
|
||||
var label = display.find('div[class=ridisplay]');
|
||||
label.text(conf.i18n.displayUnactivate);
|
||||
textarea.val('').change(); // Clear the textarea.
|
||||
display.find('.rioccurrences').hide();
|
||||
display.find('button[name="riedit"]').text(conf.i18n.add_rules);
|
||||
display.find('button[name="ridelete"]').hide();
|
||||
|
||||
set_picker_date($('#end-user'), null);
|
||||
displayOff();
|
||||
}
|
||||
|
||||
function checkFields(form) {
|
||||
@ -1532,10 +1643,29 @@
|
||||
event.preventDefault();
|
||||
// if no field errors, process the request
|
||||
if (checkFields(form)) {
|
||||
|
||||
var start_moment = get_moment_with_time('#recc-start');
|
||||
set_picker_date($('#start-user'), start_moment.toDate());
|
||||
|
||||
var end_time = $('#recc-fo-end-time').timepicker("getTime");
|
||||
var end_datetime = null;
|
||||
if (end_time != null) {
|
||||
var end_moment = moment(start_moment).set({hour: end_time.getHours(), minute: end_time.getMinutes()});
|
||||
|
||||
if (end_moment < start_moment) {
|
||||
end_moment = end_moment.add(1, 'days');
|
||||
}
|
||||
|
||||
end_datetime = end_moment.toDate()
|
||||
}
|
||||
|
||||
set_picker_date($('#end-user'), end_datetime);
|
||||
|
||||
recurrenceOn();
|
||||
|
||||
// close overlay
|
||||
dialog.modal('hide');
|
||||
//form.overlay().close();
|
||||
recurrenceOn();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1579,17 +1709,25 @@
|
||||
// });
|
||||
|
||||
// Make the date input into a calendar dateinput()
|
||||
start_datepicker(form.find('input[name=recc-start]'));
|
||||
|
||||
var rirangebyenddatecalendar_input = form.find('input[name=rirangebyenddatecalendar]');
|
||||
start_datepicker(rirangebyenddatecalendar_input).datepicker("setDate", moment().toDate());
|
||||
|
||||
start_timepicker(form.find('input[name=recc-start-time]'));
|
||||
start_timepicker(form.find('input[name=recc-fo-end-time]'));
|
||||
|
||||
if (textarea.val()) {
|
||||
var result = widgetLoadFromRfc5545(form, conf, textarea.val(), false);
|
||||
if (result === -1) {
|
||||
var label = display.find('label[class=ridisplay]');
|
||||
var label = display.find('div[class=ridisplay]');
|
||||
label.text(conf.i18n.noRule);
|
||||
displayOff();
|
||||
} else {
|
||||
recurrenceOn();
|
||||
}
|
||||
} else {
|
||||
displayOff();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1607,16 +1745,39 @@
|
||||
function (e) {
|
||||
// Load the form to set up the right fields to show, etc.
|
||||
loadData(textarea.val());
|
||||
|
||||
e.preventDefault();
|
||||
dialog.modal();
|
||||
//form.overlay().load();
|
||||
}
|
||||
);
|
||||
|
||||
dialog.on('shown.bs.modal', function (e) {
|
||||
$("#recc-start-time").change(function() {
|
||||
$('#recc-fo-end-time').timepicker('option', 'minTime', $(this).timepicker("getTime"));
|
||||
});
|
||||
|
||||
$('#recc-start-user').datepicker("setDate", $('#start-user').datepicker("getDate"));
|
||||
$('#recc-start-time').timepicker('setTime', $('#start-time').timepicker("getTime"));
|
||||
$('#recc-start-time').change();
|
||||
$('#recc-fo-end-time').timepicker('setTime', $('#end-time').timepicker("getTime"));
|
||||
|
||||
$('#occurences-show-container .show-link').click(function(e){
|
||||
showLink(e, this);
|
||||
});
|
||||
|
||||
$('#occurences-hide-container .hide-link').click(function(e){
|
||||
hideLink(e, this);
|
||||
});
|
||||
|
||||
// Load the form to set up the right fields to show, etc.
|
||||
loadData(textarea.val());
|
||||
});
|
||||
|
||||
// Pop up the little add form when clicking "Add"
|
||||
var riaddoccurrence_input = form.find('div.riaddoccurrence input#adddate');
|
||||
start_datepicker(riaddoccurrence_input).datepicker("setDate", moment().toDate());
|
||||
form.find('input#addaction').click(occurrenceAdd);
|
||||
form.find('input#addoccurencebtn').click(occurrenceAdd);
|
||||
|
||||
// When the reload button is clicked, reload
|
||||
form.find('a.rirefreshbutton').click(
|
||||
@ -1652,7 +1813,7 @@
|
||||
}
|
||||
});
|
||||
// Update the selected dates section
|
||||
form.find('input:radio, .riweeklyweekday > input, input[name=ridailyinterval], input[name=riweeklyinterval], input[name=rimonthlyinterval], input[name=riyearlyinterval]').change(
|
||||
form.find('input:radio, .riweeklyweekday > input, input[name=ridailyinterval], input[name=riweeklyinterval], input[name=rimonthlyinterval], input[name=riyearlyinterval], input[name=recc-start]').change(
|
||||
function (e) {
|
||||
// Update only if the occurances are shown
|
||||
if (form.find('.rioccurrencesactions:visible').length !== 0) {
|
||||
@ -1667,6 +1828,10 @@
|
||||
form.find('.ricancelbutton').click(cancel);
|
||||
form.find('.risavebutton').click(save);
|
||||
|
||||
$('#recc-button').click(function() {
|
||||
$('button[name=riedit]').click();
|
||||
});
|
||||
|
||||
/*
|
||||
* Public API of RecurrenceInput
|
||||
*/
|
||||
|
||||
@ -1,405 +1,497 @@
|
||||
moment.locale('de')
|
||||
moment.locale("de");
|
||||
$.datepicker.setDefaults($.datepicker.regional["de"]);
|
||||
|
||||
jQuery.tools.recurrenceinput.localize('de', {
|
||||
displayUnactivate: 'Keine Wiederholungen',
|
||||
displayActivate: 'Wiederholt sich alle ',
|
||||
edit_rules: 'Bearbeiten...',
|
||||
add_rules: 'Hinzufügen...',
|
||||
delete_rules: 'Löschen',
|
||||
add: 'Hinzufügen',
|
||||
refresh: 'Aktualisieren',
|
||||
title: 'Wiederholung',
|
||||
preview: 'Ausgewählte Termine',
|
||||
addDate: 'Termin hinzufügen',
|
||||
recurrenceType: 'Wiederholt sich:',
|
||||
dailyInterval1: 'Wiederholung :',
|
||||
dailyInterval2: 'Tage',
|
||||
weeklyInterval1: 'Wiederholt sich alle:',
|
||||
weeklyInterval2: 'Woche(n)',
|
||||
weeklyWeekdays: 'Wiederholt sich alle:',
|
||||
weeklyWeekdaysHuman: 'am: ',
|
||||
monthlyInterval1: 'Wiederholt sich alle:',
|
||||
monthlyInterval2: 'Monat(e)',
|
||||
monthlyDayOfMonth1: 'Tag',
|
||||
monthlyDayOfMonth1Human: 'am Tag',
|
||||
monthlyDayOfMonth2: 'des Monats',
|
||||
monthlyDayOfMonth3: 'Monat(e)',
|
||||
monthlyDayOfMonth4: 'monthly_day_of_month_4',
|
||||
monthlyWeekdayOfMonth1: 'Den',
|
||||
monthlyWeekdayOfMonth1Human: 'am',
|
||||
monthlyWeekdayOfMonth2: ' ',
|
||||
monthlyWeekdayOfMonth3: 'im Monat',
|
||||
monthlyRepeatOn: 'Wiederholt sich:',
|
||||
yearlyInterval1: 'Wiederholt sich alle:',
|
||||
yearlyInterval2: 'Jahr(e)',
|
||||
yearlyDayOfMonth1: 'Jeden',
|
||||
yearlyDayOfMonth1Human: 'am',
|
||||
yearlyDayOfMonth2: ' ',
|
||||
yearlyDayOfMonth3: ' ',
|
||||
yearlyWeekdayOfMonth1: 'Den',
|
||||
yearlyWeekdayOfMonth1Human: 'am',
|
||||
yearlyWeekdayOfMonth2: ' ',
|
||||
yearlyWeekdayOfMonth3: 'von',
|
||||
yearlyWeekdayOfMonth4: ' ',
|
||||
yearlyRepeatOn: 'Wiederholt sich:',
|
||||
range: 'Ende der Wiederholung:',
|
||||
rangeNoEnd: 'Niemals',
|
||||
rangeByOccurrences1: 'Endet nach',
|
||||
rangeByOccurrences1Human: 'endet nach',
|
||||
rangeByOccurrences2: 'Ereigniss(en)',
|
||||
rangeByEndDate: 'Bis ',
|
||||
rangeByEndDateHuman: 'endet am ',
|
||||
including: ', und auch ',
|
||||
except: ', ausser für',
|
||||
cancel: 'Abbrechen',
|
||||
save: 'Speichern',
|
||||
recurrenceStart: 'Beginn der Wiederholung',
|
||||
additionalDate: 'Weitere Termine',
|
||||
include: 'Eingeschlossen',
|
||||
exclude: 'Ausgenommen',
|
||||
remove: 'Entfernen',
|
||||
orderIndexes: [
|
||||
'ersten', 'zweiten', 'dritten',
|
||||
'vierten', 'letzten'],
|
||||
months: [
|
||||
'Januar', 'Februar', 'März', 'April',
|
||||
'Mai', 'Juni', 'Juli', 'August',
|
||||
'September', 'Oktober', 'November', 'Dezember'],
|
||||
shortMonths: [
|
||||
'Jan', 'Feb', 'Mär',
|
||||
'Apr', 'Mai', 'Jun',
|
||||
'Jul', 'Aug', 'Sep',
|
||||
'Okt', 'Nov', 'Dez'],
|
||||
weekdays: [
|
||||
'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag',
|
||||
'Freitag', 'Samstag'],
|
||||
shortWeekdays: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],
|
||||
longDateFormat: 'D, dd.mm.yy',
|
||||
shortDateFormat: 'dd.mm.yy',
|
||||
unsupportedFeatures: 'Warning: This event uses recurrence features not supported by this widget. Saving the recurrence may change the recurrence in unintended ways: ',
|
||||
noTemplateMatch: 'No matching recurrence template',
|
||||
multipleDayOfMonth: 'Dieses Widget unterstützt keine mehrfach angelegten Tage in monatlicher oder jährlicher Wiederholung',
|
||||
bysetpos: 'BYSETPOS wird nicht unterstützt',
|
||||
noRule: 'Keine RRULE in RRULE Daten',
|
||||
noRepeatEvery: 'Error: The "Repeat every"-field must be between 1 and 1000',
|
||||
noEndDate: 'Fehler: Das Terminende ist nicht gesetzt. Bitte geben Sie einen korrekten Wert ein.',
|
||||
noRepeatOn: 'Error: "Repeat on"-value must be selected',
|
||||
pastEndDate: 'Fehler: Das Terminende kann nicht vor dem Terminanfang sein.',
|
||||
noEndAfterNOccurrences: 'Error: The "After N occurrences"-field must be between 1 and 1000',
|
||||
alreadyAdded: 'Das Datum wurde bereits hinzugefügt',
|
||||
rtemplate: {
|
||||
daily: 'Täglich',
|
||||
mondayfriday: 'Montags und Freitags',
|
||||
weekdays: 'Wochentags',
|
||||
weekly: 'Wöchentlich',
|
||||
monthly: 'Monatlich',
|
||||
yearly: 'Jährlich',
|
||||
}
|
||||
jQuery.tools.recurrenceinput.localize("de", {
|
||||
displayUnactivate: "Keine Wiederholungen",
|
||||
displayActivate: "Alle ",
|
||||
edit_rules: "Bearbeiten...",
|
||||
add_rules: "Hinzufügen...",
|
||||
delete_rules: "Löschen",
|
||||
add: "Hinzufügen",
|
||||
refresh: "Aktualisieren",
|
||||
title: "Regelmäßige Veranstaltung",
|
||||
preview: "Ausgewählte Termine",
|
||||
addDate: "Termin hinzufügen",
|
||||
recurrenceType: "Wiederholt sich",
|
||||
dailyInterval1: "Wiederholt sich alle",
|
||||
dailyInterval2: "Tage",
|
||||
weeklyInterval1: "Wiederholt sich alle",
|
||||
weeklyInterval2: "Woche(n)",
|
||||
weeklyWeekdays: "Wiederholt sich alle",
|
||||
weeklyWeekdaysHuman: "am: ",
|
||||
monthlyInterval1: "Wiederholt sich alle",
|
||||
monthlyInterval2: "Monat(e)",
|
||||
monthlyDayOfMonth1: "Tag",
|
||||
monthlyDayOfMonth1Human: "am Tag",
|
||||
monthlyDayOfMonth2: "des Monats",
|
||||
monthlyDayOfMonth3: "Monat(e)",
|
||||
monthlyDayOfMonth4: "monthly_day_of_month_4",
|
||||
monthlyWeekdayOfMonth1: "Den",
|
||||
monthlyWeekdayOfMonth1Human: "am",
|
||||
monthlyWeekdayOfMonth2: " ",
|
||||
monthlyWeekdayOfMonth3: "im Monat",
|
||||
monthlyRepeatOn: "Wiederholt sich",
|
||||
yearlyInterval1: "Wiederholt sich alle",
|
||||
yearlyInterval2: "Jahr(e)",
|
||||
yearlyDayOfMonth1: "Jeden",
|
||||
yearlyDayOfMonth1Human: "am",
|
||||
yearlyDayOfMonth2: " ",
|
||||
yearlyDayOfMonth3: " ",
|
||||
yearlyWeekdayOfMonth1: "Jeden",
|
||||
yearlyWeekdayOfMonth1Human: "am",
|
||||
yearlyWeekdayOfMonth2: " ",
|
||||
yearlyWeekdayOfMonth3: "im",
|
||||
yearlyWeekdayOfMonth4: " ",
|
||||
yearlyRepeatOn: "Wiederholt sich",
|
||||
range: "Ende der Wiederholung",
|
||||
rangeNoEnd: "Niemals",
|
||||
rangeByOccurrences1: "Endet nach",
|
||||
rangeByOccurrences1Human: "endet nach",
|
||||
rangeByOccurrences2: "Ereigniss(en)",
|
||||
rangeByEndDate: "Bis ",
|
||||
rangeByEndDateHuman: "endet am ",
|
||||
including: ", und auch ",
|
||||
except: ", ausser für",
|
||||
cancel: "Abbrechen",
|
||||
save: "Speichern",
|
||||
recurrenceStart: "Beginn der Wiederholung",
|
||||
additionalDate: "Weitere Termine",
|
||||
include: "Eingeschlossen",
|
||||
exclude: "Ausgenommen",
|
||||
remove: "Entfernen",
|
||||
orderIndexes: ["ersten", "zweiten", "dritten", "vierten", "letzten"],
|
||||
months: [
|
||||
"Januar",
|
||||
"Februar",
|
||||
"März",
|
||||
"April",
|
||||
"Mai",
|
||||
"Juni",
|
||||
"Juli",
|
||||
"August",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"Dezember",
|
||||
],
|
||||
shortMonths: [
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mär",
|
||||
"Apr",
|
||||
"Mai",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Okt",
|
||||
"Nov",
|
||||
"Dez",
|
||||
],
|
||||
weekdays: [
|
||||
"Sonntag",
|
||||
"Montag",
|
||||
"Dienstag",
|
||||
"Mittwoch",
|
||||
"Donnerstag",
|
||||
"Freitag",
|
||||
"Samstag",
|
||||
],
|
||||
shortWeekdays: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"],
|
||||
longDateFormat: "D, dd.mm.yy",
|
||||
shortDateFormat: "dd.mm.yy",
|
||||
unsupportedFeatures:
|
||||
"Warning: This event uses recurrence features not supported by this widget. Saving the recurrence may change the recurrence in unintended ways: ",
|
||||
noTemplateMatch: "No matching recurrence template",
|
||||
multipleDayOfMonth:
|
||||
"Dieses Widget unterstützt keine mehrfach angelegten Tage in monatlicher oder jährlicher Wiederholung",
|
||||
bysetpos: "BYSETPOS wird nicht unterstützt",
|
||||
noRule: "Keine RRULE in RRULE Daten",
|
||||
noRepeatEvery: 'Error: The "Repeat every"-field must be between 1 and 1000',
|
||||
noEndDate:
|
||||
"Fehler: Das Terminende ist nicht gesetzt. Bitte geben Sie einen korrekten Wert ein.",
|
||||
noRepeatOn: 'Error: "Repeat on"-value must be selected',
|
||||
pastEndDate: "Fehler: Das Terminende kann nicht vor dem Terminanfang sein.",
|
||||
noEndAfterNOccurrences:
|
||||
'Error: The "After N occurrences"-field must be between 1 and 1000',
|
||||
alreadyAdded: "Das Datum wurde bereits hinzugefügt",
|
||||
rtemplate: {
|
||||
daily: "Täglich",
|
||||
mondayfriday: "Montags und Freitags",
|
||||
weekdays: "Wochentags",
|
||||
weekly: "Wöchentlich",
|
||||
monthly: "Monatlich",
|
||||
yearly: "Jährlich",
|
||||
},
|
||||
|
||||
reccStart: "Startdatum",
|
||||
reccStartTime: "Beginn",
|
||||
reccFoEndTime: "Ende",
|
||||
});
|
||||
|
||||
function get_moment_with_time(field_id) {
|
||||
date_time_string = $(field_id).val() + ' ' + $(field_id + "-time").val();
|
||||
return moment(date_time_string);
|
||||
var date_time_string = $(field_id).val();
|
||||
var time_string = $(field_id + "-time").val();
|
||||
|
||||
if (time_string != undefined && time_string != "") {
|
||||
date_time_string += " " + time_string;
|
||||
}
|
||||
|
||||
return moment(date_time_string);
|
||||
}
|
||||
|
||||
function set_date_bounds(picker) {
|
||||
var data_range_to_attr = picker.attr('data-range-to');
|
||||
if (data_range_to_attr) {
|
||||
var hidden_field_id = picker.attr('id').replace('-user', '');
|
||||
var from_moment = get_moment_with_time('#'+hidden_field_id);
|
||||
$(data_range_to_attr + '-user').datepicker("option", "minDate", from_moment.toDate());
|
||||
var data_range_to_attr = picker.attr("data-range-to");
|
||||
if (data_range_to_attr) {
|
||||
var hidden_field_id = picker.attr("id").replace("-user", "");
|
||||
var from_moment = get_moment_with_time("#" + hidden_field_id);
|
||||
$(data_range_to_attr + "-user").datepicker(
|
||||
"option",
|
||||
"minDate",
|
||||
from_moment.toDate()
|
||||
);
|
||||
|
||||
var end_val = $(data_range_to_attr).val();
|
||||
if (end_val != '') {
|
||||
var end_moment = get_moment_with_time(data_range_to_attr);
|
||||
if (end_moment < from_moment) {
|
||||
set_picker_date($(data_range_to_attr), from_moment.toDate());
|
||||
}
|
||||
}
|
||||
|
||||
var data_range_max_attr = picker.attr('data-range-max-days');
|
||||
if (data_range_max_attr) {
|
||||
from_moment.add(data_range_max_attr, 'days');
|
||||
$(data_range_to_attr + '-user').datepicker("option", "maxDate", from_moment.toDate());
|
||||
}
|
||||
var end_val = $(data_range_to_attr).val();
|
||||
if (end_val != "") {
|
||||
var end_moment = get_moment_with_time(data_range_to_attr);
|
||||
if (end_moment < from_moment) {
|
||||
set_picker_date($(data_range_to_attr), from_moment.toDate());
|
||||
}
|
||||
}
|
||||
|
||||
var data_range_from_attr = picker.attr('data-range-from');
|
||||
if (data_range_from_attr) {
|
||||
var hidden_field_id = picker.attr('id').replace('-user', '');
|
||||
var to_moment = get_moment_with_time('#'+hidden_field_id);
|
||||
|
||||
var start_val = $(data_range_from_attr).val();
|
||||
if (start_val != '') {
|
||||
var start_moment = get_moment_with_time(data_range_from_attr);
|
||||
if (start_moment > to_moment) {
|
||||
set_picker_date($(data_range_from_attr), to_moment.toDate());
|
||||
}
|
||||
}
|
||||
var data_range_max_attr = picker.attr("data-range-max-days");
|
||||
if (data_range_max_attr) {
|
||||
from_moment.add(data_range_max_attr, "days");
|
||||
$(data_range_to_attr + "-user").datepicker(
|
||||
"option",
|
||||
"maxDate",
|
||||
from_moment.toDate()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
var data_range_from_attr = picker.attr("data-range-from");
|
||||
if (data_range_from_attr) {
|
||||
var hidden_field_id = picker.attr("id").replace("-user", "");
|
||||
var to_moment = get_moment_with_time("#" + hidden_field_id);
|
||||
|
||||
var start_val = $(data_range_from_attr).val();
|
||||
if (start_val != "") {
|
||||
var start_moment = get_moment_with_time(data_range_from_attr);
|
||||
if (start_moment > to_moment) {
|
||||
set_picker_date($(data_range_from_attr), to_moment.toDate());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function set_picker_date(picker, date, timeout = -1) {
|
||||
picker.datepicker("setDate", date);
|
||||
picker.datepicker("setDate", date);
|
||||
|
||||
var hidden_field_id = picker.attr('id').replace('-user', '');
|
||||
$("#" + hidden_field_id + "-time").timepicker('setTime', date);
|
||||
var hidden_field_id = picker.attr("id").replace("-user", "");
|
||||
$("#" + hidden_field_id + "-time").timepicker("setTime", date);
|
||||
|
||||
if (timeout < 0) {
|
||||
set_date_bounds(picker);
|
||||
} else {
|
||||
window.setTimeout(function() {
|
||||
set_date_bounds(picker);
|
||||
}, timeout);
|
||||
}
|
||||
if (timeout < 0) {
|
||||
set_date_bounds(picker);
|
||||
} else {
|
||||
window.setTimeout(function () {
|
||||
set_date_bounds(picker);
|
||||
}, timeout);
|
||||
}
|
||||
}
|
||||
|
||||
function start_datepicker(input) {
|
||||
var hidden_field = input;
|
||||
var hidden_field_id = hidden_field.attr('id');
|
||||
var hidden_field = input;
|
||||
var hidden_field_id = hidden_field.attr("id");
|
||||
|
||||
var user_field = hidden_field.clone();
|
||||
user_field.removeAttr('name');
|
||||
user_field.removeClass('datepicker');
|
||||
user_field.attr('id', hidden_field_id + '-user');
|
||||
user_field.attr('autocomplete', 'off');
|
||||
var user_field = hidden_field.clone();
|
||||
user_field.removeAttr("name");
|
||||
user_field.removeClass("datepicker");
|
||||
user_field.attr("id", hidden_field_id + "-user");
|
||||
user_field.attr("autocomplete", "off");
|
||||
|
||||
var picker = user_field.datepicker({
|
||||
dateFormat: "D, dd.mm.yy",
|
||||
altField: hidden_field,
|
||||
altFormat: "yy-mm-dd",
|
||||
onSelect: function(date) {
|
||||
hidden_field.change();
|
||||
}
|
||||
});
|
||||
var picker = user_field.datepicker({
|
||||
dateFormat: "D, dd.mm.yy",
|
||||
altField: hidden_field,
|
||||
altFormat: "yy-mm-dd",
|
||||
onSelect: function (date) {
|
||||
hidden_field.change();
|
||||
},
|
||||
});
|
||||
|
||||
hidden_field.data('picker', picker);
|
||||
hidden_field.hide();
|
||||
hidden_field.data("picker", picker);
|
||||
hidden_field.hide();
|
||||
|
||||
var hidden_value = hidden_field.val();
|
||||
if (hidden_value) {
|
||||
set_picker_date(
|
||||
picker,
|
||||
get_moment_with_time("#" + hidden_field_id).toDate(),
|
||||
100
|
||||
);
|
||||
}
|
||||
|
||||
hidden_field.after(user_field);
|
||||
|
||||
var data_range_to_attr = picker.attr("data-range-to");
|
||||
if (data_range_to_attr) {
|
||||
$(data_range_to_attr).attr("data-range-from", "#" + hidden_field_id);
|
||||
}
|
||||
|
||||
hidden_field.change(function () {
|
||||
var hidden_value = hidden_field.val();
|
||||
var existing_date = picker.datepicker("getDate");
|
||||
var existing_moment = existing_date != null ? moment(existing_date) : null;
|
||||
|
||||
if (hidden_value) {
|
||||
set_picker_date(picker, get_moment_with_time('#'+hidden_field_id).toDate(), 100)
|
||||
hidden_moment = moment(hidden_value);
|
||||
if (!hidden_moment.isSame(existing_moment)) {
|
||||
picker.datepicker("setDate", hidden_moment.toDate());
|
||||
}
|
||||
set_date_bounds(picker);
|
||||
} else if (existing_date != null) {
|
||||
set_picker_date(picker, null);
|
||||
}
|
||||
});
|
||||
|
||||
hidden_field.after(user_field);
|
||||
|
||||
var data_range_to_attr = picker.attr('data-range-to');
|
||||
if (data_range_to_attr) {
|
||||
$(data_range_to_attr).attr('data-range-from', '#'+hidden_field_id);
|
||||
user_field.change(function () {
|
||||
var user_value = user_field.val();
|
||||
if (!user_value) {
|
||||
set_picker_date(picker, null);
|
||||
}
|
||||
});
|
||||
|
||||
hidden_field.change(function() {
|
||||
var hidden_value = hidden_field.val();
|
||||
var existing_date = picker.datepicker( "getDate" );
|
||||
var existing_moment = existing_date != null ? moment(existing_date) : null;
|
||||
$("#" + hidden_field_id + "-time").change(function () {
|
||||
set_date_bounds(picker);
|
||||
});
|
||||
|
||||
if (hidden_value) {
|
||||
hidden_moment = moment(hidden_value);
|
||||
if (!hidden_moment.isSame(existing_moment)) {
|
||||
picker.datepicker("setDate", hidden_moment.toDate());
|
||||
}
|
||||
set_date_bounds(picker);
|
||||
} else if (existing_date != null) {
|
||||
set_picker_date(picker, null)
|
||||
}
|
||||
});
|
||||
|
||||
user_field.change(function() {
|
||||
var user_value = user_field.val();
|
||||
if (!user_value) {
|
||||
set_picker_date(picker, null)
|
||||
}
|
||||
});
|
||||
|
||||
$("#" + hidden_field_id + "-time").change(function() {
|
||||
set_date_bounds(picker);
|
||||
});
|
||||
|
||||
return picker;
|
||||
return picker;
|
||||
}
|
||||
|
||||
function handle_request_start(result_id = '#result_container', spinner_id = '#spinner', error_id = '#error_alert') {
|
||||
$(result_id).hide();
|
||||
$(spinner_id).show();
|
||||
$(error_id).hide();
|
||||
function start_timepicker(input) {
|
||||
input.timepicker({
|
||||
timeFormat: "H:i",
|
||||
});
|
||||
}
|
||||
|
||||
function handle_request_error(xhr, status, error, result_id = '#result_container', spinner_id = '#spinner', error_id = '#error_alert') {
|
||||
$(error_id).text(status);
|
||||
$(error_id).show();
|
||||
$(spinner_id).hide();
|
||||
function handle_request_start(
|
||||
result_id = "#result_container",
|
||||
spinner_id = "#spinner",
|
||||
error_id = "#error_alert"
|
||||
) {
|
||||
$(result_id).hide();
|
||||
$(spinner_id).show();
|
||||
$(error_id).hide();
|
||||
}
|
||||
|
||||
function handle_request_success(result_id = '#result_container', spinner_id = '#spinner', error_id = '#error_alert') {
|
||||
$(result_id).show();
|
||||
$(spinner_id).hide();
|
||||
$(error_id).hide();
|
||||
function handle_request_error(
|
||||
xhr,
|
||||
status,
|
||||
error,
|
||||
result_id = "#result_container",
|
||||
spinner_id = "#spinner",
|
||||
error_id = "#error_alert"
|
||||
) {
|
||||
$(error_id).text(status);
|
||||
$(error_id).show();
|
||||
$(spinner_id).hide();
|
||||
}
|
||||
|
||||
function reset_place_form(prefix = '') {
|
||||
$('#' + prefix + 'name').val('');
|
||||
$('#' + prefix + 'url').val('');
|
||||
$('#' + prefix + 'location-street').val('');
|
||||
$('#' + prefix + 'location-postalCode').val('');
|
||||
$('#' + prefix + 'location-city').val('');
|
||||
$('#' + prefix + 'location-state').val('');
|
||||
$('#' + prefix + 'location-latitude').val('');
|
||||
$('#' + prefix + 'location-longitude').val('');
|
||||
function handle_request_success(
|
||||
result_id = "#result_container",
|
||||
spinner_id = "#spinner",
|
||||
error_id = "#error_alert"
|
||||
) {
|
||||
$(result_id).show();
|
||||
$(spinner_id).hide();
|
||||
$(error_id).hide();
|
||||
}
|
||||
|
||||
function reset_organizer_form(prefix = '') {
|
||||
$('#' + prefix + 'name').val('');
|
||||
$('#' + prefix + 'location-street').val('');
|
||||
$('#' + prefix + 'location-postalCode').val('');
|
||||
$('#' + prefix + 'location-city').val('');
|
||||
function reset_place_form(prefix = "") {
|
||||
$("#" + prefix + "name").val("");
|
||||
$("#" + prefix + "url").val("");
|
||||
$("#" + prefix + "location-street").val("");
|
||||
$("#" + prefix + "location-postalCode").val("");
|
||||
$("#" + prefix + "location-city").val("");
|
||||
$("#" + prefix + "location-state").val("");
|
||||
$("#" + prefix + "location-latitude").val("");
|
||||
$("#" + prefix + "location-longitude").val("");
|
||||
}
|
||||
|
||||
function fill_place_form_with_gmaps_place(place, prefix = '', location_only = false) {
|
||||
var street_number = "";
|
||||
var route = "";
|
||||
var city = "";
|
||||
function reset_organizer_form(prefix = "") {
|
||||
$("#" + prefix + "name").val("");
|
||||
$("#" + prefix + "location-street").val("");
|
||||
$("#" + prefix + "location-postalCode").val("");
|
||||
$("#" + prefix + "location-city").val("");
|
||||
}
|
||||
|
||||
for (var i = 0; i < place.address_components.length; i++) {
|
||||
var component = place.address_components[i]
|
||||
var addressType = component.types[0];
|
||||
var val = component.long_name
|
||||
function fill_place_form_with_gmaps_place(
|
||||
place,
|
||||
prefix = "",
|
||||
location_only = false
|
||||
) {
|
||||
var street_number = "";
|
||||
var route = "";
|
||||
var city = "";
|
||||
|
||||
if (addressType == 'street_number') {
|
||||
street_number = val;
|
||||
} else if (addressType == 'route') {
|
||||
route = val;
|
||||
} else if (addressType == 'locality') {
|
||||
city = val;
|
||||
} else if (addressType == 'administrative_area_level_1') {
|
||||
$('#' + prefix + 'location-state').val(val);
|
||||
} else if (addressType == 'postal_code') {
|
||||
$('#' + prefix + 'location-postalCode').val(val);
|
||||
}
|
||||
for (var i = 0; i < place.address_components.length; i++) {
|
||||
var component = place.address_components[i];
|
||||
var addressType = component.types[0];
|
||||
var val = component.long_name;
|
||||
|
||||
if (addressType == "street_number") {
|
||||
street_number = val;
|
||||
} else if (addressType == "route") {
|
||||
route = val;
|
||||
} else if (addressType == "locality") {
|
||||
city = val;
|
||||
} else if (addressType == "administrative_area_level_1") {
|
||||
$("#" + prefix + "location-state").val(val);
|
||||
} else if (addressType == "postal_code") {
|
||||
$("#" + prefix + "location-postalCode").val(val);
|
||||
}
|
||||
}
|
||||
|
||||
if (!location_only) {
|
||||
$('#' + prefix + 'name').val(place.name);
|
||||
if (!location_only) {
|
||||
$("#" + prefix + "name").val(place.name);
|
||||
|
||||
if (place.website) {
|
||||
$('#' + prefix + 'url').val(place.website);
|
||||
}
|
||||
if (place.website) {
|
||||
$("#" + prefix + "url").val(place.website);
|
||||
}
|
||||
}
|
||||
|
||||
$('#' + prefix + 'location-street').val([route, street_number].join(' '));
|
||||
$('#' + prefix + 'location-city').val(city);
|
||||
$('#' + prefix + 'location-latitude').val(place.geometry.location.lat);
|
||||
$('#' + prefix + 'location-longitude').val(place.geometry.location.lng);
|
||||
$("#" + prefix + "location-street").val([route, street_number].join(" "));
|
||||
$("#" + prefix + "location-city").val(city);
|
||||
$("#" + prefix + "location-latitude").val(place.geometry.location.lat);
|
||||
$("#" + prefix + "location-longitude").val(place.geometry.location.lng);
|
||||
}
|
||||
|
||||
$( function() {
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
function showLink(e, element) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$("#" + $(element).attr("data-show-container")).hide();
|
||||
$("#" + $(element).attr("data-container")).show();
|
||||
$("#" + $(element).attr("data-container")).trigger("shown");
|
||||
}
|
||||
|
||||
$.fn.select2.defaults.set("language", "de");
|
||||
$('.autocomplete').select2({
|
||||
width: '100%',
|
||||
theme: 'bootstrap4'
|
||||
});
|
||||
$('.autocomplete-multi').select2({
|
||||
width: '100%'
|
||||
});
|
||||
function hideLink(e, element) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$("#" + $(element).attr("data-show-container")).show();
|
||||
$("#" + $(element).attr("data-container")).hide();
|
||||
$("#" + $(element).attr("data-container")).trigger("hidden");
|
||||
}
|
||||
|
||||
$('.datepicker').each(function (index, element){
|
||||
start_datepicker($(element));
|
||||
});
|
||||
|
||||
$('.timepicker').timepicker({
|
||||
timeFormat: 'H:i'
|
||||
});
|
||||
|
||||
$("#clear_location_btn").click(function () {
|
||||
$("#coordinate").val("");
|
||||
$("#location").val("");
|
||||
});
|
||||
|
||||
$(".btn-print").click(function () {
|
||||
window.print();
|
||||
return false;
|
||||
});
|
||||
|
||||
$("#copy_input_button").click(function () {
|
||||
$("#copy_input").select();
|
||||
document.execCommand("copy");
|
||||
$(this).tooltip('show');
|
||||
});
|
||||
|
||||
$('#copy_input_button').mouseleave(function () {
|
||||
$(this).tooltip('hide');
|
||||
});
|
||||
|
||||
$("#geolocation_btn").click(function () {
|
||||
if ("geolocation" in navigator){
|
||||
navigator.geolocation.getCurrentPosition(function(position){
|
||||
$("#coordinate").val(position.coords.latitude+","+position.coords.longitude);
|
||||
$("#location").val("Aktuelle Position");
|
||||
$("#location").removeClass("is-invalid");
|
||||
}, handleError);
|
||||
|
||||
function handleError(error){
|
||||
//Handle Errors
|
||||
switch(error.code) {
|
||||
case error.PERMISSION_DENIED:
|
||||
alert("User denied the request for Geolocation.");
|
||||
break;
|
||||
case error.POSITION_UNAVAILABLE:
|
||||
alert("Location information is unavailable.");
|
||||
break;
|
||||
case error.TIMEOUT:
|
||||
alert("The request to get user location timed out.");
|
||||
break;
|
||||
case error.UNKNOWN_ERROR:
|
||||
alert("An unknown error occurred.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
alert("Browser doesn't support geolocation!");
|
||||
}
|
||||
});
|
||||
|
||||
$('.dropzone-wrapper').on('dragover', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$(this).addClass('dragover');
|
||||
});
|
||||
|
||||
$('.dropzone-wrapper').on('dragleave', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$(this).removeClass('dragover');
|
||||
});
|
||||
|
||||
$('.show-link').click(function(e){
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$('#'+$(this).attr('data-show-container')).hide();
|
||||
$('#'+$(this).attr('data-container')).show();
|
||||
$('#'+$(this).attr('data-container')).trigger('shown');
|
||||
});
|
||||
|
||||
$('.hide-link').click(function(e){
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$('#'+$(this).attr('data-show-container')).show();
|
||||
$('#'+$(this).attr('data-container')).hide();
|
||||
$('#'+$(this).attr('data-container')).trigger('hidden');
|
||||
});
|
||||
});
|
||||
|
||||
String.prototype.truncate = String.prototype.truncate ||
|
||||
function ( n, useWordBoundary ){
|
||||
if (this.length <= n) { return this; }
|
||||
const subString = this.substr(0, n-1); // the original check
|
||||
return (useWordBoundary
|
||||
? subString.substr(0, subString.lastIndexOf(" "))
|
||||
: subString) + "…";
|
||||
};
|
||||
String.prototype.truncate =
|
||||
String.prototype.truncate ||
|
||||
function (n, useWordBoundary) {
|
||||
if (this.length <= n) {
|
||||
return this;
|
||||
}
|
||||
const subString = this.substr(0, n - 1); // the original check
|
||||
return (
|
||||
(useWordBoundary
|
||||
? subString.substr(0, subString.lastIndexOf(" "))
|
||||
: subString) + "…"
|
||||
);
|
||||
};
|
||||
|
||||
function scroll_to_element(element, complete) {
|
||||
$('html, body').animate({ scrollTop: element.offset().top }, { duration: 'slow', complete: complete });
|
||||
}
|
||||
$("html, body").animate(
|
||||
{ scrollTop: element.offset().top },
|
||||
{ duration: "slow", complete: complete }
|
||||
);
|
||||
}
|
||||
|
||||
$(function () {
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
|
||||
$.fn.select2.defaults.set("language", "de");
|
||||
$(".autocomplete").select2({
|
||||
width: "100%",
|
||||
theme: "bootstrap4",
|
||||
});
|
||||
$(".autocomplete-multi").select2({
|
||||
width: "100%",
|
||||
});
|
||||
|
||||
$(".datepicker").each(function (index, element) {
|
||||
start_datepicker($(element));
|
||||
});
|
||||
|
||||
$(".timepicker").each(function (index, element) {
|
||||
start_timepicker($(element));
|
||||
});
|
||||
|
||||
$("#clear_location_btn").click(function () {
|
||||
$("#coordinate").val("");
|
||||
$("#location").val("");
|
||||
});
|
||||
|
||||
$(".btn-print").click(function () {
|
||||
window.print();
|
||||
return false;
|
||||
});
|
||||
|
||||
$("#copy_input_button").click(function () {
|
||||
$("#copy_input").select();
|
||||
document.execCommand("copy");
|
||||
$(this).tooltip("show");
|
||||
});
|
||||
|
||||
$("#copy_input_button").mouseleave(function () {
|
||||
$(this).tooltip("hide");
|
||||
});
|
||||
|
||||
$("#geolocation_btn").click(function () {
|
||||
if ("geolocation" in navigator) {
|
||||
navigator.geolocation.getCurrentPosition(function (position) {
|
||||
$("#coordinate").val(
|
||||
position.coords.latitude + "," + position.coords.longitude
|
||||
);
|
||||
$("#location").val("Aktuelle Position");
|
||||
$("#location").removeClass("is-invalid");
|
||||
}, handleError);
|
||||
|
||||
function handleError(error) {
|
||||
//Handle Errors
|
||||
switch (error.code) {
|
||||
case error.PERMISSION_DENIED:
|
||||
alert("User denied the request for Geolocation.");
|
||||
break;
|
||||
case error.POSITION_UNAVAILABLE:
|
||||
alert("Location information is unavailable.");
|
||||
break;
|
||||
case error.TIMEOUT:
|
||||
alert("The request to get user location timed out.");
|
||||
break;
|
||||
case error.UNKNOWN_ERROR:
|
||||
alert("An unknown error occurred.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
alert("Browser doesn't support geolocation!");
|
||||
}
|
||||
});
|
||||
|
||||
$(".dropzone-wrapper").on("dragover", function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$(this).addClass("dragover");
|
||||
});
|
||||
|
||||
$(".dropzone-wrapper").on("dragleave", function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$(this).removeClass("dragover");
|
||||
});
|
||||
|
||||
$(".show-link").click(function (e) {
|
||||
showLink(e, this);
|
||||
});
|
||||
|
||||
$(".hide-link").click(function (e) {
|
||||
hideLink(e, this);
|
||||
});
|
||||
});
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{% macro render_field_with_errors(field) %}
|
||||
{% set is_collapsible = kwargs['is_collapsible'] if 'is_collapsible' in kwargs else False %}
|
||||
{% if is_collapsible %}
|
||||
<div class="mb-4" id="{{ field.id }}-show-container"{% if field.data %} style="display: none;"{% endif %}>
|
||||
<div class="mb-3" id="{{ field.id }}-show-container"{% if field.data %} style="display: none;"{% endif %}>
|
||||
<a href="#" class="show-link" data-container="{{ field.id }}-container" data-show-container="{{ field.id }}-show-container"><i class="fa fa-plus"></i> {{ field.label.text }}</a>
|
||||
</div>
|
||||
<div id="{{ field.id }}-container"{% if not field.data %} style="display: none;"{% endif %}>
|
||||
@ -93,7 +93,7 @@
|
||||
</div>
|
||||
|
||||
{% if is_collapsible %}
|
||||
<div class="mb-4" id="{{ field.id }}-hide-container">
|
||||
<div class="mb-3" id="{{ field.id }}-hide-container">
|
||||
<a href="#" class="hide-link" data-container="{{ field.id }}-container" data-show-container="{{ field.id }}-show-container"><i class="fa fa-minus"></i> {{ field.label.text }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -1230,6 +1230,44 @@ if (URL) {
|
||||
}
|
||||
});
|
||||
|
||||
function createSelect2Tag(params) {
|
||||
var term = $.trim(params.term);
|
||||
|
||||
if (term === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
id: term,
|
||||
tag_text: "{{ _('Just use %(term)s', term='%(term)s') }}".replace("%(term)s", '"' + term + '"'),
|
||||
term: term,
|
||||
text: term,
|
||||
is_new_tag: true
|
||||
}
|
||||
}
|
||||
|
||||
function insertSelect2Tag(data, tag) {
|
||||
data.push(tag);
|
||||
}
|
||||
|
||||
function select2TemplateResult(state) {
|
||||
if ("is_new_tag" in state) {
|
||||
return $("<strong>" + state.tag_text + "</strong>");
|
||||
}
|
||||
return state.text;
|
||||
}
|
||||
|
||||
function select2GetData(e) {
|
||||
var dataArray = $(e.target).select2('data');
|
||||
var data = {};
|
||||
|
||||
if (dataArray.length > 0) {
|
||||
data = dataArray[0];
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
</script>
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
@ -88,51 +88,11 @@ $( function() {
|
||||
}
|
||||
},
|
||||
placeholder: "{{ _('Enter place or address') }}",
|
||||
createTag: function (params) {
|
||||
var term = $.trim(params.term);
|
||||
|
||||
if (term === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
id: term,
|
||||
text: "{{ _('Just use %(term)s', term='%(term)s') }}".replace("%(term)s", term),
|
||||
term: term,
|
||||
is_new_tag: true
|
||||
}
|
||||
},
|
||||
insertTag: function (data, tag) {
|
||||
data.push(tag);
|
||||
},
|
||||
templateResult: function (state) {
|
||||
if ("is_new_tag" in state) {
|
||||
return $("<strong>" + state.text + "</strong>");
|
||||
}
|
||||
return state.text;
|
||||
}
|
||||
});
|
||||
|
||||
function get_gmaps_place_details(place_id) {
|
||||
$.ajax({
|
||||
url: "{{ url_for('js_autocomplete_gmaps_place') }}",
|
||||
type: "get",
|
||||
dataType: "json",
|
||||
data: "gmaps_id=" + place_id,
|
||||
success: function (data) {
|
||||
fill_place_form_with_gmaps_place(data, 'new_event_place-');
|
||||
$('#new_place_container').find(':input').valid();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#event_place_id').on('select2:close', function (e) {
|
||||
var dataArray = $(e.target).select2('data');
|
||||
var data = {};
|
||||
|
||||
if (dataArray.length > 0) {
|
||||
data = dataArray[0];
|
||||
}
|
||||
createTag: createSelect2Tag,
|
||||
insertTag: insertSelect2Tag,
|
||||
templateResult: select2TemplateResult
|
||||
}).on('select2:close', function (e) {
|
||||
var data = select2GetData(e);
|
||||
|
||||
if ("is_new_tag" in data || "gmaps_id" in data) {
|
||||
$(this).val(null).trigger('change');
|
||||
@ -153,6 +113,19 @@ $( function() {
|
||||
}
|
||||
});
|
||||
|
||||
function get_gmaps_place_details(place_id) {
|
||||
$.ajax({
|
||||
url: "{{ url_for('js_autocomplete_gmaps_place') }}",
|
||||
type: "get",
|
||||
dataType: "json",
|
||||
data: "gmaps_id=" + place_id,
|
||||
success: function (data) {
|
||||
fill_place_form_with_gmaps_place(data, 'new_event_place-');
|
||||
$('#new_place_container').find(':input').valid();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('input[type=radio][name=event_place_choice]').on('change', function() {
|
||||
update_place_container($(this).val());
|
||||
});
|
||||
@ -201,38 +174,11 @@ $( function() {
|
||||
}
|
||||
},
|
||||
placeholder: "{{ _('Enter organizer') }}",
|
||||
createTag: function (params) {
|
||||
var term = $.trim(params.term);
|
||||
|
||||
if (term === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
id: term,
|
||||
text: "{{ _('Just use %(term)s', term='%(term)s') }}".replace("%(term)s", term),
|
||||
term: term,
|
||||
is_new_tag: true
|
||||
}
|
||||
},
|
||||
insertTag: function (data, tag) {
|
||||
data.push(tag);
|
||||
},
|
||||
templateResult: function (state) {
|
||||
if ("is_new_tag" in state) {
|
||||
return $("<strong>" + state.text + "</strong>");
|
||||
}
|
||||
return state.text;
|
||||
}
|
||||
});
|
||||
|
||||
$('#organizer_id').on('select2:close', function (e) {
|
||||
var dataArray = $(e.target).select2('data');
|
||||
var data = {};
|
||||
|
||||
if (dataArray.length > 0) {
|
||||
data = dataArray[0];
|
||||
}
|
||||
createTag: createSelect2Tag,
|
||||
insertTag: insertSelect2Tag,
|
||||
templateResult: select2TemplateResult
|
||||
}).on('select2:close', function (e) {
|
||||
var data = select2GetData(e);
|
||||
|
||||
if ("is_new_tag" in data) {
|
||||
$(this).val(null).trigger('change');
|
||||
@ -266,6 +212,7 @@ $( function() {
|
||||
update_organizer_container($('input[type=radio][name=organizer_choice]:checked').val());
|
||||
|
||||
{{ render_end_container_handling() }}
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@ -291,9 +238,14 @@ $( function() {
|
||||
{{ _('Event date') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ render_field_with_errors(form.start, **{"data-range-to":"#end", "data-range-max-days": "14"}) }}
|
||||
{{ render_field_with_errors(form.end, is_collapsible=1) }}
|
||||
{{ render_field_with_errors(form.recurrence_rule, ri="rrule") }}
|
||||
<div id="single-event-container">
|
||||
{{ render_field_with_errors(form.start, **{"data-range-to":"#end", "data-range-max-days": "14"}) }}
|
||||
{{ render_field_with_errors(form.end, is_collapsible=1) }}
|
||||
<button type="button" id="recc-button" class="btn btn-outline-secondary"><i class="fas fa-history"></i> {{ _('Recurring event') }}</button>
|
||||
</div>
|
||||
<div id="recc-event-container">
|
||||
{{ render_field_with_errors(form.recurrence_rule, ri="rrule") }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -129,9 +129,14 @@
|
||||
{{ _('Event date') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ render_field_with_errors(form.start, **{"data-range-to":"#end", "data-range-max-days": "14"}) }}
|
||||
{{ render_field_with_errors(form.end, is_collapsible=1) }}
|
||||
{{ render_field_with_errors(form.recurrence_rule, ri="rrule") }}
|
||||
<div id="single-event-container">
|
||||
{{ render_field_with_errors(form.start, **{"data-range-to":"#end", "data-range-max-days": "14"}) }}
|
||||
{{ render_field_with_errors(form.end, is_collapsible=1) }}
|
||||
<button type="button" id="recc-button" class="btn btn-outline-secondary"><i class="fas fa-history"></i> {{ _('Recurring event') }}</button>
|
||||
</div>
|
||||
<div id="recc-event-container">
|
||||
{{ render_field_with_errors(form.recurrence_rule, ri="rrule") }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -79,45 +79,69 @@
|
||||
}
|
||||
});
|
||||
|
||||
$('.wizard-next').click(function(){
|
||||
$('.wizard-next').click(function(e){
|
||||
e.preventDefault();
|
||||
wizard.steps('next');
|
||||
});
|
||||
|
||||
$('.wizard-prev').click(function(){
|
||||
$('.wizard-prev').click(function(e){
|
||||
e.preventDefault();
|
||||
wizard.steps('previous');
|
||||
});
|
||||
|
||||
{{ render_cropper_code() }}
|
||||
|
||||
$('#event_place_id').select2({width: '100%', language: 'de', tags: true, theme: 'bootstrap4'})
|
||||
.on('select2:select', function (e) {
|
||||
var item = $('#event_place_id').select2('data')[0];
|
||||
var needs_suffix = item.id != '' && item.id == item.text;
|
||||
$('#event_place_id').select2({
|
||||
width: '100%',
|
||||
language: 'de',
|
||||
tags: true,
|
||||
theme: 'bootstrap4',
|
||||
placeholder: "{{ _('Enter place or address') }}",
|
||||
createTag: createSelect2Tag,
|
||||
insertTag: insertSelect2Tag,
|
||||
templateResult: select2TemplateResult
|
||||
}).on('select2:close', function (e) {
|
||||
var data = select2GetData(e);
|
||||
|
||||
if (needs_suffix) {
|
||||
var input = $($.parseHTML('<input type="text" id="event_place_id_suffix" name="event_place_id_suffix" class="form-control mt-2" placeholder="Adresse" />'));
|
||||
$('#event_place_id').siblings('.select2').after(input);
|
||||
if ("is_new_tag" in data) {
|
||||
if ($('#event_place_id_suffix').length) {
|
||||
$('#event_place_id_suffix').val('');
|
||||
} else {
|
||||
var input = $($.parseHTML('<input type="text" id="event_place_id_suffix" name="event_place_id_suffix" class="form-control mt-2" placeholder="Adresse" />'));
|
||||
$('#event_place_id').siblings('.select2').after(input);
|
||||
}
|
||||
$('#event_place_id_suffix').focus();
|
||||
} else {
|
||||
$('#event_place_id_suffix').remove();
|
||||
}
|
||||
});
|
||||
|
||||
$('#organizer_id').select2({width: '100%', language: 'de', tags: true, theme: 'bootstrap4'})
|
||||
.on('select2:select', function (e) {
|
||||
var item = $('#organizer_id').select2('data')[0];
|
||||
var needs_suffix = item.id != '' && item.id == item.text;
|
||||
$('#organizer_id').select2({
|
||||
width: '100%',
|
||||
language: 'de',
|
||||
tags: true,
|
||||
theme: 'bootstrap4',
|
||||
placeholder: "{{ _('Enter organizer') }}",
|
||||
createTag: createSelect2Tag,
|
||||
insertTag: insertSelect2Tag,
|
||||
templateResult: select2TemplateResult
|
||||
}).on('select2:select', function (e) {
|
||||
var data = select2GetData(e);
|
||||
|
||||
if (needs_suffix) {
|
||||
var input = $($.parseHTML('<input type="text" id="organizer_id_suffix" name="organizer_id_suffix" class="form-control mt-2" placeholder="Adresse" />'));
|
||||
$('#organizer_id').siblings('.select2').after(input);
|
||||
if ("is_new_tag" in data) {
|
||||
if ($('#organizer_id_suffix').length) {
|
||||
$('#organizer_id_suffix').val('');
|
||||
} else {
|
||||
var input = $($.parseHTML('<input type="text" id="organizer_id_suffix" name="organizer_id_suffix" class="form-control mt-2" placeholder="Adresse" />'));
|
||||
$('#organizer_id').siblings('.select2').after(input);
|
||||
}
|
||||
$('#organizer_id_suffix').focus();
|
||||
} else {
|
||||
$('#organizer_id_suffix').remove();
|
||||
}
|
||||
});
|
||||
|
||||
{{ render_end_container_handling() }}
|
||||
{{ render_end_container_handling() }}
|
||||
|
||||
});
|
||||
</script>
|
||||
@ -203,9 +227,15 @@
|
||||
{{ render_field_with_errors(form.name) }}
|
||||
{{ render_field_with_errors(form.event_place_id, class="w-100") }}
|
||||
{{ render_field_with_errors(form.organizer_id, class="w-100") }}
|
||||
{{ render_field_with_errors(form.start, **{"data-range-to":"#end", "data-range-max-days": "14"}) }}
|
||||
{{ render_field_with_errors(form.end, is_collapsible=1) }}
|
||||
{{ render_field_with_errors(form.recurrence_rule, ri="rrule") }}
|
||||
|
||||
<div id="single-event-container" class="mb-3">
|
||||
{{ render_field_with_errors(form.start, **{"data-range-to":"#end", "data-range-max-days": "14"}) }}
|
||||
{{ render_field_with_errors(form.end, is_collapsible=1) }}
|
||||
<button type="button" id="recc-button" class="btn btn-outline-secondary"><i class="fas fa-history"></i> {{ _('Recurring event') }}</button>
|
||||
</div>
|
||||
<div id="recc-event-container">
|
||||
{{ render_field_with_errors(form.recurrence_rule, ri="rrule") }}
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
<a class="btn btn-secondary my-1 wizard-prev" href="#" role="button">{{ _('Previous') }}</a>
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-08-07 11:28+0200\n"
|
||||
"POT-Creation-Date: 2021-08-11 07:54+0200\n"
|
||||
"PO-Revision-Date: 2020-06-07 18:51+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: de\n"
|
||||
@ -166,24 +166,24 @@ msgstr "Event_"
|
||||
msgid "."
|
||||
msgstr "."
|
||||
|
||||
#: project/forms/admin.py:10 project/templates/layout.html:329
|
||||
#: project/forms/admin.py:10 project/templates/layout.html:331
|
||||
#: project/views/root.py:42
|
||||
msgid "Terms of service"
|
||||
msgstr "Nutzungsbedingungen"
|
||||
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:333
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:335
|
||||
#: project/views/root.py:50
|
||||
msgid "Legal notice"
|
||||
msgstr "Impressum"
|
||||
|
||||
#: project/forms/admin.py:12 project/templates/_macros.html:1280
|
||||
#: project/templates/layout.html:337
|
||||
#: project/templates/widget/event_suggestion/create.html:172
|
||||
#: project/forms/admin.py:12 project/templates/_macros.html:1284
|
||||
#: project/templates/layout.html:339
|
||||
#: project/templates/widget/event_suggestion/create.html:177
|
||||
#: project/views/admin_unit.py:36 project/views/root.py:58
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: project/forms/admin.py:13 project/templates/layout.html:341
|
||||
#: project/forms/admin.py:13 project/templates/layout.html:343
|
||||
#: project/views/root.py:66
|
||||
msgid "Privacy"
|
||||
msgstr "Datenschutz"
|
||||
@ -250,7 +250,7 @@ msgid "Longitude"
|
||||
msgstr "Längengrad"
|
||||
|
||||
#: project/forms/admin_unit.py:28 project/forms/event.py:35
|
||||
#: project/forms/event.py:64 project/forms/event.py:362
|
||||
#: project/forms/event.py:64 project/forms/event.py:359
|
||||
#: project/forms/event_place.py:25 project/forms/event_place.py:50
|
||||
#: project/forms/event_suggestion.py:26 project/forms/oauth2_client.py:66
|
||||
#: project/forms/organizer.py:25 project/forms/organizer.py:52
|
||||
@ -274,12 +274,12 @@ msgstr ""
|
||||
"eindeutig zu identifizieren. Der Kurzname darf nur Buchstaben, Nummern "
|
||||
"und Unterstriche enthalten."
|
||||
|
||||
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1410
|
||||
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1414
|
||||
msgid "Short name must contain only letters numbers or underscore"
|
||||
msgstr "Der Kurzname darf nur Buchstaben, Nummern und Unterstriche enthalten"
|
||||
|
||||
#: project/forms/admin_unit.py:46 project/forms/event.py:56
|
||||
#: project/forms/event.py:93 project/forms/event_place.py:26
|
||||
#: project/forms/event.py:90 project/forms/event_place.py:26
|
||||
#: project/forms/organizer.py:26
|
||||
msgid "Link URL"
|
||||
msgstr "Link URL"
|
||||
@ -288,7 +288,7 @@ msgstr "Link URL"
|
||||
#: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28
|
||||
#: project/forms/event.py:57 project/forms/event_suggestion.py:38
|
||||
#: project/forms/organizer.py:27 project/templates/_macros.html:262
|
||||
#: project/templates/_macros.html:1370 project/templates/admin/users.html:19
|
||||
#: project/templates/_macros.html:1374 project/templates/admin/users.html:19
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
@ -454,43 +454,34 @@ msgid "Start"
|
||||
msgstr "Beginn"
|
||||
|
||||
#: project/forms/event.py:71
|
||||
msgid ""
|
||||
"Indicate when the event will take place. If the event takes place "
|
||||
"regularly, enter when the first date will begin."
|
||||
msgstr ""
|
||||
"Gib an, wann die Veranstaltung stattfindet. Wenn die Veranstaltung "
|
||||
"regelmäßig stattfindet, gib an, wann der erste Termin beginnt."
|
||||
msgid "Indicate when the event will take place."
|
||||
msgstr "Gib an, wann die Veranstaltung stattfindet."
|
||||
|
||||
#: project/forms/event.py:76
|
||||
#: project/forms/event.py:74
|
||||
msgid "End"
|
||||
msgstr "Ende"
|
||||
|
||||
#: project/forms/event.py:78
|
||||
msgid ""
|
||||
"Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
" If the event takes place regularly, enter when the first date will end."
|
||||
#: project/forms/event.py:76
|
||||
msgid "Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
"Gib an, wann die Veranstaltung endet. Eine Veranstaltung darf maximal 14 "
|
||||
"Tage dauern. Wenn die Veranstaltung regelmäßig stattfindet, gib an, wann "
|
||||
"der erste Termin endet."
|
||||
"Tage dauern."
|
||||
|
||||
#: project/forms/event.py:83
|
||||
msgid "Recurrence rule"
|
||||
msgstr "Wiederholen"
|
||||
#: project/forms/event.py:81 project/templates/event/create.html:298
|
||||
#: project/templates/event/update.html:135
|
||||
#: project/templates/widget/event_suggestion/create.html:212
|
||||
msgid "Recurring event"
|
||||
msgstr "Regelmäßige Veranstaltung"
|
||||
|
||||
#: project/forms/event.py:85
|
||||
msgid "Enter if the event takes place regularly."
|
||||
msgstr "Gib an, ob die Veranstaltung regelmäßig stattfindet."
|
||||
|
||||
#: project/forms/event.py:88 project/forms/event_place.py:28
|
||||
#: project/forms/event.py:85 project/forms/event_place.py:28
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: project/forms/event.py:90
|
||||
#: project/forms/event.py:87
|
||||
msgid "Add an description of the event."
|
||||
msgstr "Füge der Veranstaltung eine Beschreibung hinzu."
|
||||
|
||||
#: project/forms/event.py:95
|
||||
#: project/forms/event.py:92
|
||||
msgid ""
|
||||
"Enter a link to an external website containing more information about the"
|
||||
" event."
|
||||
@ -498,19 +489,19 @@ msgstr ""
|
||||
"Gib einen Link zu einer externen Website ein, die weitere Informationen "
|
||||
"zur Veranstaltung enthält."
|
||||
|
||||
#: project/forms/event.py:100
|
||||
#: project/forms/event.py:97
|
||||
msgid "Ticket Link URL"
|
||||
msgstr "Ticket Link"
|
||||
|
||||
#: project/forms/event.py:102
|
||||
#: project/forms/event.py:99
|
||||
msgid "Enter a link where tickets can be purchased."
|
||||
msgstr "Gib einen Link ein, über den Tickets gekauft werden können."
|
||||
|
||||
#: project/forms/event.py:105 project/templates/_macros.html:244
|
||||
#: project/forms/event.py:102 project/templates/_macros.html:244
|
||||
msgid "Tags"
|
||||
msgstr "Stichworte"
|
||||
|
||||
#: project/forms/event.py:107
|
||||
#: project/forms/event.py:104
|
||||
msgid ""
|
||||
"Enter keywords with which the event should be found. Words do not need to"
|
||||
" be entered if they are already in the name or description."
|
||||
@ -519,68 +510,68 @@ msgstr ""
|
||||
"Worte müssen nicht eingegeben werden, wenn sie bereits im Namen oder in "
|
||||
"der Beschreibung enthalten sind."
|
||||
|
||||
#: project/forms/event.py:112
|
||||
#: project/forms/event.py:109
|
||||
msgid "Kid friendly"
|
||||
msgstr "Für Kinder geeignet"
|
||||
|
||||
#: project/forms/event.py:114
|
||||
#: project/forms/event.py:111
|
||||
msgid "If the event is particularly suitable for children."
|
||||
msgstr "Wenn die Veranstaltung besonders für Kinder geeignet ist."
|
||||
|
||||
#: project/forms/event.py:117
|
||||
#: project/forms/event.py:114
|
||||
msgid "Accessible for free"
|
||||
msgstr "Kostenlos zugänglich"
|
||||
|
||||
#: project/forms/event.py:119
|
||||
#: project/forms/event.py:116
|
||||
msgid "If the event is accessible for free."
|
||||
msgstr "Wenn die Veranstaltung kostenlos zugänglich ist."
|
||||
|
||||
#: project/forms/event.py:122
|
||||
#: project/forms/event.py:119
|
||||
msgid "Typical Age from"
|
||||
msgstr "Typisches Alter von"
|
||||
|
||||
#: project/forms/event.py:124
|
||||
#: project/forms/event.py:121
|
||||
msgid "The minimum age that participants should be."
|
||||
msgstr "Das Mindestalter, das die Teilnehmer haben sollten."
|
||||
|
||||
#: project/forms/event.py:127
|
||||
#: project/forms/event.py:124
|
||||
msgid "Typical Age to"
|
||||
msgstr "Typisches Alter bis"
|
||||
|
||||
#: project/forms/event.py:129
|
||||
#: project/forms/event.py:126
|
||||
msgid "The maximum age that participants should be."
|
||||
msgstr "Das maximale Alter, das die Teilnehmer haben sollten."
|
||||
|
||||
#: project/forms/event.py:132
|
||||
#: project/forms/event.py:129
|
||||
msgid "Registration required"
|
||||
msgstr "Anmeldung erforderlich"
|
||||
|
||||
#: project/forms/event.py:134
|
||||
#: project/forms/event.py:131
|
||||
msgid "If the participants needs to register for the event."
|
||||
msgstr "Wenn sich die Teilnehmer für die Veranstaltung anmelden müssen."
|
||||
|
||||
#: project/forms/event.py:139 project/templates/_macros.html:276
|
||||
#: project/templates/layout.html:157
|
||||
#: project/forms/event.py:136 project/templates/_macros.html:276
|
||||
#: project/templates/layout.html:159
|
||||
msgid "Booked up"
|
||||
msgstr "Ausgebucht"
|
||||
|
||||
#: project/forms/event.py:141
|
||||
#: project/forms/event.py:138
|
||||
msgid "If the event is booked up or sold out."
|
||||
msgstr "Wenn die Veranstaltung ausgebucht oder ausverkauft ist."
|
||||
|
||||
#: project/forms/event.py:144
|
||||
#: project/forms/event.py:141
|
||||
msgid "Expected number of participants"
|
||||
msgstr "Erwartete Teilnehmerzahl"
|
||||
|
||||
#: project/forms/event.py:146
|
||||
#: project/forms/event.py:143
|
||||
msgid "The estimated expected attendance."
|
||||
msgstr "Die geschätzte erwartete Teilnehmerzahl."
|
||||
|
||||
#: project/forms/event.py:149
|
||||
#: project/forms/event.py:146
|
||||
msgid "Price info"
|
||||
msgstr "Preisinformation"
|
||||
|
||||
#: project/forms/event.py:151
|
||||
#: project/forms/event.py:148
|
||||
msgid ""
|
||||
"Enter price information in textual form. E.g., different prices for "
|
||||
"adults and children."
|
||||
@ -588,23 +579,23 @@ msgstr ""
|
||||
"Gib die Preisinformationen in Textform ein. Z.B. unterschiedliche Preise "
|
||||
"für Erwachsene und Kinder."
|
||||
|
||||
#: project/forms/event.py:156
|
||||
#: project/forms/event.py:153
|
||||
msgid "Target group origin"
|
||||
msgstr "Für Touristen/Einwohner geeignet"
|
||||
|
||||
#: project/forms/event.py:161
|
||||
#: project/forms/event.py:158
|
||||
msgid "EventTargetGroupOrigin.both"
|
||||
msgstr "Für Touristen und Einwohner"
|
||||
|
||||
#: project/forms/event.py:165
|
||||
#: project/forms/event.py:162
|
||||
msgid "EventTargetGroupOrigin.tourist"
|
||||
msgstr "Hauptsächlich für Touristen"
|
||||
|
||||
#: project/forms/event.py:169
|
||||
#: project/forms/event.py:166
|
||||
msgid "EventTargetGroupOrigin.resident"
|
||||
msgstr "Hauptsächlich für Einwohner"
|
||||
|
||||
#: project/forms/event.py:172
|
||||
#: project/forms/event.py:169
|
||||
msgid ""
|
||||
"Choose whether the event is particularly suitable for tourists or "
|
||||
"residents."
|
||||
@ -612,32 +603,32 @@ msgstr ""
|
||||
"Wähle, ob die Veranstaltung besonders für Touristen oder Einwohner "
|
||||
"geeignet ist."
|
||||
|
||||
#: project/forms/event.py:177
|
||||
#: project/forms/event.py:174
|
||||
msgid "Attendance mode"
|
||||
msgstr "Teilnahme"
|
||||
|
||||
#: project/forms/event.py:182
|
||||
#: project/forms/event.py:179
|
||||
msgid "EventAttendanceMode.offline"
|
||||
msgstr "Präsenzveranstaltung"
|
||||
|
||||
#: project/forms/event.py:186 project/templates/layout.html:145
|
||||
#: project/forms/event.py:183 project/templates/layout.html:147
|
||||
msgid "EventAttendanceMode.online"
|
||||
msgstr "Online"
|
||||
|
||||
#: project/forms/event.py:188 project/templates/layout.html:148
|
||||
#: project/forms/event.py:185 project/templates/layout.html:150
|
||||
msgid "EventAttendanceMode.mixed"
|
||||
msgstr "Präsenzveranstaltung und online"
|
||||
|
||||
#: project/forms/event.py:190
|
||||
#: project/forms/event.py:187
|
||||
msgid "Choose how people can attend the event."
|
||||
msgstr "Wähle aus, wie Personen an der Veranstaltung teilnehmen können."
|
||||
|
||||
#: project/forms/event.py:194 project/forms/event_place.py:27
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/forms/event.py:191 project/forms/event_place.py:27
|
||||
#: project/templates/widget/event_suggestion/create.html:230
|
||||
msgid "Photo"
|
||||
msgstr "Foto"
|
||||
|
||||
#: project/forms/event.py:196
|
||||
#: project/forms/event.py:193
|
||||
msgid ""
|
||||
"We recommend uploading a photo for the event. It looks a lot more, but of"
|
||||
" course it works without it."
|
||||
@ -645,41 +636,41 @@ msgstr ""
|
||||
"Wir empfehlen dir, ein Foto für die Veranstaltung hochzuladen. Es macht "
|
||||
"schon deutlich mehr her, aber es geht natürlich auch ohne."
|
||||
|
||||
#: project/forms/event.py:206 project/templates/_macros.html:1193
|
||||
#: project/forms/event.py:203 project/templates/_macros.html:1193
|
||||
msgid "The start must be before the end."
|
||||
msgstr "Der Start muss vor dem Ende sein."
|
||||
|
||||
#: project/forms/event.py:212 project/templates/_macros.html:1210
|
||||
#: project/forms/event.py:209 project/templates/_macros.html:1210
|
||||
msgid "An event can last a maximum of 14 days."
|
||||
msgstr "Eine Veranstaltung darf maximal 14 Tage dauern."
|
||||
|
||||
#: project/forms/event.py:220 project/templates/_macros.html:423
|
||||
#: project/forms/event.py:217 project/templates/_macros.html:423
|
||||
#: project/templates/_macros.html:582
|
||||
msgid "Previous start date"
|
||||
msgstr "Vorheriges Startdatum"
|
||||
|
||||
#: project/forms/event.py:222
|
||||
#: project/forms/event.py:219
|
||||
msgid "Enter when the event should have taken place before it was postponed."
|
||||
msgstr ""
|
||||
"Gib ein, wann die Veranstaltung hätte stattfinden sollen, bevor sie "
|
||||
"verschoben wurde."
|
||||
|
||||
#: project/forms/event.py:227 project/forms/event_suggestion.py:71
|
||||
#: project/forms/event.py:224 project/forms/event_suggestion.py:71
|
||||
msgid "Categories"
|
||||
msgstr "Kategorien"
|
||||
|
||||
#: project/forms/event.py:230 project/forms/event_suggestion.py:74
|
||||
#: project/forms/event.py:227 project/forms/event_suggestion.py:74
|
||||
msgid "Choose categories that fit the event."
|
||||
msgstr "Wähle Kategorien, die zur Veranstaltung passen."
|
||||
|
||||
#: project/forms/event.py:233 project/forms/reference.py:14
|
||||
#: project/forms/event.py:230 project/forms/reference.py:14
|
||||
#: project/forms/reference.py:27 project/forms/reference_request.py:75
|
||||
#: project/templates/event/create.html:403
|
||||
#: project/templates/event/update.html:206
|
||||
#: project/templates/event/create.html:412
|
||||
#: project/templates/event/update.html:214
|
||||
msgid "Rating"
|
||||
msgstr "Bewertung"
|
||||
|
||||
#: project/forms/event.py:237 project/forms/reference.py:18
|
||||
#: project/forms/event.py:234 project/forms/reference.py:18
|
||||
#: project/forms/reference.py:31 project/forms/reference_request.py:79
|
||||
msgid ""
|
||||
"Choose how relevant the event is to your organization. The value is not "
|
||||
@ -688,60 +679,60 @@ msgstr ""
|
||||
"Wähle aus, wie relevant die Veranstaltung für deine Organisation ist. Der"
|
||||
" Wert ist nicht sichtbar und dient der Sortierung."
|
||||
|
||||
#: project/forms/event.py:245 project/forms/event.py:254
|
||||
#: project/forms/event.py:318 project/forms/event_suggestion.py:50
|
||||
#: project/forms/event.py:242 project/forms/event.py:251
|
||||
#: project/forms/event.py:315 project/forms/event_suggestion.py:50
|
||||
#: project/templates/_macros.html:462 project/templates/_macros.html:618
|
||||
#: project/templates/event/create.html:328
|
||||
#: project/templates/event/update.html:156
|
||||
#: project/templates/event/create.html:337
|
||||
#: project/templates/event/update.html:164
|
||||
#: project/templates/event_place/create.html:21
|
||||
#: project/templates/event_place/delete.html:13
|
||||
#: project/templates/event_place/update.html:21
|
||||
msgid "Place"
|
||||
msgstr "Ort"
|
||||
|
||||
#: project/forms/event.py:247
|
||||
#: project/forms/event.py:244
|
||||
msgid "Select existing place"
|
||||
msgstr "Vorhandenen Ort auswählen"
|
||||
|
||||
#: project/forms/event.py:248
|
||||
#: project/forms/event.py:245
|
||||
msgid "Enter new place"
|
||||
msgstr "Neuen Ort eingeben"
|
||||
|
||||
#: project/forms/event.py:261 project/forms/event.py:270
|
||||
#: project/forms/event.py:326 project/forms/event.py:376
|
||||
#: project/forms/event.py:258 project/forms/event.py:267
|
||||
#: project/forms/event.py:323 project/forms/event.py:373
|
||||
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:500
|
||||
#: project/templates/_macros.html:655 project/templates/event/create.html:299
|
||||
#: project/templates/event/update.html:147
|
||||
#: project/templates/_macros.html:655 project/templates/event/create.html:308
|
||||
#: project/templates/event/update.html:155
|
||||
#: project/templates/organizer/create.html:17
|
||||
#: project/templates/organizer/delete.html:13
|
||||
#: project/templates/organizer/update.html:17
|
||||
msgid "Organizer"
|
||||
msgstr "Veranstalter"
|
||||
|
||||
#: project/forms/event.py:263
|
||||
#: project/forms/event.py:260
|
||||
msgid "Select existing organizer"
|
||||
msgstr "Vorhandenen Veranstalter auswählen"
|
||||
|
||||
#: project/forms/event.py:264
|
||||
#: project/forms/event.py:261
|
||||
msgid "Enter new organizer"
|
||||
msgstr "Neuen Veranstalter eingeben"
|
||||
|
||||
#: project/forms/event.py:276 project/templates/event/create.html:4
|
||||
#: project/templates/event/create.html:271 project/templates/layout.html:254
|
||||
#: project/forms/event.py:273 project/templates/event/create.html:4
|
||||
#: project/templates/event/create.html:275 project/templates/layout.html:256
|
||||
#: project/templates/manage/events.html:12
|
||||
#: project/templates/manage/organizers.html:21
|
||||
msgid "Create event"
|
||||
msgstr "Veranstaltung erstellen"
|
||||
|
||||
#: project/forms/event.py:302
|
||||
#: project/forms/event.py:299
|
||||
msgid "Select existing place or enter new place"
|
||||
msgstr "Existierenden Ort wählen oder neuen Ort eingeben"
|
||||
|
||||
#: project/forms/event.py:309
|
||||
#: project/forms/event.py:306
|
||||
msgid "Select existing organizer or enter new organizer"
|
||||
msgstr "Wähle einen vorhandenen Veranstalter oder gib einen neuen Veranstalter ein"
|
||||
|
||||
#: project/forms/event.py:321
|
||||
#: project/forms/event.py:318
|
||||
msgid ""
|
||||
"Choose where the event takes place. You can add and modify places at "
|
||||
"Manage > Places."
|
||||
@ -749,7 +740,7 @@ msgstr ""
|
||||
"Wähle, wo die Veranstaltung stattfindet. Du kannst Orte unter Verwaltung "
|
||||
"> Orte hinzufügen und ändern."
|
||||
|
||||
#: project/forms/event.py:329
|
||||
#: project/forms/event.py:326
|
||||
msgid ""
|
||||
"Select the organizer. You can add and modify organizers at Manage > "
|
||||
"Organizers."
|
||||
@ -757,70 +748,70 @@ msgstr ""
|
||||
"Wähle den Veranstalter. Du kannst Veranstalter unter Verwaltung > "
|
||||
"Veranstalter hinzufügen und ändern."
|
||||
|
||||
#: project/forms/event.py:335 project/templates/event/update.html:137
|
||||
#: project/forms/event.py:332 project/templates/event/update.html:145
|
||||
#: project/templates/oauth2_token/list.html:21
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: project/forms/event.py:338
|
||||
#: project/forms/event.py:335
|
||||
msgid "EventStatus.scheduled"
|
||||
msgstr "Geplant"
|
||||
|
||||
#: project/forms/event.py:339 project/templates/layout.html:111
|
||||
#: project/templates/layout.html:126
|
||||
#: project/forms/event.py:336 project/templates/layout.html:113
|
||||
#: project/templates/layout.html:128
|
||||
msgid "EventStatus.cancelled"
|
||||
msgstr "Abgesagt"
|
||||
|
||||
#: project/forms/event.py:340 project/templates/layout.html:114
|
||||
#: project/templates/layout.html:129
|
||||
#: project/forms/event.py:337 project/templates/layout.html:116
|
||||
#: project/templates/layout.html:131
|
||||
msgid "EventStatus.movedOnline"
|
||||
msgstr "Online verschoben"
|
||||
|
||||
#: project/forms/event.py:341 project/templates/layout.html:117
|
||||
#: project/templates/layout.html:132
|
||||
#: project/forms/event.py:338 project/templates/layout.html:119
|
||||
#: project/templates/layout.html:134
|
||||
msgid "EventStatus.postponed"
|
||||
msgstr "Verschoben"
|
||||
|
||||
#: project/forms/event.py:342 project/templates/layout.html:120
|
||||
#: project/templates/layout.html:135
|
||||
#: project/forms/event.py:339 project/templates/layout.html:122
|
||||
#: project/templates/layout.html:137
|
||||
msgid "EventStatus.rescheduled"
|
||||
msgstr "Neu angesetzt"
|
||||
|
||||
#: project/forms/event.py:344
|
||||
#: project/forms/event.py:341
|
||||
msgid "Select the status of the event."
|
||||
msgstr "Wähle den Status der Veranstaltung."
|
||||
|
||||
#: project/forms/event.py:347 project/templates/event/update.html:4
|
||||
#: project/templates/event/update.html:109
|
||||
#: project/forms/event.py:344 project/templates/event/update.html:4
|
||||
#: project/templates/event/update.html:112
|
||||
msgid "Update event"
|
||||
msgstr "Veranstaltung aktualisieren"
|
||||
|
||||
#: project/forms/event.py:361 project/templates/_macros.html:1165
|
||||
#: project/forms/event.py:358 project/templates/_macros.html:1165
|
||||
#: project/templates/event/actions.html:47
|
||||
#: project/templates/event/delete.html:6
|
||||
msgid "Delete event"
|
||||
msgstr "Veranstaltung löschen"
|
||||
|
||||
#: project/forms/event.py:369 project/forms/event_date.py:15
|
||||
#: project/forms/event.py:366 project/forms/event_date.py:15
|
||||
#: project/forms/planing.py:14
|
||||
msgid "From"
|
||||
msgstr "Von"
|
||||
|
||||
#: project/forms/event.py:370 project/forms/event_date.py:16
|
||||
#: project/forms/event.py:367 project/forms/event_date.py:16
|
||||
#: project/forms/planing.py:15
|
||||
msgid "to"
|
||||
msgstr "bis"
|
||||
|
||||
#: project/forms/event.py:371 project/forms/event_date.py:17
|
||||
#: project/forms/event.py:368 project/forms/event_date.py:17
|
||||
msgid "Keyword"
|
||||
msgstr "Stichwort"
|
||||
|
||||
#: project/forms/event.py:373 project/forms/event_date.py:19
|
||||
#: project/forms/event.py:370 project/forms/event_date.py:19
|
||||
#: project/forms/planing.py:17 project/templates/_macros.html:386
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: project/forms/event.py:379
|
||||
#: project/forms/event.py:376
|
||||
msgid "Find events"
|
||||
msgstr "Veranstaltungen finden"
|
||||
|
||||
@ -879,7 +870,7 @@ msgstr "Bitte gib deine Email-Adresse oder deine Telefonnummer für die Prüfung
|
||||
msgid "I would like to be notified by email after the review"
|
||||
msgstr "Ich möchte per Email benachrichtigt werden nach der Prüfung"
|
||||
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:333
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:342
|
||||
msgid ""
|
||||
"Choose where the event takes place. If the venue is not yet in the list, "
|
||||
"just enter it."
|
||||
@ -887,7 +878,7 @@ msgstr ""
|
||||
"Wähle aus, wo die Veranstaltung stattfindet. Ist der Veranstaltungsort "
|
||||
"noch nicht in der Liste, trage ihn einfach ein."
|
||||
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:303
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:312
|
||||
msgid ""
|
||||
"Select the organizer. If the organizer is not yet on the list, just enter"
|
||||
" it."
|
||||
@ -897,7 +888,7 @@ msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:78
|
||||
#: project/templates/widget/event_suggestion/create.html:4
|
||||
#: project/templates/widget/event_suggestion/create.html:125
|
||||
#: project/templates/widget/event_suggestion/create.html:130
|
||||
msgid "Create event suggestion"
|
||||
msgstr "Veranstaltung vorschlagen"
|
||||
|
||||
@ -966,7 +957,7 @@ msgstr "Wochentage"
|
||||
#: project/templates/_macros.html:521 project/templates/_macros.html:681
|
||||
#: project/templates/admin_unit/create.html:19
|
||||
#: project/templates/admin_unit/update.html:20
|
||||
#: project/templates/layout.html:284
|
||||
#: project/templates/layout.html:286
|
||||
msgid "Organization"
|
||||
msgstr "Organisation"
|
||||
|
||||
@ -991,7 +982,7 @@ msgstr "Anfrage speichern"
|
||||
msgid "Delete request"
|
||||
msgstr "Anfrage löschen"
|
||||
|
||||
#: project/forms/reference_request.py:27 project/templates/_macros.html:1292
|
||||
#: project/forms/reference_request.py:27 project/templates/_macros.html:1296
|
||||
#: project/templates/event_suggestion/review_status.html:18
|
||||
#: project/templates/reference_request/review_status.html:12
|
||||
msgid "Review status"
|
||||
@ -1049,7 +1040,7 @@ msgstr "Erlauben"
|
||||
msgid "Deny"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: project/forms/widgets.py:147
|
||||
#: project/forms/widgets.py:137
|
||||
msgid "This field is required."
|
||||
msgstr "Dieses Feld ist erforderlich."
|
||||
|
||||
@ -1096,11 +1087,11 @@ msgstr "Zuletzt aktualisiert am %(updated_at)s."
|
||||
|
||||
#: project/templates/_macros.html:402 project/templates/_macros.html:578
|
||||
#: project/templates/event/actions.html:12
|
||||
#: project/templates/event/create.html:278
|
||||
#: project/templates/event/create.html:282
|
||||
#: project/templates/event/delete.html:13
|
||||
#: project/templates/event/update.html:116
|
||||
#: project/templates/event/update.html:119
|
||||
#: project/templates/reference/delete.html:13
|
||||
#: project/templates/widget/event_suggestion/create.html:197
|
||||
#: project/templates/widget/event_suggestion/create.html:202
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
@ -1110,12 +1101,12 @@ msgid "%(count)d event dates"
|
||||
msgstr "%(count)d Termine"
|
||||
|
||||
#: project/templates/_macros.html:445 project/templates/_macros.html:600
|
||||
#: project/templates/_macros.html:1355 project/templates/event/actions.html:32
|
||||
#: project/templates/_macros.html:1359 project/templates/event/actions.html:32
|
||||
msgid "Share"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: project/templates/_macros.html:449 project/templates/_macros.html:604
|
||||
#: project/templates/_macros.html:1385
|
||||
#: project/templates/_macros.html:1389
|
||||
msgid "Add to calendar"
|
||||
msgstr "Zum Kalender"
|
||||
|
||||
@ -1146,12 +1137,12 @@ msgstr "Ort bei Google suchen"
|
||||
|
||||
#: project/templates/_macros.html:811 project/templates/_macros.html:813
|
||||
#: project/templates/event_date/list.html:279
|
||||
#: project/templates/widget/event_suggestion/create.html:161
|
||||
#: project/templates/widget/event_suggestion/create.html:186
|
||||
#: project/templates/widget/event_suggestion/create.html:208
|
||||
#: project/templates/widget/event_suggestion/create.html:231
|
||||
#: project/templates/widget/event_suggestion/create.html:264
|
||||
#: project/templates/widget/event_suggestion/create.html:293
|
||||
#: project/templates/widget/event_suggestion/create.html:166
|
||||
#: project/templates/widget/event_suggestion/create.html:191
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/templates/widget/event_suggestion/create.html:242
|
||||
#: project/templates/widget/event_suggestion/create.html:275
|
||||
#: project/templates/widget/event_suggestion/create.html:304
|
||||
msgid "Previous"
|
||||
msgstr "Zurück"
|
||||
|
||||
@ -1162,11 +1153,11 @@ msgstr "Seite %(page)d von %(pages)d (%(total)d insgesamt)"
|
||||
|
||||
#: project/templates/_macros.html:817 project/templates/_macros.html:819
|
||||
#: project/templates/event_date/list.html:281
|
||||
#: project/templates/widget/event_suggestion/create.html:162
|
||||
#: project/templates/widget/event_suggestion/create.html:187
|
||||
#: project/templates/widget/event_suggestion/create.html:209
|
||||
#: project/templates/widget/event_suggestion/create.html:232
|
||||
#: project/templates/widget/event_suggestion/create.html:265
|
||||
#: project/templates/widget/event_suggestion/create.html:167
|
||||
#: project/templates/widget/event_suggestion/create.html:192
|
||||
#: project/templates/widget/event_suggestion/create.html:220
|
||||
#: project/templates/widget/event_suggestion/create.html:243
|
||||
#: project/templates/widget/event_suggestion/create.html:276
|
||||
msgid "Next"
|
||||
msgstr "Weiter"
|
||||
|
||||
@ -1198,31 +1189,35 @@ msgstr "Veranstaltung bearbeiten"
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
|
||||
#: project/templates/_macros.html:1252
|
||||
#: project/templates/_macros.html:1214
|
||||
msgid "Please enter a valid time, between 00:00 and 23:59."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1256
|
||||
msgid "Event suggestion"
|
||||
msgstr "Veranstaltungsvorschlag"
|
||||
|
||||
#: project/templates/_macros.html:1364
|
||||
#: project/templates/_macros.html:1368
|
||||
msgid "Link copied"
|
||||
msgstr "Link kopiert"
|
||||
|
||||
#: project/templates/_macros.html:1364
|
||||
#: project/templates/_macros.html:1368
|
||||
msgid "Copy link"
|
||||
msgstr "Link kopieren"
|
||||
|
||||
#: project/templates/_macros.html:1393
|
||||
#: project/templates/_macros.html:1397
|
||||
msgid "Google calendar"
|
||||
msgstr "Google Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1394
|
||||
#: project/templates/_macros.html:1398
|
||||
msgid "Apple calendar"
|
||||
msgstr "Apple Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1395
|
||||
#: project/templates/_macros.html:1399
|
||||
msgid "Yahoo calendar"
|
||||
msgstr "Yahoo Kalender"
|
||||
|
||||
#: project/templates/_macros.html:1396
|
||||
#: project/templates/_macros.html:1400
|
||||
msgid "Other calendar"
|
||||
msgstr "Anderer Kalender"
|
||||
|
||||
@ -1235,31 +1230,31 @@ msgstr "Verwaltung"
|
||||
msgid "Register for free"
|
||||
msgstr "Kostenlos registrieren"
|
||||
|
||||
#: project/templates/event_place/read.html:22 project/templates/layout.html:204
|
||||
#: project/templates/layout.html:247 project/templates/manage/events.html:5
|
||||
#: project/templates/event_place/read.html:22 project/templates/layout.html:206
|
||||
#: project/templates/layout.html:249 project/templates/manage/events.html:5
|
||||
#: project/templates/manage/events.html:9
|
||||
msgid "Events"
|
||||
msgstr "Veranstaltungen"
|
||||
|
||||
#: project/templates/layout.html:205
|
||||
#: project/templates/layout.html:207
|
||||
msgid "Planing"
|
||||
msgstr "Planung"
|
||||
|
||||
#: project/templates/layout.html:206
|
||||
#: project/templates/layout.html:208
|
||||
msgid "Example"
|
||||
msgstr "Beispiel"
|
||||
|
||||
#: project/templates/admin/admin.html:19
|
||||
#: project/templates/admin/admin_units.html:4
|
||||
#: project/templates/admin/admin_units.html:11
|
||||
#: project/templates/layout.html:215
|
||||
#: project/templates/layout.html:217
|
||||
#: project/templates/manage/admin_units.html:3
|
||||
#: project/templates/manage/admin_units.html:16
|
||||
#: project/templates/profile.html:60
|
||||
msgid "Organizations"
|
||||
msgstr "Organisationen"
|
||||
|
||||
#: project/templates/layout.html:216
|
||||
#: project/templates/layout.html:218
|
||||
#: project/templates/oauth2_client/list.html:10
|
||||
#: project/templates/oauth2_client/read.html:10
|
||||
#: project/templates/oauth2_token/list.html:10 project/templates/profile.html:4
|
||||
@ -1269,61 +1264,61 @@ msgstr "Profil"
|
||||
|
||||
#: project/templates/admin/admin.html:3 project/templates/admin/admin.html:9
|
||||
#: project/templates/admin/admin_units.html:10
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:219
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:221
|
||||
msgid "Admin"
|
||||
msgstr "Administration"
|
||||
|
||||
#: project/templates/layout.html:223
|
||||
#: project/templates/layout.html:225
|
||||
msgid "Logout"
|
||||
msgstr "Ausloggen"
|
||||
|
||||
#: project/templates/layout.html:253
|
||||
#: project/templates/layout.html:255
|
||||
msgid "Show events"
|
||||
msgstr "Veranstaltungen anzeigen"
|
||||
|
||||
#: project/templates/layout.html:256
|
||||
#: project/templates/layout.html:258
|
||||
msgid "Review suggestions"
|
||||
msgstr "Vorschläge prüfen"
|
||||
|
||||
#: project/templates/layout.html:265
|
||||
#: project/templates/layout.html:267
|
||||
#: project/templates/manage/references_incoming.html:5
|
||||
#: project/templates/manage/references_outgoing.html:5
|
||||
msgid "References"
|
||||
msgstr "Empfehlungen"
|
||||
|
||||
#: project/templates/layout.html:271
|
||||
#: project/templates/layout.html:273
|
||||
#: project/templates/manage/references_incoming.html:9
|
||||
msgid "Incoming references"
|
||||
msgstr "Eingehende Empfehlungen"
|
||||
|
||||
#: project/templates/layout.html:272
|
||||
#: project/templates/layout.html:274
|
||||
#: project/templates/manage/references_outgoing.html:9
|
||||
msgid "Outgoing references"
|
||||
msgstr "Ausgehende Empfehlungen"
|
||||
|
||||
#: project/templates/layout.html:274
|
||||
#: project/templates/layout.html:276
|
||||
#: project/templates/manage/reference_requests_incoming.html:9
|
||||
msgid "Incoming reference requests"
|
||||
msgstr "Eingehende Empfehlungsanfragen"
|
||||
|
||||
#: project/templates/layout.html:279
|
||||
#: project/templates/layout.html:281
|
||||
#: project/templates/manage/reference_requests_outgoing.html:9
|
||||
msgid "Outgoing reference requests"
|
||||
msgstr "Ausgehende Empfehlungsanfragen"
|
||||
|
||||
#: project/templates/layout.html:287 project/templates/manage/organizers.html:5
|
||||
#: project/templates/layout.html:289 project/templates/manage/organizers.html:5
|
||||
#: project/templates/manage/organizers.html:9
|
||||
msgid "Organizers"
|
||||
msgstr "Veranstalter"
|
||||
|
||||
#: project/templates/event_place/list.html:3
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:288
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:290
|
||||
#: project/templates/manage/places.html:5
|
||||
#: project/templates/manage/places.html:9
|
||||
msgid "Places"
|
||||
msgstr "Orte"
|
||||
|
||||
#: project/templates/layout.html:290 project/templates/manage/members.html:5
|
||||
#: project/templates/layout.html:292 project/templates/manage/members.html:5
|
||||
#: project/templates/manage/members.html:28
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
@ -1332,22 +1327,22 @@ msgstr "Mitglieder"
|
||||
#: project/templates/admin/settings.html:4
|
||||
#: project/templates/admin/settings.html:8
|
||||
#: project/templates/admin_unit/update.html:14
|
||||
#: project/templates/layout.html:291 project/templates/manage/widgets.html:12
|
||||
#: project/templates/layout.html:293 project/templates/manage/widgets.html:12
|
||||
#: project/templates/profile.html:19
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: project/templates/layout.html:292 project/templates/manage/reviews.html:10
|
||||
#: project/templates/layout.html:294 project/templates/manage/reviews.html:10
|
||||
#: project/templates/manage/widgets.html:5
|
||||
#: project/templates/manage/widgets.html:9
|
||||
msgid "Widgets"
|
||||
msgstr "Widgets"
|
||||
|
||||
#: project/templates/layout.html:302
|
||||
#: project/templates/layout.html:304
|
||||
msgid "Switch organization"
|
||||
msgstr "Organisation wechseln"
|
||||
|
||||
#: project/templates/developer/read.html:4 project/templates/layout.html:351
|
||||
#: project/templates/developer/read.html:4 project/templates/layout.html:353
|
||||
#: project/templates/profile.html:29
|
||||
msgid "Developer"
|
||||
msgstr "Entwickler"
|
||||
@ -1387,8 +1382,8 @@ msgstr "Bearbeiten"
|
||||
|
||||
#: project/templates/admin_unit/create.html:49
|
||||
#: project/templates/admin_unit/update.html:50
|
||||
#: project/templates/event/create.html:391
|
||||
#: project/templates/event/update.html:194
|
||||
#: project/templates/event/create.html:400
|
||||
#: project/templates/event/update.html:202
|
||||
#: project/templates/event_place/create.html:47
|
||||
#: project/templates/event_place/update.html:47
|
||||
#: project/templates/organizer/create.html:46
|
||||
@ -1495,42 +1490,42 @@ msgstr "Erstelle eine weitere Veranstaltung für %(admin_unit_name)s"
|
||||
msgid "List all events of %(admin_unit_name)s"
|
||||
msgstr "Zeige alle Veranstaltungen von %(admin_unit_name)s"
|
||||
|
||||
#: project/templates/event/create.html:87
|
||||
#: project/templates/event/update.html:73
|
||||
#: project/templates/event/create.html:90
|
||||
#: project/templates/event/update.html:76
|
||||
msgid "Enter place or address"
|
||||
msgstr "Orte oder Adresse eingeben"
|
||||
|
||||
#: project/templates/event/create.html:97
|
||||
#: project/templates/event/create.html:210
|
||||
#: project/templates/event/create.html:100
|
||||
#: project/templates/event/create.html:213
|
||||
#, python-format
|
||||
msgid "Just use %(term)s"
|
||||
msgstr "Verwende einfach %(term)s"
|
||||
|
||||
#: project/templates/event/create.html:200
|
||||
#: project/templates/event/update.html:96
|
||||
#: project/templates/event/create.html:203
|
||||
#: project/templates/event/update.html:99
|
||||
msgid "Enter organizer"
|
||||
msgstr "Veranstalter eingeben"
|
||||
|
||||
#: project/templates/event/create.html:288
|
||||
#: project/templates/event/update.html:126
|
||||
#: project/templates/event/create.html:292
|
||||
#: project/templates/event/update.html:129
|
||||
msgid "Event date"
|
||||
msgstr "Termin"
|
||||
|
||||
#: project/templates/event/create.html:320
|
||||
#: project/templates/event/create.html:329
|
||||
msgid "Switch to organizer search"
|
||||
msgstr "Zur Veranstaltersuche wechseln"
|
||||
|
||||
#: project/templates/event/create.html:353
|
||||
#: project/templates/event/create.html:362
|
||||
msgid "Switch to place search"
|
||||
msgstr "Zur Ortssuche wechseln"
|
||||
|
||||
#: project/templates/event/create.html:364
|
||||
#: project/templates/event/update.html:167
|
||||
#: project/templates/event/create.html:373
|
||||
#: project/templates/event/update.html:175
|
||||
msgid "Access"
|
||||
msgstr "Zugang"
|
||||
|
||||
#: project/templates/event/create.html:378
|
||||
#: project/templates/event/update.html:181
|
||||
#: project/templates/event/create.html:387
|
||||
#: project/templates/event/update.html:189
|
||||
msgid "Target group"
|
||||
msgstr "Zielgruppe"
|
||||
|
||||
@ -1744,15 +1739,15 @@ msgstr "Widget"
|
||||
msgid "Print"
|
||||
msgstr "Drucken"
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:143
|
||||
#: project/templates/widget/event_suggestion/create.html:148
|
||||
msgid "Continue as guest"
|
||||
msgstr "Weiter als Gast"
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:242
|
||||
#: project/templates/widget/event_suggestion/create.html:253
|
||||
msgid "Optional details"
|
||||
msgstr "Optionale Details"
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:275
|
||||
#: project/templates/widget/event_suggestion/create.html:286
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
@ -1821,23 +1816,23 @@ msgstr "Die eingegebene Email passt nicht zur Email der Einladung"
|
||||
msgid "Invitation successfully deleted"
|
||||
msgstr "Einladung erfolgreich gelöscht"
|
||||
|
||||
#: project/views/event.py:168
|
||||
#: project/views/event.py:167
|
||||
msgid "Event successfully created"
|
||||
msgstr "Veranstaltung erfolgreich erstellt"
|
||||
|
||||
#: project/views/event.py:208
|
||||
#: project/views/event.py:207
|
||||
msgid "Event successfully updated"
|
||||
msgstr "Veranstaltung erfolgreich aktualisiert"
|
||||
|
||||
#: project/views/event.py:231 project/views/reference.py:162
|
||||
#: project/views/event.py:230 project/views/reference.py:162
|
||||
msgid "Entered name does not match event name"
|
||||
msgstr "Der eingegebene Name entspricht nicht dem Namen der Veranstaltung"
|
||||
|
||||
#: project/views/event.py:237
|
||||
#: project/views/event.py:236
|
||||
msgid "Event successfully deleted"
|
||||
msgstr "Veranstaltung erfolgreich gelöscht"
|
||||
|
||||
#: project/views/event.py:384
|
||||
#: project/views/event.py:383
|
||||
msgid "Referenced event changed"
|
||||
msgstr "Empfohlene Veranstaltung wurde geändert"
|
||||
|
||||
@ -2010,3 +2005,9 @@ msgstr "Neue Veranstaltung zu prüfen"
|
||||
#~ msgid "Widget als iFrame einbetten"
|
||||
#~ msgstr "Widget als iFrame einbetten"
|
||||
|
||||
#~ msgid "Recurrence rule"
|
||||
#~ msgstr "Wiederholen"
|
||||
|
||||
#~ msgid "Enter if the event takes place regularly."
|
||||
#~ msgstr "Gib an, ob die Veranstaltung regelmäßig stattfindet."
|
||||
|
||||
|
||||
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-08-07 11:28+0200\n"
|
||||
"POT-Creation-Date: 2021-08-11 07:54+0200\n"
|
||||
"PO-Revision-Date: 2021-04-30 15:04+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
@ -166,24 +166,24 @@ msgstr ""
|
||||
msgid "."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:10 project/templates/layout.html:329
|
||||
#: project/forms/admin.py:10 project/templates/layout.html:331
|
||||
#: project/views/root.py:42
|
||||
msgid "Terms of service"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:333
|
||||
#: project/forms/admin.py:11 project/templates/layout.html:335
|
||||
#: project/views/root.py:50
|
||||
msgid "Legal notice"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:12 project/templates/_macros.html:1280
|
||||
#: project/templates/layout.html:337
|
||||
#: project/templates/widget/event_suggestion/create.html:172
|
||||
#: project/forms/admin.py:12 project/templates/_macros.html:1284
|
||||
#: project/templates/layout.html:339
|
||||
#: project/templates/widget/event_suggestion/create.html:177
|
||||
#: project/views/admin_unit.py:36 project/views/root.py:58
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin.py:13 project/templates/layout.html:341
|
||||
#: project/forms/admin.py:13 project/templates/layout.html:343
|
||||
#: project/views/root.py:66
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
@ -248,7 +248,7 @@ msgid "Longitude"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:28 project/forms/event.py:35
|
||||
#: project/forms/event.py:64 project/forms/event.py:362
|
||||
#: project/forms/event.py:64 project/forms/event.py:359
|
||||
#: project/forms/event_place.py:25 project/forms/event_place.py:50
|
||||
#: project/forms/event_suggestion.py:26 project/forms/oauth2_client.py:66
|
||||
#: project/forms/organizer.py:25 project/forms/organizer.py:52
|
||||
@ -269,12 +269,12 @@ msgstr ""
|
||||
msgid "The short name is used to create a unique identifier for your events"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1410
|
||||
#: project/forms/admin_unit.py:40 project/templates/_macros.html:1414
|
||||
msgid "Short name must contain only letters numbers or underscore"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/admin_unit.py:46 project/forms/event.py:56
|
||||
#: project/forms/event.py:93 project/forms/event_place.py:26
|
||||
#: project/forms/event.py:90 project/forms/event_place.py:26
|
||||
#: project/forms/organizer.py:26
|
||||
msgid "Link URL"
|
||||
msgstr ""
|
||||
@ -283,7 +283,7 @@ msgstr ""
|
||||
#: project/forms/admin_unit_member.py:23 project/forms/admin_unit_member.py:28
|
||||
#: project/forms/event.py:57 project/forms/event_suggestion.py:38
|
||||
#: project/forms/organizer.py:27 project/templates/_macros.html:262
|
||||
#: project/templates/_macros.html:1370 project/templates/admin/users.html:19
|
||||
#: project/templates/_macros.html:1374 project/templates/admin/users.html:19
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
@ -446,349 +446,343 @@ msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:71
|
||||
msgid ""
|
||||
"Indicate when the event will take place. If the event takes place "
|
||||
"regularly, enter when the first date will begin."
|
||||
msgid "Indicate when the event will take place."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:76
|
||||
#: project/forms/event.py:74
|
||||
msgid "End"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:78
|
||||
msgid ""
|
||||
"Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
" If the event takes place regularly, enter when the first date will end."
|
||||
#: project/forms/event.py:76
|
||||
msgid "Indicate when the event will end. An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:83
|
||||
msgid "Recurrence rule"
|
||||
#: project/forms/event.py:81 project/templates/event/create.html:298
|
||||
#: project/templates/event/update.html:135
|
||||
#: project/templates/widget/event_suggestion/create.html:212
|
||||
msgid "Recurring event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:85
|
||||
msgid "Enter if the event takes place regularly."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:88 project/forms/event_place.py:28
|
||||
#: project/forms/event.py:85 project/forms/event_place.py:28
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:90
|
||||
#: project/forms/event.py:87
|
||||
msgid "Add an description of the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:95
|
||||
#: project/forms/event.py:92
|
||||
msgid ""
|
||||
"Enter a link to an external website containing more information about the"
|
||||
" event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:100
|
||||
#: project/forms/event.py:97
|
||||
msgid "Ticket Link URL"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:102
|
||||
#: project/forms/event.py:99
|
||||
msgid "Enter a link where tickets can be purchased."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:105 project/templates/_macros.html:244
|
||||
#: project/forms/event.py:102 project/templates/_macros.html:244
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:107
|
||||
#: project/forms/event.py:104
|
||||
msgid ""
|
||||
"Enter keywords with which the event should be found. Words do not need to"
|
||||
" be entered if they are already in the name or description."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:112
|
||||
#: project/forms/event.py:109
|
||||
msgid "Kid friendly"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:114
|
||||
#: project/forms/event.py:111
|
||||
msgid "If the event is particularly suitable for children."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:117
|
||||
#: project/forms/event.py:114
|
||||
msgid "Accessible for free"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:119
|
||||
#: project/forms/event.py:116
|
||||
msgid "If the event is accessible for free."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:122
|
||||
#: project/forms/event.py:119
|
||||
msgid "Typical Age from"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:124
|
||||
#: project/forms/event.py:121
|
||||
msgid "The minimum age that participants should be."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:127
|
||||
#: project/forms/event.py:124
|
||||
msgid "Typical Age to"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:129
|
||||
#: project/forms/event.py:126
|
||||
msgid "The maximum age that participants should be."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:132
|
||||
#: project/forms/event.py:129
|
||||
msgid "Registration required"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:134
|
||||
#: project/forms/event.py:131
|
||||
msgid "If the participants needs to register for the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:139 project/templates/_macros.html:276
|
||||
#: project/templates/layout.html:157
|
||||
#: project/forms/event.py:136 project/templates/_macros.html:276
|
||||
#: project/templates/layout.html:159
|
||||
msgid "Booked up"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:141
|
||||
#: project/forms/event.py:138
|
||||
msgid "If the event is booked up or sold out."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:144
|
||||
#: project/forms/event.py:141
|
||||
msgid "Expected number of participants"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:146
|
||||
#: project/forms/event.py:143
|
||||
msgid "The estimated expected attendance."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:149
|
||||
#: project/forms/event.py:146
|
||||
msgid "Price info"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:151
|
||||
#: project/forms/event.py:148
|
||||
msgid ""
|
||||
"Enter price information in textual form. E.g., different prices for "
|
||||
"adults and children."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:156
|
||||
#: project/forms/event.py:153
|
||||
msgid "Target group origin"
|
||||
msgstr "Suitable for tourists / residents"
|
||||
|
||||
#: project/forms/event.py:161
|
||||
#: project/forms/event.py:158
|
||||
msgid "EventTargetGroupOrigin.both"
|
||||
msgstr "For tourists and residents"
|
||||
|
||||
#: project/forms/event.py:165
|
||||
#: project/forms/event.py:162
|
||||
msgid "EventTargetGroupOrigin.tourist"
|
||||
msgstr "Mainly for tourists"
|
||||
|
||||
#: project/forms/event.py:169
|
||||
#: project/forms/event.py:166
|
||||
msgid "EventTargetGroupOrigin.resident"
|
||||
msgstr "Mainly for residents"
|
||||
|
||||
#: project/forms/event.py:172
|
||||
#: project/forms/event.py:169
|
||||
msgid ""
|
||||
"Choose whether the event is particularly suitable for tourists or "
|
||||
"residents."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:177
|
||||
#: project/forms/event.py:174
|
||||
msgid "Attendance mode"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:182
|
||||
#: project/forms/event.py:179
|
||||
msgid "EventAttendanceMode.offline"
|
||||
msgstr "Normal (Offline)"
|
||||
|
||||
#: project/forms/event.py:186 project/templates/layout.html:145
|
||||
#: project/forms/event.py:183 project/templates/layout.html:147
|
||||
msgid "EventAttendanceMode.online"
|
||||
msgstr "Online"
|
||||
|
||||
#: project/forms/event.py:188 project/templates/layout.html:148
|
||||
#: project/forms/event.py:185 project/templates/layout.html:150
|
||||
msgid "EventAttendanceMode.mixed"
|
||||
msgstr "Online and offline"
|
||||
|
||||
#: project/forms/event.py:190
|
||||
#: project/forms/event.py:187
|
||||
msgid "Choose how people can attend the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:194 project/forms/event_place.py:27
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/forms/event.py:191 project/forms/event_place.py:27
|
||||
#: project/templates/widget/event_suggestion/create.html:230
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:196
|
||||
#: project/forms/event.py:193
|
||||
msgid ""
|
||||
"We recommend uploading a photo for the event. It looks a lot more, but of"
|
||||
" course it works without it."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:206 project/templates/_macros.html:1193
|
||||
#: project/forms/event.py:203 project/templates/_macros.html:1193
|
||||
msgid "The start must be before the end."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:212 project/templates/_macros.html:1210
|
||||
#: project/forms/event.py:209 project/templates/_macros.html:1210
|
||||
msgid "An event can last a maximum of 14 days."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:220 project/templates/_macros.html:423
|
||||
#: project/forms/event.py:217 project/templates/_macros.html:423
|
||||
#: project/templates/_macros.html:582
|
||||
msgid "Previous start date"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:222
|
||||
#: project/forms/event.py:219
|
||||
msgid "Enter when the event should have taken place before it was postponed."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:227 project/forms/event_suggestion.py:71
|
||||
#: project/forms/event.py:224 project/forms/event_suggestion.py:71
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:230 project/forms/event_suggestion.py:74
|
||||
#: project/forms/event.py:227 project/forms/event_suggestion.py:74
|
||||
msgid "Choose categories that fit the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:233 project/forms/reference.py:14
|
||||
#: project/forms/event.py:230 project/forms/reference.py:14
|
||||
#: project/forms/reference.py:27 project/forms/reference_request.py:75
|
||||
#: project/templates/event/create.html:403
|
||||
#: project/templates/event/update.html:206
|
||||
#: project/templates/event/create.html:412
|
||||
#: project/templates/event/update.html:214
|
||||
msgid "Rating"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:237 project/forms/reference.py:18
|
||||
#: project/forms/event.py:234 project/forms/reference.py:18
|
||||
#: project/forms/reference.py:31 project/forms/reference_request.py:79
|
||||
msgid ""
|
||||
"Choose how relevant the event is to your organization. The value is not "
|
||||
"visible and is used for sorting."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:245 project/forms/event.py:254
|
||||
#: project/forms/event.py:318 project/forms/event_suggestion.py:50
|
||||
#: project/forms/event.py:242 project/forms/event.py:251
|
||||
#: project/forms/event.py:315 project/forms/event_suggestion.py:50
|
||||
#: project/templates/_macros.html:462 project/templates/_macros.html:618
|
||||
#: project/templates/event/create.html:328
|
||||
#: project/templates/event/update.html:156
|
||||
#: project/templates/event/create.html:337
|
||||
#: project/templates/event/update.html:164
|
||||
#: project/templates/event_place/create.html:21
|
||||
#: project/templates/event_place/delete.html:13
|
||||
#: project/templates/event_place/update.html:21
|
||||
msgid "Place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:247
|
||||
#: project/forms/event.py:244
|
||||
msgid "Select existing place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:248
|
||||
#: project/forms/event.py:245
|
||||
msgid "Enter new place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:261 project/forms/event.py:270
|
||||
#: project/forms/event.py:326 project/forms/event.py:376
|
||||
#: project/forms/event.py:258 project/forms/event.py:267
|
||||
#: project/forms/event.py:323 project/forms/event.py:373
|
||||
#: project/forms/event_suggestion.py:60 project/templates/_macros.html:500
|
||||
#: project/templates/_macros.html:655 project/templates/event/create.html:299
|
||||
#: project/templates/event/update.html:147
|
||||
#: project/templates/_macros.html:655 project/templates/event/create.html:308
|
||||
#: project/templates/event/update.html:155
|
||||
#: project/templates/organizer/create.html:17
|
||||
#: project/templates/organizer/delete.html:13
|
||||
#: project/templates/organizer/update.html:17
|
||||
msgid "Organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:263
|
||||
#: project/forms/event.py:260
|
||||
msgid "Select existing organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:264
|
||||
#: project/forms/event.py:261
|
||||
msgid "Enter new organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:276 project/templates/event/create.html:4
|
||||
#: project/templates/event/create.html:271 project/templates/layout.html:254
|
||||
#: project/forms/event.py:273 project/templates/event/create.html:4
|
||||
#: project/templates/event/create.html:275 project/templates/layout.html:256
|
||||
#: project/templates/manage/events.html:12
|
||||
#: project/templates/manage/organizers.html:21
|
||||
msgid "Create event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:302
|
||||
#: project/forms/event.py:299
|
||||
msgid "Select existing place or enter new place"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:309
|
||||
#: project/forms/event.py:306
|
||||
msgid "Select existing organizer or enter new organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:321
|
||||
#: project/forms/event.py:318
|
||||
msgid ""
|
||||
"Choose where the event takes place. You can add and modify places at "
|
||||
"Manage > Places."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:329
|
||||
#: project/forms/event.py:326
|
||||
msgid ""
|
||||
"Select the organizer. You can add and modify organizers at Manage > "
|
||||
"Organizers."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:335 project/templates/event/update.html:137
|
||||
#: project/forms/event.py:332 project/templates/event/update.html:145
|
||||
#: project/templates/oauth2_token/list.html:21
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:338
|
||||
#: project/forms/event.py:335
|
||||
msgid "EventStatus.scheduled"
|
||||
msgstr "Scheduled"
|
||||
|
||||
#: project/forms/event.py:339 project/templates/layout.html:111
|
||||
#: project/templates/layout.html:126
|
||||
#: project/forms/event.py:336 project/templates/layout.html:113
|
||||
#: project/templates/layout.html:128
|
||||
msgid "EventStatus.cancelled"
|
||||
msgstr "Cancelled"
|
||||
|
||||
#: project/forms/event.py:340 project/templates/layout.html:114
|
||||
#: project/templates/layout.html:129
|
||||
#: project/forms/event.py:337 project/templates/layout.html:116
|
||||
#: project/templates/layout.html:131
|
||||
msgid "EventStatus.movedOnline"
|
||||
msgstr "Moved online"
|
||||
|
||||
#: project/forms/event.py:341 project/templates/layout.html:117
|
||||
#: project/templates/layout.html:132
|
||||
#: project/forms/event.py:338 project/templates/layout.html:119
|
||||
#: project/templates/layout.html:134
|
||||
msgid "EventStatus.postponed"
|
||||
msgstr "Postponed"
|
||||
|
||||
#: project/forms/event.py:342 project/templates/layout.html:120
|
||||
#: project/templates/layout.html:135
|
||||
#: project/forms/event.py:339 project/templates/layout.html:122
|
||||
#: project/templates/layout.html:137
|
||||
msgid "EventStatus.rescheduled"
|
||||
msgstr "Rescheduled"
|
||||
|
||||
#: project/forms/event.py:344
|
||||
#: project/forms/event.py:341
|
||||
msgid "Select the status of the event."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:347 project/templates/event/update.html:4
|
||||
#: project/templates/event/update.html:109
|
||||
#: project/forms/event.py:344 project/templates/event/update.html:4
|
||||
#: project/templates/event/update.html:112
|
||||
msgid "Update event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:361 project/templates/_macros.html:1165
|
||||
#: project/forms/event.py:358 project/templates/_macros.html:1165
|
||||
#: project/templates/event/actions.html:47
|
||||
#: project/templates/event/delete.html:6
|
||||
msgid "Delete event"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:369 project/forms/event_date.py:15
|
||||
#: project/forms/event.py:366 project/forms/event_date.py:15
|
||||
#: project/forms/planing.py:14
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:370 project/forms/event_date.py:16
|
||||
#: project/forms/event.py:367 project/forms/event_date.py:16
|
||||
#: project/forms/planing.py:15
|
||||
msgid "to"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:371 project/forms/event_date.py:17
|
||||
#: project/forms/event.py:368 project/forms/event_date.py:17
|
||||
msgid "Keyword"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:373 project/forms/event_date.py:19
|
||||
#: project/forms/event.py:370 project/forms/event_date.py:19
|
||||
#: project/forms/planing.py:17 project/templates/_macros.html:386
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event.py:379
|
||||
#: project/forms/event.py:376
|
||||
msgid "Find events"
|
||||
msgstr ""
|
||||
|
||||
@ -847,13 +841,13 @@ msgstr ""
|
||||
msgid "I would like to be notified by email after the review"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:333
|
||||
#: project/forms/event_suggestion.py:52 project/templates/event/create.html:342
|
||||
msgid ""
|
||||
"Choose where the event takes place. If the venue is not yet in the list, "
|
||||
"just enter it."
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:303
|
||||
#: project/forms/event_suggestion.py:62 project/templates/event/create.html:312
|
||||
msgid ""
|
||||
"Select the organizer. If the organizer is not yet on the list, just enter"
|
||||
" it."
|
||||
@ -861,7 +855,7 @@ msgstr ""
|
||||
|
||||
#: project/forms/event_suggestion.py:78
|
||||
#: project/templates/widget/event_suggestion/create.html:4
|
||||
#: project/templates/widget/event_suggestion/create.html:125
|
||||
#: project/templates/widget/event_suggestion/create.html:130
|
||||
msgid "Create event suggestion"
|
||||
msgstr ""
|
||||
|
||||
@ -930,7 +924,7 @@ msgstr ""
|
||||
#: project/templates/_macros.html:521 project/templates/_macros.html:681
|
||||
#: project/templates/admin_unit/create.html:19
|
||||
#: project/templates/admin_unit/update.html:20
|
||||
#: project/templates/layout.html:284
|
||||
#: project/templates/layout.html:286
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
|
||||
@ -955,7 +949,7 @@ msgstr ""
|
||||
msgid "Delete request"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/reference_request.py:27 project/templates/_macros.html:1292
|
||||
#: project/forms/reference_request.py:27 project/templates/_macros.html:1296
|
||||
#: project/templates/event_suggestion/review_status.html:18
|
||||
#: project/templates/reference_request/review_status.html:12
|
||||
msgid "Review status"
|
||||
@ -1013,7 +1007,7 @@ msgstr ""
|
||||
msgid "Deny"
|
||||
msgstr ""
|
||||
|
||||
#: project/forms/widgets.py:147
|
||||
#: project/forms/widgets.py:137
|
||||
msgid "This field is required."
|
||||
msgstr ""
|
||||
|
||||
@ -1060,11 +1054,11 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:402 project/templates/_macros.html:578
|
||||
#: project/templates/event/actions.html:12
|
||||
#: project/templates/event/create.html:278
|
||||
#: project/templates/event/create.html:282
|
||||
#: project/templates/event/delete.html:13
|
||||
#: project/templates/event/update.html:116
|
||||
#: project/templates/event/update.html:119
|
||||
#: project/templates/reference/delete.html:13
|
||||
#: project/templates/widget/event_suggestion/create.html:197
|
||||
#: project/templates/widget/event_suggestion/create.html:202
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
@ -1074,12 +1068,12 @@ msgid "%(count)d event dates"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:445 project/templates/_macros.html:600
|
||||
#: project/templates/_macros.html:1355 project/templates/event/actions.html:32
|
||||
#: project/templates/_macros.html:1359 project/templates/event/actions.html:32
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:449 project/templates/_macros.html:604
|
||||
#: project/templates/_macros.html:1385
|
||||
#: project/templates/_macros.html:1389
|
||||
msgid "Add to calendar"
|
||||
msgstr ""
|
||||
|
||||
@ -1108,12 +1102,12 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:811 project/templates/_macros.html:813
|
||||
#: project/templates/event_date/list.html:279
|
||||
#: project/templates/widget/event_suggestion/create.html:161
|
||||
#: project/templates/widget/event_suggestion/create.html:186
|
||||
#: project/templates/widget/event_suggestion/create.html:208
|
||||
#: project/templates/widget/event_suggestion/create.html:231
|
||||
#: project/templates/widget/event_suggestion/create.html:264
|
||||
#: project/templates/widget/event_suggestion/create.html:293
|
||||
#: project/templates/widget/event_suggestion/create.html:166
|
||||
#: project/templates/widget/event_suggestion/create.html:191
|
||||
#: project/templates/widget/event_suggestion/create.html:219
|
||||
#: project/templates/widget/event_suggestion/create.html:242
|
||||
#: project/templates/widget/event_suggestion/create.html:275
|
||||
#: project/templates/widget/event_suggestion/create.html:304
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
@ -1124,11 +1118,11 @@ msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:817 project/templates/_macros.html:819
|
||||
#: project/templates/event_date/list.html:281
|
||||
#: project/templates/widget/event_suggestion/create.html:162
|
||||
#: project/templates/widget/event_suggestion/create.html:187
|
||||
#: project/templates/widget/event_suggestion/create.html:209
|
||||
#: project/templates/widget/event_suggestion/create.html:232
|
||||
#: project/templates/widget/event_suggestion/create.html:265
|
||||
#: project/templates/widget/event_suggestion/create.html:167
|
||||
#: project/templates/widget/event_suggestion/create.html:192
|
||||
#: project/templates/widget/event_suggestion/create.html:220
|
||||
#: project/templates/widget/event_suggestion/create.html:243
|
||||
#: project/templates/widget/event_suggestion/create.html:276
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
@ -1160,31 +1154,35 @@ msgstr ""
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1252
|
||||
#: project/templates/_macros.html:1214
|
||||
msgid "Please enter a valid time, between 00:00 and 23:59."
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1256
|
||||
msgid "Event suggestion"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1364
|
||||
#: project/templates/_macros.html:1368
|
||||
msgid "Link copied"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1364
|
||||
#: project/templates/_macros.html:1368
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1393
|
||||
#: project/templates/_macros.html:1397
|
||||
msgid "Google calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1394
|
||||
#: project/templates/_macros.html:1398
|
||||
msgid "Apple calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1395
|
||||
#: project/templates/_macros.html:1399
|
||||
msgid "Yahoo calendar"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/_macros.html:1396
|
||||
#: project/templates/_macros.html:1400
|
||||
msgid "Other calendar"
|
||||
msgstr ""
|
||||
|
||||
@ -1197,31 +1195,31 @@ msgstr ""
|
||||
msgid "Register for free"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_place/read.html:22 project/templates/layout.html:204
|
||||
#: project/templates/layout.html:247 project/templates/manage/events.html:5
|
||||
#: project/templates/event_place/read.html:22 project/templates/layout.html:206
|
||||
#: project/templates/layout.html:249 project/templates/manage/events.html:5
|
||||
#: project/templates/manage/events.html:9
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:205
|
||||
#: project/templates/layout.html:207
|
||||
msgid "Planing"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:206
|
||||
#: project/templates/layout.html:208
|
||||
msgid "Example"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/admin/admin.html:19
|
||||
#: project/templates/admin/admin_units.html:4
|
||||
#: project/templates/admin/admin_units.html:11
|
||||
#: project/templates/layout.html:215
|
||||
#: project/templates/layout.html:217
|
||||
#: project/templates/manage/admin_units.html:3
|
||||
#: project/templates/manage/admin_units.html:16
|
||||
#: project/templates/profile.html:60
|
||||
msgid "Organizations"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:216
|
||||
#: project/templates/layout.html:218
|
||||
#: project/templates/oauth2_client/list.html:10
|
||||
#: project/templates/oauth2_client/read.html:10
|
||||
#: project/templates/oauth2_token/list.html:10 project/templates/profile.html:4
|
||||
@ -1231,61 +1229,61 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin/admin.html:3 project/templates/admin/admin.html:9
|
||||
#: project/templates/admin/admin_units.html:10
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:219
|
||||
#: project/templates/admin/users.html:10 project/templates/layout.html:221
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:223
|
||||
#: project/templates/layout.html:225
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:253
|
||||
#: project/templates/layout.html:255
|
||||
msgid "Show events"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:256
|
||||
#: project/templates/layout.html:258
|
||||
msgid "Review suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:265
|
||||
#: project/templates/layout.html:267
|
||||
#: project/templates/manage/references_incoming.html:5
|
||||
#: project/templates/manage/references_outgoing.html:5
|
||||
msgid "References"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:271
|
||||
#: project/templates/layout.html:273
|
||||
#: project/templates/manage/references_incoming.html:9
|
||||
msgid "Incoming references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:272
|
||||
#: project/templates/layout.html:274
|
||||
#: project/templates/manage/references_outgoing.html:9
|
||||
msgid "Outgoing references"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:274
|
||||
#: project/templates/layout.html:276
|
||||
#: project/templates/manage/reference_requests_incoming.html:9
|
||||
msgid "Incoming reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:279
|
||||
#: project/templates/layout.html:281
|
||||
#: project/templates/manage/reference_requests_outgoing.html:9
|
||||
msgid "Outgoing reference requests"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:287 project/templates/manage/organizers.html:5
|
||||
#: project/templates/layout.html:289 project/templates/manage/organizers.html:5
|
||||
#: project/templates/manage/organizers.html:9
|
||||
msgid "Organizers"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event_place/list.html:3
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:288
|
||||
#: project/templates/event_place/list.html:7 project/templates/layout.html:290
|
||||
#: project/templates/manage/places.html:5
|
||||
#: project/templates/manage/places.html:9
|
||||
msgid "Places"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:290 project/templates/manage/members.html:5
|
||||
#: project/templates/layout.html:292 project/templates/manage/members.html:5
|
||||
#: project/templates/manage/members.html:28
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
@ -1294,22 +1292,22 @@ msgstr ""
|
||||
#: project/templates/admin/settings.html:4
|
||||
#: project/templates/admin/settings.html:8
|
||||
#: project/templates/admin_unit/update.html:14
|
||||
#: project/templates/layout.html:291 project/templates/manage/widgets.html:12
|
||||
#: project/templates/layout.html:293 project/templates/manage/widgets.html:12
|
||||
#: project/templates/profile.html:19
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:292 project/templates/manage/reviews.html:10
|
||||
#: project/templates/layout.html:294 project/templates/manage/reviews.html:10
|
||||
#: project/templates/manage/widgets.html:5
|
||||
#: project/templates/manage/widgets.html:9
|
||||
msgid "Widgets"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/layout.html:302
|
||||
#: project/templates/layout.html:304
|
||||
msgid "Switch organization"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/developer/read.html:4 project/templates/layout.html:351
|
||||
#: project/templates/developer/read.html:4 project/templates/layout.html:353
|
||||
#: project/templates/profile.html:29
|
||||
msgid "Developer"
|
||||
msgstr ""
|
||||
@ -1349,8 +1347,8 @@ msgstr ""
|
||||
|
||||
#: project/templates/admin_unit/create.html:49
|
||||
#: project/templates/admin_unit/update.html:50
|
||||
#: project/templates/event/create.html:391
|
||||
#: project/templates/event/update.html:194
|
||||
#: project/templates/event/create.html:400
|
||||
#: project/templates/event/update.html:202
|
||||
#: project/templates/event_place/create.html:47
|
||||
#: project/templates/event_place/update.html:47
|
||||
#: project/templates/organizer/create.html:46
|
||||
@ -1455,42 +1453,42 @@ msgstr ""
|
||||
msgid "List all events of %(admin_unit_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:87
|
||||
#: project/templates/event/update.html:73
|
||||
#: project/templates/event/create.html:90
|
||||
#: project/templates/event/update.html:76
|
||||
msgid "Enter place or address"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:97
|
||||
#: project/templates/event/create.html:210
|
||||
#: project/templates/event/create.html:100
|
||||
#: project/templates/event/create.html:213
|
||||
#, python-format
|
||||
msgid "Just use %(term)s"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:200
|
||||
#: project/templates/event/update.html:96
|
||||
#: project/templates/event/create.html:203
|
||||
#: project/templates/event/update.html:99
|
||||
msgid "Enter organizer"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:288
|
||||
#: project/templates/event/update.html:126
|
||||
#: project/templates/event/create.html:292
|
||||
#: project/templates/event/update.html:129
|
||||
msgid "Event date"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:320
|
||||
#: project/templates/event/create.html:329
|
||||
msgid "Switch to organizer search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:353
|
||||
#: project/templates/event/create.html:362
|
||||
msgid "Switch to place search"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:364
|
||||
#: project/templates/event/update.html:167
|
||||
#: project/templates/event/create.html:373
|
||||
#: project/templates/event/update.html:175
|
||||
msgid "Access"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/event/create.html:378
|
||||
#: project/templates/event/update.html:181
|
||||
#: project/templates/event/create.html:387
|
||||
#: project/templates/event/update.html:189
|
||||
msgid "Target group"
|
||||
msgstr ""
|
||||
|
||||
@ -1704,15 +1702,15 @@ msgstr ""
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:143
|
||||
#: project/templates/widget/event_suggestion/create.html:148
|
||||
msgid "Continue as guest"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:242
|
||||
#: project/templates/widget/event_suggestion/create.html:253
|
||||
msgid "Optional details"
|
||||
msgstr ""
|
||||
|
||||
#: project/templates/widget/event_suggestion/create.html:275
|
||||
#: project/templates/widget/event_suggestion/create.html:286
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
@ -1778,23 +1776,23 @@ msgstr ""
|
||||
msgid "Invitation successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:168
|
||||
#: project/views/event.py:167
|
||||
msgid "Event successfully created"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:208
|
||||
#: project/views/event.py:207
|
||||
msgid "Event successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:231 project/views/reference.py:162
|
||||
#: project/views/event.py:230 project/views/reference.py:162
|
||||
msgid "Entered name does not match event name"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:237
|
||||
#: project/views/event.py:236
|
||||
msgid "Event successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: project/views/event.py:384
|
||||
#: project/views/event.py:383
|
||||
msgid "Referenced event changed"
|
||||
msgstr ""
|
||||
|
||||
@ -1956,3 +1954,9 @@ msgstr ""
|
||||
#~ msgid "Widget als iFrame einbetten"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Recurrence rule"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Enter if the event takes place regularly."
|
||||
#~ msgstr ""
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user