Resourcify admin cp controllers, routes, and views

This commit is contained in:
Jonny Barnes 2017-03-03 13:22:21 +00:00
commit 17804eed27
40 changed files with 206 additions and 429 deletions

View file

@ -17,7 +17,7 @@ class ArticlesController extends Controller
{ {
$posts = Article::select('id', 'title', 'published')->orderBy('id', 'desc')->get(); $posts = Article::select('id', 'title', 'published')->orderBy('id', 'desc')->get();
return view('admin.articles.list', ['posts' => $posts]); return view('admin.articles.index', ['posts' => $posts]);
} }
/** /**
@ -29,7 +29,7 @@ class ArticlesController extends Controller
{ {
$message = session('message'); $message = session('message');
return view('admin.articles.new', ['message' => $message]); return view('admin.articles.create', ['message' => $message]);
} }
/** /**
@ -65,13 +65,13 @@ class ArticlesController extends Controller
$unique = strpos($msg, '1062'); $unique = strpos($msg, '1062');
if ($unique !== false) { if ($unique !== false) {
//We've checked for error 1062, i.e. duplicate titleurl //We've checked for error 1062, i.e. duplicate titleurl
return redirect('admin/blog/new')->withInput()->with('message', 'Duplicate title, please change'); return redirect('/admin/blog/create')->withInput()->with('message', 'Duplicate title, please change');
} }
//this isn't the error you're looking for //this isn't the error you're looking for
throw $e; throw $e;
} }
return view('admin.articles.newsuccess', ['id' => $article->id, 'title' => $article->title]); return redirect('/admin/blog');
} }
/** /**
@ -112,18 +112,7 @@ class ArticlesController extends Controller
$article->published = $published; $article->published = $published;
$article->save(); $article->save();
return view('admin.articles.editsuccess', ['id' => $articleId]); return redirect('/admin/blog');
}
/**
* Show the delete confirmation form for an article.
*
* @param string The article id
* @return \Illuminate\View\Factory view
*/
public function delete($articleId)
{
return view('admin.articles.delete', ['id' => $articleId]);
} }
/** /**
@ -136,6 +125,6 @@ class ArticlesController extends Controller
{ {
Article::where('id', $articleId)->delete(); Article::where('id', $articleId)->delete();
return view('admin.articles.deletesuccess', ['id' => $articleId]); return redirect('/admin/blog');
} }
} }

View file

@ -17,7 +17,7 @@ class ClientsController extends Controller
{ {
$clients = MicropubClient::all(); $clients = MicropubClient::all();
return view('admin.clients.list', ['clients' => $clients]); return view('admin.clients.index', compact('clients'));
} }
/** /**
@ -27,7 +27,23 @@ class ClientsController extends Controller
*/ */
public function create() public function create()
{ {
return view('admin.clients.new'); return view('admin.clients.create');
}
/**
* Process the request to adda new client name.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\View\Factory view
*/
public function store(Request $request)
{
MicropubClient::create([
'client_url' => $request->input('client_url'),
'client_name' => $request->input('client_name'),
]);
return redirect('/admin/clients');
} }
/** /**
@ -47,22 +63,6 @@ class ClientsController extends Controller
]); ]);
} }
/**
* Process the request to adda new client name.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\View\Factory view
*/
public function store(Request $request)
{
MicropubClient::create([
'client_url' => $request->input('client_url'),
'client_name' => $request->input('client_name'),
]);
return view('admin.clients.newsuccess');
}
/** /**
* Process the request to edit a client name. * Process the request to edit a client name.
* *
@ -73,17 +73,23 @@ class ClientsController extends Controller
public function update($clientId, Request $request) public function update($clientId, Request $request)
{ {
$client = MicropubClient::findOrFail($clientId); $client = MicropubClient::findOrFail($clientId);
if ($request->input('edit')) { $client->client_url = $request->input('client_url');
$client->client_url = $request->input('client_url'); $client->client_name = $request->input('client_name');
$client->client_name = $request->input('client_name'); $client->save();
$client->save();
return view('admin.clietns.editsuccess'); return redirect('/admin/clients');
} }
if ($request->input('delete')) {
$client->delete();
return view('admin.clients.deletesuccess'); /**
} * Process a request to delete a client.
*
* @param string The client id
* @return redirect
*/
public function destroy($articleId)
{
MicropubClient::where('id', $articleId)->delete();
return redirect('/admin/clients');
} }
} }

