Delete tags

This commit is contained in:
James Cole
2015-04-28 11:04:46 +02:00
parent 21644ff4dd
commit e232f2e223
4 changed files with 103 additions and 7 deletions

View File

@@ -39,6 +39,37 @@ class TagController extends Controller
View::share('tagOptions', $tagOptions);
}
/**
* @param Tag $tag
*
* @return \Illuminate\View\View
*/
public function delete(Tag $tag)
{
$subTitle = 'Delete "' . e($tag->tag) . '"';
// put previous url in session
Session::put('tags.delete.url', URL::previous());
return view('tags.delete', compact('tag', 'subTitle'));
}
/**
* @param Tag $tag
*
* @return \Illuminate\Http\RedirectResponse
*/
public function destroy(Tag $tag, TagRepositoryInterface $repository)
{
$tagName = $tag->tag;
$repository->destroy($tag);
Session::flash('success', 'Tag "' . e($tagName) . '" was deleted.');
return Redirect::to(route('tags.index'));
}
/**
* @return \Illuminate\View\View
*/

View File

@@ -15,6 +15,18 @@ use Illuminate\Support\Collection;
class TagRepository implements TagRepositoryInterface
{
/**
* @param Tag $tag
*
* @return boolean
*/
public function destroy(Tag $tag)
{
$tag->delete();
return true;
}
/**
* @return Collection
*/
@@ -60,15 +72,17 @@ class TagRepository implements TagRepositoryInterface
*
* @return Tag
*/
public function update(Tag $tag, array $data) {
$tag->tag = $data['tag'];
$tag->date = $data['date'];
public function update(Tag $tag, array $data)
{
$tag->tag = $data['tag'];
$tag->date = $data['date'];
$tag->description = $data['description'];
$tag->latitude = $data['latitude'];
$tag->longitude = $data['longitude'];
$tag->zoomLevel = $data['zoomLevel'];
$tag->tagMode = $data['tagMode'];
$tag->latitude = $data['latitude'];
$tag->longitude = $data['longitude'];
$tag->zoomLevel = $data['zoomLevel'];
$tag->tagMode = $data['tagMode'];
$tag->save();
return $tag;
}
}

View File

@@ -31,4 +31,11 @@ interface TagRepositoryInterface {
* @return Tag
*/
public function update(Tag $tag, array $data);
/**
* @param Tag $tag
*
* @return boolean
*/
public function destroy(Tag $tag);
}