marudor 7 years ago
commit 7af09433de

@ -49,3 +49,11 @@ ALTER TABLE `Room` ADD `description` TEXT NULL AFTER `map_url`;
-- Dashboard -- Dashboard
ALTER TABLE `AngelTypes` ADD `show_on_dashboard` BOOLEAN NOT NULL AFTER `contact_email`; ALTER TABLE `AngelTypes` ADD `show_on_dashboard` BOOLEAN NOT NULL AFTER `contact_email`;
UPDATE `AngelTypes` SET `show_on_dashboard` = TRUE; UPDATE `AngelTypes` SET `show_on_dashboard` = TRUE;
-- Work Log
CREATE TABLE `UserWorkLog` ( `id` INT NOT NULL AUTO_INCREMENT , `user_id` INT NOT NULL , `work_hours` DECIMAL NOT NULL , `comment` VARCHAR(200) NOT NULL , `created_user_id` INT NOT NULL , `created_timestamp` INT NOT NULL , PRIMARY KEY (`id`), INDEX (`user_id`), INDEX (`created_user_id`)) ENGINE = InnoDB;
ALTER TABLE `UserWorkLog` ADD FOREIGN KEY (`created_user_id`) REFERENCES `User`(`UID`) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE `UserWorkLog` ADD FOREIGN KEY (`user_id`) REFERENCES `User`(`UID`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `UserWorkLog` ADD INDEX(`created_timestamp`);
INSERT INTO `Privileges` (`id`, `name`, `desc`) VALUES (NULL, 'admin_user_worklog', 'Manage user work log entries.');
ALTER TABLE `UserWorkLog` CHANGE `work_hours` `work_hours` DECIMAL(10,2) NOT NULL;
ALTER TABLE `UserWorkLog` ADD `work_timestamp` INT NOT NULL AFTER `user_id`;

@ -0,0 +1,195 @@
<?php
/**
* Delete a work log entry.
*/
function user_worklog_delete_controller()
{
global $user;
$request = request();
$userWorkLog = UserWorkLog($request->input('user_worklog_id'));
if (empty($userWorkLog)) {
redirect(user_link($user));
}
$user_source = User($userWorkLog['user_id']);
if ($request->has('confirmed')) {
UserWorkLog_delete($userWorkLog);
success(_('Work log entry deleted.'));
redirect(user_link($user_source));
}
return [
UserWorkLog_delete_title(),
UserWorkLog_delete_view($user_source, $userWorkLog)
];
}
/**
* Edit work log for user.
*/
function user_worklog_edit_controller()
{
global $user;
$request = request();
$userWorkLog = UserWorkLog($request->input('user_worklog_id'));
if (empty($userWorkLog)) {
redirect(user_link($user));
}
$user_source = User($userWorkLog['user_id']);
if ($request->has('submit')) {
list ($valid, $userWorkLog) = user_worklog_from_request($userWorkLog);
if ($valid) {
UserWorkLog_update($userWorkLog);
success(_('Work log entry updated.'));
redirect(user_link($user_source));
}
}
return [
UserWorkLog_edit_title(),
UserWorkLog_edit_view($user_source, $userWorkLog)
];
}
/**
*
* @param UserWorkLog $userWorkLog
* @return [bool $valid, UserWorkLog $userWorkLog]
*/
function user_worklog_from_request($userWorkLog)
{
$request = request();
$valid = true;
$userWorkLog['work_timestamp'] = parse_date('Y-m-d H:i', $request->input('work_timestamp') . ' 00:00');
if ($userWorkLog['work_timestamp'] == null) {
$valid = false;
error(_('Please enter work date.'));
}
$userWorkLog['work_hours'] = $request->input('work_hours');
if (! preg_match("/[0-9]+(\.[0-9]+)?/", $userWorkLog['work_hours'])) {
$valid = false;
error(_('Please enter work hours in format ##[.##].'));
}
$userWorkLog['comment'] = $request->input('comment');
if (empty($userWorkLog['comment'])) {
$valid = false;
error(_('Please enter a comment.'));
}
return [
$valid,
$userWorkLog
];
}
/**
* Add work log entry to user.
*/
function user_worklog_add_controller()
{
global $user;
$request = request();
$user_source = User($request->input('user_id'));
if (empty($user_source)) {
redirect(user_link($user));
}
$userWorkLog = UserWorkLog_new($user_source);
if ($request->has('submit')) {
list ($valid, $userWorkLog) = user_worklog_from_request($userWorkLog);
if ($valid) {
UserWorkLog_create($userWorkLog);
success(_('Work log entry created.'));
redirect(user_link($user_source));
}
}
return [
UserWorkLog_add_title(),
UserWorkLog_add_view($user_source, $userWorkLog)
];
}
/**
* Link to work log entry add for given user.
*
* @param User $user
*/
function user_worklog_add_link($user)
{
return page_link_to('user_worklog', [
'action' => 'add',
'user_id' => $user['UID']
]);
}
/**
* Link to work log entry edit.
*
* @param UserWorkLog $userWorkLog
*/
function user_worklog_edit_link($userWorkLog)
{
return page_link_to('user_worklog', [
'action' => 'edit',
'user_worklog_id' => $userWorkLog['id']
]);
}
/**
* Link to work log entry delete.
*
* @param UserWorkLog $userWorkLog
* @param array[] $parameters
*/
function user_worklog_delete_link($userWorkLog, $parameters = [])
{
return page_link_to('user_worklog', array_merge([
'action' => 'delete',
'user_worklog_id' => $userWorkLog['id']
], $parameters));
}
/**
* Work log entry actions
*/
function user_worklogs_controller()
{
global $user, $privileges;
if (! in_array('admin_user_worklog', $privileges)) {
redirect(user_link($user));
}
$request = request();
$action = $request->input('action');
if (! $request->has('action')) {
redirect(user_link($user));
}
switch ($action) {
case 'add':
return user_worklog_add_controller();
case 'edit':
return user_worklog_edit_controller();
case 'delete':
return user_worklog_delete_controller();
}
}
?>

@ -228,7 +228,7 @@ function user_controller()
if($user_source['force_active']) { if($user_source['force_active']) {
$tshirt_score = _('Enough'); $tshirt_score = _('Enough');
} else { } else {
$tshirt_score = round(User_tshirt_score($user_source), 2) . ' h'; $tshirt_score = sprintf('%.2f', User_tshirt_score($user_source)) . '&nbsp;h';
} }
return [ return [
@ -242,7 +242,9 @@ function user_controller()
$shifts, $shifts,
$user['UID'] == $user_source['UID'], $user['UID'] == $user_source['UID'],
$tshirt_score, $tshirt_score,
in_array('admin_active', $privileges) in_array('admin_active', $privileges),
in_array('admin_user_worklog', $privileges),
UserWorkLogsForUser($user_source)
) )
]; ];
} }

