Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use App\Category;
- use App\Member;
- use App\MembershipLevel;
- use Auth;
- use DB;
- use Illuminate\Database\Eloquent\Collection;
- use Illuminate\Http\Request;
- use App\Http\Requests;
- class MembersController extends Controller
- {
- /**
- * MembersController constructor.
- * @param Request $request
- */
- public function __construct(Request $request) {
- $this->middleware('auth');
- }
- // ....
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function update(Request $request, $id)
- {
- /**
- * @var Member $member
- */
- $member = Auth::user()->members()->findOrFail($id);
- $this->validate($request, Member::$validations);
- //
- $member = $this->UpdateMember($member, $request);
- //
- if( Auth::user()->members()->save($member) ) {
- $request->session()->flash('status', "Successfully Updated {$member->name}.");
- }
- else {
- $request->session()->flash('error', 'Could Not Create Member.');
- }
- //
- return redirect()->route('members.index');
- }
- /**
- * @param Member $member
- * @param Request $request
- * @return Member
- */
- private function UpdateMember(Member $member, Request $request)
- {
- //
- if( $request->input('destroy_logo', false) !== false ) {
- $member->logo = STAPLER_NULL;
- }
- // I don't like this.
- if( ($id = $request->input('category.id')) !== "Add Category" ) {
- /**
- * @var Collection $categories
- */
- $categories = Category::defaultCategories()->get()
- ->merge( Auth::user()->member_categories );
- //
- if( $categories->contains('id', $id) ) {
- $member->category_id = $id;
- }
- }
- else {
- $category = Auth::user()->member_categories()->create($request->input('category'));
- $member->category_id = $category->id;
- }
- // I don't like this.
- if( ($id = $request->input('membership.id')) !== "Add Membership Level" ) {
- if( Auth::user()->membership_levels->contains('id', $id) ) {
- $member->membership_level_id = $id;
- }
- }
- else {
- $level = Auth::user()->membership_levels()->create($request->input(["membership"]));
- $member->membership_level_id = $level->id;
- }
- // sanitize html from textarea
- $member->description = clean($request->input('description'));
- //
- $member->fill($request->only(['name', 'website', 'email', 'hours_of_operation', 'logo']));
- //
- return $member;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement