class PageRevision extends Model
{
- protected $fillable = ['name', 'html', 'text', 'markdown'];
+ protected $fillable = ['name', 'html', 'text', 'markdown', 'summary'];
/**
* Get the user that created the page revision
{
// Save a revision before updating
if ($page->html !== $input['html'] || $page->name !== $input['name']) {
- $this->saveRevision($page);
+ $this->saveRevision($page, $input['summary']);
}
// Prevent slug being updated if no name change
* @param Page $page
* @return $this
*/
- public function saveRevision(Page $page)
+ public function saveRevision(Page $page, $summary = null)
{
$revision = $this->pageRevision->fill($page->toArray());
if (setting('app-editor') !== 'markdown') $revision->markdown = '';
$revision->created_by = auth()->user()->id;
$revision->created_at = $page->updated_at;
$revision->type = 'version';
+ $revision->summary = $summary;
$revision->save();
// Clear old revisions
if ($this->pageRevision->where('page_id', '=', $page->id)->count() > 50) {
--- /dev/null
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddSummaryToPageRevisions extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::table('page_revisions', function ($table) {
+ $table->string('summary')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('page_revisions', function ($table) {
+ $table->dropColumn('summary');
+ });
+ }
+}
&.fluid {
max-width: 100%;
}
+ &.medium {
+ max-width: 992px;
+ }
&.small {
max-width: 840px;
}
flex: 1;
flex-direction: column;
}
+ #summary-input {
+ width: 140px;
+ }
}
.page-style.editor {
</div>
<div class="col-sm-4 faded">
<div class="action-buttons" ng-cloak>
-
<button type="button" ng-if="isUpdateDraft" ng-click="discardDraft()" class="text-button text-neg"><i class="zmdi zmdi-close-circle"></i>Discard Draft</button>
+ <input name="summary" id="summary-input" type="text" placeholder="edit summary" />
<button type="submit" id="save-button" class="text-button text-pos"><i class="zmdi zmdi-floppy"></i>Save Page</button>
</div>
</div>
</div>
- <div class="container small" ng-non-bindable>
+ <div class="container medium" ng-non-bindable>
<h1>Page Revisions <span class="subheader">For "{{ $page->name }}"</span></h1>
@if(count($page->revisions) > 0)
<table class="table">
<tr>
- <th width="40%">Name</th>
- <th colspan="2" width="20%">Created By</th>
- <th width="20%">Revision Date</th>
- <th width="20%">Actions</th>
+ <th width="30%">Name</th>
+ <th colspan="2" width="10%">Created By</th>
+ <th width="15%">Revision Date</th>
+ <th width="20%">Summary</th>
+ <th width="15%">Actions</th>
</tr>
@foreach($page->revisions as $revision)
<tr>
</td>
<td> @if($revision->createdBy) {{$revision->createdBy->name}} @else Deleted User @endif</td>
<td><small>{{$revision->created_at->format('jS F, Y H:i:s')}} <br> ({{$revision->created_at->diffForHumans()}})</small></td>
+ <td>{{$revision->summary}}</td>
<td>
<a href="{{$revision->getUrl()}}" target="_blank">Preview</a>
<span class="text-muted"> | </span>