View file

@ -19,7 +19,7 @@ class ContactsController extends Controller
{ {
$contacts = Contact::all(); $contacts = Contact::all();
return view('admin.contacts.list', ['contacts' => $contacts]); return view('admin.contacts.index', compact('contacts'));
} }
/** /**
@ -29,30 +29,7 @@ class ContactsController extends Controller
*/ */
public function create() public function create()
{ {
return view('admin.contacts.new'); return view('admin.contacts.create');
}
/**
* Show the form to edit an existing contact.
*
* @param string The contact id
* @return \Illuminate\View\Factory view
*/
public function edit($contactId)
{
$contact = Contact::findOrFail($contactId);
return view('admin.contacts.edit', ['contact' => $contact]);
}
/**
* Show the form to confirm deleting a contact.
*
* @return \Illuminate\View\Factory view
*/
public function delete($contactId)
{
return view('admin.contacts.delete', ['id' => $contactId]);
} }
/** /**
@ -71,7 +48,20 @@ class ContactsController extends Controller
$contact->facebook = $request->input('facebook'); $contact->facebook = $request->input('facebook');
$contact->save(); $contact->save();
return view('admin.contacts.newsuccess', ['id' => $contact->id]); return redirect('/admin/contacts');
}
/**
* Show the form to edit an existing contact.
*
* @param string The contact id
* @return \Illuminate\View\Factory view
*/
public function edit($contactId)
{
$contact = Contact::findOrFail($contactId);
return view('admin.contacts.edit', compact('contact'));
} }
/** /**
@ -105,7 +95,7 @@ class ContactsController extends Controller
} }
} }
return view('admin.contacts.editsuccess'); return redirect('/admin/contacts');
} }
/** /**
@ -119,7 +109,7 @@ class ContactsController extends Controller
$contact = Contact::findOrFail($contactId); $contact = Contact::findOrFail($contactId);
$contact->delete(); $contact->delete();
return view('admin.contacts.deletesuccess'); return redirect('/admin/contacts');
} }
/** /**

View file

@ -30,7 +30,7 @@ class NotesController extends Controller
$note->originalNote = $note->getOriginal('note'); $note->originalNote = $note->getOriginal('note');
} }
return view('admin.notes.list', ['notes' => $notes]); return view('admin.notes.index', comapct('notes'));
} }
/** /**
@ -40,32 +40,7 @@ class NotesController extends Controller
*/ */
public function create() public function create()
{ {
return view('admin.notes.new'); return view('admin.notes.create');
}
/**
* Display the form to edit a specific note.
*
* @param string The note id
* @return \Illuminate\View\Factory view
*/
public function edit($noteId)
{
$note = Note::find($noteId);
$note->originalNote = $note->getOriginal('note');
return view('admin.notes.edit', ['id' => $noteId, 'note' => $note]);
}
/**
* The delete note page.
*
* @param int id
* @return view
*/
public function delete($noteId)
{
return view('admin.notes.delete', ['id' => $id]);
} }
/** /**
@ -82,7 +57,7 @@ class NotesController extends Controller
['photosize' => 'At least one uploaded file exceeds size limit of 5MB'] ['photosize' => 'At least one uploaded file exceeds size limit of 5MB']
); );
if ($validator->fails()) { if ($validator->fails()) {
return redirect('/admin/note/new') return redirect('/admin/notes/create')
->withErrors($validator) ->withErrors($validator)
->withInput(); ->withInput();
} }
@ -101,10 +76,21 @@ class NotesController extends Controller
$note = $this->noteService->createNote($data); $note = $this->noteService->createNote($data);
return view('admin.notes.newsuccess', [ return redirect('/admin/notes');
'id' => $note->id, }
'shorturl' => $note->shorturl,
]); /**
* Display the form to edit a specific note.
*
* @param string The note id
* @return \Illuminate\View\Factory view
*/
public function edit($noteId)
{
$note = Note::find($noteId);
$note->originalNote = $note->getOriginal('note');
return view('admin.notes.edit', compact('note'));
} }
/** /**
@ -126,7 +112,7 @@ class NotesController extends Controller
dispatch(new SendWebMentions($note)); dispatch(new SendWebMentions($note));
} }
return view('admin.notes.editsuccess', ['id' => $noteId]); return redirect('/admin/notes');
} }
/** /**
@ -140,6 +126,6 @@ class NotesController extends Controller
$note = Note::findOrFail($id); $note = Note::findOrFail($id);
$note->delete(); $note->delete();
return view('admin.notes.deletesuccess'); return redirect('/admin/notes');
} }
} }

View file

@ -26,7 +26,7 @@ class PlacesController extends Controller
{ {
$places = Place::all(); $places = Place::all();
return view('admin.places.list', ['places' => $places]); return view('admin.places.index', compact('places'));
} }
/** /**
@ -36,7 +36,25 @@ class PlacesController extends Controller
*/ */
public function create() public function create()
{ {
return view('admin.places.new'); return view('admin.places.create');
}
/**
* Process a request to make a new place.
*
* @param Illuminate\Http\Request $request
* @return Illuminate\View\Factory view
*/
public function store(Request $request)
{
$data = [];
$data['name'] = $request->name;
$data['description'] = $request->description;
$data['latitude'] = $request->latitude;
$data['longitude'] = $request->longitude;
$place = $this->placeService->createPlace($data);
return redirect('/admin/places');
} }
/** /**
@ -61,24 +79,6 @@ class PlacesController extends Controller
]); ]);
} }
/**
* Process a request to make a new place.
*
* @param Illuminate\Http\Request $request
* @return Illuminate\View\Factory view
*/
public function store(Request $request)
{
$data = [];
$data['name'] = $request->name;
$data['description'] = $request->description;
$data['latitude'] = $request->latitude;
$data['longitude'] = $request->longitude;
$place = $this->placeService->createPlace($data);
return view('admin.places.newsuccess');
}
/** /**
* Process a request to edit a place. * Process a request to edit a place.
* *
@ -94,6 +94,6 @@ class PlacesController extends Controller
$place->location = new Point((float) $request->latitude, (float) $request->longitude); $place->location = new Point((float) $request->latitude, (float) $request->longitude);
$place->save(); $place->save();
return view('admin.places.editsuccess'); return redirect('/admin/places');
} }
} }

View file

@ -0,0 +1,27 @@
@extends('master')
@section('title')
New Article « Admin CP
@stop
@section('content')
@if(isset($message))<p class="error">{{ $message }}</p>@endif
<form action="/admin/blog/" method="post" accept-charset="utf-8" enctype="multipart/form-data" id="newarticle">
{{ csrf_field() }}
<label for="title">Title (URL):</label>
<br>
<input type="text" name="title" id="title" value="{{ old('title') }}" placeholder="Title here">
<br>
<input type="text" name="url" id="url" value="{{ old('url') }}" placeholder="Article URL">
<br>
<label for="main">Main:</label>
<br>
<textarea name="main" id="main" placeholder="Article here">{{ old('main') }}</textarea>
<br>
<label for="published">Published:</label><input type="checkbox" name="published" id="published" value="1">
<br>
<p>Or you can upload an <code>.md</code> file:</p><input type="file" accept=".md" name="article">
<br>
<button type="submit" name="save">Save</button>
</form>
@stop

View file

@ -1,13 +0,0 @@
@extends('master')
@section('title')
Delete Article? « Admin CP
@stop
@section('content')
<form action="/admin/blog/delete/{{ $id }}" method="post">
<label for="delete">Are you sure you want to delete this post? </label><input type="checkbox" name="delete" id="delete">
<br>
<input type="submit" id="submit" value="Submit">
</form>
@stop

View file

@ -1,9 +0,0 @@
@extends('master')
@section('title')
Article Deleted « Admin CP
@stop
@section('content')
<p>You have successfully deletd the article with id: {{ $id }}</p>
@stop

View file

@ -5,8 +5,9 @@ Edit Article « Admin CP
@stop @stop
@section('content') @section('content')
<form action="/admin/blog/edit/{{ $id }}" method="post" accept-charset="utf-8"> <form action="/admin/blog/{{ $id }}" method="post" accept-charset="utf-8">
<input type="hidden" name="_token" value="{{ csrf_token() }}"> {{ csrf_field() }}
{{ method_field('PUT') }}
<label for="title">Title (URL):</label> <label for="title">Title (URL):</label>
<br> <br>
<input type="text" name="title" id="title" value="{!! $post['0']['title'] !!}"> <input type="text" name="title" id="title" value="{!! $post['0']['title'] !!}">
@ -21,21 +22,12 @@ Edit Article « Admin CP
<br> <br>
<input type="submit" name="save" value="Save"> <input type="submit" name="save" value="Save">
</form> </form>
<h2>Preview</h2> <hr>
@stop <form action="/admin/blog/{{ $id }}" method="post">
{{ csrf_field() }}
@section('scripts') {{ method_field('DELETE') }}
@parent <button type="submit" name="submit">
<script src="/assets/frontend/marked.min.js"></script> Delete
<script> </button>
var preview = document.createElement('div'); </form>
preview.classList.add('preview');
var main = document.querySelector('main');
main.appendChild(preview);
var textarea = document.querySelector('textarea');
window.setInterval(function () {
var markdown = textarea.value;
preview.innerHTML = marked(markdown);
}, 5000);
</script>
@stop @stop

View file

@ -1,9 +0,0 @@
@extends('master')
@section('title')
Article Successfully Edited « Admin CP
@stop
@section('content')
<p>Successfully edited article with id: {{ $id }}</p>
@stop

View file

@ -0,0 +1,14 @@
@extends('master')
@section('title')
List Articles « Admin CP
@stop
@section('content')
<p>Select article to edit:</p>
<ol reversed>
@foreach($posts as $post)
<li><a href="/admin/blog/{{ $post['id'] }}/edit">{{ $post['title'] }}</a>@if($post['published'] == '0')<span class="notpublished">not published</span>@endif
@endforeach
</ol>
@stop

View file

@ -1,49 +0,0 @@
@extends('master')
@section('title')
New Article « Admin CP
@stop
@section('content')
@if(isset($message))<p class="error">{{ $message }}</p>@endif
<form action="/admin/blog/new" method="post" accept-charset="utf-8" enctype="multipart/form-data" id="newarticle">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<label for="title">Title (URL):</label>
<br>
<input type="text" name="title" id="title" value="{{ old('title') }}" placeholder="Title here">
<br>
<input type="text" name="url" id="url" value="{{ old('url') }}" placeholder="Article URL">
<br>
<label for="main">Main:</label>
<br>
<textarea name="main" id="main" placeholder="Article here">{{ old('main') }}</textarea>
<br>
<label for="published">Published:</label><input type="checkbox" name="published" id="published" value="1">
<br>
<p>Or you can upload an <code>.md</code> file:</p><input type="file" accept=".md" name="article">
<br>
<button type="submit" name="save">Save</button>
</form>
<h2>Preview</h2>
@stop
@section('scripts')
@parent
<script src="/assets/frontend/marked.min.js"></script>
<script>
var preview = document.createElement('div');
preview.classList.add('preview');
var main = document.querySelector('main');
main.appendChild(preview);
var textarea = document.querySelector('textarea');
window.setInterval(function () {
var markdown = textarea.value;
preview.innerHTML = marked(markdown);
}, 5000);
</script>
<script src="/assets/frontend/store2.min.js"></script>
<script src="/assets/frontend/alertify.js"></script>
<script src="/assets/js/form-save.js"></script>
<link rel="stylesheet" href="/assets/frontend/alertify.css">
@stop

View file

@ -1,9 +0,0 @@
@extends('master')
@section('title')
New Article Success « Admin CP
@stop
@section('content')
<p>Successfully created article with id: {{ $id }}, title: {{ $title }}</p>
@stop

View file

@ -0,0 +1,15 @@
@extends('master')
@section('title')
New Client « Admin CP
@stop
@section('content')
<h1>New Client</h1>
<form action="/admin/clients/" method="post" accept-charset="utf-8">
{{ csrf_field() }}
<input type="text" name="client_url" id="client_url" placeholder="client_url"><br>
<input type="text" name="client_name" id="client_name" placeholder="client_name"><br>
<input type="submit" name="submit" value="Submit">
</form>
@stop

View file

@ -1,9 +0,0 @@
@extends('master')
@section('title')
Edit Client « Admin CP
@stop
@section('content')
<p>Successfully deleted the client information.</p>
@stop

View file

@ -6,10 +6,17 @@ Edit Client « Admin CP
@section('content') @section('content')
<h1>Edit Client</h1> <h1>Edit Client</h1>
<form action="/admin/clients/edit/{{ $id }}" method="post" accept-charset="utf-8"> <form action="/admin/clients/{{ $id }}" method="post" accept-charset="utf-8">
{{ csrf_field() }}
{{ method_field('PUT') }}
<input type="text" name="client_url" id="client_url" value="{{ $client_url }}"><br> <input type="text" name="client_url" id="client_url" value="{{ $client_url }}"><br>
<input type="text" name="client_name" id="client_name" value="{{ $client_name }}"><br> <input type="text" name="client_name" id="client_name" value="{{ $client_name }}"><br>
<input type="submit" name="edit" value="Edit"><br><br> <input type="submit" name="submit" value="Edit">
<input type="submit" name="delete" value="Delete"> </form>
<hr>
<form action="/admin/clients/{{ $id }}" method="post">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<button type="submit">Delete Client</button>
</form> </form>
@stop @stop

View file

@ -1,9 +0,0 @@
@extends('master')
@section('title')
Edit Client « Admin CP
@stop
@section('content')
<p>Successfully edited the client information.</p>
@stop

View file

@ -0,0 +1,17 @@
@extends('master')
@section('title')
List Clients « Admin CP
@stop
@section('content')
<h1>Clients</h1>
<ul>
@foreach($clients as $client)
<li>{{ $client['client_url'] }} : {{ $client['client_name'] }}
<a href="/admin/clients/{{ $client['id'] }}/edit">edit?</a>
</li>
@endforeach
</ul>
<p>Create a <a href="/admin/clients/new">new entry</a>?</p>
@stop

View file

@ -1,9 +0,0 @@
@extends('master')
@section('title')
New Client « Admin CP
@stop
@section('content')
<p>Succesfully created new client info.</p>
@stop

View file

@ -0,0 +1,17 @@
@extends('master')
@section('title')
New Contact « Admin CP
@stop
@section('content')
<h1>New Contact</h1>
<form action="/admin/contacts/" method="post" accept-charset="utf-8">
{{ csrf_field() }}
<label for="name">Real Name:</label> <input type="text" name="name" id="name" placeholder="Real Name"><br>
<label for="nick">Nick:</label> <input type="text" name="nick" id="nick" placeholder="local_nick"><br>
<label for="homepage">Homepage:</label> <input type="text" name="homepage" id="homepage" placeholder="https://homepage.com"><br>
<label for="twitter">Twitter Nick:</label> <input type="text" name="twitter" id="twitter" placeholder="Twitter handle"><br>
<input type="submit" name="submit" value="Submit">
</form>
@stop

Some files were not shown because too many files have changed in this diff Show more