From b8c9f8bfc8b85c84e545b9eb3fe3a43465c79383 Mon Sep 17 00:00:00 2001 From: Muhamad Visat Sutarno <mvisat@gmail.com> Date: Thu, 7 Apr 2016 10:18:48 +0700 Subject: [PATCH] add update object sell --- .../Http/Controllers/ObjectSellController.php | 57 +++++++-------- .../Http/Controllers/ProfileController.php | 3 +- .../Http/Controllers/VendorUserController.php | 13 ++-- IES-Bandung/app/Model/ObjectType.php | 12 +++- IES-Bandung/app/Model/VendorUser.php | 12 ++-- ...1227_gov_user_log_after_insert_trigger.php | 2 +- IES-Bandung/public/js/simple.js | 2 +- .../resources/views/auth/login.blade.php | 2 +- .../resources/views/vendorUser.blade.php | 69 +++++++++---------- 9 files changed, 88 insertions(+), 84 deletions(-) diff --git a/IES-Bandung/app/Http/Controllers/ObjectSellController.php b/IES-Bandung/app/Http/Controllers/ObjectSellController.php index f7e7dde..7a3f65b 100644 --- a/IES-Bandung/app/Http/Controllers/ObjectSellController.php +++ b/IES-Bandung/app/Http/Controllers/ObjectSellController.php @@ -13,31 +13,21 @@ use Auth; class ObjectSellController extends Controller { - protected function validator(array $request) { - return Validator::make($request, [ - 'name' => 'required', - 'name' => 'required', - 'price' => 'required|numeric' - ]); - } + public static $rules = [ + 'name' => 'required', + 'objectTypeName' => 'required', + 'price' => 'required|numeric' + ]; public function createObjectSell(Request $request) { - $v = validator($request->all()); + $v = Validator::make($request->all(), SELF::$rules); if ($v->fails()) return redirect()->back()->withErrors($v->errors()); - $objectType = ObjectType::where('name', $request->name)->first(); - if ($objectType === null) { - $objectType = new ObjectType; - $objectType->name = $request->name; - $objectType->save(); - // $objectType->objectTypeID = $objectType->id; - } - + $objectType = ObjectType::getOrCreate($request->name); $userId = Auth::user()['id']; $vendorUserModel = new VendorUser; $vendorUserID = $vendorUserModel->getFullProfile($userId)['vendor_user_id']; - echo $vendorUserID; $item = new ObjectSell; $item->vendorUserID = $vendorUserID; @@ -50,16 +40,29 @@ class ObjectSellController extends Controller } public function updateObjectSell(Request $request) { - $v = validator($request->all()); - if ($v->fails()) - return redirect()->back()->withErrors($v->errors()); - - $item = ObjectSell::find($id); - $item->name = $request->name; - $item->objectTypeID = $request->objectTypeID; - $item->price = $request->price; - $item->save(); - + $req = $request->all(); + if (array_key_exists('name', $req)) { + foreach ($req['name'] as $key => $value) { + $item = ObjectSell::find($key); + $item->name = $value; + $item->save(); + } + } + if (array_key_exists('price', $req)) { + foreach ($req['price'] as $key => $value) { + $item = ObjectSell::find($key); + $item->price = $value; + $item->save(); + } + } + if (array_key_exists('type', $req)) { + foreach ($req['type'] as $key => $value) { + $objectType = ObjectType::getOrCreate($value); + $item = ObjectSell::find($key); + $item->object_type_id = $objectType->id; + $item->save(); + } + } return redirect('/profile'); } diff --git a/IES-Bandung/app/Http/Controllers/ProfileController.php b/IES-Bandung/app/Http/Controllers/ProfileController.php index 3eb0273..b5d7fff 100644 --- a/IES-Bandung/app/Http/Controllers/ProfileController.php +++ b/IES-Bandung/app/Http/Controllers/ProfileController.php @@ -37,8 +37,7 @@ class ProfileController extends Controller return redirect('/'); $type = $user['type']; - - if($userType === "public"){ + if($type === "public"){ $this->controller = new PublicUserController(); } else if($type === "vendor"){ diff --git a/IES-Bandung/app/Http/Controllers/VendorUserController.php b/IES-Bandung/app/Http/Controllers/VendorUserController.php index 2218cee..245bd0f 100644 --- a/IES-Bandung/app/Http/Controllers/VendorUserController.php +++ b/IES-Bandung/app/Http/Controllers/VendorUserController.php @@ -12,20 +12,15 @@ use Auth; class VendorUserController extends Controller { - public function __construct() - { - $this->VendorUserModel = new VendorUser(); - } - public function viewProfile($username) { $editable = Auth::check() ? Auth::user()['username'] === $username : false; $userId = Auth::user()['id']; - $user = $this->VendorUserModel->getFullProfile($userId); + $user = VendorUser::getFullProfile($userId); $objects = ObjectSell:: join('ObjectType', 'ObjectSell.object_type_id', '=', 'ObjectType.id')-> - where('vendor_user_id', '=', $user->vendor_user_id)-> - select('ObjectSell.*', 'ObjectType.name') - ->get(); + where('vendor_user_id', '=', $user->vendor_user_id)-> + select('ObjectSell.*', 'ObjectType.name') + ->get(); return view('vendorUser', [ 'editable' => $editable, diff --git a/IES-Bandung/app/Model/ObjectType.php b/IES-Bandung/app/Model/ObjectType.php index 3c59d9a..a291c1a 100644 --- a/IES-Bandung/app/Model/ObjectType.php +++ b/IES-Bandung/app/Model/ObjectType.php @@ -6,7 +6,6 @@ use Illuminate\Database\Eloquent\Model; class ObjectType extends Model { - // protected $table = 'ObjectType'; public function createNewObjectType($newname) { @@ -15,5 +14,14 @@ class ObjectType extends Model )); } - // Assume users cannot update Object Type once created. + public static function getOrCreate($name) { + $objectType = ObjectType::where('objectTypeName', $name)->first(); + if (is_null($objectType)) { + $objectType = new ObjectType; + $objectType->objectTypeName = $request->objectTypeName; + $objectType->save(); + $objectType->objectTypeID = $objectType->id; + } + return $objectType; + } } diff --git a/IES-Bandung/app/Model/VendorUser.php b/IES-Bandung/app/Model/VendorUser.php index 9f8a580..4e49c40 100644 --- a/IES-Bandung/app/Model/VendorUser.php +++ b/IES-Bandung/app/Model/VendorUser.php @@ -9,18 +9,18 @@ class VendorUser extends Model { protected $table = 'VendorUser'; - public function getFullProfile($userID) { - return $this->join('users', 'users.id', '=', 'VendorUser.id')->where('VendorUser.id', '=', $userID)->first(); + public static function getFullProfile($userId) { + return VendorUser::join('users', 'users.id', '=', 'VendorUser.user_id')->where('VendorUser.user_id', '=', $userId)->first(); } - public function createNewVendorUser($userID, $place) { - $this->userID = $userID; + public static function createNewVendorUser($userId, $place) { + $this->user_id = $userId; $this->place = $place; $this->save(); } - public function updateVendorplace($userID, $newplace) { - return $this->where($userID, '=', 'VendorUser.id')->update(array( + public static function updateVendorplace($userId, $newplace) { + return $this->where($userId, '=', 'VendorUser.id')->update(array( 'place' => $newplace )); } diff --git a/IES-Bandung/database/migrations/2016_04_06_061227_gov_user_log_after_insert_trigger.php b/IES-Bandung/database/migrations/2016_04_06_061227_gov_user_log_after_insert_trigger.php index eec4861..6f9501a 100644 --- a/IES-Bandung/database/migrations/2016_04_06_061227_gov_user_log_after_insert_trigger.php +++ b/IES-Bandung/database/migrations/2016_04_06_061227_gov_user_log_after_insert_trigger.php @@ -20,7 +20,7 @@ class GovUserLogAfterInsertTrigger extends Migration BEGIN INSERT INTO `GovUserLog` SET action = \'insert.a\', - gov_user_id = NEW.gov_user_id, + gov_user_id = NEW.id, user_id = NEW.user_id, nip = NEW.nip, ip_addr = NEW.ip_addr, diff --git a/IES-Bandung/public/js/simple.js b/IES-Bandung/public/js/simple.js index fb26a56..32abccd 100644 --- a/IES-Bandung/public/js/simple.js +++ b/IES-Bandung/public/js/simple.js @@ -20,7 +20,7 @@ $("#editDagangBtn").on("click", function(){ if($(".tedit-barang").hasClass("displayit")){ $("#editDagangBtn").html("Cancel"); - $("#editDagangBtn").after('<button id="submitDagangBtn" class="btn m-b-sm m-r-sm btn-success btn-sm">Update</button>'); + $("#editDagangBtn").after('<input type="submit" id="submitDagangBtn" class="btn m-b-sm m-r-sm btn-success btn-sm" value="Update">'); }else{ $("#editDagangBtn").html("Edit"); $("#submitDagangBtn").remove(); diff --git a/IES-Bandung/resources/views/auth/login.blade.php b/IES-Bandung/resources/views/auth/login.blade.php index c2bb8ac..502117b 100755 --- a/IES-Bandung/resources/views/auth/login.blade.php +++ b/IES-Bandung/resources/views/auth/login.blade.php @@ -7,7 +7,7 @@ <div class="header-signin"> <div class="wrapper-lg text-center"> <a class="navbar-brand text-lt"> - <img src="http://localhost:8888/img/ecohub.png" alt="." class="large-logo"> + <img src="{{ asset("img/ecohub.png") }}" alt="." class="large-logo"> </a> <p class="m-t-sm m-b-none">Integrated Economy System Bandung<br />Web App</p> </div> diff --git a/IES-Bandung/resources/views/vendorUser.blade.php b/IES-Bandung/resources/views/vendorUser.blade.php index c2e518f..9ce83ca 100755 --- a/IES-Bandung/resources/views/vendorUser.blade.php +++ b/IES-Bandung/resources/views/vendorUser.blade.php @@ -35,7 +35,7 @@ <small class="m-l-sm text-info"><a href="#">{{ $user->email }}</a></small> </div> <div class=""> - <span class="text12 m-b-md text-grey"><i class="text-white fa fa-map-marker text14 m-r-xs"></i> {{ $user->vendingPlace }}</span> + <span class="text12 m-b-md text-grey"><i class="text-white fa fa-map-marker text14 m-r-xs"></i> {{ $user->place }}</span> </div> <p class="m-b m-t-sm"> <a href class="m-r-sm text-white btn-icon"><i class="text16 fa fa-twitter"></i></a> @@ -76,51 +76,50 @@ <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> + <form method="POST" action="/item/update"> + {{ csrf_field() }} <div class="panel-heading font-semibold"> <div class="row"> <h5 class="col-sm-9"> Barang Dagangan </h5> <div class="fz-right"> - <button id="editDagangBtn" class="btn m-b-sm m-r-sm btn-default btn-sm">Edit</button> + <button id="editDagangBtn" class="btn m-b-sm m-r-sm btn-default btn-sm" onclick="return false;">Edit</button> </div> </div> </div> <div> - <form> - <table class="table"> - <thead> - <tr> - <th data-breakpoints="xs">ID</th> - <th>Nama Barang</th> - <th>Harga</th> - <th data-breakpoints="xs sm">Jenis</th> - <th data-breakpoints="xs">Update</th> - </tr> - </thead> - <tbody> - @foreach ($objects as $object) - <tr> - <td>{{ $object->objectSellID }}</td> - <td> - <input type="text" value="{{ $object->name }}" class="fedit-barang toggle-display"></input> - <p class="tedit-barang toggle-display displayit">{{ $object->name }}</p> - </td> - <td> - <input type="text" value="Rp{{ $object->price }}/kg" class="fedit-barang toggle-display"></input> - <p class="tedit-barang toggle-display displayit">Rp{{ $object->price }}/kg</p> - </td> - <td> - <input type="text" value="{{ $object->name }}" class="suggest fedit-barang toggle-display"></input> - <p class="tedit-barang toggle-display displayit">{{ $object->name }}</p> - </td> - <td>{{ $object->updated_at }}</td> - </tr> - @endforeach - </tbody> - </table> - </form> + <table class="table"> + <thead> + <tr> + <th>Nama Barang</th> + <th>Harga</th> + <th data-breakpoints="xs sm">Jenis</th> + <th data-breakpoints="xs">Update</th> + </tr> + </thead> + <tbody> + @foreach ($objects as $object) + <tr> + <td> + <input type="text" value="{{ $object->name }}" class="fedit-barang toggle-display" name="name[{{ $object->id }}]"></input> + <p class="tedit-barang toggle-display displayit">{{ $object->name }}</p> + </td> + <td> + <input type="text" value="{{ $object->price }}" class="fedit-barang toggle-display" name="price[{{ $object->id }}]"></input> + <p class="tedit-barang toggle-display displayit">{{ $object->price }}</p> + </td> + <td> + <input type="text" value="{{ $object->objectTypeName }}" class="suggest fedit-barang toggle-display" name="objectTypeName[{{ $object->id }}]"></input> + <p class="tedit-barang toggle-display displayit">{{ $object->objectTypeName }}</p> + </td> + <td>{{ $object->updated_at }}</td> + </tr> + @endforeach + </tbody> + </table> </div> + </form> </div> </div> -- GitLab