summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2015-07-15 21:53:19 +0200
committerPhilip Häusler <msquare@notrademark.de>2015-07-15 21:53:19 +0200
commit18644cac7abab887536dd4e5a2fc7ff1dc9c9c26 (patch)
tree448821d1695964ff3507e4076b152fdf4f7c901e
parent430eaa019a6bd852a23d86660c81ffd397d1dd2d (diff)
fixes #196: make users planned arrival date editable in user settings and show it in their own profile
-rw-r--r--includes/pages/user_settings.php18
-rw-r--r--includes/view/User_view.php2
2 files changed, 15 insertions, 5 deletions
diff --git a/includes/pages/user_settings.php b/includes/pages/user_settings.php
index 20ed3468..f3c48c40 100644
--- a/includes/pages/user_settings.php
+++ b/includes/pages/user_settings.php
@@ -24,6 +24,7 @@ function user_settings() {
$password_hash = "";
$selected_theme = $user['color'];
$selected_language = $user['Sprache'];
+ $planned_arrival_date = $user['planned_arrival_date'];
if (isset($_REQUEST['submit'])) {
$ok = true;
@@ -54,8 +55,15 @@ function user_settings() {
elseif ($enable_tshirt_size) {
$ok = false;
}
-
- // Trivia
+
+ if (isset($_REQUEST['planned_arrival_date']) && DateTime::createFromFormat("Y-m-d", trim($_REQUEST['planned_arrival_date']))) {
+ $planned_arrival_date = DateTime::createFromFormat("Y-m-d", trim($_REQUEST['planned_arrival_date']))->getTimestamp();
+ } else {
+ $ok = false;
+ $msg .= error(_("Please enter your planned date of arrival."), true);
+ }
+
+ // Trivia
if (isset($_REQUEST['lastname']))
$lastname = strip_request_item('lastname');
if (isset($_REQUEST['prename']))
@@ -85,7 +93,8 @@ function user_settings() {
`email_shiftinfo`='" . sql_escape($email_shiftinfo ? 'TRUE' : 'FALSE') . "',
`jabber`='" . sql_escape($jabber) . "',
`Size`='" . sql_escape($tshirt_size) . "',
- `Hometown`='" . sql_escape($hometown) . "'
+ `Hometown`='" . sql_escape($hometown) . "',
+ `planned_arrival_date`='" . sql_escape($planned_arrival_date) . "'
WHERE `UID`='" . sql_escape($user['UID']) . "'");
success(_("Settings saved."));
@@ -144,9 +153,10 @@ function user_settings() {
form(array(
form_info('', _("Here you can change your user details.")),
form_info(entry_required() . ' = ' . _("Entry required!")),
- form_text('nick', _("Nick") . ' ' . entry_required(), $nick, true),
+ form_text('nick', _("Nick"), $nick, true),
form_text('lastname', _("Last name"), $lastname),
form_text('prename', _("First name"), $prename),
+ form_date('planned_arrival_date', _("Planned date of arrival") . ' ' . entry_required(), $planned_arrival_date, time()),
form_text('age', _("Age"), $age),
form_text('tel', _("Phone"), $tel),
form_text('dect', _("DECT"), $dect),
diff --git a/includes/view/User_view.php b/includes/view/User_view.php
index da52a913..0125f4af 100644
--- a/includes/view/User_view.php
+++ b/includes/view/User_view.php
@@ -171,7 +171,7 @@ function User_view($user_source, $admin_user_privilege, $freeloader, $user_angel
'<h4>' . _("User state") . '</h4>',
($admin_user_privilege && $freeloader) ? '<span class="text-danger"><span class="glyphicon glyphicon-exclamation-sign"></span> ' . _("Freeloader") . '</span><br />' : '',
$user_source['Gekommen'] ? User_shift_state_render($user_source) . '<br />' : '',
- $admin_user_privilege
+ $admin_user_privilege || $its_me
? ($user_source['Gekommen'] ? '<span class="text-success"><span class="glyphicon glyphicon-home"></span> ' . sprintf(_("Arrived at %s"), date('Y-m-d', $user_source['arrival_date'])) . '</span>' : '<span class="text-danger">' . sprintf(_("Not arrived (Planned: %s)"), date('Y-m-d', $user_source['planned_arrival_date'])) . '</span>')
: ($user_source['Gekommen'] ? '<span class="text-success"><span class="glyphicon glyphicon-home"></span> ' . _("Arrived") . '</span>' : '<span class="text-danger">' . _("Not arrived") . '</span>'),
$admin_user_privilege ? ($user_source['got_voucher'] ? '<br /><span class="text-success">' . glyph('cutlery') . _("Got vouchers") . '</span>' : '<br /><span class="text-danger">' . _("Got no vouchers") . '</span>') : '',