Merge branch 'release/0.3.1'

This commit is contained in:
Jonny Barnes 2017-03-03 13:52:29 +00:00
commit bfd59605c7
42 changed files with 212 additions and 430 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

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin;
use App\MicropubClient; use App\MicropubClient;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
class ClientsController extends Controller class ClientsController extends Controller
@ -16,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'));
} }
/** /**
@ -26,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');
} }
/** /**
@ -46,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.
* *
@ -72,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

@ -1,5 +1,9 @@
# Changelog # Changelog
## Version 0.3.1 (2017-03-03)
- Correct command to restart daemon queues in deploy.sh
- Improve Admin CP by “resource”-ifying the controllers
## Version 0.3 (2017-03-02) ## Version 0.3 (2017-03-02)
- convert env() calls to config() calls for cacheing - convert env() calls to config() calls for cacheing
- refactor routes and give important one names - refactor routes and give important one names

View file

@ -11,7 +11,7 @@ php artisan route:cache
php artisan config:cache php artisan config:cache
echo "Restarting the queue daemon" echo "Restarting the queue daemon"
sudo systemctl restart supervisorctl sudo supervisorctl restart all
echo "Bringing the Laravel app back online" echo "Bringing the Laravel app back online"
php artisan up php artisan up

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

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