diff --git a/IES-Bandung/app/Http/Controllers/ObjectSellController.php b/IES-Bandung/app/Http/Controllers/ObjectSellController.php index 8cef94a21ef9f773e2d363c628b5fd0ce7e6d7a8..71c914c40966dde7be60453453f3bfe15f898899 100644 --- a/IES-Bandung/app/Http/Controllers/ObjectSellController.php +++ b/IES-Bandung/app/Http/Controllers/ObjectSellController.php @@ -25,8 +25,8 @@ class ObjectSellController extends Controller return redirect()->back()->withErrors($v->errors()); $objectType = ObjectType::getOrCreate($request->type); - $userId = Auth::user()['id']; - $vendorUserId = VendorUser::getFullProfile($userId)['id']; + $username = Auth::user()['username']; + $vendorUserId = VendorUser::getFullProfile($username)['id']; $item = new ObjectSell; $item->vendor_user_id = $vendorUserId; diff --git a/IES-Bandung/app/Http/Controllers/PublicUserController.php b/IES-Bandung/app/Http/Controllers/PublicUserController.php index c39a4f8deb75173dafe9e8dbcf84899a4576a4c9..840d84a214c7f93b1142f3f0d357c042cb215e00 100644 --- a/IES-Bandung/app/Http/Controllers/PublicUserController.php +++ b/IES-Bandung/app/Http/Controllers/PublicUserController.php @@ -28,10 +28,8 @@ class PublicUserController extends Controller { $profile = $this->publicUserModel->getFullProfile($username); if(count($profile) > 0){ - $profile = $profile[0]; // get the first element - return view('publicUser', [ - 'canEdit' => ($username == Auth::user()['username']), + 'editable' => ($username == Auth::user()['username']), 'full_name' => $profile['full_name'], 'username' => $profile['username'], 'email' => $profile['email'], diff --git a/IES-Bandung/app/Http/Controllers/VendorUserController.php b/IES-Bandung/app/Http/Controllers/VendorUserController.php index e3295fcbe1ae653ac759bef463c515a6ad5ee869..da11e788d675c4d9e1e89cb2e973156a54b76d57 100644 --- a/IES-Bandung/app/Http/Controllers/VendorUserController.php +++ b/IES-Bandung/app/Http/Controllers/VendorUserController.php @@ -7,6 +7,7 @@ use Illuminate\Http\Request; use App\Http\Requests; use App\User; use App\Model\VendorUser; +use App\Model\VendorRateAndReview; use App\Model\ObjectSell; use Auth; @@ -14,17 +15,20 @@ class VendorUserController extends Controller { public function viewProfile($username) { $editable = Auth::check() ? Auth::user()['username'] === $username : false; - $userId = Auth::user()['id']; - $user = VendorUser::getFullProfile($userId); + $user = VendorUser::getFullProfile($username); $objects = ObjectSell:: join('object_types', 'object_sells.object_type_id', '=', 'object_types.id')-> where('vendor_user_id', '=', $user->id)-> select('object_sells.*', 'object_types.name as type') ->get(); + $rating = VendorRateAndReview::getAverageRating($user->id); + if(is_null($rating)) + $rating = -1; return view('vendorUser', [ 'editable' => $editable, 'user' => $user, + 'rating' => $rating, 'objects' => $objects]); } diff --git a/IES-Bandung/app/Model/PublicUser.php b/IES-Bandung/app/Model/PublicUser.php index da6e72bd15e10cafa4405759b6a7c57bf173d961..cf26bff26935e034df59a1f2516dbc736afc347b 100644 --- a/IES-Bandung/app/Model/PublicUser.php +++ b/IES-Bandung/app/Model/PublicUser.php @@ -18,7 +18,7 @@ class PublicUser extends Model public static function getFullProfile($username) { return PublicUser:: - join('users', 'users.id', '=', 'public_users.id')-> + join('users', 'users.id', '=', 'public_users.user_id')-> where('users.username', '=', $username)-> first(); } diff --git a/IES-Bandung/app/Model/VendorRateAndReview.php b/IES-Bandung/app/Model/VendorRateAndReview.php index 1b4c90fa80c28b9757089deadb43df8db8bdb234..9dd6ffe38c1d911caafb76347510af0e5d61fb7d 100644 --- a/IES-Bandung/app/Model/VendorRateAndReview.php +++ b/IES-Bandung/app/Model/VendorRateAndReview.php @@ -1,6 +1,6 @@ <?php -namespace App; +namespace App\Model; use Illuminate\Database\Eloquent\Model; @@ -33,4 +33,8 @@ class VendorRateAndReview extends Model } // TODO: Average Rating for Vendor + public static function getAverageRating($vendor_user_id) { + $avg_rating = VendorRateAndReview::where('vendor_user_id','=',$vendor_user_id)->avg('rating_val'); + return $avg_rating; + } } diff --git a/IES-Bandung/app/Model/VendorUser.php b/IES-Bandung/app/Model/VendorUser.php index a5d86168ea9825f423656a8e8f1bff95f4a69aaa..5fb2519cd1b87b0497f3f804047034dbee9deffa 100644 --- a/IES-Bandung/app/Model/VendorUser.php +++ b/IES-Bandung/app/Model/VendorUser.php @@ -9,10 +9,10 @@ class VendorUser extends Model { protected $table = 'vendor_users'; - public static function getFullProfile($userId) { + public static function getFullProfile($username) { return VendorUser:: join('users', 'users.id', '=', 'vendor_users.user_id')-> - where('vendor_users.user_id', '=', $userId) + where('users.username', '=', $username) ->first(); } diff --git a/IES-Bandung/resources/views/publicUser.blade.php b/IES-Bandung/resources/views/publicUser.blade.php index 955d252a2f417f7bf24ce7674e7f37750b5e93ab..c820893ec7f355355ceb8c0e084ae6dd85da9d89 100755 --- a/IES-Bandung/resources/views/publicUser.blade.php +++ b/IES-Bandung/resources/views/publicUser.blade.php @@ -39,14 +39,13 @@ <div class=""> <span class="text12 m-b-md text-grey"><i class="text-white fa fa-mobile text14 m-r-xs"></i> {{ $tel_no }}</span> </div> - <span class="text12 m-b-md text-grey"><i class="text-white fa fa-map-marker text14 m-r-xs"></i> Pasar Baru, Bandung</span> - </div> </div> </div> </div> </div> + </div> - @if($canEdit) + @if($editable) <div class="wrapper-lg m-t "> <div class="panel panel-default"> diff --git a/IES-Bandung/resources/views/vendorUser.blade.php b/IES-Bandung/resources/views/vendorUser.blade.php index 30fd43d7d5ae16507aa30c5944cae0b83c542051..2181554e44ca2f10cfea0ebce67d5e026e16b56a 100755 --- a/IES-Bandung/resources/views/vendorUser.blade.php +++ b/IES-Bandung/resources/views/vendorUser.blade.php @@ -31,7 +31,7 @@ </a> <div class="clear m-b"> <div class="m-b-sm m-t-sm"> - <span class="text22 text-white font-semibold">{{ $user->full_name }}</span> + <span class="text22 text-white font-semibold">{{ $user->full_name }} {{ $rating }}</span> <small class="m-l-sm text-info"><a href="#">{{ $user->email }}</a></small> </div> <div class=""> @@ -158,16 +158,21 @@ <div class="col-md-12"> <div class="panel panel-default"> + + @if ($editable) <form method="POST" action="/item/update"> {{ csrf_field() }} + @endif <div class="panel-heading font-semibold"> <div class="row"> <h5 class="col-sm-9"> Barang Dagangan </h5> + @if ($editable) <div class="fz-right"> <button id="editDagangBtn" class="btn m-b-sm m-r-sm btn-default btn-sm" onclick="return false;">Edit</button> </div> + @endif </div> </div> <div> @@ -186,24 +191,34 @@ @foreach ($objects as $object) <tr> <td> + @if ($editable) <input type="text" value="{{ $object->name }}" class="fedit-barang toggle-display" name="name[{{ $object->id }}]"></input> + @endif <p class="tedit-barang toggle-display displayit">{{ $object->name }}</p> </td> <td> + @if ($editable) <input type="text" value="{{ $object->price }}" class="fedit-barang toggle-display" name="price[{{ $object->id }}]"></input> + @endif <p class="tedit-barang toggle-display displayit">{{ $object->price }}</p> </td> <td> + @if ($editable) <input type="text" value="{{ $object->unit }}" class="fedit-barang toggle-display" name="unit[{{ $object->id }}]"></input> + @endif <p class="tedit-barang toggle-display displayit">{{ $object->unit }}</p> </td> <td> + @if ($editable) <input type="text" value="{{ $object->type }}" class="suggest fedit-barang toggle-display" name="type[{{ $object->id }}]"></input> + @endif <p class="tedit-barang toggle-display displayit">{{ $object->type }}</p> </td> <td>{{ $object->updated_at }}</td> <td> + @if ($editable) <input type="text" value="27" class="suggest fedit-barang toggle-display" name="jumlahterjual"></input> + @endif <p class="tedit-barang toggle-display displayit">27 <span>kg</span></p> </td> </tr> @@ -211,7 +226,10 @@ </tbody> </table> </div> + + @if ($editable) </form> + @endif </div> </div>