@ -27,6 +27,7 @@ $includeFiles = [
__DIR__ . '/../includes/model/UserDriverLicenses_model.php', __DIR__ . '/../includes/model/UserDriverLicenses_model.php',
__DIR__ . '/../includes/model/UserGroups_model.php', __DIR__ . '/../includes/model/UserGroups_model.php',
__DIR__ . '/../includes/model/User_model.php', __DIR__ . '/../includes/model/User_model.php',
__DIR__ . '/../includes/model/UserWorkLog_model.php',
__DIR__ . '/../includes/model/ValidationResult.php', __DIR__ . '/../includes/model/ValidationResult.php',
__DIR__ . '/../includes/view/AngelTypes_view.php', __DIR__ . '/../includes/view/AngelTypes_view.php',
@ -45,6 +46,7 @@ $includeFiles = [
__DIR__ . '/../includes/view/UserDriverLicenses_view.php', __DIR__ . '/../includes/view/UserDriverLicenses_view.php',
__DIR__ . '/../includes/view/UserHintsRenderer.php', __DIR__ . '/../includes/view/UserHintsRenderer.php',
__DIR__ . '/../includes/view/User_view.php', __DIR__ . '/../includes/view/User_view.php',
__DIR__ . '/../includes/view/UserWorkLog_view.php',
__DIR__ . '/../includes/controller/angeltypes_controller.php', __DIR__ . '/../includes/controller/angeltypes_controller.php',
__DIR__ . '/../includes/controller/event_config_controller.php', __DIR__ . '/../includes/controller/event_config_controller.php',
@ -56,6 +58,7 @@ $includeFiles = [
__DIR__ . '/../includes/controller/users_controller.php', __DIR__ . '/../includes/controller/users_controller.php',
__DIR__ . '/../includes/controller/user_angeltypes_controller.php', __DIR__ . '/../includes/controller/user_angeltypes_controller.php',
__DIR__ . '/../includes/controller/user_driver_licenses_controller.php', __DIR__ . '/../includes/controller/user_driver_licenses_controller.php',
__DIR__ . '/../includes/controller/user_worklog_controller.php',
__DIR__ . '/../includes/helper/graph_helper.php', __DIR__ . '/../includes/helper/graph_helper.php',
__DIR__ . '/../includes/helper/internationalization_helper.php', __DIR__ . '/../includes/helper/internationalization_helper.php',

@ -0,0 +1,123 @@
<?php
use Engelsystem\Database\Db;
/**
* Load a single work log entry.
*
* @param int $user_worklog_id
*/
function UserWorkLog($user_worklog_id)
{
return Db::selectOne("SELECT * FROM `UserWorkLog` WHERE `id`=?", [
$user_worklog_id
]);
}
/**
* Returns all work log entries for a user.
*
* @param User $user
*/
function UserWorkLogsForUser($user)
{
return Db::select("SELECT * FROM `UserWorkLog` WHERE `user_id`=? ORDER BY `created_timestamp`", [
$user['UID']
]);
}
/**
* Delete a work log entry.
*
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_delete($userWorkLog)
{
$user_source = User($userWorkLog['user_id']);
$result = Db::delete("DELETE FROM `UserWorkLog` WHERE `id`=?", [
$userWorkLog['id']
]);
engelsystem_log(sprintf('Delete work log for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment']));
return $result;
}
/**
* Update work log entry (only work hours and comment)
*
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_update($userWorkLog)
{
$user_source = User($userWorkLog['user_id']);
$result = Db::update("UPDATE `UserWorkLog` SET
`work_timestamp`=?,
`work_hours`=?,
`comment`=?
WHERE `id`=?", [
$userWorkLog['work_timestamp'],
$userWorkLog['work_hours'],
$userWorkLog['comment'],
$userWorkLog['id']
]);
engelsystem_log(sprintf('Updated work log for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment']));
return $result;
}
/**
* Create a new work log entry
*
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_create($userWorkLog)
{
global $user;
$user_source = User($userWorkLog['user_id']);
$result = Db::insert("INSERT INTO `UserWorkLog` (
`user_id`,
`work_timestamp`,
`work_hours`,
`comment`,
`created_user_id`,
`created_timestamp`
)
VALUES (?, ?, ?, ?, ?, ?)", [
$userWorkLog['user_id'],
$userWorkLog['work_timestamp'],
$userWorkLog['work_hours'],
$userWorkLog['comment'],
$user['UID'],
time()
]);
engelsystem_log(sprintf('Added work log entry for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment']));
return $result;
}
/**
* New user work log entry
*
* @param array[] $user
*/
function UserWorkLog_new($user)
{
$work_date = parse_date('Y-m-d H:i', date('Y-m-d 00:00', time()));
$event_config = EventConfig();
if (! empty($event_config['buildup_start_date'])) {
$work_date = parse_date('Y-m-d H:i', date('Y-m-d 00:00', $event_config['buildup_start_date']));
}
return [
'user_id' => $user['UID'],
'work_timestamp' => $work_date,
'work_hours' => 0,
'comment' => ''
];
}
?>

@ -26,7 +26,7 @@ function User_delete($user_id)
function User_tshirt_score($user) { function User_tshirt_score($user) {
$shift_sum_formula = config('shift_sum_formula'); $shift_sum_formula = config('shift_sum_formula');
$result = DB::selectOne(' $result_shifts = DB::selectOne('
SELECT ROUND((' . $shift_sum_formula . ') / 3600, 2) AS `tshirt_score` SELECT ROUND((' . $shift_sum_formula . ') / 3600, 2) AS `tshirt_score`
FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID`
@ -37,8 +37,18 @@ function User_tshirt_score($user) {
$user['UID'], $user['UID'],
time() time()
]); ]);
$result_worklog = DB::selectOne('
SELECT SUM(`work_hours`) AS `tshirt_score`
FROM `User`
LEFT JOIN `UserWorkLog` ON `User`.`UID` = `UserWorkLog`.`user_id`
WHERE `User`.`UID` = ?
AND `UserWorkLog`.`work_timestamp` < ?
',[
$user['UID'],
time()
]);
return $result['tshirt_score']; return $result_shifts['tshirt_score'] + $result_worklog['tshirt_score'];
} }
/** /**

@ -58,7 +58,10 @@ function admin_active()
SELECT SELECT
`User`.*, `User`.*,
COUNT(`ShiftEntry`.`id`) AS `shift_count`, COUNT(`ShiftEntry`.`id`) AS `shift_count`,
%s AS `shift_length` (%s + (
SELECT COALESCE(SUM(`work_hours`) * 3600, 0) FROM `UserWorkLog` WHERE `user_id`=`User`.`UID`
AND `work_timestamp` < %s
)) AS `shift_length`
FROM `User` FROM `User`
LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID`
@ -69,6 +72,7 @@ function admin_active()
%s %s
', ',
$shift_sum_formula, $shift_sum_formula,
time(),
$limit $limit
)); ));
$user_nicks = []; $user_nicks = [];
@ -140,7 +144,10 @@ function admin_active()
SELECT SELECT
`User`.*, `User`.*,
COUNT(`ShiftEntry`.`id`) AS `shift_count`, COUNT(`ShiftEntry`.`id`) AS `shift_count`,
%s AS `shift_length` (%s + (
SELECT COALESCE(SUM(`work_hours`) * 3600, 0) FROM `UserWorkLog` WHERE `user_id`=`User`.`UID`
AND `work_timestamp` < %s
)) AS `shift_length`
FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` ' LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` '
. ($show_all_shifts ? '' : 'AND (`Shifts`.`end` < ' . time() . " OR `Shifts`.`end` IS NULL)") . ' . ($show_all_shifts ? '' : 'AND (`Shifts`.`end` < ' . time() . " OR `Shifts`.`end` IS NULL)") . '
@ -150,6 +157,7 @@ function admin_active()
%s %s
', ',
$shift_sum_formula, $shift_sum_formula,
time(),
$limit $limit
)); ));
$matched_users = []; $matched_users = [];
@ -174,7 +182,7 @@ function admin_active()
$usr['nick'] = User_Nick_render($usr); $usr['nick'] = User_Nick_render($usr);
$usr['shirt_size'] = $tshirt_sizes[$usr['Size']]; $usr['shirt_size'] = $tshirt_sizes[$usr['Size']];
$usr['work_time'] = round($usr['shift_length'] / 60) $usr['work_time'] = round($usr['shift_length'] / 60)
. ' min (' . round($usr['shift_length'] / 3600) . ' h)'; . ' min (' . sprintf('%.2f', $usr['shift_length'] / 3600) . '&nbsp;h)';
$usr['active'] = glyph_bool($usr['Aktiv'] == 1); $usr['active'] = glyph_bool($usr['Aktiv'] == 1);
$usr['force_active'] = glyph_bool($usr['force_active'] == 1); $usr['force_active'] = glyph_bool($usr['force_active'] == 1);
$usr['tshirt'] = glyph_bool($usr['Tshirt'] == 1); $usr['tshirt'] = glyph_bool($usr['Tshirt'] == 1);
@ -192,22 +200,26 @@ function admin_active()
. _('set active') . _('set active')
. '</a>'; . '</a>';
} }
if ($usr['Aktiv'] == 1 && $usr['Tshirt'] == 0) { if ($usr['Aktiv'] == 1) {
$parametersRemove = [ $parametersRemove = [
'not_active' => $usr['UID'], 'not_active' => $usr['UID'],
'search' => $search, 'search' => $search,
]; ];
if ($show_all_shifts) {
$parametersRemove['show_all_shifts'] = 1;
}
$actions[] = '<a href="' . page_link_to('admin_active', $parametersRemove) . '">'
. _('remove active')
. '</a>';
}
if ($usr['Tshirt'] == 0) {
$parametersShirt = [ $parametersShirt = [
'tshirt' => $usr['UID'], 'tshirt' => $usr['UID'],
'search' => $search, 'search' => $search,
]; ];
if ($show_all_shifts) { if ($show_all_shifts) {
$parametersRemove['show_all_shifts'] = 1;
$parametersShirt['show_all_shifts'] = 1; $parametersShirt['show_all_shifts'] = 1;
} }
$actions[] = '<a href="' . page_link_to('admin_active', $parametersRemove) . '">'
. _('remove active')
. '</a>';
$actions[] = '<a href="' . page_link_to('admin_active', $parametersShirt) . '">' $actions[] = '<a href="' . page_link_to('admin_active', $parametersShirt) . '">'
. _('got t-shirt') . _('got t-shirt')
. '</a>'; . '</a>';
@ -233,12 +245,6 @@ function admin_active()
$shirt_statistics = []; $shirt_statistics = [];
foreach (array_keys($tshirt_sizes) as $size) { foreach (array_keys($tshirt_sizes) as $size) {
if (!empty($size)) { if (!empty($size)) {
$sc = DB::selectOne(
'SELECT count(*) FROM `User` WHERE `Size`=? AND `Gekommen`=1',
[$size]
);
$sc = array_shift($sc);
$gc = DB::selectOne( $gc = DB::selectOne(
'SELECT count(*) FROM `User` WHERE `Size`=? AND `Tshirt`=1', 'SELECT count(*) FROM `User` WHERE `Size`=? AND `Tshirt`=1',
[$size] [$size]
@ -247,19 +253,16 @@ function admin_active()
$shirt_statistics[] = [ $shirt_statistics[] = [
'size' => $size, 'size' => $size,
'needed' => (int)$sc,
'given' => (int)$gc 'given' => (int)$gc
]; ];
} }
} }
$shirtCount = DB::selectOne('SELECT count(*) FROM `User` WHERE `Tshirt`=1'); $shirtCount = User_tshirts_count();
$shirtCount = array_shift($shirtCount);
$shirt_statistics[] = [ $shirt_statistics[] = [
'size' => '<b>' . _('Sum') . '</b>', 'size' => '<b>' . _('Sum') . '</b>',
'needed' => '<b>' . User_arrived_count() . '</b>', 'given' => '<b>' . $shirtCount . '</b>'
'given' => '<b>' . (int)$shirtCount . '</b>'
]; ];
return page_with_title(admin_active_title(), [ return page_with_title(admin_active_title(), [
@ -286,7 +289,6 @@ function admin_active()
'<h2>' . _('Shirt statistics') . '</h2>', '<h2>' . _('Shirt statistics') . '</h2>',
table([ table([
'size' => _('Size'), 'size' => _('Size'),
'needed' => _('Needed shirts'),
'given' => _('Given shirts') 'given' => _('Given shirts')
], $shirt_statistics) ], $shirt_statistics)
]); ]);

@ -313,11 +313,19 @@ function get_ids_from_array($array)
*/ */
function make_select($items, $selected, $name, $title = null, $additionalButtons = []) function make_select($items, $selected, $name, $title = null, $additionalButtons = [])
{ {
$html = '';
$htmlItems = []; $htmlItems = [];
if (isset($title)) { if (isset($title)) {
$htmlItems[] = '<h4>' . $title . '</h4>' . "\n"; $html .= '<h4>' . $title . '</h4>' . "\n";
} }
$buttons = [];
$buttons[] = button('javascript: checkAll(\'selection_' . $name . '\', true)', _('All'));
$buttons[] = button('javascript: checkAll(\'selection_' . $name . '\', false)', _('None'));
$buttons = array_merge($buttons, $additionalButtons);
$html .= buttons($buttons);
foreach ($items as $i) { foreach ($items as $i) {
$htmlItems[] = '<div class="checkbox">' $htmlItems[] = '<div class="checkbox">'
. '<label><input type="checkbox" name="' . $name . '[]" value="' . $i['id'] . '" ' . '<label><input type="checkbox" name="' . $name . '[]" value="' . $i['id'] . '" '
@ -326,13 +334,9 @@ function make_select($items, $selected, $name, $title = null, $additionalButtons
. (!isset($i['enabled']) || $i['enabled'] ? '' : glyph('lock')) . (!isset($i['enabled']) || $i['enabled'] ? '' : glyph('lock'))
. '</div><br />'; . '</div><br />';
} }
$html = '<div id="selection_' . $name . '" class="selection ' . $name . '">' . "\n"; $html .= '<div id="selection_' . $name . '" class="selection ' . $name . '">' . "\n";
$html .= implode("\n", $htmlItems); $html .= implode("\n", $htmlItems);
$buttons = [];
$buttons[] = button('javascript: checkAll(\'selection_' . $name . '\', true)', _('All'));
$buttons[] = button('javascript: checkAll(\'selection_' . $name . '\', false)', _('None'));
$buttons = array_merge($buttons, $additionalButtons);
$html .= buttons($buttons); $html .= buttons($buttons);
$html .= '</div>' . "\n"; $html .= '</div>' . "\n";

@ -68,7 +68,7 @@ function public_dashboard_view($stats, $free_shifts)
function public_dashboard_shift_render($shift) function public_dashboard_shift_render($shift)
{ {
$panel_body = glyph('time') . $shift['start'] . ' - ' . $shift['end']; $panel_body = glyph('time') . $shift['start'] . ' - ' . $shift['end'];
$panel_body .= ' (' . $shift['duration'] . ' h)'; $panel_body .= ' (' . $shift['duration'] . '&nbsp;h)';
$panel_body .= '<br>' . glyph('tasks') . $shift['shifttype_name']; $panel_body .= '<br>' . glyph('tasks') . $shift['shifttype_name'];
if (!empty($shift['title'])) { if (!empty($shift['title'])) {

@ -0,0 +1,96 @@
<?php
/**
* Delete work log entry.
* @param User $user_source
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_delete_view($user_source, $userWorkLog)
{
return page_with_title(UserWorkLog_delete_title(), [
info(sprintf(_('Do you want to delete the worklog entry for %s?'), User_Nick_render($user_source)), true),
buttons([
button(user_link($user_source), glyph('remove') . _('cancel')),
button(user_worklog_delete_link($userWorkLog, [
'confirmed' => 1
]), glyph('ok') . _('delete'), 'btn-danger')
])
]);
}
/**
* Title for work log delete.
*/
function UserWorkLog_delete_title()
{
return _('Delete work log entry');
}
/**
* Render edit table.
*
* @param User $user_source
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_edit_form($user_source, $userWorkLog)
{
return form([
form_info(_('User'), User_Nick_render($user_source)),
form_date('work_timestamp', _('Work date'), $userWorkLog['work_timestamp'], null, time()),
form_text('work_hours', _('Work hours'), $userWorkLog['work_hours']),
form_text('comment', _('Comment'), $userWorkLog['comment']),
form_submit('submit', _('Save'))
]);
}
/**
* Form for edit a user work log entry.
*
* @param User $user_source
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_edit_view($user_source, $userWorkLog)
{
return page_with_title(UserWorkLog_edit_title(), [
buttons([
button(user_link($user_source), _('back'))
]),
msg(),
UserWorkLog_edit_form($user_source, $userWorkLog)
]);
}
/**
* Form for adding a user work log entry.
*
* @param User $user_source
* @param UserWorkLog $userWorkLog
*/
function UserWorkLog_add_view($user_source, $userWorkLog)
{
return page_with_title(UserWorkLog_add_title(), [
buttons([
button(user_link($user_source), _('back'))
]),
msg(),
UserWorkLog_edit_form($user_source, $userWorkLog)
]);
}
/**
* Title text for editing work log entry.
*/
function UserWorkLog_edit_title()
{
return _('Edit work log entry');
}
/**
* Title text for adding work log entry.
*/
function UserWorkLog_add_title()
{
return _('Add work log entry');
}
?>

@ -299,7 +299,7 @@ function User_shift_state_render($user)
if (time() < $halfway) { if (time() < $halfway) {
return '<span class="text-danger moment-countdown" data-timestamp="' . $nextShift['start'] . '">' return '<span class="text-danger moment-countdown" data-timestamp="' . $nextShift['start'] . '">'
. _('Shift starts %c') . _('Shift started %c')
. '</span>'; . '</span>';
} }
@ -356,7 +356,7 @@ function User_view_myshift($shift, $user_source, $its_me)
. glyph('time') . date('H:i', $shift['start']) . glyph('time') . date('H:i', $shift['start'])
. ' - ' . ' - '
. date('H:i', $shift['end']), . date('H:i', $shift['end']),
'duration' => round(($shift['end'] - $shift['start']) / 3600, 2) . ' h', 'duration' => sprintf('%.2f', ($shift['end'] - $shift['start']) / 3600) . '&nbsp;h',
'room' => Room_name_render($shift), 'room' => Room_name_render($shift),
'shift_info' => $shift_info, 'shift_info' => $shift_info,
'comment' => '' 'comment' => ''
@ -368,7 +368,7 @@ function User_view_myshift($shift, $user_source, $its_me)
if ($shift['freeloaded']) { if ($shift['freeloaded']) {
$myshift['duration'] = '<p class="text-danger">' $myshift['duration'] = '<p class="text-danger">'
. round(-($shift['end'] - $shift['start']) / 3600 * 2, 2) . ' h' . round(-($shift['end'] - $shift['start']) / 3600 * 2, 2) . '&nbsp;h'
. '</p>'; . '</p>';
if (in_array('user_shifts_admin', $privileges)) { if (in_array('user_shifts_admin', $privileges)) {
$myshift['comment'] .= '<br />' $myshift['comment'] .= '<br />'
@ -408,22 +408,30 @@ function User_view_myshift($shift, $user_source, $its_me)
* @param bool $its_me * @param bool $its_me
* @return array * @return array
*/ */
function User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshirt_admin) function User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshirt_admin, $user_worklogs, $admin_user_worklog_privilege)
{ {
$myshifts_table = []; $myshifts_table = [];
$timesum = 0; $timesum = 0;
foreach ($shifts as $shift) { foreach ($shifts as $shift) {
$myshifts_table[] = User_view_myshift($shift, $user_source, $its_me); $myshifts_table[$shift['start']] = User_view_myshift($shift, $user_source, $its_me);
if (!$shift['freeloaded']) { if (!$shift['freeloaded']) {
$timesum += ($shift['end'] - $shift['start']); $timesum += ($shift['end'] - $shift['start']);
} }
} }
if($its_me || $admin_user_worklog_privilege) {
foreach($user_worklogs as $worklog) {
$myshifts_table[$worklog['work_timestamp']] = User_view_worklog($worklog, $admin_user_worklog_privilege);
$timesum += $worklog['work_hours'] * 3600;
}
}
if (count($myshifts_table) > 0) { if (count($myshifts_table) > 0) {
ksort($myshifts_table);
$myshifts_table[] = [ $myshifts_table[] = [
'date' => '<b>' . _('Sum:') . '</b>', 'date' => '<b>' . _('Sum:') . '</b>',
'duration' => '<b>' . round($timesum / 3600, 2) . ' h</b>', 'duration' => '<b>' . sprintf('%.2f', round($timesum / 3600, 2)) . '&nbsp;h</b>',
'room' => '', 'room' => '',
'shift_info' => '', 'shift_info' => '',
'comment' => '', 'comment' => '',
@ -443,6 +451,43 @@ function User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshi
return $myshifts_table; return $myshifts_table;
} }
/**
* Renders table entry for user work log
* @param UserWorkLog $worklog
* @param bool $admin_user_worklog_privilege
*/
function User_view_worklog($worklog, $admin_user_worklog_privilege) {
$actions = '';
if($admin_user_worklog_privilege) {
$actions = table_buttons([
button(
user_worklog_edit_link($worklog),
glyph('edit') . _('edit'),
'btn-xs'
),
button(
user_worklog_delete_link($worklog),
glyph('trash') . _('delete'),
'btn-xs'
)
]);
}
return [
'date' => glyph('calendar') . date('Y-m-d', $worklog['work_timestamp']),
'duration' => '<b>' . sprintf('%.2f', $worklog['work_hours']) . '</b>',
'room' => '',
'shift_info' => _('Work log entry'),
'comment' => $worklog['comment'] . '<br>'
. sprintf(
_('Added by %s at %s'),
User_Nick_render(User($worklog['created_user_id'])),
date('Y-m-d H:i', $worklog['created_timestamp'])
),
'actions' => $actions
];
}
/** /**
* Renders view for a single user * Renders view for a single user
* *
@ -466,12 +511,14 @@ function User_view(
$shifts, $shifts,
$its_me, $its_me,
$tshirt_score, $tshirt_score,
$tshirt_admin $tshirt_admin,
$admin_user_worklog_privilege,
$user_worklogs
) { ) {
$user_name = htmlspecialchars($user_source['Vorname']) . ' ' . htmlspecialchars($user_source['Name']); $user_name = htmlspecialchars($user_source['Vorname']) . ' ' . htmlspecialchars($user_source['Name']);
$myshifts_table = ''; $myshifts_table = '';
if($its_me || $admin_user_privilege) { if($its_me || $admin_user_privilege) {
$my_shifts = User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshirt_admin); $my_shifts = User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshirt_admin, $user_worklogs, $admin_user_worklog_privilege);
if(count($my_shifts) > 0) { if(count($my_shifts) > 0) {
$myshifts_table = table([ $myshifts_table = table([
'date' => _('Day &amp; time'), 'date' => _('Day &amp; time'),
@ -514,6 +561,10 @@ function User_view(
), ),
glyph('cutlery') . _('Edit vouchers') glyph('cutlery') . _('Edit vouchers')
) : '', ) : '',
$admin_user_worklog_privilege ? button(
user_worklog_add_link($user_source),
glyph('list') . _('Add work log')
) : '',
$its_me ? button( $its_me ? button(
page_link_to('user_settings'), page_link_to('user_settings'),
glyph('list-alt') . _('Settings') glyph('list-alt') . _('Settings')

@ -1,8 +1,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Engelsystem 2.0\n" "Project-Id-Version: Engelsystem 2.0\n"
"POT-Creation-Date: 2017-12-27 20:29+0100\n" "POT-Creation-Date: 2017-12-29 19:01+0100\n"
"PO-Revision-Date: 2017-12-27 20:29+0100\n" "PO-Revision-Date: 2017-12-29 19:03+0100\n"
"Last-Translator: msquare <msquare@notrademark.de>\n" "Last-Translator: msquare <msquare@notrademark.de>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: de_DE\n" "Language: de_DE\n"
@ -25,7 +25,7 @@ msgstr "Bitte auswählen..."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:247 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:247
#: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:80 #: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:80
#: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:138 #: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:138
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:700 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:759
msgid "Angeltypes" msgid "Angeltypes"
msgstr "Engeltypen" msgstr "Engeltypen"
@ -78,7 +78,8 @@ msgstr "ansehen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:124 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:124
#: /Users/msquare/workspace/projects/engelsystem/includes/view/Shifts_view.php:138 #: /Users/msquare/workspace/projects/engelsystem/includes/view/Shifts_view.php:138
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:387 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:387
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:485 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:465
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:547
msgid "edit" msgid "edit"
msgstr "bearbeiten" msgstr "bearbeiten"
@ -98,6 +99,8 @@ msgstr "bearbeiten"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:97 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:97
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:129 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:129
#: /Users/msquare/workspace/projects/engelsystem/includes/view/Shifts_view.php:139 #: /Users/msquare/workspace/projects/engelsystem/includes/view/Shifts_view.php:139
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:16
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:470
msgid "delete" msgid "delete"
msgstr "löschen" msgstr "löschen"
@ -306,12 +309,13 @@ msgstr "Benötigte Engel"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftEntry_view.php:199 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftEntry_view.php:199
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:65 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:65
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserDriverLicenses_view.php:52 #: /Users/msquare/workspace/projects/engelsystem/includes/view/UserDriverLicenses_view.php:52
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:42
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:72 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:72
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:81 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:81
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:86 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:86
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:91 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:91
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:182 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:182
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:678 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:737
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
@ -425,7 +429,7 @@ msgstr "Du darfst diesen Benutzer nicht für diesen Engeltyp freischalten."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_angeltypes_controller.php:146 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_angeltypes_controller.php:146
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_angeltypes_controller.php:201 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_angeltypes_controller.php:201
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_angeltypes_controller.php:268 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_angeltypes_controller.php:268
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:415 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:417
msgid "User doesn't exist." msgid "User doesn't exist."
msgstr "Benutzer existiert nicht." msgstr "Benutzer existiert nicht."
@ -540,6 +544,30 @@ msgstr "Deine Führerschein-Infos wurden gelöscht."
msgid "Edit %s driving license information" msgid "Edit %s driving license information"
msgstr "Bearbeite die Führerschein-Infos von %s" msgstr "Bearbeite die Führerschein-Infos von %s"
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_worklog_controller.php:20
msgid "Work log entry deleted."
msgstr "Arbeitseinsatz gelöscht."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_worklog_controller.php:50
msgid "Work log entry updated."
msgstr "Arbeitseinsatz geändert."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_worklog_controller.php:75
msgid "Please enter work date."
msgstr "Bitte Einsatzdatum angeben."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_worklog_controller.php:81
msgid "Please enter work hours in format ##[.##]."
msgstr "Bitte Stunden im Format ##[.##| eingeben."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_worklog_controller.php:87
msgid "Please enter a comment."
msgstr "Bitte Kommentar angeben."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/user_worklog_controller.php:117
msgid "Work log entry created."
msgstr "Arbeitseinsatz angelegt."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:61 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:61
msgid "You cannot delete yourself." msgid "You cannot delete yourself."
msgstr "Du kannst Dich nicht selber löschen." msgstr "Du kannst Dich nicht selber löschen."
@ -581,55 +609,55 @@ msgstr "Benutzer nicht gefunden."
msgid "Enough" msgid "Enough"
msgstr "Genug" msgstr "Genug"
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:275 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:277
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:232 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:232
msgid "All users" msgid "All users"
msgstr "Alle Benutzer" msgstr "Alle Benutzer"
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:299 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:301
msgid "Token is not correct." msgid "Token is not correct."
msgstr "Der Token ist nicht in Ordnung." msgstr "Der Token ist nicht in Ordnung."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:312 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:314
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:142 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:142
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:116 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:116
msgid "Your passwords don't match." msgid "Your passwords don't match."
msgstr "Deine Passwörter stimmen nicht überein." msgstr "Deine Passwörter stimmen nicht überein."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:316 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:318
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:114 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:114
msgid "Your password is to short (please use at least 6 characters)." msgid "Your password is to short (please use at least 6 characters)."
msgstr "Dein Passwort ist zu kurz (Bitte mindestens 6 Zeichen nutzen)." msgstr "Dein Passwort ist zu kurz (Bitte mindestens 6 Zeichen nutzen)."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:321 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:323
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:119 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:119
msgid "Password saved." msgid "Password saved."
msgstr "Passwort gespeichert." msgstr "Passwort gespeichert."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:346 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:348
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:350 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:352
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:107 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:107
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:31 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:31
msgid "E-mail address is not correct." msgid "E-mail address is not correct."
msgstr "Die E-Mail Adresse ist nicht in Ordnung." msgstr "Die E-Mail Adresse ist nicht in Ordnung."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:354 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:356
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:111 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:111
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:35 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:35
msgid "Please enter your e-mail." msgid "Please enter your e-mail."
msgstr "Bitte gib Deine E-Mail-Adresse ein." msgstr "Bitte gib Deine E-Mail-Adresse ein."
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:361 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:363
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:397 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:399
msgid "Password recovery" msgid "Password recovery"
msgstr "Passwort wiederherstellen" msgstr "Passwort wiederherstellen"
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:363 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:365
#, php-format #, php-format
msgid "Please visit %s to recover your password." msgid "Please visit %s to recover your password."
msgstr "Bitte besuche %s, um Dein Passwort zurückzusetzen" msgstr "Bitte besuche %s, um Dein Passwort zurückzusetzen"
#: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:367 #: /Users/msquare/workspace/projects/engelsystem/includes/controller/users_controller.php:369
msgid "We sent an email containing your password recovery link." msgid "We sent an email containing your password recovery link."
msgstr "" msgstr ""
"Wir haben eine eMail mit einem Link zum Passwort-zurücksetzen geschickt." "Wir haben eine eMail mit einem Link zum Passwort-zurücksetzen geschickt."
@ -742,65 +770,67 @@ msgid "Please enter a number of angels to be marked as active."
msgstr "" msgstr ""
"Bitte gib eine Anzahl an Engeln ein, die als Aktiv markiert werden sollen." "Bitte gib eine Anzahl an Engeln ein, die als Aktiv markiert werden sollen."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:83 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:87
msgid "Marked angels." msgid "Marked angels."
msgstr "Engel wurden markiert." msgstr "Engel wurden markiert."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:86 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:90
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_rooms.php:155 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_rooms.php:155
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_rooms.php:191 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_rooms.php:191
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:300 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:300
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:164 #: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:164
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:56
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:73
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:149 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:149
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:173 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:173
msgid "back" msgid "back"
msgstr "zurück" msgstr "zurück"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:92 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:96
msgid "apply" msgid "apply"
msgstr "anwenden" msgstr "anwenden"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:103 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:107
msgid "Angel has been marked as active." msgid "Angel has been marked as active."
msgstr "Engel wurde als aktiv markiert." msgstr "Engel wurde als aktiv markiert."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:105 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:109
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:115 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:119
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:135 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:139
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:40 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:40
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:56 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:56
msgid "Angel not found." msgid "Angel not found."
msgstr "Engel nicht gefunden." msgstr "Engel nicht gefunden."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:113 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:117
msgid "Angel has been marked as not active." msgid "Angel has been marked as not active."
msgstr "Engel wurde als nicht aktiv markiert." msgstr "Engel wurde als nicht aktiv markiert."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:123 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:127
msgid "Angel has got a t-shirt." msgid "Angel has got a t-shirt."
msgstr "Engel hat ein T-Shirt bekommen." msgstr "Engel hat ein T-Shirt bekommen."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:133 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:137
msgid "Angel has got no t-shirt." msgid "Angel has got no t-shirt."
msgstr "Engel hat kein T-Shirt bekommen." msgstr "Engel hat kein T-Shirt bekommen."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:192 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:200
msgid "set active" msgid "set active"
msgstr "setze aktiv" msgstr "setze aktiv"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:209 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:217
msgid "remove active" msgid "remove active"
msgstr "entferne aktiv" msgstr "entferne aktiv"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:212 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:220
msgid "got t-shirt" msgid "got t-shirt"
msgstr "hat t-shirt" msgstr "hat t-shirt"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:224 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:232
msgid "remove t-shirt" msgid "remove t-shirt"
msgstr "entferne t-shirt" msgstr "entferne t-shirt"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:260 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:268
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:195 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:195
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:210 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:210
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:225 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:225
@ -810,15 +840,15 @@ msgstr "entferne t-shirt"
msgid "Sum" msgid "Sum"
msgstr "Summe" msgstr "Summe"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:267 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:275
msgid "Search angel:" msgid "Search angel:"
msgstr "Suche Engel:" msgstr "Suche Engel:"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:268 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:276
msgid "Show all shifts" msgid "Show all shifts"
msgstr "Alle Schichten anzeigen" msgstr "Alle Schichten anzeigen"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:269 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:277
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:171 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:171
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:172 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:172
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_free.php:105 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_free.php:105
@ -828,62 +858,62 @@ msgstr "Alle Schichten anzeigen"
msgid "Search" msgid "Search"
msgstr "Suche" msgstr "Suche"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:272 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:280
msgid "How much angels should be active?" msgid "How much angels should be active?"
msgstr "Wie viele Engel sollten aktiv sein?" msgstr "Wie viele Engel sollten aktiv sein?"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:273 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:281
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:288 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:288
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:432 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:432
msgid "Preview" msgid "Preview"
msgstr "Vorschau" msgstr "Vorschau"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:277 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:285
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:175 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:175
msgid "Nickname" msgid "Nickname"
msgstr "Nick" msgstr "Nick"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:278 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:286
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:288 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:296
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:248 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:248
msgid "Size" msgid "Size"
msgstr "Größe" msgstr "Größe"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:279 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:287
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:11 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:11
#: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:355 #: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:355
#: /Users/msquare/workspace/projects/engelsystem/includes/view/Rooms_view.php:39 #: /Users/msquare/workspace/projects/engelsystem/includes/view/Rooms_view.php:39
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:529 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:595
msgid "Shifts" msgid "Shifts"
msgstr "Schichten" msgstr "Schichten"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:280 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:288
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:394 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_shifts.php:394
msgid "Length" msgid "Length"
msgstr "Länge" msgstr "Länge"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:281 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:289
msgid "Active?" msgid "Active?"
msgstr "Aktiv?" msgstr "Aktiv?"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:282 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:290
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:246 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:246
msgid "Forced" msgid "Forced"
msgstr "Gezwungen" msgstr "Gezwungen"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:283 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:291
msgid "T-shirt?" msgid "T-shirt?"
msgstr "T-Shirt?" msgstr "T-Shirt?"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:286 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:294
msgid "Shirt statistics" msgid "Shirt statistics"
msgstr "T-Shirt Statistik" msgstr "T-Shirt Statistik"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:289 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:297
msgid "Needed shirts" msgid "Needed shirts"
msgstr "Benötigte T-Shirts" msgstr "Benötigte T-Shirts"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:290 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_active.php:298
msgid "Given shirts" msgid "Given shirts"
msgstr "Ausgegebene T-Shirts" msgstr "Ausgegebene T-Shirts"
@ -916,7 +946,7 @@ msgstr "zurücksetzen"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:186 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:186
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:201 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:201
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:216 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/admin_arrive.php:216
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:493 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:555
msgid "arrived" msgid "arrived"
msgstr "angekommen" msgstr "angekommen"
@ -1016,7 +1046,7 @@ msgstr "Jabber"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:118 #: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:118
#: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:480 #: /Users/msquare/workspace/projects/engelsystem/includes/view/AngelTypes_view.php:480
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:52 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:52
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:659 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:718
msgid "E-Mail" msgid "E-Mail"
msgstr "E-Mail" msgstr "E-Mail"
@ -1584,12 +1614,12 @@ msgstr "T-Shirt Größe"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:342 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:342
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:478 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:478
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:119 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:119
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:676 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:735
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:345 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/guest_login.php:345
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:677 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:736
msgid "Confirm password" msgid "Confirm password"
msgstr "Passwort wiederholen" msgstr "Passwort wiederholen"
@ -1746,7 +1776,7 @@ msgid "Key changed."
msgstr "Key geändert." msgstr "Key geändert."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_myshifts.php:42 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_myshifts.php:42
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:516 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:582
msgid "Reset API key" msgid "Reset API key"
msgstr "API-Key zurücksetzen" msgstr "API-Key zurücksetzen"
@ -1826,7 +1856,7 @@ msgid "No question found."
msgstr "Keine Frage gefunden." msgstr "Keine Frage gefunden."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:10 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_settings.php:10
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:504 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:570
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
@ -1936,12 +1966,12 @@ msgstr ""
"\">JSON Format</a> verfügbar (Link bitte geheimhalten, sonst <a href=\"%s" "\">JSON Format</a> verfügbar (Link bitte geheimhalten, sonst <a href=\"%s"
"\">API-Key zurücksetzen</a>)." "\">API-Key zurücksetzen</a>)."
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:333 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:323
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:49 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftTypes_view.php:49
msgid "All" msgid "All"
msgstr "Alle" msgstr "Alle"
#: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:334 #: /Users/msquare/workspace/projects/engelsystem/includes/pages/user_shifts.php:324
msgid "None" msgid "None"
msgstr "Keine" msgstr "Keine"
@ -1987,6 +2017,7 @@ msgstr "Möchtest Du den Engeltypen %s löschen?"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:106 #: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:106
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:135 #: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:135
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:191 #: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:191
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:13
msgid "cancel" msgid "cancel"
msgstr "abbrechen" msgstr "abbrechen"
@ -2341,6 +2372,7 @@ msgstr "Möchtest du den folgenden User für die Schicht eintragen?"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftEntry_view.php:91 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftEntry_view.php:91
#: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftEntry_view.php:116 #: /Users/msquare/workspace/projects/engelsystem/includes/view/ShiftEntry_view.php:116
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:170 #: /Users/msquare/workspace/projects/engelsystem/includes/view/UserAngelTypes_view.php:170
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:38
msgid "User" msgid "User"
msgstr "Benutzer" msgstr "Benutzer"
@ -2420,7 +2452,7 @@ msgid "New shifttype"
msgstr "Neuer Schichttyp" msgstr "Neuer Schichttyp"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/Shifts_view.php:40 #: /Users/msquare/workspace/projects/engelsystem/includes/view/Shifts_view.php:40
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:533 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:526
msgid "Location" msgid "Location"
msgstr "Ort" msgstr "Ort"
@ -2514,6 +2546,36 @@ msgstr "7,5t LKW"
msgid "Truck 12,5t" msgid "Truck 12,5t"
msgstr "12,5t LKW" msgstr "12,5t LKW"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:11
#, php-format
msgid "Do you want to delete the worklog entry for %s?"
msgstr "Möchtest du den Arbeitseinsatz von %s wirklich löschen?"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:26
msgid "Delete work log entry"
msgstr "Arbeitseinsatz gelöscht."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:39
msgid "Work date"
msgstr "Einsatzdatum"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:40
msgid "Work hours"
msgstr "Arbeitsstunden"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:41
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:528
msgid "Comment"
msgstr "Kommentar"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:85
msgid "Edit work log entry"
msgstr "Arbeitseinsatz bearbeiten"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/UserWorkLog_view.php:93
msgid "Add work log entry"
msgstr "Arbeitseinsatz hinzufügen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:29 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:29
msgid "Here you can change your user details." msgid "Here you can change your user details."
msgstr "Hier kannst Du Deine Details ändern." msgstr "Hier kannst Du Deine Details ändern."
@ -2596,7 +2658,7 @@ msgid "Prename"
msgstr "Vorname" msgstr "Vorname"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:242 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:242
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:588 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:647
msgid "Arrived" msgid "Arrived"
msgstr "Angekommen" msgstr "Angekommen"
@ -2609,12 +2671,12 @@ msgid "Freeloads"
msgstr "Schwänzereien" msgstr "Schwänzereien"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:245 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:245
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:622 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:681
msgid "Active" msgid "Active"
msgstr "Aktiv" msgstr "Aktiv"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:247 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:247
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:625 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:684
msgid "T-Shirt" msgid "T-Shirt"
msgstr "T-Shirt" msgstr "T-Shirt"
@ -2646,55 +2708,68 @@ msgstr "Schicht endet %c"
msgid "sign off" msgid "sign off"
msgstr "abmelden" msgstr "abmelden"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:425 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:433
msgid "Sum:" msgid "Sum:"
msgstr "Summe:" msgstr "Summe:"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:434 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:442
msgid "Your t-shirt score" msgid "Your t-shirt score"
msgstr "Dein T-Shirt Score" msgstr "Dein T-Shirt Score"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:489 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:480
msgid "driving license" msgid "Work log entry"
msgstr "Führerschein" msgstr "Arbeitseinsatz"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:500
msgid "Edit vouchers"
msgstr "Voucher bearbeiten"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:508
msgid "iCal Export"
msgstr "iCal Export"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:512 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:483
msgid "JSON Export" #, php-format
msgstr "JSON Export" msgid "Added by %s at %s"
msgstr "Erstellt von %s am %s"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:531 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:524
msgid "Day &amp; time" msgid "Day &amp; time"
msgstr "Day &amp; time" msgstr "Day &amp; time"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:532 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:525
msgid "Duration" msgid "Duration"
msgstr "Dauer" msgstr "Dauer"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:534 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:527
msgid "Name &amp; workmates" msgid "Name &amp; workmates"
msgstr "Name &amp; Kollegen" msgstr "Name &amp; Kollegen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:535 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:529
msgid "Comment"
msgstr "Kommentar"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:536
msgid "Action" msgid "Action"
msgstr "Aktion" msgstr "Aktion"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:539 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:532
msgid "You have done enough to get a t-shirt."
msgstr "Du hast genug für ein T-Shirt gemacht."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:551
msgid "driving license"
msgstr "Führerschein"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:562
msgid "Edit vouchers"
msgstr "Voucher bearbeiten"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:566
msgid "Add work log"
msgstr "Neuer Arbeitseinsatz"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:574
msgid "iCal Export"
msgstr "iCal Export"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:578
msgid "JSON Export"
msgstr "JSON Export"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:598
msgid "Your night shifts between 2 and 8 am count twice." msgid "Your night shifts between 2 and 8 am count twice."
msgstr "Deine Nachtschichten zwischen 2 und 8 Uhr zählen doppelt." msgstr "Deine Nachtschichten zwischen 2 und 8 Uhr zählen doppelt."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:544 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:603
#, php-format #, php-format
msgid "" msgid ""
"Go to the <a href=\"%s\">shifts table</a> to sign yourself up for some " "Go to the <a href=\"%s\">shifts table</a> to sign yourself up for some "
@ -2703,44 +2778,44 @@ msgstr ""
"Gehe zur <a href=\"%s\">Schicht-Tabelle</a>, um Dich für Schichten " "Gehe zur <a href=\"%s\">Schicht-Tabelle</a>, um Dich für Schichten "
"einzutragen." "einzutragen."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:570 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:629
msgid "User state" msgid "User state"
msgstr "Engelzustand" msgstr "Engelzustand"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:590 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:649
msgid "Not arrived" msgid "Not arrived"
msgstr "Nicht angekommen" msgstr "Nicht angekommen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:609 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:668
msgid "Freeloader" msgid "Freeloader"
msgstr "Schwänzer" msgstr "Schwänzer"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:616 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:675
#, php-format #, php-format
msgid "Arrived at %s" msgid "Arrived at %s"
msgstr "Angekommen am %s" msgstr "Angekommen am %s"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:620 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:679
msgid "Active (forced)" msgid "Active (forced)"
msgstr "Aktiv (gezwungen)" msgstr "Aktiv (gezwungen)"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:629 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:688
#, php-format #, php-format
msgid "Not arrived (Planned: %s)" msgid "Not arrived (Planned: %s)"
msgstr "Nicht angekommen (Geplant: %s)" msgstr "Nicht angekommen (Geplant: %s)"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:637 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:696
#, php-format #, php-format
msgid "Got %s voucher" msgid "Got %s voucher"
msgid_plural "Got %s vouchers" msgid_plural "Got %s vouchers"
msgstr[0] "Einen Voucher bekommen" msgstr[0] "Einen Voucher bekommen"
msgstr[1] "%s Voucher bekommen" msgstr[1] "%s Voucher bekommen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:642 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:701
msgid "Got no vouchers" msgid "Got no vouchers"
msgstr "Voucher nicht bekommen" msgstr "Voucher nicht bekommen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:657 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:716
msgid "" msgid ""
"We will send you an e-mail with a password recovery link. Please use the " "We will send you an e-mail with a password recovery link. Please use the "
"email address you used for registration." "email address you used for registration."
@ -2749,19 +2824,19 @@ msgstr ""
"zurücksetzen kannst. Bitte benutze die Mailadresse, die du bei der Anmeldung " "zurücksetzen kannst. Bitte benutze die Mailadresse, die du bei der Anmeldung "
"verwendet hast." "verwendet hast."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:660 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:719
msgid "Recover" msgid "Recover"
msgstr "Wiederherstellen" msgstr "Wiederherstellen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:674 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:733
msgid "Please enter a new password." msgid "Please enter a new password."
msgstr "Gib bitte ein neues Passwort ein." msgstr "Gib bitte ein neues Passwort ein."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:717 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:776
msgid "Rights" msgid "Rights"
msgstr "Rechte" msgstr "Rechte"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:766 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:825
msgid "" msgid ""
"Please enter your planned date of departure on your settings page to give us " "Please enter your planned date of departure on your settings page to give us "
"a feeling for teardown capacities." "a feeling for teardown capacities."
@ -2769,7 +2844,7 @@ msgstr ""
"Bitte gib Dein geplantes Abreisedatum an, damit wir ein Gefühl für die Abbau-" "Bitte gib Dein geplantes Abreisedatum an, damit wir ein Gefühl für die Abbau-"
"Planung bekommen." "Planung bekommen."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:782 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:841
#, php-format #, php-format
msgid "" msgid ""
"You freeloaded at least %s shifts. Shift signup is locked. Please go to " "You freeloaded at least %s shifts. Shift signup is locked. Please go to "
@ -2778,7 +2853,7 @@ msgstr ""
"Du hast mindestens %s Schichten geschwänzt. Schicht-Registrierung ist " "Du hast mindestens %s Schichten geschwänzt. Schicht-Registrierung ist "
"gesperrt. Bitte gehe zum Himmelsschreibtisch um wieder entsperrt zu werden." "gesperrt. Bitte gehe zum Himmelsschreibtisch um wieder entsperrt zu werden."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:804 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:863
msgid "" msgid ""
"You are not marked as arrived. Please go to heaven's desk, get your angel " "You are not marked as arrived. Please go to heaven's desk, get your angel "
"badge and/or tell them that you arrived already." "badge and/or tell them that you arrived already."
@ -2786,11 +2861,11 @@ msgstr ""
"Du bist nicht als angekommen markiert. Bitte gehe zur Himmelsverwaltung, " "Du bist nicht als angekommen markiert. Bitte gehe zur Himmelsverwaltung, "
"hole Dein Badge ab und/oder erkläre ihnen, dass Du bereits angekommen bist." "hole Dein Badge ab und/oder erkläre ihnen, dass Du bereits angekommen bist."
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:819 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:878
msgid "You need to specify a tshirt size in your settings!" msgid "You need to specify a tshirt size in your settings!"
msgstr "Bitte eine T-Shirt-Größe auswählen" msgstr "Bitte eine T-Shirt-Größe auswählen"
#: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:834 #: /Users/msquare/workspace/projects/engelsystem/includes/view/User_view.php:893
msgid "" msgid ""
"You need to specify a DECT phone number in your settings! If you don't have " "You need to specify a DECT phone number in your settings! If you don't have "
"a DECT phone, just enter '-'." "a DECT phone, just enter '-'."
@ -2798,11 +2873,11 @@ msgstr ""
"Bitte eine DECT-Telefonnummer in den Einstellungen eingeben. Wenn du noch " "Bitte eine DECT-Telefonnummer in den Einstellungen eingeben. Wenn du noch "
"keine Nummer hast, bitte einfach \"-\" angeben." "keine Nummer hast, bitte einfach \"-\" angeben."
#: /Users/msquare/workspace/projects/engelsystem/public/index.php:214 #: /Users/msquare/workspace/projects/engelsystem/public/index.php:218
msgid "No Access" msgid "No Access"
msgstr "Kein Zugriff" msgstr "Kein Zugriff"
#: /Users/msquare/workspace/projects/engelsystem/public/index.php:215 #: /Users/msquare/workspace/projects/engelsystem/public/index.php:219
msgid "" msgid ""
"You don't have permission to view this page . You probably have to sign in " "You don't have permission to view this page . You probably have to sign in "
"or register in order to gain access!" "or register in order to gain access!"

@ -22,6 +22,7 @@ $free_pages = [
'users', 'users',
'user_driver_licenses', 'user_driver_licenses',
'user_password_recovery', 'user_password_recovery',
'user_worklog'
]; ];
// Gewünschte Seite/Funktion // Gewünschte Seite/Funktion
@ -130,6 +131,9 @@ if (
$title = shifts_title(); $title = shifts_title();
$content = user_shifts(); $content = user_shifts();
break; break;
case 'user_worklog':
list($title, $content) = user_worklogs_controller();
break;
case 'user_messages': case 'user_messages':
$title = messages_title(); $title = messages_title();
$content = user_messages(); $content = user_messages();

Loading…
Cancel
Save