81 lines
1.9 KiB
PHP
81 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: marcoglietsch
|
|
* Date: 20.12.18
|
|
* Time: 22:15
|
|
*/
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use App\Models\Tag;
|
|
use App\Models\User;
|
|
|
|
class MemberController extends ExtendedController
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->url = 'member';
|
|
parent::__construct();
|
|
}
|
|
|
|
public function showMember(Request $request, $department, $membertype = null)
|
|
{
|
|
$model = User::select('users.*')
|
|
->addSelect('tags1.name as title')
|
|
->join('user_tag as user_tag1', function($join){
|
|
$join->on('user_tag1.user_id', 'users.id');
|
|
})
|
|
->join('tags as tags1', function($join) use($membertype, $department){
|
|
$join->on('user_tag1.tag_id', 'tags1.id');
|
|
if($department == 'Gesamtwehr')
|
|
{
|
|
$join = $join->where('tags1.type', 'mitgliedsart-gesamtwehr');
|
|
}
|
|
else
|
|
{
|
|
$join = $join->where('tags1.type', 'mitgliedsart-abteilung');
|
|
}
|
|
if($membertype)
|
|
{
|
|
$join = $join->where('tags1.name', $membertype);
|
|
}
|
|
})
|
|
->orderBy('tags1.order');
|
|
if($department != 'Gesamtwehr')
|
|
{
|
|
$model = $model
|
|
->addSelect('tags2.name as department')
|
|
->join('user_tag as user_tag2', function ($join)
|
|
{
|
|
$join->on('user_tag2.user_id', 'users.id');
|
|
})
|
|
->join('tags as tags2', function ($join) use ($department)
|
|
{
|
|
$join->on('user_tag2.tag_id', 'tags2.id')
|
|
->where('tags2.type', 'abteilung')
|
|
->where('tags2.name', $department);
|
|
});
|
|
}
|
|
$model = $model->get();
|
|
|
|
$model->each(function($m) use($department){
|
|
$m->type = 'benutzer';
|
|
if($department == 'Gesamtwehr')
|
|
{
|
|
$m->department = 'Gesamtwehr';
|
|
}
|
|
});
|
|
$this->prepareModel2($model);
|
|
$model->isMainPost = true;
|
|
|
|
$view = view('inc.views.members');
|
|
$view->with('config', array());
|
|
$view->with('models', $model);
|
|
$view->with('url', $this->route);
|
|
|
|
return $view;
|
|
}
|
|
} |