public function removeCharacterPosition(Character $character) { $position = RulebookPosition::find(Input::get("position")); if ($position != null) { CharacterPosition::where(['character_id' => $character->id, 'position_id' => $position->id])->delete(); return Redirect::to("dashboard/storyteller/character/{$character->id}/positions"); } else { return Response::json(['success' => false, 'message' => 'Invalid data.']); } }
<form method="post" action="/dashboard/storyteller/character/{{$character->id}}/positions/add" class="panel"> <?php $positions = RulebookPosition::all(); foreach ($positions as $key => $p) { if (CharacterPosition::where(['character_id' => $character->id, 'position_id' => $p->id])->exists()) { $positions->forget($key); } } ?> <h4>Add Position</h5> @if($positions->count() > 0) <label>Position Name</label> <select name="position"> @foreach($positions as $p) <?php $count = CharacterPosition::where('position_id', $p->id)->count(); ?> <option value="{{$p->id}}"> {{$p->name}} ({{$count}} character{{$count == 1 ? '' : 's'}} with position) </option> @endforeach </select> <input type="submit" class="button small" value="Add Position" /> @else <p>There are no more valid positions.</p> @endif </form> </div> @stop @stop
<div class="position-list"> {{CharacterPosition::with('definition')->where('character_id', $character->id)->get() ->map(function($item, $key) { return $item->definition; })->implode('name', ', ')}} </div> </div> @else <div class="row"> <div class="columns small-6"> {{$character->printName()}} </div> <div class="columns small-6"> {{$character->owner->mailtoLink()}} </div> </div> <?php $positions = CharacterPosition::with('definition')->where('character_id', $character->id)->get(); ?> @if($positions->count() > 0) <div class="row"> <div class="columns small-12 position-list character-row"> {{$positions->map(function($item, $key) { return $item->definition; })->implode('name', ', ')}} </div> </div> @endif @endif </div> @endforeach </div> </div> @if($i == 0)