public function updateProductType()
 {
     if (!Request::ajax()) {
         return App::abort(404);
     }
     $arrReturn = ['status' => 'error'];
     if (Input::has('pk')) {
         $id = (int) Input::get('pk');
         $name = (string) Input::get('name');
         $value = e((string) Input::get('value'));
         try {
             $type = ProductType::findorFail($id);
             $type->{$name} = $value;
         } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) {
             return App::abort(404);
         }
     } else {
         $type = new ProductType();
         $type->name = Input::get('name');
         $type->description = Input::get('description');
     }
     $pass = $type->valid();
     if ($pass->passes()) {
         $type->save();
         $arrReturn = ['status' => 'ok'];
         $arrReturn['message'] = $type->name . ' has been saved';
         $arrReturn['data'] = $type;
     } else {
         $arrReturn['message'] = '';
         $arrErr = $pass->messages()->all();
         foreach ($arrErr as $value) {
             $arrReturn['message'] .= "{$value}\n";
         }
     }
     $response = Response::json($arrReturn);
     $response->header('Content-Type', 'application/json');
     return $response;
 }