Esempio n. 1
0
 /**
  * Store a supplier
  *
  * @return Response
  */
 public function store()
 {
     if (!Input::has('supplier')) {
         return new JSend('error', (array) Input::all(), 'Tidak ada data supplier.');
     }
     $errors = new MessageBag();
     DB::beginTransaction();
     //1. Validate Supplier Parameter
     $supplier = Input::get('supplier');
     if (is_null($supplier['id'])) {
         $is_new = true;
     } else {
         $is_new = false;
     }
     $supplier_rules = ['name' => 'required|max:255'];
     //1a. Get original data
     $supplier_data = \App\Models\Supplier::findornew($supplier['id']);
     //1b. Validate Basic Supplier Parameter
     $validator = Validator::make($supplier, $supplier_rules);
     if (!$validator->passes()) {
         $errors->add('Supplier', $validator->errors());
     } else {
         //if validator passed, save supplier
         $supplier_data = $supplier_data->fill($supplier);
         if (!$supplier_data->save()) {
             $errors->add('Supplier', $supplier_data->getError());
         }
     }
     //End of validate supplier
     if ($errors->count()) {
         DB::rollback();
         return new JSend('error', (array) Input::all(), $errors);
     }
     DB::commit();
     $final_supplier = \App\Models\Supplier::id($supplier_data['id'])->first()->toArray();
     return new JSend('success', (array) $final_supplier);
 }