mirror of
https://github.com/brunofontes/shareit.git
synced 2025-11-15 07:50:54 -03:00
Including the option to add users to items
This commit is contained in:
@@ -11,9 +11,10 @@ class ItemController extends Controller
|
||||
{
|
||||
$item = Item::find($id);
|
||||
if (!$item || $item->product->user_id != \Auth::id()) return back();
|
||||
$users = $item->users()->get();
|
||||
|
||||
$otherItems = Item::where([['product_id', $item->product_id], ['id', '!=', $id]])->get();
|
||||
return view('item', compact('item', 'otherItems'));
|
||||
return view('item', compact('item', 'otherItems', 'users'));
|
||||
}
|
||||
|
||||
public function index()
|
||||
@@ -39,8 +40,8 @@ class ItemController extends Controller
|
||||
]
|
||||
);
|
||||
|
||||
$user = \App\User::find(\Auth::id());
|
||||
$user->items()->create(['name' => request('item'), 'product_id' => request('product_id')]);
|
||||
$authUser = \App\User::find(\Auth::id());
|
||||
$authUser->items()->create(['name' => request('item'), 'product_id' => request('product_id')]);
|
||||
|
||||
return redirect('product/'.request('product_id'));
|
||||
}
|
||||
|
||||
102
app/Http/Controllers/UserController.php
Normal file
102
app/Http/Controllers/UserController.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use \App\User;
|
||||
use \App\Item;
|
||||
use \App\Product;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$this->validate($request, ['email' => 'required', 'item_id' => 'required']);
|
||||
|
||||
$user = User::where('email', request('email'))->get();
|
||||
|
||||
if (count($user) == 0) {
|
||||
return back()->withErrors("The e-mail address is not registered yet.");
|
||||
}
|
||||
|
||||
$item = Item::findOrFail(request('item_id'));
|
||||
if ($item->product->user_id == \Auth::id()) {
|
||||
User::findOrFail($user[0]->id)->items()->attach(request('item_id'));
|
||||
//$user->items()->attach(request('item_id'));
|
||||
} else {
|
||||
return back()->withErrors("You cannot add a user to a product that is not yourse.");
|
||||
}
|
||||
return back();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user