<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\User;
use App\Group;

class UserController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     *
     * Common controller functions between administrators and moderator for handling users.
     *
     */
    public function confirmDeleteUser(User $user)
    {
        return view('users.delete', compact('user'));
    }

    public function deleteUser(User $user)
    {
        $user->deleteUser();
        return redirect('/admin/users');
    }

    public function addUser()
    {
        $user = new User;
        $user->addUser(request()->all());
        return redirect('/admin/users');
    }

    public function newUser()
    {
        if (Auth::user()->isAdministrator()) {
            $groups = Group::all();
            return view('users.new', compact('groups'));
        }
        return view('users.new');
    }
}