Commit 4b76c368 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

Add atualizacoes do PAD

parent 509b3e44
...@@ -6,6 +6,8 @@ use App\Http\Controllers\Controller; ...@@ -6,6 +6,8 @@ use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\PAD; use App\Models\PAD;
use App\Models\Tabelas\Constants; use App\Models\Tabelas\Constants;
use App\Models\User;
use App\Models\UserPad;
use Database\Seeders\PadSeeder; use Database\Seeders\PadSeeder;
use Exception; use Exception;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
...@@ -46,8 +48,7 @@ class PadController extends Controller ...@@ -46,8 +48,7 @@ class PadController extends Controller
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/ */
public function store(Request $request) public function store(Request $request)
{ {
...@@ -69,6 +70,16 @@ class PadController extends Controller ...@@ -69,6 +70,16 @@ class PadController extends Controller
$model = new Pad($request->all()); $model = new Pad($request->all());
if($model->save()) { if($model->save()) {
$users = User::find()->whereType(User::TYPE_TEACHER)->get();
foreach($users as $user) {
$modelUserPad = new UserPad();
$modelUserPad->user_id = $user->id;
$modelUserPad->pad_id = $model->id;
$modelUserPad->save();
}
return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!'); return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!');
} else { } else {
return redirect()->route('pad_index')->with('success', 'Erro ao cadastrar o PAD!'); return redirect()->route('pad_index')->with('success', 'Erro ao cadastrar o PAD!');
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace App\Models; namespace App\Models;
use App\Queries\UserQuery;
use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
...@@ -135,6 +136,10 @@ class User extends Authenticatable ...@@ -135,6 +136,10 @@ class User extends Authenticatable
return $this->getTable() . '-' . $attribute; return $this->getTable() . '-' . $attribute;
} }
public static function find() {
return new UserQuery(get_called_class());
}
/** /**
* @return string * @return string
*/ */
......
...@@ -4,8 +4,40 @@ namespace App\Queries; ...@@ -4,8 +4,40 @@ namespace App\Queries;
use App\Models\User; use App\Models\User;
class UserQuery extends User { class UserQuery {
// public static function whereType private $query;
public function __construct()
{
$this->query = User::where([]);
}
/**
* @param integer $id
* @return UserQuery|Builder
*/
public function whereId($id, $expression = '=')
{
$this->query = $this->query->where('id', $expression, $id);
return $this->query;
}
/**
* @param integer $type
* @return UserQuery|Builder
*/
public function whereType($type, $expression = '=')
{
$this->query = $this->query->where('type', $expression, $type);
return $this->query;
}
/**
* @return Builder
*/
public function getQuery()
{
return $this->query;
}
} }
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment