summaryrefslogtreecommitdiff
path: root/includes/controller
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2018-10-11 01:26:34 +0200
committermsquare <msquare@notrademark.de>2018-10-31 13:43:23 +0100
commit4e09ee3eb255160c88a378375d69123a3e000497 (patch)
treee4a03ff40c939473cc1278f8286675cfa31e4556 /includes/controller
parent7c6afc2bfe3263b91ecabf5530da57fe1162ea0b (diff)
Replaced more user related stuff
(Contains some buggy stuff too...)
Diffstat (limited to 'includes/controller')
-rw-r--r--includes/controller/shift_entries_controller.php6
-rw-r--r--includes/controller/shifts_controller.php9
-rw-r--r--includes/controller/user_angeltypes_controller.php9
-rw-r--r--includes/controller/users_controller.php44
4 files changed, 42 insertions, 26 deletions
diff --git a/includes/controller/shift_entries_controller.php b/includes/controller/shift_entries_controller.php
index 2876991a..bbf2e5b0 100644
--- a/includes/controller/shift_entries_controller.php
+++ b/includes/controller/shift_entries_controller.php
@@ -111,10 +111,10 @@ function shift_entry_create_controller_admin($shift, $angeltype)
redirect(shift_link($shift));
}
- $users = Users();
+ $users = User::all();
$users_select = [];
foreach ($users as $u) {
- $users_select[$u['UID']] = $u['Nick'];
+ $users_select[$u->id] = $u->name;
}
$angeltypes_select = [];
@@ -185,7 +185,7 @@ function shift_entry_create_controller_supporter($shift, $angeltype)
$users = Users_by_angeltype($angeltype);
$users_select = [];
foreach ($users as $u) {
- $users_select[$u['UID']] = $u['Nick'];
+ $users_select[$u->id] = $u->name;
}
$room = Room($shift['RID']);
diff --git a/includes/controller/shifts_controller.php b/includes/controller/shifts_controller.php
index b56440e5..07e81957 100644
--- a/includes/controller/shifts_controller.php
+++ b/includes/controller/shifts_controller.php
@@ -353,20 +353,17 @@ function shift_next_controller()
*/
function shifts_json_export_controller()
{
- global $user;
$request = request();
if (!$request->has('key') || !preg_match('/^[\da-f]{32}$/', $request->input('key'))) {
engelsystem_error('Missing key.');
}
- $key = $request->input('key');
-
- $user = User_by_api_key($key);
- if (empty($user)) {
+ $user = auth()->apiUser('key');
+ if (!$user) {
engelsystem_error('Key invalid.');
}
- if (!in_array('shifts_json_export', privileges_for_user($user['UID']))) {
+ if (!in_array('shifts_json_export', privileges_for_user($user->id))) {
engelsystem_error('No privilege for shifts_json_export.');
}
diff --git a/includes/controller/user_angeltypes_controller.php b/includes/controller/user_angeltypes_controller.php
index a38adfec..6080d08b 100644
--- a/includes/controller/user_angeltypes_controller.php
+++ b/includes/controller/user_angeltypes_controller.php
@@ -362,16 +362,17 @@ function user_angeltype_add_controller()
*/
function user_angeltype_join_controller($angeltype)
{
- global $user, $privileges;
+ global $privileges;
+ $user = auth()->user();
- $user_angeltype = UserAngelType_by_User_and_AngelType($user['UID'], $angeltype);
+ $user_angeltype = UserAngelType_by_User_and_AngelType($user->id, $angeltype);
if (!empty($user_angeltype)) {
error(sprintf(__('You are already a %s.'), $angeltype['name']));
redirect(page_link_to('angeltypes'));
}
if (request()->has('confirmed')) {
- $user_angeltype_id = UserAngelType_create($user['UID'], $angeltype);
+ $user_angeltype_id = UserAngelType_create($user->id, $angeltype);
$success_message = sprintf(__('You joined %s.'), $angeltype['name']);
engelsystem_log(sprintf(
@@ -382,7 +383,7 @@ function user_angeltype_join_controller($angeltype)
success($success_message);
if (in_array('admin_user_angeltypes', $privileges)) {
- UserAngelType_confirm($user_angeltype_id, $user['UID']);
+ UserAngelType_confirm($user_angeltype_id, $user->id);
engelsystem_log(sprintf(
'User %s confirmed as %s.',
User_Nick_render($user),
diff --git a/includes/controller/users_controller.php b/includes/controller/users_controller.php
index 3c05f596..61b19231 100644
--- a/includes/controller/users_controller.php
+++ b/includes/controller/users_controller.php
@@ -2,6 +2,7 @@
use Engelsystem\Database\DB;
use Engelsystem\Models\User\PasswordReset;
+use Engelsystem\Models\User\State;
use Engelsystem\Models\User\User;
use Engelsystem\ShiftCalendarRenderer;
use Engelsystem\ShiftsFilter;
@@ -79,7 +80,7 @@ function user_delete_controller()
}
if ($valid) {
- User_delete($user_source->id);
+ $user_source->delete();
mail_user_delete($user_source);
success(__('User deleted.'));
@@ -268,13 +269,28 @@ function users_list_controller()
}
$order_by = 'Nick';
- if ($request->has('OrderBy') && in_array($request->input('OrderBy'), User_sortable_columns())) {
+ if ($request->has('OrderBy') && in_array($request->input('OrderBy'), [
+ 'Nick',
+ 'Name',
+ 'Vorname',
+ 'DECT',
+ 'email',
+ 'Size',
+ 'Gekommen',
+ 'Aktiv',
+ 'force_active',
+ 'Tshirt',
+ 'lastLogIn'
+ ])) {
$order_by = $request->input('OrderBy');
}
- $users = Users($order_by);
- foreach ($users as &$user) {
- $user['freeloads'] = count(ShiftEntries_freeloaded_by_user($user['UID']));
+ /** @var User[] $users */
+ $users = User::query()
+ ->orderBy($order_by)
+ ->get();
+ foreach ($users as $user) {
+ $user->setAttribute('freeloads', count(ShiftEntries_freeloaded_by_user($user->id)));
}
return [
@@ -282,12 +298,12 @@ function users_list_controller()
Users_view(
$users,
$order_by,
- User_arrived_count(),
- User_active_count(),
- User_force_active_count(),
+ State::whereArrived(true)->count(),
+ State::whereActive(true)->count(),
+ State::whereForceActive(true)->count(),
ShiftEntries_freeloaded_count(),
- User_tshirts_count(),
- User_got_voucher_count()
+ State::whereGotShirt(true)->count(),
+ State::query()->sum('got_voucher')
)
];
}
@@ -300,7 +316,7 @@ function users_list_controller()
function user_password_recovery_set_new_controller()
{
$request = request();
- $passwordReset = PasswordReset::whereToken($request->input('token'));
+ $passwordReset = PasswordReset::whereToken($request->input('token'))->first();
if (!$passwordReset) {
error(__('Token is not correct.'));
redirect(page_link_to('login'));
@@ -344,11 +360,13 @@ function user_password_recovery_start_controller()
if ($request->has('submit')) {
$valid = true;
+ $user_source = null;
if ($request->has('email') && strlen(strip_request_item('email')) > 0) {
$email = strip_request_item('email');
if (check_email($email)) {
- $user_source = User_by_email($email);
- if (empty($user_source)) {
+ /** @var User $user_source */
+ $user_source = User::whereEmail($email)->first();
+ if (!$user_source) {
$valid = false;
error(__('E-mail address is not correct.'));
}