diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e282f52 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "didact.registered": [ + "{\"name\":\"Didact Demo\",\"category\":\"Didact\",\"sourceUri\":\"/home/oetiker/.vscode/extensions/redhat.vscode-didact-0.1.6/demo/didact-demo.didact.md\"}", + "{\"name\":\"Create a New Didact Tutorial Extension\",\"category\":\"Didact\",\"sourceUri\":\"/home/oetiker/.vscode/extensions/redhat.vscode-didact-0.1.6/create_extension/create-new-tutorial-with-extension.didact.md\"}" + ] +} \ No newline at end of file diff --git a/CHANGES b/CHANGES index d30e337..4f82d96 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +0.1.0 2020-03-30 08:04:37 +0200 Tobias Oetiker + + - working version + 0.0.0 2020-02-21 Tobias Oetiker (tobi@oetiker.ch) -- started project + - started project diff --git a/Makefile.am b/Makefile.am index 8552963..00bc36b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,12 +39,17 @@ all-local: share/messages.pot clean-local: rm share/messages.pot -share/messages.pot: $(PM) +LANGUAGES := $(shell $(PERL) -e 'use JSON::PP qw(decode_json); print join(" ", map {"share/".$$_.".po"} @{decode_json(join("",<>))->{locales}})' frontend/compile.json) +CALLBACKERY_PM := $(shell find $(CALLBACKERY_QX)/.. -name "*.pm") + +share/messages.pot: $(PM) $(CALLBACKERY_PM) mkdir -p share - $(XGETTEXT) --language=perl --package-name=$(PACKAGE) --package-version=$(VERSION) --from-code=UTF-8 --keyword=trm:1 --output=share/messages.pot $(PM) - sed -ie 's/charset=CHARSET/charset=UTF-8/g' share/messages.pot - touch share/en.po - for lang in share/*.po; do $(MSGMERGE) -U $$lang share/messages.pot; done + $(XGETTEXT) --language=perl --package-name=$(PACKAGE) --package-version=$(VERSION) --from-code=UTF-8 --keyword=trm:1 --output=share/messages.pot $(PM) $(CALLBACKERY_PM) + sed -i 's/; charset=CHARSET/; charset=UTF-8/' share/messages.pot + for lang in $(LANGUAGES); do \ + ( test -f $$lang || cp share/messages.pot $$lang ); \ + $(MSGMERGE) -F --force-po -U $$lang share/messages.pot; \ + done test: prove -w diff --git a/VERSION b/VERSION index 77d6f4c..6e8bf73 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.0 +0.1.0 diff --git a/cpanfile b/cpanfile index 4564ec7..dd023f2 100644 --- a/cpanfile +++ b/cpanfile @@ -1,2 +1,4 @@ -requires 'CallBackery', '>= 0.30.1'; +requires 'CallBackery', '>= 0.31.2'; requires 'Mojo::SQLite'; +requires 'Email::MIME'; +requires 'Email::Sender'; \ No newline at end of file diff --git a/etc/kuickres.dist.yaml b/etc/kuickres.dist.yaml index d612ba6..2608df2 100644 --- a/etc/kuickres.dist.yaml +++ b/etc/kuickres.dist.yaml @@ -11,7 +11,9 @@ FRONTEND: title: Kuickres Reservation System initial_plugin: Booking company_name: Sportamt der Stadt Zürich - company_url: https://sportamt.ch + company_url: https://sportamt.zuerich.ch + passwordreset_popup: InitialUser + registration_popup: InitialUser PLUGIN: - InitialUser: diff --git a/etc/kuickres.yaml b/etc/kuickres.yaml index d612ba6..9d671c4 100644 --- a/etc/kuickres.yaml +++ b/etc/kuickres.yaml @@ -12,8 +12,32 @@ FRONTEND: initial_plugin: Booking company_name: Sportamt der Stadt Zürich company_url: https://sportamt.ch + passwordreset_popup: + plugin: ResetPassword + set: + width: 630 + height: 240 + + registration_popup: + plugin: RegisterNewAccount + set: + width: 630 + height: 320 PLUGIN: + - ResetPassword: + module: ResetPassword + unlisted: true + tab-name: Reset Password + from: tobi+reset@oetiker.ch + subject: Kuickres Passwort Reset Token + - RegisterNewAccount: + module: Registration + unlisted: true + tab-name: Register New Account + from: tobi+reset@oetiker.ch + subject: Kuickres New Account Token + mailrx: "@oetiker.ch$" - InitialUser: module: UserForm mode: init @@ -21,24 +45,24 @@ PLUGIN: tab-name: Create Initial User - Booking: module: Booking - tab-name: Bookings + tab-name: Buchungen - Location: module: Location - tab-name: Locations + tab-name: Standorte - Room: module: Room - tab-name: Rooms + tab-name: Räume - District: module: District - tab-name: Districts + tab-name: Bezirke - Agegroup: module: Agegroup - tab-name: Age Groups + tab-name: Altersgruppen - AdminUser: module: Users - tab-name: Admin User Manager + tab-name: Konto Manager diff --git a/frontend/Makefile.am b/frontend/Makefile.am index d91ffb3..38016a7 100644 --- a/frontend/Makefile.am +++ b/frontend/Makefile.am @@ -5,7 +5,7 @@ EXTRA_DIST = compile.js compile.json config.json Manifest.json package.json pa if BUILD_QOOXDOO_APP -CBFILES=$(shell find $(CALLBACKERY_QX) -name '*.js') +CBFILES=$(shell find $(CALLBACKERY_QX)/*/source -name '*.js') all-local: build diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 29b178b..ff999ef 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -3,9 +3,9 @@ "lockfileVersion": 1, "dependencies": { "@qooxdoo/compiler": { - "version": "1.0.0-beta.20200221-0910", - "resolved": "https://registry.npmjs.org/@qooxdoo/compiler/-/compiler-1.0.0-beta.20200221-0910.tgz", - "integrity": "sha512-gvG/pfyxzqf5UnEQFTKowkRqtXVzF5zAQacqY8lbzvI8N8yFj7AIOZGbx5Wu7yxGdfeMLgHbdkD0QsPTRIAWhw==", + "version": "1.0.0-beta.20200326-1746", + "resolved": "https://registry.npmjs.org/@qooxdoo/compiler/-/compiler-1.0.0-beta.20200326-1746.tgz", + "integrity": "sha512-qJYmEqj1IE4CQ2kXMKSrZDt1fg3bZmZNu7emlVnJJMyqRppITx5J+nfeS8n1ew/nvQDlXY2dXxFIZaNuhRLeVg==", "dev": true, "requires": { "@babel/core": "^7.5.5", @@ -60,6 +60,7 @@ "rimraf": "^2.6.2", "semver": "^5.7.0", "set-value": "^3.0.1", + "showdown": "^1.9.1", "source-map": "^0.5.7", "tmp": "0.0.33", "uglify-es": "^3.3.9", @@ -1251,9 +1252,9 @@ "dev": true }, "@qooxdoo/framework": { - "version": "6.0.0-beta-20200220-2057", - "resolved": "https://registry.npmjs.org/@qooxdoo/framework/-/framework-6.0.0-beta-20200220-2057.tgz", - "integrity": "sha512-POy7EGClFJpFjEiYaBp6dQd7wTtcmMgW57zMeaWNsitNihSuwDW/Am3FLCTkIXFohgr3YuQaaR1dUr/4pMkfrA==", + "version": "6.0.0-beta-20200326-1703", + "resolved": "https://registry.npmjs.org/@qooxdoo/framework/-/framework-6.0.0-beta-20200326-1703.tgz", + "integrity": "sha512-o53Dj6GONchnYbnWLfHOnEr6WeepcmOZYujk+d30iMhOFGy2/OwXOfcwE8fczA8H8lM6tq2bzEXfYlQ70GmG/g==", "dev": true }, "@types/color-name": { @@ -1291,9 +1292,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, "acorn-jsx": { @@ -3492,9 +3493,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "isarray": { @@ -5559,9 +5560,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "klaw": { @@ -5975,9 +5976,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mixin-deep": { "version": "1.3.2", @@ -7083,9 +7084,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -7828,6 +7829,105 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, + "showdown": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz", + "integrity": "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==", + "dev": true, + "requires": { + "yargs": "^14.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index b87cdc3..b13f946 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,5 +1,5 @@ { "devDependencies": { - "@qooxdoo/compiler": "^1.0.0-beta" + "@qooxdoo/compiler": "^1.0.0-beta.20200326-1746" } } diff --git a/frontend/source/translation/de.po b/frontend/source/translation/de.po new file mode 100644 index 0000000..e69de29 diff --git a/frontend/source/translation/en.po b/frontend/source/translation/en.po new file mode 100644 index 0000000..e69de29 diff --git a/frontend/source/translation/fr.po b/frontend/source/translation/fr.po new file mode 100644 index 0000000..e69de29 diff --git a/frontend/source/translation/it.po b/frontend/source/translation/it.po new file mode 100644 index 0000000..e69de29 diff --git a/lib/Kuickres.pm b/lib/Kuickres.pm index c29ff5f..f7f98ef 100644 --- a/lib/Kuickres.pm +++ b/lib/Kuickres.pm @@ -134,7 +134,7 @@ CREATE TABLE IF NOT EXISTS cbuser ( cbuser_note TEXT, cbuser_calendar_tag TEXT, cbuser_pin INTEGER - DEFAULT (substr(abs(random()-1e8)+1e8,2,7)) + DEFAULT (substr(random() || '0000000',1,7)) ); -- add an extra right for people who can edit diff --git a/lib/Kuickres/GuiPlugin/Agegroup.pm b/lib/Kuickres/GuiPlugin/Agegroup.pm index 08b029f..31f1fa8 100644 --- a/lib/Kuickres/GuiPlugin/Agegroup.pm +++ b/lib/Kuickres/GuiPlugin/Agegroup.pm @@ -74,6 +74,7 @@ has actionCfg => sub { addToContextMenu => false, name => 'AgegroupAddForm', popupTitle => trm('New Agegroup'), + key => 'add', set => { minHeight => 500, minWidth => 500 @@ -90,6 +91,10 @@ has actionCfg => sub { action => 'popup', addToContextMenu => false, name => 'AgegroupEditForm', + key => 'edit', + buttonSet => { + enabled => false + }, popupTitle => trm('Edit Agegroup'), set => { minHeight => 500, @@ -108,6 +113,9 @@ has actionCfg => sub { addToContextMenu => true, question => trm('Do you really want to delete the selected Agegroup. This will only work if there are no reservations linked to it.'), key => 'delete', + buttonSet => { + enabled => false + }, actionHandler => sub { my $self = shift; my $args = shift; @@ -152,7 +160,7 @@ sub getTableData { : ' ASC' ); } - return $db->query(<<"SQL_END", + my $data = $db->query(<<"SQL_END", SELECT * FROM agegroup $SORT LIMIT ? OFFSET ? @@ -160,6 +168,17 @@ SQL_END $args->{lastRow}-$args->{firstRow}+1, $args->{firstRow}, )->hashes; + for my $row (@$data) { + $row->{_actionSet} = { + edit => { + enabled => true + }, + delete => { + enabled => true, + }, + } + } + return $data; } 1; diff --git a/lib/Kuickres/GuiPlugin/AgegroupForm.pm b/lib/Kuickres/GuiPlugin/AgegroupForm.pm index 2a91132..703fe42 100644 --- a/lib/Kuickres/GuiPlugin/AgegroupForm.pm +++ b/lib/Kuickres/GuiPlugin/AgegroupForm.pm @@ -86,7 +86,7 @@ has actionCfg => sub { } else { $self->db->update('agegroup', { - map { 'agegroup'.$_ => $args->{'agegroup'.$_} } qw( + map { 'agegroup_'.$_ => $args->{'agegroup_'.$_} } qw( name ) },{ agegroup_id => $args->{agegroup_id}}); diff --git a/lib/Kuickres/GuiPlugin/Booking.pm b/lib/Kuickres/GuiPlugin/Booking.pm index 67a3b45..85cd6fc 100644 --- a/lib/Kuickres/GuiPlugin/Booking.pm +++ b/lib/Kuickres/GuiPlugin/Booking.pm @@ -24,7 +24,7 @@ has checkAccess => sub { my $self = shift; return 0 if $self->user->userId eq '__ROOT'; - return $self->user->may('booker'); + return $self->user->may('booker') || $self->user->may('admin'); }; @@ -101,7 +101,7 @@ has tableCfg => sub { label => trm('Schedule Entry'), type => 'string', width => '3*', - key => 'bookbooking_calendar_tag', + key => 'booking_calendar_tag', sortable => true, }, { @@ -154,15 +154,15 @@ has actionCfg => sub { return [ { - label => trm('Add Booking'), + label => trm('New Booking'), action => 'popup', addToContextMenu => false, name => 'bookingAddForm', key => 'add', popupTitle => trm('New Booking'), set => { - minHeight => 700, - minWidth => 500 + height => 500, + width => 500 }, backend => { plugin => 'BookingForm', @@ -171,9 +171,6 @@ has actionCfg => sub { } } }, - { - action => 'separator' - }, { label => trm('Edit Booking'), action => 'popup', diff --git a/lib/Kuickres/GuiPlugin/BookingForm.pm b/lib/Kuickres/GuiPlugin/BookingForm.pm index 5768865..dfbc90c 100644 --- a/lib/Kuickres/GuiPlugin/BookingForm.pm +++ b/lib/Kuickres/GuiPlugin/BookingForm.pm @@ -24,7 +24,7 @@ The Booking Edit Form has checkAccess => sub { my $self = shift; return 0 if $self->user->userId eq '__ROOT'; - return $self->user->may('booker'); + return $self->user->may('booker') || $self->user->may('admin'); }; =head1 METHODS @@ -65,7 +65,7 @@ sub parse_time ($self,$str) { end_ts => $end_ts, duration => $duration, }; - $self->log->debug(dumper $ret); + # $self->log->debug(dumper $ret); return $ret; } @@ -118,10 +118,7 @@ has formCfg => sub { required => true, placeholder => 'DD.MM.YYYY HH:MM-HH:MM', }, - validator => sub { - my $value = shift; - my $fieldName = shift; - my $form = shift; + validator => sub ($value,$fieldName,$form) { my $t = eval { $self->parse_time($value) }; if ($@) { return $@ if ref $@; @@ -148,21 +145,28 @@ SQL_END $location->{location_open}, $location->{location_close}) if $t->{start} < $lstart or $t->{end} > $lend; - - - my $overlaps = $db->query(<{booking_room}, + $t->{start_ts}, + $t->{end_ts} + ); + my $IGNORE =''; + if ($form->{booking_id}) { + $IGNORE = "AND booking_id <> CAST(? AS INTEGER)"; + push @params, $form->{booking_id}; + } + my $overlaps = $db->query(< CAST(? AS INTEGER) + AND booking_start_ts < CAST(? AS INTEGER) + $IGNORE SQL_END - $form->{booking_room},$t->{start_ts},$t->{end_ts})->rows; + )->hash; return trm("Booking overlaps with %1 existing bookings.", - $overlaps) if $overlaps > 0; + $overlaps->{c}) if $overlaps->{c} > 0; return; }, }, @@ -230,7 +234,8 @@ has actionCfg => sub { } else { $self->db->update('booking',$data,{ - booking_id => $args->{booking_id}}); + booking_id => $args->{booking_id} + }); } return { action => 'dataSaved' diff --git a/lib/Kuickres/GuiPlugin/District.pm b/lib/Kuickres/GuiPlugin/District.pm index d467aa8..d67d357 100644 --- a/lib/Kuickres/GuiPlugin/District.pm +++ b/lib/Kuickres/GuiPlugin/District.pm @@ -74,10 +74,11 @@ has actionCfg => sub { action => 'popup', addToContextMenu => false, name => 'DistrictAddForm', + key => 'add', popupTitle => trm('New District'), set => { - minHeight => 500, - minWidth => 500 + height => 500, + width => 500 }, backend => { plugin => 'DistrictForm', @@ -89,8 +90,12 @@ has actionCfg => sub { { label => trm('Edit District'), action => 'popup', + key => 'edit', addToContextMenu => false, name => 'DistrictEditForm', + buttonSet => { + enabled => false + }, popupTitle => trm('Edit District'), set => { minHeight => 500, @@ -109,6 +114,9 @@ has actionCfg => sub { addToContextMenu => true, question => trm('Do you really want to delete the selected District. This will only work if there are no reservations linked to it.'), key => 'delete', + buttonSet => { + enabled => false + }, actionHandler => sub { my $self = shift; my $args = shift; @@ -153,7 +161,7 @@ sub getTableData { : ' ASC' ); } - return $db->query(<<"SQL_END", + my $data = $db->query(<<"SQL_END", SELECT * FROM district $SORT LIMIT ? OFFSET ? @@ -161,6 +169,17 @@ SQL_END $args->{lastRow}-$args->{firstRow}+1, $args->{firstRow}, )->hashes; + for my $row (@$data) { + $row->{_actionSet} = { + edit => { + enabled => true + }, + delete => { + enabled => true, + }, + } + } + return $data; } 1; diff --git a/lib/Kuickres/GuiPlugin/DistrictForm.pm b/lib/Kuickres/GuiPlugin/DistrictForm.pm index e6ee14b..5e8c532 100644 --- a/lib/Kuickres/GuiPlugin/DistrictForm.pm +++ b/lib/Kuickres/GuiPlugin/DistrictForm.pm @@ -86,7 +86,7 @@ has actionCfg => sub { } else { $self->db->update('district', { - map { 'district'.$_ => $args->{'district'.$_} } qw( + map { 'district_'.$_ => $args->{'district_'.$_} } qw( name ) },{ district_id => $args->{district_id}}); diff --git a/lib/Kuickres/GuiPlugin/Location.pm b/lib/Kuickres/GuiPlugin/Location.pm index f05d09e..1fed8fa 100644 --- a/lib/Kuickres/GuiPlugin/Location.pm +++ b/lib/Kuickres/GuiPlugin/Location.pm @@ -49,24 +49,17 @@ has tableCfg => sub { primary => true }, { - label => trm('Name'), + label => trm('Location Name'), type => 'string', width => '6*', key => 'location_name', sortable => true, }, { - label => trm('Open'), + label => trm('Opening Hours'), type => 'string', - width => '1*', - key => 'location_open', - sortable => false, - }, - { - label => trm('Close'), - type => 'string', - width => '1*', - key => 'location_close', + width => '3*', + key => 'location_opentime', sortable => false, }, { @@ -96,9 +89,10 @@ has actionCfg => sub { addToContextMenu => false, name => 'locationAddForm', popupTitle => trm('New Location'), + key => 'add', set => { - minHeight => 500, - minWidth => 500 + height => 400, + width => 500 }, backend => { plugin => 'LocationForm', @@ -110,9 +104,13 @@ has actionCfg => sub { { label => trm('Edit Location'), action => 'popup', + key => 'edit', addToContextMenu => false, name => 'locationEditForm', popupTitle => trm('Edit Location'), + buttonSet => { + enabled => false + }, set => { minHeight => 500, minWidth => 500 @@ -128,8 +126,11 @@ has actionCfg => sub { label => trm('Delete Location'), action => 'submitVerify', addToContextMenu => true, - question => trm('Do you really want to delete the selected Location. This will only work if there are no rooms linked to it.'), + buttonSet => { + enabled => false + }, key => 'delete', + question => trm('Do you really want to delete the selected Location. This will only work if there are no rooms linked to it.'), actionHandler => sub { my $self = shift; my $args = shift; @@ -174,10 +175,10 @@ sub getTableData { : ' ASC' ); } - return $db->query(<<"SQL_END", + my $data = $db->query(<<"SQL_END", SELECT *, - strftime('%H:%M',location_open_start,'unixepoch') AS location_open, - strftime('%H:%M',location_open_start+location_open_duration,'unixepoch') AS location_close + strftime('%H:%M - ',location_open_start,'unixepoch') || + strftime('%H:%M',location_open_start+location_open_duration,'unixepoch') AS location_opentime FROM location $SORT LIMIT ? OFFSET ? @@ -185,6 +186,17 @@ SQL_END $args->{lastRow}-$args->{firstRow}+1, $args->{firstRow}, )->hashes; + for my $row (@$data) { + $row->{_actionSet} = { + edit => { + enabled => true, + }, + delete => { + enabled => true, + }, + } + } + return $data; } 1; diff --git a/lib/Kuickres/GuiPlugin/LocationForm.pm b/lib/Kuickres/GuiPlugin/LocationForm.pm index 9f85008..46d9cf4 100644 --- a/lib/Kuickres/GuiPlugin/LocationForm.pm +++ b/lib/Kuickres/GuiPlugin/LocationForm.pm @@ -144,7 +144,7 @@ has actionCfg => sub { } else { $self->db->update('location', { - map { 'location_'.$_ => $args->{'loation_'.$_} } qw( + map { 'location_'.$_ => $args->{'location_'.$_} } qw( name address open_start open_duration ) },{ location_id => $args->{location_id}}); diff --git a/lib/Kuickres/GuiPlugin/Registration.pm b/lib/Kuickres/GuiPlugin/Registration.pm new file mode 100644 index 0000000..0e11d70 --- /dev/null +++ b/lib/Kuickres/GuiPlugin/Registration.pm @@ -0,0 +1,119 @@ +package Kuickres::GuiPlugin::Registration; +use Mojo::Base 'Kuickres::GuiPlugin::ResetPassword', -signatures; +use CallBackery::Translate qw(trm); +use CallBackery::Exception qw(mkerror); +use Mojo::JSON qw(true false); +use Mojo::Util qw(dumper hmac_sha1_sum md5_sum); +use Time::Piece qw(localtime); +use POSIX qw(strftime); +use Email::MIME; +use Email::Sender::Simple; + +=head1 NAME + +Kuickres::GuiPlugin::Registration - Create a new Account + +=head1 SYNOPSIS + + use Kuickres::GuiPlugin::Registration; + +=head1 DESCRIPTION + +The Account Creation Form + +=cut + +=head1 METHODS + +All the methods of L plus: + +=cut + +has accountMustExist => 0; + +has createActionLabel => sub { + trm('Create New Account'); +}; + +has formCfg => sub ($self) { + my $form = $self->SUPER::formCfg; + my @new = ( + { + key => 'given', + label => trm('Given Name'), + widget => 'text', + set => { + nativeContextMenu => true, + }, + }, + { + key => 'family', + label => trm('Family Name'), + widget => 'text', + set => { + nativeContextMenu => true, + }, + }, + ); + splice(@$form,2,0,@new); + return $form; +}; + +sub tokenMail ($self,$email,$token) { + return trm('Hallo %1 + +Jemand versucht gerade ein neues Konto in Kuickres zu erstellen. +Falls sie das selber sind, tragen sie das untenstehende Token +im Konto-Erzeugungs-Formular ein. + + %2 + + +',$email,$token); +} + +sub createAction ($self,$args) { + # now all is required ... + for (qw(email token given family pass1 pass2)){ + die mkerror(3893,trm('%1 is required',ucfirst)) + unless $args->{$_}; + } + eval { + my $db = $self->db; + my $tx = $db->begin; + my $id = $db->insert('cbuser',{ + cbuser_password => hmac_sha1_sum($args->{pass1}), + cbuser_login => $args->{email}, + cbuser_given => $args->{given}, + cbuser_family => $args->{family}, + })->last_insert_id; + my $booker_id = $db->select('cbright','cbright_id',{ + cbright_key => 'booker' + })->hash->{cbright_id}; + $db->insert('cbuserright',{ + cbuserright_cbuser => $id, + cbuserright_cbright => $booker_id, + }); + $tx->commit; + }; + if ($@) { + $self->log->error($@); + die mkerror(3884,trm("Failed to create account for %1",$args->{email})); + } + return { + action => 'dataSaved' + }; +} + +1; +__END__ + +=head1 AUTHOR + +Stobi@oetiker.chE> + +=head1 HISTORY + + 2020-03-16 oetiker 0.0 first version + +=cut diff --git a/lib/Kuickres/GuiPlugin/ResetPassword.pm b/lib/Kuickres/GuiPlugin/ResetPassword.pm new file mode 100644 index 0000000..7d0d130 --- /dev/null +++ b/lib/Kuickres/GuiPlugin/ResetPassword.pm @@ -0,0 +1,305 @@ +package Kuickres::GuiPlugin::ResetPassword; +use Mojo::Base 'CallBackery::GuiPlugin::AbstractForm', -signatures; +use CallBackery::Translate qw(trm); +use CallBackery::Exception qw(mkerror); +use Mojo::JSON qw(true false); +use Mojo::Util qw(dumper hmac_sha1_sum md5_sum); +use Time::Piece qw(localtime); +use POSIX qw(strftime); +use Email::MIME; +use Email::Sender::Simple; + +=head1 NAME + +Kuickres::GuiPlugin::ResetPassword - Reset Password + +=head1 SYNOPSIS + + use Kuickres::GuiPlugin::ResetPassword; + +=head1 DESCRIPTION + +The Reset Password Form + +=cut + +has checkAccess => sub { + 1; +}; + +has mayAnonymous => sub { + 1; +}; + +=head1 METHODS + +All the methods of L plus: + +=cut + +sub db { + shift->user->mojoSqlDb; +} + +=head2 formCfg + +Returns a Configuration Structure for the Booking Entry Form. + +=cut + +has accountMustExist => 1; + +has formCfg => sub { + my $self = shift; + my $args = $self->args // {}; + my $form = $args->{currentFormData} // {}; + + my $emailCheck = sub ($email,$fieldName=undef,$form={}) { + return trm("Invalid email address") + unless $email and $email =~ /^[^@\s]+@[^@\s]+$/; + if (my $mailrx = $self->config->{mailrx}){ + return trm("Invalid email address") + unless $email and $email =~ m/$mailrx/, + } + if ($self->accountMustExist) { + return trm("Unknown email address") + if not $self->db->select('cbuser',undef,{ + cbuser_login => $email + })->hash; + } + else { + return trm("email address in use") + if $self->db->select('cbuser',undef,{ + cbuser_login => $email + })->hash; + } + return; + }; + + my $tokenCheck = sub ($token,$fieldName=undef,$form={}) { + return trm("Invalid token") + unless $self->checkToken($form->{email},$token); + return; + }; + + my $passwordCheck1 = sub ($value='',$fieldName=undef,$form={}) { + chomp($value); + my $len = length($value); + return trm('Passwords must be 8 chars or longer') + if $len < 8; + return trm('Passwords < 20 chars must contain upper- and lowercase letters') + if $len < 20 && not ($value =~ /[a-z]/ and $value =~ /[A-Z]/); + return trm('Passwords < 16 chars must contain upper- and lowercase letters and numbers') + if $len < 16 && not ($value =~ /[1-9]/); + return trm('Passwords < 12 chars must contain upper- and lowercase letters and numbers and special characters') + if $len < 12 && not ($value =~ /[^ A-Z1-9a-z]/); + return; + }; + my $passwordCheck2 = sub ($value,$fieldName=undef,$form={}) { + return trm('Passwords must must match') + if $value ne $form->{pass1}; + return; + }; + my $tokenSent = $emailCheck->($form->{email}) ? false : true; + my $tokenOk = $tokenCheck->($form->{token},undef,$form) ? false : true; + return [ + { + key => 'email', + label => trm('Email Address'), + widget => 'text', + triggerFormReset => true, + validator => $emailCheck, + actionSet => { + sendToken => { + enabled => $tokenOk ? false : true, + } + }, + set => { + nativeContextMenu => true, + required => true, + readOnly => $tokenOk, + } + }, + { + key => 'token', + label => trm('Validation Token'), + widget => 'text', + triggerFormReset => true, + set => { + readOnly => $tokenOk, + placeholder => trm('check your mail for a token'), + nativeContextMenu => true + }, + validator => $tokenCheck, + note => trm('[Send Token]'), + actionSet => { + setPassword => { + enabled => $tokenOk, + } + }, + }, + { + key => 'pass1', + label => trm('New Password'), + widget => 'password', + note => trm('Standford Password Policy'), + set => { + placeholder => trm('type a your new password'), + nativeContextMenu => true, + }, + + validator => $passwordCheck1, + }, + { + key => 'pass2', + label => trm('Repeat Password'), + widget => 'password', + set => { + placeholder => trm('repeat the password'), + nativeContextMenu => true, + }, + validator => $passwordCheck2, + }, + ]; +}; + +has createActionLabel => sub { + trm('Set New Password'); +}; + +sub createAction ($self,$args) { + # now all is required ... + for (qw(email token pass1 pass2)){ + die mkerror(3893,trm('%1 is required',$_)) + unless $args->{$_}; + } + eval { + $self->db->update('cbuser',{ + cbuser_password => hmac_sha1_sum($args->{pass1}) + },{ + cbuser_login => $args->{email} + }); + }; + if ($@) { + $self->log->error($@); + die mkerror(3884, + trm("Failed to update password for %1",$args->{email})); + } + return { + action => 'dataSaved' + }; +} + +has actionCfg => sub { + my $self = shift; + my $type = $self->config->{type} // 'add'; + my $handler = + + return [ + { + label => trm('Send Token'), + action => 'submit', + key => 'sendToken', + actionHandler => sub ($self,$args) { + $self->sendTokenMail($args->{email}); + return { + action => 'showMessage', + title => trm('Token sent'), + message => trm('The token has been sent to your Mailbox.'), + }; + } + }, + { + label => $self->createActionLabel, + action => 'submit', + key => 'setPassword', + actionHandler => sub ($self,$args) { + $self->createAction($args); + } + } + ]; +}; + +has grammar => sub { + my $self = shift; + $self->mergeGrammar( + $self->SUPER::grammar, + { + _vars => [ qw(from subject mailrx) ], + _mandatory => [ qw(from subject) ], + from => { + _doc => 'sender for mails', + }, + subject => { + _doc => 'subject for token mails', + }, + mailrx => { + _doc => 'regular expression reuired to match for emails', + }, + }, + ); +}; + +sub getAllFieldValues { + my $self = shift; + my $args = shift; + return {}; +} + +sub getToken ($self,$email,$slot=sprintf("%x",int(time / 3600))) { + return "no-token" unless $email; + return $slot.'g'.md5_sum($email.$self->app->secrets->[0].$slot); +} + +sub checkToken ($self,$email,$token) { + return 0 unless $email and $token; + my ($slot,$sum) = split /g/,$token,2; + return $token eq $self->getToken($email,$slot); +} + +sub tokenMail ($self,$email,$token) { + return trm('Hallo %1, + +Jemand versucht gerade ihr Passwort bei Kuickres neu zu setzen +falls sie das selber sind, tragen sie das untenstehende Token + +%2 + +im Passwort-Reset Fenster ein.',$email,$token); +} + +sub sendTokenMail ($self,$email) { + my $token = $self->getToken($email); + eval { + my $msg = Email::MIME->create( + header_str => [ + To => $email, + From => $self->config->{from}, + Subject => $self->config->{subject}, + ], + body_str => $self->tokenMail($email,$token), + attributes => { + charset => 'UTF-8', + encoding => 'quoted-printable', + content_type => "text/plain", + } + ); + Email::Sender::Simple->send($msg); + }; + if ($@) { + $self->log->warn($@); + } +} + +1; +__END__ + +=head1 AUTHOR + +Stobi@oetiker.chE> + +=head1 HISTORY + + 2020-03-16 oetiker 0.0 first version + +=cut diff --git a/lib/Kuickres/GuiPlugin/Room.pm b/lib/Kuickres/GuiPlugin/Room.pm index b1f9945..f6d15ed 100644 --- a/lib/Kuickres/GuiPlugin/Room.pm +++ b/lib/Kuickres/GuiPlugin/Room.pm @@ -80,10 +80,11 @@ has actionCfg => sub { action => 'popup', addToContextMenu => false, name => 'roomAddForm', + key => 'add', popupTitle => trm('New Room'), set => { - minHeight => 500, - minWidth => 500 + height => 500, + width => 500 }, backend => { plugin => 'RoomForm', @@ -95,9 +96,13 @@ has actionCfg => sub { { label => trm('Edit Room'), action => 'popup', + key => 'edit', addToContextMenu => false, name => 'roomEditForm', popupTitle => trm('Edit Room'), + buttonSet => { + enabled => false + }, set => { minHeight => 500, minWidth => 500 @@ -115,6 +120,9 @@ has actionCfg => sub { addToContextMenu => true, question => trm('Do you really want to delete the selected Room. This will only work if there are no reservations linked to it.'), key => 'delete', + buttonSet => { + enabled => false + }, actionHandler => sub { my $self = shift; my $args = shift; @@ -159,7 +167,7 @@ sub getTableData { : ' ASC' ); } - return $db->query(<<"SQL_END", + my $data = $db->query(<<"SQL_END", SELECT * FROM room JOIN location ON room_location = location_id $SORT LIMIT ? OFFSET ? @@ -167,6 +175,17 @@ SQL_END $args->{lastRow}-$args->{firstRow}+1, $args->{firstRow}, )->hashes; + for my $row (@$data) { + $row->{_actionSet} = { + edit => { + enabled => true + }, + delete => { + enabled => true, + }, + } + } + return $data; } 1; diff --git a/lib/Kuickres/GuiPlugin/RoomForm.pm b/lib/Kuickres/GuiPlugin/RoomForm.pm index 3a9b1b7..5b2932c 100644 --- a/lib/Kuickres/GuiPlugin/RoomForm.pm +++ b/lib/Kuickres/GuiPlugin/RoomForm.pm @@ -97,7 +97,7 @@ has actionCfg => sub { } else { $self->db->update('room', { - map { 'room'.$_ => $args->{'room'.$_} } qw( + map { 'room_'.$_ => $args->{'room_'.$_} } qw( name location ) },{ room_id => $args->{room_id}}); diff --git a/pub.sh b/pub.sh new file mode 100755 index 0000000..538e912 --- /dev/null +++ b/pub.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e +V=$(cat VERSION) +echo $V `date +"%Y-%m-%d %H:%M:%S %z"` `git config user.name` '<'`git config user.email`'>' >> CHANGES.new +echo >> CHANGES.new +echo ' -' >> CHANGES.new +echo >> CHANGES.new +cat CHANGES >> CHANGES.new && mv CHANGES.new CHANGES +$EDITOR CHANGES +./bootstrap +make test +make dist +scp *-$V.tar.gz freddie:scratch +ssh freddie 'set -x ;kill $(cat opt/kuickres/kuickres.pid);cd scratch; tar xf kuickres-'$V'.tar.gz; cd kuickres-'$V'; make install;cd ~/opt/kuickres;(./bin/kuickres.pl prefork --listen http://*:38433 --pid-file=kuickres.pid &1 >kuickres.log &)' diff --git a/share/de.po b/share/de.po new file mode 100644 index 0000000..8a4a587 --- /dev/null +++ b/share/de.po @@ -0,0 +1,559 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the kuickres package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: kuickres 0.0.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-30 08:05+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../Config.pm:453 +msgid "Wrong password!" +msgstr "Falsche Passwort" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/AbstractForm.pm:130 +msgid "sorry, don't know the field you are talking about" +msgstr "Das gewählte Feld ist unbekannt." + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:42 +msgid "Error" +msgstr "Fehler" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:44 +msgid "No user selected." +msgstr "Kein Benutzer gewählt" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:50 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:38 +msgid "UserId" +msgstr "Benutzer ID" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:59 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:46 +msgid "Username" +msgstr "Benutzername" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:68 +msgid "Password" +msgstr "Passwort" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:76 +msgid "Password Again" +msgstr "Passwort bestätigen" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:85 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:53 +#: lib/Kuickres/GuiPlugin/Registration.pm:43 +msgid "Given Name" +msgstr "Name" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:94 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:60 +#: lib/Kuickres/GuiPlugin/Registration.pm:51 +msgid "Family Name" +msgstr "Familiename" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:104 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:74 +msgid "Note" +msgstr "Bemerkung" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:152 +msgid "You can only edit your own stuff unless you have admin permissions." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:156 +msgid "The password instances did not match." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:202 +msgid "Create Admin Account" +msgstr "Admin Konto erzeugen" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:204 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:102 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:248 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:102 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:160 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:113 +msgid "Save Changes" +msgstr "Änderunge Speichern" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:205 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:92 +msgid "Add User" +msgstr "Konto hinzufügen" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:67 +msgid "Rights" +msgstr "Rechte" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:96 +msgid "New User" +msgstr "Konto Hinzufügen" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:105 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:110 +msgid "Edit User" +msgstr "Konto bearbeiten" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:115 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:139 +msgid "You have to select a user first" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:130 +msgid "Delete User" +msgstr "Konto Löschen" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:133 +msgid "Do you really want to delete the selected user ?" +msgstr "Wollen sie wirklich das gewählte Konto löschen?" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:141 +msgid "You can not delete the user you are logged in with" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:150 +#, fuzzy +msgid "Faild to remove user %1" +msgstr "Das Konto für %1 konnte nicht erzeugt werden." + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:43 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:56 +#: lib/Kuickres/GuiPlugin/Booking.pm:65 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:79 +#: lib/Kuickres/GuiPlugin/District.pm:44 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 +#: lib/Kuickres/GuiPlugin/Location.pm:44 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:56 lib/Kuickres/GuiPlugin/Room.pm:43 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:54 +msgid "Id" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:51 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:65 +#: lib/Kuickres/GuiPlugin/District.pm:52 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:64 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:65 lib/Kuickres/GuiPlugin/Room.pm:51 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:63 +msgid "Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:72 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:103 +msgid "Add Agegroup" +msgstr "Neue Altersgruppe" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:76 +msgid "New Agegroup" +msgstr "Altergruppe Erfassen" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:90 lib/Kuickres/GuiPlugin/Agegroup.pm:98 +msgid "Edit Agegroup" +msgstr "Altersgruppe Bearbeiten" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:111 +msgid "Delete Agegroup" +msgstr "Altersgruppe Löschen" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:114 +msgid "" +"Do you really want to delete the selected Agegroup. This will only work if " +"there are no reservations linked to it." +msgstr "" +"Soll die gewählte Altersgruppe wirklich gelöscht werden? Die ist nur möglich " +"wenn keine Reservationen damit verbunden sind." + +#: lib/Kuickres/GuiPlugin/Booking.pm:49 +msgid "search words ..." +msgstr "suchen ..." + +#: lib/Kuickres/GuiPlugin/Booking.pm:73 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:105 +msgid "Room" +msgstr "Raum" + +#: lib/Kuickres/GuiPlugin/Booking.pm:80 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:88 +msgid "User" +msgstr "Benutzer*in" + +#: lib/Kuickres/GuiPlugin/Booking.pm:87 +msgid "Date" +msgstr "Datum" + +#: lib/Kuickres/GuiPlugin/Booking.pm:94 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:115 +msgid "Time" +msgstr "Zeit" + +#: lib/Kuickres/GuiPlugin/Booking.pm:101 +msgid "Schedule Entry" +msgstr "Eintrag Belegungsplan" + +#: lib/Kuickres/GuiPlugin/Booking.pm:108 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:184 +msgid "District" +msgstr "Bezirk" + +#: lib/Kuickres/GuiPlugin/Booking.pm:115 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:194 +msgid "Age Group" +msgstr "Altersgruppe" + +#: lib/Kuickres/GuiPlugin/Booking.pm:122 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:204 +msgid "Comment" +msgstr "Kommentar" + +#: lib/Kuickres/GuiPlugin/Booking.pm:129 +msgid "Created" +msgstr "Erzeugt" + +#: lib/Kuickres/GuiPlugin/Booking.pm:136 +msgid "Deleted" +msgstr "Gelöscht" + +#: lib/Kuickres/GuiPlugin/Booking.pm:157 lib/Kuickres/GuiPlugin/Booking.pm:162 +msgid "New Booking" +msgstr "Neue Buchung" + +#: lib/Kuickres/GuiPlugin/Booking.pm:175 lib/Kuickres/GuiPlugin/Booking.pm:181 +msgid "Edit Booking" +msgstr "Buchung Bearbeiten" + +#: lib/Kuickres/GuiPlugin/Booking.pm:197 +msgid "Delete Booking" +msgstr "Buchung Löschen" + +#: lib/Kuickres/GuiPlugin/Booking.pm:200 +msgid "Do you really want to delete the selected Booking." +msgstr "Wollen sie die gewählte Buchung wirklich löchen?" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:49 +msgid "Expected DD.MM.YYYY HH:MM-HH:MM" +msgstr "DD.MM.YYYY HH:MM-HH:MM erwartet" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:53 +msgid "Error parsing %1" +msgstr "Fehler beim parsing von %1" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:54 +msgid "Can't book in the past!" +msgstr "Keine Buchungen in der Vergangenheit möglich." + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:98 +msgid "Invalid user" +msgstr "Ungültiger Benutzer" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:143 +msgid "Location %1 is only open for booking from %2 to %3" +msgstr "Der Standort %1 ist nur von %2 bis %3 buchbar." + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:168 +msgid "Booking overlaps with %1 existing bookings." +msgstr "Die Buchung überlappt mit %1 existierenden Buchungen." + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 +msgid "Schedule Text" +msgstr "Info Belegungsplan" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:179 +msgid "Text to show in the schedule" +msgstr "Text für den öffentlichen Belegungsplan." + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:207 +msgid "Note for the management" +msgstr "Bemerkung für die Verwaltung." + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:226 +msgid "You are not allowed to book in the name of other users." +msgstr "Sie können keine Buchungen für andere Benutzer erfassen." + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:249 +msgid "Add Booking" +msgstr "Buchung Speichern" + +#: lib/Kuickres/GuiPlugin/District.pm:73 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:103 +msgid "Add District" +msgstr "Bezirk Erfassen" + +#: lib/Kuickres/GuiPlugin/District.pm:78 +msgid "New District" +msgstr "Bezirk Erfassen" + +#: lib/Kuickres/GuiPlugin/District.pm:91 lib/Kuickres/GuiPlugin/District.pm:99 +msgid "Edit District" +msgstr "Bezirk Bearbeiten" + +#: lib/Kuickres/GuiPlugin/District.pm:112 +msgid "Delete District" +msgstr "Bezirk Löschen" + +#: lib/Kuickres/GuiPlugin/District.pm:115 +msgid "" +"Do you really want to delete the selected District. This will only work if " +"there are no reservations linked to it." +msgstr "" +"Wollen sie wirklich den ausgewählten Bezirk löschen? Dies ist nur möglich " +"wenn keine Buchungen damit verbunden sind." + +#: lib/Kuickres/GuiPlugin/Location.pm:52 +msgid "Location Name" +msgstr "Standort Bezeichnung" + +#: lib/Kuickres/GuiPlugin/Location.pm:59 +msgid "Opening Hours" +msgstr "Öffnungszeiten" + +#: lib/Kuickres/GuiPlugin/Location.pm:66 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:113 +msgid "Address" +msgstr "Adresse" + +#: lib/Kuickres/GuiPlugin/Location.pm:87 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:161 +msgid "Add Location" +msgstr "Ort Hinzufügen" + +#: lib/Kuickres/GuiPlugin/Location.pm:91 +msgid "New Location" +msgstr "Standort Erfassen" + +#: lib/Kuickres/GuiPlugin/Location.pm:105 +#: lib/Kuickres/GuiPlugin/Location.pm:110 +msgid "Edit Location" +msgstr "Standort Bearbeiten" + +#: lib/Kuickres/GuiPlugin/Location.pm:126 +msgid "Delete Location" +msgstr "Standort Löschen" + +#: lib/Kuickres/GuiPlugin/Location.pm:133 +msgid "" +"Do you really want to delete the selected Location. This will only work if " +"there are no rooms linked to it." +msgstr "" +"Soll der gewählte Standort wirklich gelöscht werden? Dies ist nur möglich " +"wenn keine Räume an dem Standort existieren." + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:74 +msgid "Location Details" +msgstr "Standort Details" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:75 +msgid "" +"Use the following fields to write down some extra information about the " +"location." +msgstr "" +"In den untenstehdenden Feldern können zusätzliche Inforamtionen über den " +"Standort erfasst werden." + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:79 +msgid "Opening Time" +msgstr "Öffnungszeit" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:88 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:106 +msgid "Expected HH:MM" +msgstr "HH:MM erwartet" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:95 +msgid "Closing Time" +msgstr "Schliessungszeit" + +#: lib/Kuickres/GuiPlugin/Registration.pm:35 +msgid "Create New Account" +msgstr "Neues Konto Erstellen" + +#: lib/Kuickres/GuiPlugin/Registration.pm:63 +msgid "" +"Hallo %1\n" +"\n" +"Jemand versucht gerade ein neues Konto in Kuickres zu erstellen.\n" +"Falls sie das selber sind, tragen sie das untenstehende Token \n" +"im Konto-Erzeugungs-Formular ein.\n" +"\n" +" %2\n" +"\n" +"\n" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:78 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:173 +msgid "%1 is required" +msgstr "%1 ist erforderlich" + +#: lib/Kuickres/GuiPlugin/Registration.pm:101 +msgid "Failed to create account for %1" +msgstr "Das Konto für %1 konnte nicht erzeugt werden." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:58 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:61 +msgid "Invalid email address" +msgstr "Ungügltige eMail Adresse" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:65 +msgid "Unknown email address" +msgstr "Unbekannte eMail Adresse" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:71 +msgid "email address in use" +msgstr "eMail Adresse schon in Gebrauch" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:80 +msgid "Invalid token" +msgstr "Token ungültig" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:88 +msgid "Passwords must be 8 chars or longer" +msgstr "Das Passwort muss mindestens 8 Zeichen lang sein." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:90 +#, fuzzy +msgid "Passwords < 20 chars must contain upper- and lowercase letters" +msgstr "" +"Passworte mit weniger als 20 Zeichen müssen Gross- und Klein-Buchstaben " +"enthalten." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:92 +#, fuzzy +msgid "" +"Passwords < 16 chars must contain upper- and lowercase letters and numbers" +msgstr "" +"Passworte mit weniger als 16 Zeichen müssen Gross- und Klein-Buchstaben und " +"Zahlen enthalten." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:94 +#, fuzzy +msgid "" +"Passwords < 12 chars must contain upper- and lowercase letters and numbers " +"and special characters" +msgstr "" +"Passworte mit weniger als 12 Zeichen müssen Grossbuchstaben, " +"Kleinbuchstaben, Zahlen und Sonderzeichen enthalten." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:99 +msgid "Passwords must must match" +msgstr "Die Passworte müssen übereinstimmen." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:108 +msgid "Email Address" +msgstr "eMailadresse" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:125 +msgid "Validation Token" +msgstr "Token" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:130 +msgid "check your mail for a token" +msgstr "Das Token befindet sich in ihrem Mailbox." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:134 +#, fuzzy +msgid "[Send Token]" +msgstr "Token senden" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:143 +msgid "New Password" +msgstr "Neus Passwort" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:145 +msgid "" +"Standford Password Policy" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:147 +msgid "type a your new password" +msgstr "tippen sie ihr Passwort" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:155 +msgid "Repeat Password" +msgstr "Passwort Bestätigen" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:158 +msgid "repeat the password" +msgstr "wiederholen sie das Passwort" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:167 +msgid "Set New Password" +msgstr "Passwort Setzen" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:186 +msgid "Failed to update password for %1" +msgstr "Passwort für %1 konnte nicht gesetzt werden." + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:200 +msgid "Send Token" +msgstr "Token senden" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:207 +msgid "Token sent" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:208 +msgid "The token has been sent to your Mailbox." +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:261 +msgid "" +"Hallo %1,\n" +"\n" +"Jemand versucht gerade ihr Passwort bei Kuickres neu zu setzen\n" +"falls sie das selber sind, tragen sie das untenstehende Token \n" +"\n" +"%2\n" +"\n" +"im Passwort-Reset Fenster ein." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:58 lib/Kuickres/GuiPlugin/RoomForm.pm:72 +msgid "Location" +msgstr "Standort" + +#: lib/Kuickres/GuiPlugin/Room.pm:79 lib/Kuickres/GuiPlugin/RoomForm.pm:114 +msgid "Add Room" +msgstr "Raum Hinzufügen" + +#: lib/Kuickres/GuiPlugin/Room.pm:84 +msgid "New Room" +msgstr "Raum Erfassen" + +#: lib/Kuickres/GuiPlugin/Room.pm:97 lib/Kuickres/GuiPlugin/Room.pm:102 +msgid "Edit Room" +msgstr "Raum Bearbeiten" + +#: lib/Kuickres/GuiPlugin/Room.pm:118 +msgid "Delete Room" +msgstr "Raum Löschen" + +#: lib/Kuickres/GuiPlugin/Room.pm:121 +msgid "" +"Do you really want to delete the selected Room. This will only work if there " +"are no reservations linked to it." +msgstr "" + +#~ msgid "Login" +#~ msgstr "Login" + +#~ msgid "Close" +#~ msgstr "Schliessen" + +#~ msgid "Open" +#~ msgstr "Öffnen" + +#~ msgid "Click on [Send Token]
and check your mailbox." +#~ msgstr "Klicken sie auf [Token Senden]
und prüfen sie ihre Mailbox." diff --git a/share/en.po b/share/en.po index 3659334..2786aa1 100644 --- a/share/en.po +++ b/share/en.po @@ -1,143 +1,224 @@ -#: lib/Kuickres/GuiPlugin/LocationForm.pm:56 -#: lib/Kuickres/GuiPlugin/Booking.pm:45 -#: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 -#: lib/Kuickres/GuiPlugin/RoomForm.pm:54 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:79 -#: lib/Kuickres/GuiPlugin/District.pm:44 -#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:56 lib/Kuickres/GuiPlugin/Room.pm:43 -#: lib/Kuickres/GuiPlugin/Location.pm:44 lib/Kuickres/GuiPlugin/Agegroup.pm:43 -msgid "Id" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../Config.pm:453 +msgid "Wrong password!" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:65 -#: lib/Kuickres/GuiPlugin/DistrictForm.pm:64 -#: lib/Kuickres/GuiPlugin/RoomForm.pm:63 lib/Kuickres/GuiPlugin/District.pm:52 -#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:65 lib/Kuickres/GuiPlugin/Room.pm:51 -#: lib/Kuickres/GuiPlugin/Location.pm:52 lib/Kuickres/GuiPlugin/Agegroup.pm:51 -msgid "Name" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/AbstractForm.pm:130 +msgid "sorry, don't know the field you are talking about" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:74 -msgid "Location Details" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:42 +msgid "Error" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:75 -msgid "" -"Use the following fields to write down some extra information about the " -"location." +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:44 +msgid "No user selected." msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:79 -msgid "Opening Time" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:50 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:38 +msgid "UserId" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:88 -#: lib/Kuickres/GuiPlugin/LocationForm.pm:106 -msgid "Expected HH:MM" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:59 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:46 +msgid "Username" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:95 -msgid "Closing Time" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:68 +msgid "Password" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:113 -#: lib/Kuickres/GuiPlugin/Location.pm:73 -msgid "Address" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:76 +msgid "Password Again" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:160 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:85 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:53 +#: lib/Kuickres/GuiPlugin/Registration.pm:43 +msgid "Given Name" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:94 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:60 +#: lib/Kuickres/GuiPlugin/Registration.pm:51 +msgid "Family Name" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:104 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:74 +msgid "Note" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:152 +msgid "You can only edit your own stuff unless you have admin permissions." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:156 +msgid "The password instances did not match." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:202 +msgid "Create Admin Account" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:204 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:102 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:248 #: lib/Kuickres/GuiPlugin/DistrictForm.pm:102 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:160 #: lib/Kuickres/GuiPlugin/RoomForm.pm:113 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:243 -#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:102 msgid "Save Changes" msgstr "" -#: lib/Kuickres/GuiPlugin/LocationForm.pm:161 -#: lib/Kuickres/GuiPlugin/Location.pm:94 -msgid "Add Location" +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:205 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:92 +msgid "Add User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:67 +msgid "Rights" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:53 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:96 +msgid "New User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:105 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:110 +msgid "Edit User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:115 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:139 +msgid "You have to select a user first" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:130 +msgid "Delete User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:133 +msgid "Do you really want to delete the selected user ?" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:141 +msgid "You can not delete the user you are logged in with" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:150 +msgid "Faild to remove user %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:43 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:56 +#: lib/Kuickres/GuiPlugin/Booking.pm:65 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:79 +#: lib/Kuickres/GuiPlugin/District.pm:44 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 +#: lib/Kuickres/GuiPlugin/Location.pm:44 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:56 lib/Kuickres/GuiPlugin/Room.pm:43 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:54 +msgid "Id" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:51 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:65 +#: lib/Kuickres/GuiPlugin/District.pm:52 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:64 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:65 lib/Kuickres/GuiPlugin/Room.pm:51 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:63 +msgid "Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:72 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:103 +msgid "Add Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:76 +msgid "New Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:90 lib/Kuickres/GuiPlugin/Agegroup.pm:98 +msgid "Edit Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:111 +msgid "Delete Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:114 +msgid "" +"Do you really want to delete the selected Agegroup. This will only work if " +"there are no reservations linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:49 +msgid "search words ..." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:73 #: lib/Kuickres/GuiPlugin/BookingForm.pm:105 msgid "Room" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:60 +#: lib/Kuickres/GuiPlugin/Booking.pm:80 #: lib/Kuickres/GuiPlugin/BookingForm.pm:88 msgid "User" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:67 +#: lib/Kuickres/GuiPlugin/Booking.pm:87 msgid "Date" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:74 +#: lib/Kuickres/GuiPlugin/Booking.pm:94 #: lib/Kuickres/GuiPlugin/BookingForm.pm:115 msgid "Time" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:81 +#: lib/Kuickres/GuiPlugin/Booking.pm:101 msgid "Schedule Entry" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:88 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:180 +#: lib/Kuickres/GuiPlugin/Booking.pm:108 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:184 msgid "District" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:95 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:190 +#: lib/Kuickres/GuiPlugin/Booking.pm:115 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:194 msgid "Age Group" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:102 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:200 +#: lib/Kuickres/GuiPlugin/Booking.pm:122 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:204 msgid "Comment" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:109 +#: lib/Kuickres/GuiPlugin/Booking.pm:129 msgid "Created" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:116 +#: lib/Kuickres/GuiPlugin/Booking.pm:136 msgid "Deleted" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:137 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:244 -msgid "Add Booking" -msgstr "" - -#: lib/Kuickres/GuiPlugin/Booking.pm:142 +#: lib/Kuickres/GuiPlugin/Booking.pm:157 lib/Kuickres/GuiPlugin/Booking.pm:162 msgid "New Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:158 lib/Kuickres/GuiPlugin/Booking.pm:164 +#: lib/Kuickres/GuiPlugin/Booking.pm:175 lib/Kuickres/GuiPlugin/Booking.pm:181 msgid "Edit Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:180 +#: lib/Kuickres/GuiPlugin/Booking.pm:197 msgid "Delete Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:183 +#: lib/Kuickres/GuiPlugin/Booking.pm:200 msgid "Do you really want to delete the selected Booking." msgstr "" -#: lib/Kuickres/GuiPlugin/DistrictForm.pm:103 -#: lib/Kuickres/GuiPlugin/District.pm:73 -msgid "Add District" -msgstr "" - -#: lib/Kuickres/GuiPlugin/RoomForm.pm:72 lib/Kuickres/GuiPlugin/Room.pm:58 -msgid "Location" -msgstr "" - -#: lib/Kuickres/GuiPlugin/RoomForm.pm:114 lib/Kuickres/GuiPlugin/Room.pm:79 -msgid "Add Room" -msgstr "" - #: lib/Kuickres/GuiPlugin/BookingForm.pm:49 msgid "Expected DD.MM.YYYY HH:MM-HH:MM" msgstr "" @@ -154,112 +235,275 @@ msgstr "" msgid "Invalid user" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:146 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:143 msgid "Location %1 is only open for booking from %2 to %3" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:164 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:168 msgid "Booking overlaps with %1 existing bookings." msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:171 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 msgid "Schedule Text" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:179 msgid "Text to show in the schedule" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:203 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:207 msgid "Note for the management" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:222 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:226 msgid "You are not allowed to book in the name of other users." msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:77 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:249 +msgid "Add Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:73 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:103 +msgid "Add District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:78 msgid "New District" msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:90 lib/Kuickres/GuiPlugin/District.pm:94 +#: lib/Kuickres/GuiPlugin/District.pm:91 lib/Kuickres/GuiPlugin/District.pm:99 msgid "Edit District" msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:107 +#: lib/Kuickres/GuiPlugin/District.pm:112 msgid "Delete District" msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:110 +#: lib/Kuickres/GuiPlugin/District.pm:115 msgid "" "Do you really want to delete the selected District. This will only work if " "there are no reservations linked to it." msgstr "" -#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:103 -#: lib/Kuickres/GuiPlugin/Agegroup.pm:72 -msgid "Add Agegroup" +#: lib/Kuickres/GuiPlugin/Location.pm:52 +msgid "Location Name" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:83 -msgid "New Room" +#: lib/Kuickres/GuiPlugin/Location.pm:59 +msgid "Opening Hours" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:96 lib/Kuickres/GuiPlugin/Room.pm:100 -msgid "Edit Room" +#: lib/Kuickres/GuiPlugin/Location.pm:66 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:113 +msgid "Address" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:113 -msgid "Delete Room" +#: lib/Kuickres/GuiPlugin/Location.pm:87 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:161 +msgid "Add Location" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:116 +#: lib/Kuickres/GuiPlugin/Location.pm:91 +msgid "New Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:105 +#: lib/Kuickres/GuiPlugin/Location.pm:110 +msgid "Edit Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:126 +msgid "Delete Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:133 msgid "" -"Do you really want to delete the selected Room. This will only work if there " -"are no reservations linked to it." +"Do you really want to delete the selected Location. This will only work if " +"there are no rooms linked to it." msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:59 -msgid "Open" +#: lib/Kuickres/GuiPlugin/LocationForm.pm:74 +msgid "Location Details" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:66 -msgid "Close" +#: lib/Kuickres/GuiPlugin/LocationForm.pm:75 +msgid "" +"Use the following fields to write down some extra information about the " +"location." msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:98 -msgid "New Location" +#: lib/Kuickres/GuiPlugin/LocationForm.pm:79 +msgid "Opening Time" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:111 -#: lib/Kuickres/GuiPlugin/Location.pm:115 -msgid "Edit Location" +#: lib/Kuickres/GuiPlugin/LocationForm.pm:88 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:106 +msgid "Expected HH:MM" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:128 -msgid "Delete Location" +#: lib/Kuickres/GuiPlugin/LocationForm.pm:95 +msgid "Closing Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:35 +msgid "Create New Account" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:131 +#: lib/Kuickres/GuiPlugin/Registration.pm:63 msgid "" -"Do you really want to delete the selected Location. This will only work if " -"there are no rooms linked to it." +"Hallo %1\n" +"\n" +"Jemand versucht gerade ein neues Konto in Kuickres zu erstellen.\n" +"Falls sie das selber sind, tragen sie das untenstehende Token \n" +"im Konto-Erzeugungs-Formular ein.\n" +"\n" +" %2\n" +"\n" +"\n" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:76 -msgid "New Agegroup" +#: lib/Kuickres/GuiPlugin/Registration.pm:78 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:173 +msgid "%1 is required" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:89 lib/Kuickres/GuiPlugin/Agegroup.pm:93 -msgid "Edit Agegroup" +#: lib/Kuickres/GuiPlugin/Registration.pm:101 +msgid "Failed to create account for %1" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:106 -msgid "Delete Agegroup" +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:58 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:61 +msgid "Invalid email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:65 +msgid "Unknown email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:71 +msgid "email address in use" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:109 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:80 +msgid "Invalid token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:88 +msgid "Passwords must be 8 chars or longer" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:90 +msgid "Passwords < 20 chars must contain upper- and lowercase letters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:92 msgid "" -"Do you really want to delete the selected Agegroup. This will only work if " -"there are no reservations linked to it." +"Passwords < 16 chars must contain upper- and lowercase letters and numbers" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:94 +msgid "" +"Passwords < 12 chars must contain upper- and lowercase letters and numbers " +"and special characters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:99 +msgid "Passwords must must match" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:108 +msgid "Email Address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:125 +msgid "Validation Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:130 +msgid "check your mail for a token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:134 +msgid "[Send Token]" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:143 +msgid "New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:145 +msgid "" +"Standford Password Policy" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:147 +msgid "type a your new password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:155 +msgid "Repeat Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:158 +msgid "repeat the password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:167 +msgid "Set New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:186 +msgid "Failed to update password for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:200 +msgid "Send Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:207 +msgid "Token sent" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:208 +msgid "The token has been sent to your Mailbox." +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:261 +msgid "" +"Hallo %1,\n" +"\n" +"Jemand versucht gerade ihr Passwort bei Kuickres neu zu setzen\n" +"falls sie das selber sind, tragen sie das untenstehende Token \n" +"\n" +"%2\n" +"\n" +"im Passwort-Reset Fenster ein." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:58 lib/Kuickres/GuiPlugin/RoomForm.pm:72 +msgid "Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:79 lib/Kuickres/GuiPlugin/RoomForm.pm:114 +msgid "Add Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:84 +msgid "New Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:97 lib/Kuickres/GuiPlugin/Room.pm:102 +msgid "Edit Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:118 +msgid "Delete Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:121 +msgid "" +"Do you really want to delete the selected Room. This will only work if there " +"are no reservations linked to it." msgstr "" diff --git a/share/fr.po b/share/fr.po new file mode 100644 index 0000000..1d67220 --- /dev/null +++ b/share/fr.po @@ -0,0 +1,528 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the kuickres package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: kuickres 0.0.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-30 08:05+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../Config.pm:453 +msgid "Wrong password!" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/AbstractForm.pm:130 +msgid "sorry, don't know the field you are talking about" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:42 +msgid "Error" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:44 +msgid "No user selected." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:50 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:38 +msgid "UserId" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:59 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:46 +msgid "Username" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:68 +msgid "Password" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:76 +msgid "Password Again" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:85 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:53 +#: lib/Kuickres/GuiPlugin/Registration.pm:43 +msgid "Given Name" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:94 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:60 +#: lib/Kuickres/GuiPlugin/Registration.pm:51 +msgid "Family Name" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:104 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:74 +msgid "Note" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:152 +msgid "You can only edit your own stuff unless you have admin permissions." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:156 +msgid "The password instances did not match." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:202 +msgid "Create Admin Account" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:204 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:102 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:248 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:102 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:160 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:113 +msgid "Save Changes" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:205 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:92 +msgid "Add User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:67 +msgid "Rights" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:96 +msgid "New User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:105 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:110 +msgid "Edit User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:115 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:139 +msgid "You have to select a user first" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:130 +msgid "Delete User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:133 +msgid "Do you really want to delete the selected user ?" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:141 +msgid "You can not delete the user you are logged in with" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:150 +msgid "Faild to remove user %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:43 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:56 +#: lib/Kuickres/GuiPlugin/Booking.pm:65 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:79 +#: lib/Kuickres/GuiPlugin/District.pm:44 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 +#: lib/Kuickres/GuiPlugin/Location.pm:44 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:56 lib/Kuickres/GuiPlugin/Room.pm:43 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:54 +msgid "Id" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:51 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:65 +#: lib/Kuickres/GuiPlugin/District.pm:52 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:64 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:65 lib/Kuickres/GuiPlugin/Room.pm:51 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:63 +msgid "Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:72 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:103 +msgid "Add Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:76 +msgid "New Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:90 lib/Kuickres/GuiPlugin/Agegroup.pm:98 +msgid "Edit Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:111 +msgid "Delete Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:114 +msgid "" +"Do you really want to delete the selected Agegroup. This will only work if " +"there are no reservations linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:49 +msgid "search words ..." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:73 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:105 +msgid "Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:80 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:88 +msgid "User" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:87 +msgid "Date" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:94 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:115 +msgid "Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:101 +msgid "Schedule Entry" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:108 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:184 +msgid "District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:115 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:194 +msgid "Age Group" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:122 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:204 +msgid "Comment" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:129 +msgid "Created" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:136 +msgid "Deleted" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:157 lib/Kuickres/GuiPlugin/Booking.pm:162 +msgid "New Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:175 lib/Kuickres/GuiPlugin/Booking.pm:181 +msgid "Edit Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:197 +msgid "Delete Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:200 +msgid "Do you really want to delete the selected Booking." +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:49 +msgid "Expected DD.MM.YYYY HH:MM-HH:MM" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:53 +msgid "Error parsing %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:54 +msgid "Can't book in the past!" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:98 +msgid "Invalid user" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:143 +msgid "Location %1 is only open for booking from %2 to %3" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:168 +msgid "Booking overlaps with %1 existing bookings." +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 +msgid "Schedule Text" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:179 +msgid "Text to show in the schedule" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:207 +msgid "Note for the management" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:226 +msgid "You are not allowed to book in the name of other users." +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:249 +msgid "Add Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:73 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:103 +msgid "Add District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:78 +msgid "New District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:91 lib/Kuickres/GuiPlugin/District.pm:99 +msgid "Edit District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:112 +msgid "Delete District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:115 +msgid "" +"Do you really want to delete the selected District. This will only work if " +"there are no reservations linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:52 +msgid "Location Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:59 +msgid "Opening Hours" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:66 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:113 +msgid "Address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:87 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:161 +msgid "Add Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:91 +msgid "New Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:105 +#: lib/Kuickres/GuiPlugin/Location.pm:110 +msgid "Edit Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:126 +msgid "Delete Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:133 +msgid "" +"Do you really want to delete the selected Location. This will only work if " +"there are no rooms linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:74 +msgid "Location Details" +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:75 +msgid "" +"Use the following fields to write down some extra information about the " +"location." +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:79 +msgid "Opening Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:88 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:106 +msgid "Expected HH:MM" +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:95 +msgid "Closing Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:35 +msgid "Create New Account" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:63 +msgid "" +"Hallo %1\n" +"\n" +"Jemand versucht gerade ein neues Konto in Kuickres zu erstellen.\n" +"Falls sie das selber sind, tragen sie das untenstehende Token \n" +"im Konto-Erzeugungs-Formular ein.\n" +"\n" +" %2\n" +"\n" +"\n" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:78 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:173 +msgid "%1 is required" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:101 +msgid "Failed to create account for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:58 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:61 +msgid "Invalid email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:65 +msgid "Unknown email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:71 +msgid "email address in use" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:80 +msgid "Invalid token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:88 +msgid "Passwords must be 8 chars or longer" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:90 +msgid "Passwords < 20 chars must contain upper- and lowercase letters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:92 +msgid "" +"Passwords < 16 chars must contain upper- and lowercase letters and numbers" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:94 +msgid "" +"Passwords < 12 chars must contain upper- and lowercase letters and numbers " +"and special characters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:99 +msgid "Passwords must must match" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:108 +msgid "Email Address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:125 +msgid "Validation Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:130 +msgid "check your mail for a token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:134 +msgid "[Send Token]" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:143 +msgid "New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:145 +msgid "" +"Standford Password Policy" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:147 +msgid "type a your new password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:155 +msgid "Repeat Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:158 +msgid "repeat the password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:167 +msgid "Set New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:186 +msgid "Failed to update password for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:200 +msgid "Send Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:207 +msgid "Token sent" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:208 +msgid "The token has been sent to your Mailbox." +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:261 +msgid "" +"Hallo %1,\n" +"\n" +"Jemand versucht gerade ihr Passwort bei Kuickres neu zu setzen\n" +"falls sie das selber sind, tragen sie das untenstehende Token \n" +"\n" +"%2\n" +"\n" +"im Passwort-Reset Fenster ein." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:58 lib/Kuickres/GuiPlugin/RoomForm.pm:72 +msgid "Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:79 lib/Kuickres/GuiPlugin/RoomForm.pm:114 +msgid "Add Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:84 +msgid "New Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:97 lib/Kuickres/GuiPlugin/Room.pm:102 +msgid "Edit Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:118 +msgid "Delete Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:121 +msgid "" +"Do you really want to delete the selected Room. This will only work if there " +"are no reservations linked to it." +msgstr "" diff --git a/share/it.po b/share/it.po new file mode 100644 index 0000000..1d67220 --- /dev/null +++ b/share/it.po @@ -0,0 +1,528 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the kuickres package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: kuickres 0.0.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-30 08:05+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../Config.pm:453 +msgid "Wrong password!" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/AbstractForm.pm:130 +msgid "sorry, don't know the field you are talking about" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:42 +msgid "Error" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:44 +msgid "No user selected." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:50 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:38 +msgid "UserId" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:59 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:46 +msgid "Username" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:68 +msgid "Password" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:76 +msgid "Password Again" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:85 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:53 +#: lib/Kuickres/GuiPlugin/Registration.pm:43 +msgid "Given Name" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:94 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:60 +#: lib/Kuickres/GuiPlugin/Registration.pm:51 +msgid "Family Name" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:104 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:74 +msgid "Note" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:152 +msgid "You can only edit your own stuff unless you have admin permissions." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:156 +msgid "The password instances did not match." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:202 +msgid "Create Admin Account" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:204 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:102 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:248 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:102 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:160 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:113 +msgid "Save Changes" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:205 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:92 +msgid "Add User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:67 +msgid "Rights" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:96 +msgid "New User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:105 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:110 +msgid "Edit User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:115 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:139 +msgid "You have to select a user first" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:130 +msgid "Delete User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:133 +msgid "Do you really want to delete the selected user ?" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:141 +msgid "You can not delete the user you are logged in with" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:150 +msgid "Faild to remove user %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:43 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:56 +#: lib/Kuickres/GuiPlugin/Booking.pm:65 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:79 +#: lib/Kuickres/GuiPlugin/District.pm:44 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 +#: lib/Kuickres/GuiPlugin/Location.pm:44 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:56 lib/Kuickres/GuiPlugin/Room.pm:43 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:54 +msgid "Id" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:51 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:65 +#: lib/Kuickres/GuiPlugin/District.pm:52 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:64 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:65 lib/Kuickres/GuiPlugin/Room.pm:51 +#: lib/Kuickres/GuiPlugin/RoomForm.pm:63 +msgid "Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:72 +#: lib/Kuickres/GuiPlugin/AgegroupForm.pm:103 +msgid "Add Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:76 +msgid "New Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:90 lib/Kuickres/GuiPlugin/Agegroup.pm:98 +msgid "Edit Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:111 +msgid "Delete Agegroup" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Agegroup.pm:114 +msgid "" +"Do you really want to delete the selected Agegroup. This will only work if " +"there are no reservations linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:49 +msgid "search words ..." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:73 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:105 +msgid "Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:80 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:88 +msgid "User" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:87 +msgid "Date" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:94 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:115 +msgid "Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:101 +msgid "Schedule Entry" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:108 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:184 +msgid "District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:115 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:194 +msgid "Age Group" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:122 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:204 +msgid "Comment" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:129 +msgid "Created" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:136 +msgid "Deleted" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:157 lib/Kuickres/GuiPlugin/Booking.pm:162 +msgid "New Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:175 lib/Kuickres/GuiPlugin/Booking.pm:181 +msgid "Edit Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:197 +msgid "Delete Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:200 +msgid "Do you really want to delete the selected Booking." +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:49 +msgid "Expected DD.MM.YYYY HH:MM-HH:MM" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:53 +msgid "Error parsing %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:54 +msgid "Can't book in the past!" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:98 +msgid "Invalid user" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:143 +msgid "Location %1 is only open for booking from %2 to %3" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:168 +msgid "Booking overlaps with %1 existing bookings." +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 +msgid "Schedule Text" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:179 +msgid "Text to show in the schedule" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:207 +msgid "Note for the management" +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:226 +msgid "You are not allowed to book in the name of other users." +msgstr "" + +#: lib/Kuickres/GuiPlugin/BookingForm.pm:249 +msgid "Add Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:73 +#: lib/Kuickres/GuiPlugin/DistrictForm.pm:103 +msgid "Add District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:78 +msgid "New District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:91 lib/Kuickres/GuiPlugin/District.pm:99 +msgid "Edit District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:112 +msgid "Delete District" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:115 +msgid "" +"Do you really want to delete the selected District. This will only work if " +"there are no reservations linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:52 +msgid "Location Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:59 +msgid "Opening Hours" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:66 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:113 +msgid "Address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:87 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:161 +msgid "Add Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:91 +msgid "New Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:105 +#: lib/Kuickres/GuiPlugin/Location.pm:110 +msgid "Edit Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:126 +msgid "Delete Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:133 +msgid "" +"Do you really want to delete the selected Location. This will only work if " +"there are no rooms linked to it." +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:74 +msgid "Location Details" +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:75 +msgid "" +"Use the following fields to write down some extra information about the " +"location." +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:79 +msgid "Opening Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:88 +#: lib/Kuickres/GuiPlugin/LocationForm.pm:106 +msgid "Expected HH:MM" +msgstr "" + +#: lib/Kuickres/GuiPlugin/LocationForm.pm:95 +msgid "Closing Time" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:35 +msgid "Create New Account" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:63 +msgid "" +"Hallo %1\n" +"\n" +"Jemand versucht gerade ein neues Konto in Kuickres zu erstellen.\n" +"Falls sie das selber sind, tragen sie das untenstehende Token \n" +"im Konto-Erzeugungs-Formular ein.\n" +"\n" +" %2\n" +"\n" +"\n" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:78 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:173 +msgid "%1 is required" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:101 +msgid "Failed to create account for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:58 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:61 +msgid "Invalid email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:65 +msgid "Unknown email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:71 +msgid "email address in use" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:80 +msgid "Invalid token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:88 +msgid "Passwords must be 8 chars or longer" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:90 +msgid "Passwords < 20 chars must contain upper- and lowercase letters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:92 +msgid "" +"Passwords < 16 chars must contain upper- and lowercase letters and numbers" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:94 +msgid "" +"Passwords < 12 chars must contain upper- and lowercase letters and numbers " +"and special characters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:99 +msgid "Passwords must must match" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:108 +msgid "Email Address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:125 +msgid "Validation Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:130 +msgid "check your mail for a token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:134 +msgid "[Send Token]" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:143 +msgid "New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:145 +msgid "" +"Standford Password Policy" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:147 +msgid "type a your new password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:155 +msgid "Repeat Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:158 +msgid "repeat the password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:167 +msgid "Set New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:186 +msgid "Failed to update password for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:200 +msgid "Send Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:207 +msgid "Token sent" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:208 +msgid "The token has been sent to your Mailbox." +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:261 +msgid "" +"Hallo %1,\n" +"\n" +"Jemand versucht gerade ihr Passwort bei Kuickres neu zu setzen\n" +"falls sie das selber sind, tragen sie das untenstehende Token \n" +"\n" +"%2\n" +"\n" +"im Passwort-Reset Fenster ein." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:58 lib/Kuickres/GuiPlugin/RoomForm.pm:72 +msgid "Location" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:79 lib/Kuickres/GuiPlugin/RoomForm.pm:114 +msgid "Add Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:84 +msgid "New Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:97 lib/Kuickres/GuiPlugin/Room.pm:102 +msgid "Edit Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:118 +msgid "Delete Room" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Room.pm:121 +msgid "" +"Do you really want to delete the selected Room. This will only work if there " +"are no reservations linked to it." +msgstr "" diff --git a/share/messages.pot b/share/messages.pot index 378597e..727bfd7 100644 --- a/share/messages.pot +++ b/share/messages.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: kuickres 0.0.0\n" +"Project-Id-Version: kuickres 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-05 14:03+0100\n" +"POT-Creation-Date: 2020-03-30 08:05+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: lib/Kuickres/GuiPlugin/LocationForm.pm:56 -#: lib/Kuickres/GuiPlugin/Booking.pm:45 +#: lib/Kuickres/GuiPlugin/Booking.pm:65 #: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 #: lib/Kuickres/GuiPlugin/RoomForm.pm:54 #: lib/Kuickres/GuiPlugin/BookingForm.pm:79 @@ -32,7 +32,7 @@ msgstr "" #: lib/Kuickres/GuiPlugin/DistrictForm.pm:64 #: lib/Kuickres/GuiPlugin/RoomForm.pm:63 lib/Kuickres/GuiPlugin/District.pm:52 #: lib/Kuickres/GuiPlugin/AgegroupForm.pm:65 lib/Kuickres/GuiPlugin/Room.pm:51 -#: lib/Kuickres/GuiPlugin/Location.pm:52 lib/Kuickres/GuiPlugin/Agegroup.pm:51 +#: lib/Kuickres/GuiPlugin/Agegroup.pm:51 msgid "Name" msgstr "" @@ -60,87 +60,87 @@ msgid "Closing Time" msgstr "" #: lib/Kuickres/GuiPlugin/LocationForm.pm:113 -#: lib/Kuickres/GuiPlugin/Location.pm:73 +#: lib/Kuickres/GuiPlugin/Location.pm:66 msgid "Address" msgstr "" #: lib/Kuickres/GuiPlugin/LocationForm.pm:160 #: lib/Kuickres/GuiPlugin/DistrictForm.pm:102 #: lib/Kuickres/GuiPlugin/RoomForm.pm:113 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:243 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:248 #: lib/Kuickres/GuiPlugin/AgegroupForm.pm:102 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:204 msgid "Save Changes" msgstr "" #: lib/Kuickres/GuiPlugin/LocationForm.pm:161 -#: lib/Kuickres/GuiPlugin/Location.pm:94 +#: lib/Kuickres/GuiPlugin/Location.pm:87 msgid "Add Location" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:53 +#: lib/Kuickres/GuiPlugin/Booking.pm:49 +msgid "search words ..." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:73 #: lib/Kuickres/GuiPlugin/BookingForm.pm:105 msgid "Room" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:60 +#: lib/Kuickres/GuiPlugin/Booking.pm:80 #: lib/Kuickres/GuiPlugin/BookingForm.pm:88 msgid "User" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:67 +#: lib/Kuickres/GuiPlugin/Booking.pm:87 msgid "Date" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:74 +#: lib/Kuickres/GuiPlugin/Booking.pm:94 #: lib/Kuickres/GuiPlugin/BookingForm.pm:115 msgid "Time" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:81 +#: lib/Kuickres/GuiPlugin/Booking.pm:101 msgid "Schedule Entry" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:88 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:180 +#: lib/Kuickres/GuiPlugin/Booking.pm:108 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:184 msgid "District" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:95 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:190 +#: lib/Kuickres/GuiPlugin/Booking.pm:115 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:194 msgid "Age Group" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:102 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:200 +#: lib/Kuickres/GuiPlugin/Booking.pm:122 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:204 msgid "Comment" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:109 +#: lib/Kuickres/GuiPlugin/Booking.pm:129 msgid "Created" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:116 +#: lib/Kuickres/GuiPlugin/Booking.pm:136 msgid "Deleted" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:137 -#: lib/Kuickres/GuiPlugin/BookingForm.pm:244 -msgid "Add Booking" -msgstr "" - -#: lib/Kuickres/GuiPlugin/Booking.pm:142 +#: lib/Kuickres/GuiPlugin/Booking.pm:157 lib/Kuickres/GuiPlugin/Booking.pm:162 msgid "New Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:158 lib/Kuickres/GuiPlugin/Booking.pm:164 +#: lib/Kuickres/GuiPlugin/Booking.pm:175 lib/Kuickres/GuiPlugin/Booking.pm:181 msgid "Edit Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:180 +#: lib/Kuickres/GuiPlugin/Booking.pm:197 msgid "Delete Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:183 +#: lib/Kuickres/GuiPlugin/Booking.pm:200 msgid "Do you really want to delete the selected Booking." msgstr "" @@ -157,6 +157,121 @@ msgstr "" msgid "Add Room" msgstr "" +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:58 +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:61 +msgid "Invalid email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:65 +msgid "Unknown email address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:71 +msgid "email address in use" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:80 +msgid "Invalid token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:88 +msgid "Passwords must be 8 chars or longer" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:90 +msgid "Passwords < 20 chars must contain upper- and lowercase letters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:92 +msgid "" +"Passwords < 16 chars must contain upper- and lowercase letters and numbers" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:94 +msgid "" +"Passwords < 12 chars must contain upper- and lowercase letters and numbers " +"and special characters" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:99 +msgid "Passwords must must match" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:108 +msgid "Email Address" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:125 +msgid "Validation Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:130 +msgid "check your mail for a token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:134 +msgid "[Send Token]" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:143 +msgid "New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:145 +msgid "" +"Standford Password Policy" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:147 +msgid "type a your new password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:155 +msgid "Repeat Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:158 +msgid "repeat the password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:167 +msgid "Set New Password" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:173 +#: lib/Kuickres/GuiPlugin/Registration.pm:78 +msgid "%1 is required" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:186 +msgid "Failed to update password for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:200 +msgid "Send Token" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:207 +msgid "Token sent" +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:208 +msgid "The token has been sent to your Mailbox." +msgstr "" + +#: lib/Kuickres/GuiPlugin/ResetPassword.pm:261 +msgid "" +"Hallo %1,\n" +"\n" +"Jemand versucht gerade ihr Passwort bei Kuickres neu zu setzen\n" +"falls sie das selber sind, tragen sie das untenstehende Token \n" +"\n" +"%2\n" +"\n" +"im Passwort-Reset Fenster ein." +msgstr "" + #: lib/Kuickres/GuiPlugin/BookingForm.pm:49 msgid "Expected DD.MM.YYYY HH:MM-HH:MM" msgstr "" @@ -173,43 +288,47 @@ msgstr "" msgid "Invalid user" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:146 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:143 msgid "Location %1 is only open for booking from %2 to %3" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:164 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:168 msgid "Booking overlaps with %1 existing bookings." msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:171 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 msgid "Schedule Text" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:175 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:179 msgid "Text to show in the schedule" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:203 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:207 msgid "Note for the management" msgstr "" -#: lib/Kuickres/GuiPlugin/BookingForm.pm:222 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:226 msgid "You are not allowed to book in the name of other users." msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:77 +#: lib/Kuickres/GuiPlugin/BookingForm.pm:249 +msgid "Add Booking" +msgstr "" + +#: lib/Kuickres/GuiPlugin/District.pm:78 msgid "New District" msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:90 lib/Kuickres/GuiPlugin/District.pm:94 +#: lib/Kuickres/GuiPlugin/District.pm:91 lib/Kuickres/GuiPlugin/District.pm:99 msgid "Edit District" msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:107 +#: lib/Kuickres/GuiPlugin/District.pm:112 msgid "Delete District" msgstr "" -#: lib/Kuickres/GuiPlugin/District.pm:110 +#: lib/Kuickres/GuiPlugin/District.pm:115 msgid "" "Do you really want to delete the selected District. This will only work if " "there are no reservations linked to it." @@ -220,46 +339,79 @@ msgstr "" msgid "Add Agegroup" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:83 +#: lib/Kuickres/GuiPlugin/Room.pm:84 msgid "New Room" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:96 lib/Kuickres/GuiPlugin/Room.pm:100 +#: lib/Kuickres/GuiPlugin/Room.pm:97 lib/Kuickres/GuiPlugin/Room.pm:102 msgid "Edit Room" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:113 +#: lib/Kuickres/GuiPlugin/Room.pm:118 msgid "Delete Room" msgstr "" -#: lib/Kuickres/GuiPlugin/Room.pm:116 +#: lib/Kuickres/GuiPlugin/Room.pm:121 msgid "" "Do you really want to delete the selected Room. This will only work if there " "are no reservations linked to it." msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:59 -msgid "Open" +#: lib/Kuickres/GuiPlugin/Registration.pm:35 +msgid "Create New Account" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:66 -msgid "Close" +#: lib/Kuickres/GuiPlugin/Registration.pm:43 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:53 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:85 +msgid "Given Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:51 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:60 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:94 +msgid "Family Name" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:63 +msgid "" +"Hallo %1\n" +"\n" +"Jemand versucht gerade ein neues Konto in Kuickres zu erstellen.\n" +"Falls sie das selber sind, tragen sie das untenstehende Token \n" +"im Konto-Erzeugungs-Formular ein.\n" +"\n" +" %2\n" +"\n" +"\n" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Registration.pm:101 +msgid "Failed to create account for %1" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:52 +msgid "Location Name" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:98 +#: lib/Kuickres/GuiPlugin/Location.pm:59 +msgid "Opening Hours" +msgstr "" + +#: lib/Kuickres/GuiPlugin/Location.pm:91 msgid "New Location" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:111 -#: lib/Kuickres/GuiPlugin/Location.pm:115 +#: lib/Kuickres/GuiPlugin/Location.pm:105 +#: lib/Kuickres/GuiPlugin/Location.pm:110 msgid "Edit Location" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:128 +#: lib/Kuickres/GuiPlugin/Location.pm:126 msgid "Delete Location" msgstr "" -#: lib/Kuickres/GuiPlugin/Location.pm:131 +#: lib/Kuickres/GuiPlugin/Location.pm:133 msgid "" "Do you really want to delete the selected Location. This will only work if " "there are no rooms linked to it." @@ -269,16 +421,106 @@ msgstr "" msgid "New Agegroup" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:89 lib/Kuickres/GuiPlugin/Agegroup.pm:93 +#: lib/Kuickres/GuiPlugin/Agegroup.pm:90 lib/Kuickres/GuiPlugin/Agegroup.pm:98 msgid "Edit Agegroup" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:106 +#: lib/Kuickres/GuiPlugin/Agegroup.pm:111 msgid "Delete Agegroup" msgstr "" -#: lib/Kuickres/GuiPlugin/Agegroup.pm:109 +#: lib/Kuickres/GuiPlugin/Agegroup.pm:114 msgid "" "Do you really want to delete the selected Agegroup. This will only work if " "there are no reservations linked to it." msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/AbstractForm.pm:130 +msgid "sorry, don't know the field you are talking about" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:38 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:50 +msgid "UserId" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:46 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:59 +msgid "Username" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:67 +msgid "Rights" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:74 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:104 +msgid "Note" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:92 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:205 +msgid "Add User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:96 +msgid "New User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:105 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:110 +msgid "Edit User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:115 +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:139 +msgid "You have to select a user first" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:130 +msgid "Delete User" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:133 +msgid "Do you really want to delete the selected user ?" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:141 +msgid "You can not delete the user you are logged in with" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/Users.pm:150 +msgid "Faild to remove user %1" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:42 +msgid "Error" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:44 +msgid "No user selected." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:68 +msgid "Password" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:76 +msgid "Password Again" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:152 +msgid "You can only edit your own stuff unless you have admin permissions." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:156 +msgid "The password instances did not match." +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../GuiPlugin/UserForm.pm:202 +msgid "Create Admin Account" +msgstr "" + +#: /home/oetiker/checkouts/kuickres/thirdparty/lib/perl5/CallBackery/qooxdoo/../Config.pm:453 +msgid "Wrong password!" +msgstr "" diff --git a/share/messages.pote b/share/messages.pote index c506d59..2fc08a3 100644 --- a/share/messages.pote +++ b/share/messages.pote @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: kuickres 0.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-05 14:03+0100\n" +"POT-Creation-Date: 2020-03-13 15:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: lib/Kuickres/GuiPlugin/LocationForm.pm:56 -#: lib/Kuickres/GuiPlugin/Booking.pm:45 +#: lib/Kuickres/GuiPlugin/Booking.pm:65 #: lib/Kuickres/GuiPlugin/DistrictForm.pm:55 #: lib/Kuickres/GuiPlugin/RoomForm.pm:54 #: lib/Kuickres/GuiPlugin/BookingForm.pm:79 @@ -77,70 +77,74 @@ msgstr "" msgid "Add Location" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:53 +#: lib/Kuickres/GuiPlugin/Booking.pm:49 +msgid "search words ..." +msgstr "" + +#: lib/Kuickres/GuiPlugin/Booking.pm:73 #: lib/Kuickres/GuiPlugin/BookingForm.pm:105 msgid "Room" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:60 +#: lib/Kuickres/GuiPlugin/Booking.pm:80 #: lib/Kuickres/GuiPlugin/BookingForm.pm:88 msgid "User" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:67 +#: lib/Kuickres/GuiPlugin/Booking.pm:87 msgid "Date" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:74 +#: lib/Kuickres/GuiPlugin/Booking.pm:94 #: lib/Kuickres/GuiPlugin/BookingForm.pm:115 msgid "Time" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:81 +#: lib/Kuickres/GuiPlugin/Booking.pm:101 msgid "Schedule Entry" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:88 +#: lib/Kuickres/GuiPlugin/Booking.pm:108 #: lib/Kuickres/GuiPlugin/BookingForm.pm:180 msgid "District" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:95 +#: lib/Kuickres/GuiPlugin/Booking.pm:115 #: lib/Kuickres/GuiPlugin/BookingForm.pm:190 msgid "Age Group" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:102 +#: lib/Kuickres/GuiPlugin/Booking.pm:122 #: lib/Kuickres/GuiPlugin/BookingForm.pm:200 msgid "Comment" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:109 +#: lib/Kuickres/GuiPlugin/Booking.pm:129 msgid "Created" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:116 +#: lib/Kuickres/GuiPlugin/Booking.pm:136 msgid "Deleted" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:137 +#: lib/Kuickres/GuiPlugin/Booking.pm:157 #: lib/Kuickres/GuiPlugin/BookingForm.pm:244 msgid "Add Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:142 +#: lib/Kuickres/GuiPlugin/Booking.pm:162 msgid "New Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:158 lib/Kuickres/GuiPlugin/Booking.pm:164 +#: lib/Kuickres/GuiPlugin/Booking.pm:178 lib/Kuickres/GuiPlugin/Booking.pm:184 msgid "Edit Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:180 +#: lib/Kuickres/GuiPlugin/Booking.pm:200 msgid "Delete Booking" msgstr "" -#: lib/Kuickres/GuiPlugin/Booking.pm:183 +#: lib/Kuickres/GuiPlugin/Booking.pm:203 msgid "Do you really want to delete the selected Booking." msgstr "" diff --git a/thirdparty/cpanfile-5.26.1.snapshot b/thirdparty/cpanfile-5.26.1.snapshot index 7ab3726..6198d03 100644 --- a/thirdparty/cpanfile-5.26.1.snapshot +++ b/thirdparty/cpanfile-5.26.1.snapshot @@ -20,10 +20,10 @@ DISTRIBUTIONS Term::ReadKey 0 strict 0 warnings 0 - CallBackery-0.30.1 - pathname: O/OE/OETIKER/CallBackery-0.30.1.tar.gz + CallBackery-0.31.2 + pathname: O/OE/OETIKER/CallBackery-0.31.2.tar.gz provides: - CallBackery 0.030001 + CallBackery 0.031002 CallBackery::Config undef CallBackery::Controller::RpcService undef CallBackery::Database undef @@ -211,6 +211,200 @@ DISTRIBUTIONS Sub::Install 0.921 strict 0 warnings 0 + Devel-StackTrace-2.04 + pathname: D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz + provides: + Devel::StackTrace 2.04 + Devel::StackTrace::Frame 2.04 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + Scalar::Util 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + Email-Abstract-3.008 + pathname: R/RJ/RJBS/Email-Abstract-3.008.tar.gz + provides: + Email::Abstract 3.008 + Email::Abstract::EmailMIME 3.008 + Email::Abstract::EmailSimple 3.008 + Email::Abstract::MIMEEntity 3.008 + Email::Abstract::MailInternet 3.008 + Email::Abstract::MailMessage 3.008 + Email::Abstract::Plugin 3.008 + requirements: + Carp 0 + Email::Simple 1.998 + ExtUtils::MakeMaker 0 + MRO::Compat 0 + Module::Pluggable 1.5 + Scalar::Util 0 + perl 5.006 + strict 0 + warnings 0 + Email-Address-1.912 + pathname: R/RJ/RJBS/Email-Address-1.912.tar.gz + provides: + Email::Address 1.912 + requirements: + ExtUtils::MakeMaker 0 + overload 0 + strict 0 + warnings 0 + Email-Address-XS-1.04 + pathname: P/PA/PALI/Email-Address-XS-1.04.tar.gz + provides: + Email::Address::XS 1.04 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + XSLoader 0 + base 0 + overload 0 + perl 5.006000 + strict 0 + warnings 0 + Email-Date-Format-1.005 + pathname: R/RJ/RJBS/Email-Date-Format-1.005.tar.gz + provides: + Email::Date::Format 1.005 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 0 + Time::Local 0 + strict 0 + warnings 0 + Email-MIME-1.946 + pathname: R/RJ/RJBS/Email-MIME-1.946.tar.gz + provides: + Email::MIME 1.946 + Email::MIME::Creator 1.946 + Email::MIME::Encode 1.946 + Email::MIME::Header 1.946 + Email::MIME::Header::AddressList 1.946 + Email::MIME::Modifier 1.946 + requirements: + Carp 0 + Email::Address::XS 0 + Email::MIME::ContentType 1.022 + Email::MIME::Encodings 1.314 + Email::MessageID 0 + Email::Simple 2.212 + Email::Simple::Creator 0 + Email::Simple::Header 0 + Encode 1.9801 + ExtUtils::MakeMaker 0 + MIME::Base64 0 + MIME::Types 1.13 + Module::Runtime 0 + Scalar::Util 0 + parent 0 + perl 5.008001 + strict 0 + warnings 0 + Email-MIME-ContentType-1.022 + pathname: R/RJ/RJBS/Email-MIME-ContentType-1.022.tar.gz + provides: + Email::MIME::ContentType 1.022 + requirements: + Carp 0 + Encode 2.87 + Exporter 5.57 + ExtUtils::MakeMaker 0 + strict 0 + warnings 0 + Email-MIME-Encodings-1.315 + pathname: R/RJ/RJBS/Email-MIME-Encodings-1.315.tar.gz + provides: + Email::MIME::Encodings 1.315 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.30 + MIME::Base64 3.05 + MIME::QuotedPrint 3.05 + strict 0 + warnings 0 + Email-MessageID-1.406 + pathname: R/RJ/RJBS/Email-MessageID-1.406.tar.gz + provides: + Email::MessageID 1.406 + requirements: + ExtUtils::MakeMaker 0 + Sys::Hostname 0 + overload 0 + strict 0 + warnings 0 + Email-Sender-1.300034 + pathname: R/RJ/RJBS/Email-Sender-1.300034.tar.gz + provides: + Email::Sender 1.300034 + Email::Sender::Failure 1.300034 + Email::Sender::Failure::Multi 1.300034 + Email::Sender::Failure::Permanent 1.300034 + Email::Sender::Failure::Temporary 1.300034 + Email::Sender::Manual 1.300034 + Email::Sender::Manual::QuickStart 1.300034 + Email::Sender::Role::CommonSending 1.300034 + Email::Sender::Role::HasMessage 1.300034 + Email::Sender::Simple 1.300034 + Email::Sender::Success 1.300034 + Email::Sender::Success::Partial 1.300034 + Email::Sender::Transport 1.300034 + Email::Sender::Transport::DevNull 1.300034 + Email::Sender::Transport::Failable 1.300034 + Email::Sender::Transport::Maildir 1.300034 + Email::Sender::Transport::Mbox 1.300034 + Email::Sender::Transport::Print 1.300034 + Email::Sender::Transport::SMTP 1.300034 + Email::Sender::Transport::SMTP::Persistent 1.300034 + Email::Sender::Transport::Sendmail 1.300034 + Email::Sender::Transport::Test 1.300034 + Email::Sender::Transport::Wrapper 1.300034 + Email::Sender::Util 1.300034 + requirements: + Carp 0 + Email::Abstract 3.006 + Email::Address 0 + Email::Simple 1.998 + ExtUtils::MakeMaker 0 + Fcntl 0 + File::Basename 0 + File::Path 2.06 + File::Spec 0 + IO::File 1.11 + IO::Handle 0 + List::Util 1.45 + Module::Runtime 0 + Moo 2.000000 + Moo::Role 0 + MooX::Types::MooseLike 0.15 + MooX::Types::MooseLike::Base 0 + Net::SMTP 3.07 + Scalar::Util 0 + Sub::Exporter 0 + Sub::Exporter::Util 0 + Sys::Hostname 0 + Throwable::Error 0.200003 + Try::Tiny 0 + strict 0 + utf8 0 + warnings 0 + Email-Simple-2.216 + pathname: R/RJ/RJBS/Email-Simple-2.216.tar.gz + provides: + Email::Simple 2.216 + Email::Simple::Creator 2.216 + Email::Simple::Header 2.216 + requirements: + Carp 0 + Email::Date::Format 0 + ExtUtils::MakeMaker 0 + perl 5.008 + strict 0 + warnings 0 Encode-3.02 pathname: D/DA/DANKOGAI/Encode-3.02.tar.gz provides: @@ -570,6 +764,18 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 File::Slurp 0 Test::More 0 + MIME-Types-2.17 + pathname: M/MA/MARKOV/MIME-Types-2.17.tar.gz + provides: + MIME::Type 2.17 + MIME::Types 2.17 + MojoX::MIME::Types 2.17 + requirements: + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Spec 0 + List::Util 0 + Test::More 0.47 MRO-Compat-0.13 pathname: H/HA/HAARG/MRO-Compat-0.13.tar.gz provides: @@ -659,6 +865,22 @@ DISTRIBUTIONS Try::Tiny 0 strict 0 warnings 0 + Module-Pluggable-5.2 + pathname: S/SI/SIMONW/Module-Pluggable-5.2.tar.gz + provides: + Devel::InnerPackage 0.4 + Module::Pluggable 5.2 + Module::Pluggable::Object 5.2 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Find 0 + File::Spec 3.00 + File::Spec::Functions 0 + if 0 + perl 5.00503 + strict 0 Module-Runtime-0.016 pathname: Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz provides: @@ -850,6 +1072,14 @@ DISTRIBUTIONS Sub::Defer 2.006006 Sub::Quote 2.006006 perl 5.006 + MooX-Types-MooseLike-0.29 + pathname: M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz + provides: + MooX::Types::MooseLike 0.29 + MooX::Types::MooseLike::Base 0.29 + requirements: + ExtUtils::MakeMaker 0 + Module::Runtime 0.014 Mozilla-CA-20180117 pathname: A/AB/ABH/Mozilla-CA-20180117.tar.gz provides: @@ -980,6 +1210,22 @@ DISTRIBUTIONS Term::ReadKey 2.38 requirements: ExtUtils::MakeMaker 6.58 + Throwable-0.200013 + pathname: R/RJ/RJBS/Throwable-0.200013.tar.gz + provides: + StackTrace::Auto 0.200013 + Throwable 0.200013 + Throwable::Error 0.200013 + requirements: + Carp 0 + Devel::StackTrace 1.32 + ExtUtils::MakeMaker 0 + Module::Runtime 0.002 + Moo 1.000001 + Moo::Role 0 + Scalar::Util 0 + Sub::Quote 0 + overload 0 Time-Local-1.30 pathname: D/DR/DROLSKY/Time-Local-1.30.tar.gz provides: @@ -1237,7 +1483,7 @@ DISTRIBUTIONS HTTP::Request 6 HTTP::Request::Common 6 HTTP::Response 6 - HTTP::Status 6 + HTTP::Status 6.18 IO::Select 0 IO::Socket 0 LWP::MediaTypes 6