get(); // Show the page return View::make('backend/suppliers/index', compact('suppliers')); } /** * Supplier create. * * @return View */ public function getCreate() { return View::make('backend/suppliers/edit')->with('supplier', new Supplier); } /** * Supplier create form processing. * * @return Redirect */ public function postCreate() { // get the POST data $new = Input::all(); // Create a new supplier $supplier = new Supplier; // attempt validation if ($supplier->validate($new)) { // Save the location data $supplier->name = e(Input::get('name')); $supplier->address = e(Input::get('address')); $supplier->address2 = e(Input::get('address2')); $supplier->city = e(Input::get('city')); $supplier->state = e(Input::get('state')); $supplier->country = e(Input::get('country')); $supplier->zip = e(Input::get('zip')); $supplier->contact = e(Input::get('contact')); $supplier->phone = e(Input::get('phone')); $supplier->fax = e(Input::get('fax')); $supplier->email = e(Input::get('email')); $supplier->notes = e(Input::get('notes')); $supplier->url = $supplier->addhttp(e(Input::get('url'))); $supplier->user_id = Sentry::getId(); if (Input::file('image')) { $image = Input::file('image'); $file_name = str_random(25).".".$image->getClientOriginalExtension(); $path = public_path('uploads/suppliers/'.$file_name); Image::make($image->getRealPath())->resize(300, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->save($path); $supplier->image = $file_name; } // Was it created? if($supplier->save()) { // Redirect to the new supplier page return Redirect::to("admin/settings/suppliers")->with('success', Lang::get('admin/suppliers/message.create.success')); } } else { // failure $errors = $supplier->errors(); return Redirect::back()->withInput()->withErrors($errors); } // Redirect to the supplier create page return Redirect::to('admin/settings/suppliers/create')->with('error', Lang::get('admin/suppliers/message.create.error')); } /** * Supplier update. * * @param int $supplierId * @return View */ public function getEdit($supplierId = null) { // Check if the supplier exists if (is_null($supplier = Supplier::find($supplierId))) { // Redirect to the supplier page return Redirect::to('admin/settings/suppliers')->with('error', Lang::get('admin/suppliers/message.does_not_exist')); } // Show the page return View::make('backend/suppliers/edit', compact('supplier')); } /** * Supplier update form processing page. * * @param int $supplierId * @return Redirect */ public function postEdit($supplierId = null) { // Check if the supplier exists if (is_null($supplier = Supplier::find($supplierId))) { // Redirect to the supplier page return Redirect::to('admin/settings/suppliers')->with('error', Lang::get('admin/suppliers/message.does_not_exist')); } //attempt to validate $validator = Validator::make(Input::all(), $supplier->validationRules($supplierId)); if ($validator->fails()) { // The given data did not pass validation return Redirect::back()->withInput()->withErrors($validator->messages()); } // attempt validation else { // Save the data $supplier->name = e(Input::get('name')); $supplier->address = e(Input::get('address')); $supplier->address2 = e(Input::get('address2')); $supplier->city = e(Input::get('city')); $supplier->state = e(Input::get('state')); $supplier->country = e(Input::get('country')); $supplier->zip = e(Input::get('zip')); $supplier->contact = e(Input::get('contact')); $supplier->phone = e(Input::get('phone')); $supplier->fax = e(Input::get('fax')); $supplier->email = e(Input::get('email')); $supplier->url = $supplier->addhttp(e(Input::get('url'))); $supplier->notes = e(Input::get('notes')); if (Input::file('image')) { $image = Input::file('image'); $file_name = str_random(25).".".$image->getClientOriginalExtension(); $path = public_path('uploads/suppliers/'.$file_name); Image::make($image->getRealPath())->resize(300, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->save($path); $supplier->image = $file_name; } if (Input::get('image_delete') == 1 && Input::file('image') == "") { $supplier->image = NULL; } // Was it created? if($supplier->save()) { // Redirect to the new supplier page return Redirect::to("admin/settings/suppliers")->with('success', Lang::get('admin/suppliers/message.update.success')); } } // Redirect to the supplier management page return Redirect::to("admin/settings/suppliers/$supplierId/edit")->with('error', Lang::get('admin/suppliers/message.update.error')); } /** * Delete the given supplier. * * @param int $supplierId * @return Redirect */ public function getDelete($supplierId) { // Check if the supplier exists if (is_null($supplier = Supplier::find($supplierId))) { // Redirect to the suppliers page return Redirect::to('admin/settings/suppliers')->with('error', Lang::get('admin/suppliers/message.not_found')); } if ($supplier->num_assets() > 0) { // Redirect to the asset management page return Redirect::to('admin/settings/suppliers')->with('error', Lang::get('admin/suppliers/message.assoc_users')); } else { // Delete the supplier $supplier->delete(); // Redirect to the suppliers management page return Redirect::to('admin/settings/suppliers')->with('success', Lang::get('admin/suppliers/message.delete.success')); } } /** * Get the asset information to present to the supplier view page * * @param int $assetId * @return View **/ public function getView($supplierId = null) { $supplier = Supplier::find($supplierId); if (isset($supplier->id)) { return View::make('backend/suppliers/view', compact('supplier')); } else { // Prepare the error message $error = Lang::get('admin/suppliers/message.does_not_exist', compact('id')); // Redirect to the user management page return Redirect::route('suppliers')->with('error', $error); } } }