preparing for proposal composition

This commit is contained in:
2018-08-04 22:25:55 +02:00
parent 3a7a41a9cb
commit e17548e5e7
3 changed files with 167 additions and 11 deletions
+14 -6
View File
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Models\Revision;
use App\Models\Table;
use App\Models\User;
use App\Tables\Changeset;
use App\Tables\Column;
use App\Tables\ColumnNumerator;
use App\Tables\CStructArrayExporter;
@@ -57,22 +58,29 @@ class TableController extends Controller
public function draftChange(Request $request, User $user, string $table)
{
/** @var Table $tableModel */
$tableModel = $user->tables()->with('revision')->where('name', $table)->first();
$tableModel = $user->tables()->where('name', $table)->first();
if ($tableModel === null) abort(404, "No such table.");
$revision = $tableModel->revision;
$session_key = "proposal_{$tableModel->id}";
/** @var Changeset $changeset */
$changeset = $request->session()->remember($session_key, function () use ($tableModel) {
$changeset = new Changeset();
$changeset->table = $tableModel;
$changeset->revision = $tableModel->revision;
return $changeset;
});
$revision = $changeset->revision;
$columns = Column::columnsFromJson($revision->columns);
$rows = $revision->rowsData($columns)->paginate(25, []);
// TODO instantiate changeset and store it in session
return view('table.view', [
return view('table.propose', [
'table' => $tableModel,
'revision' => $revision,
'columns' => $columns,
'rows' => $rows,
'changeset' => $changeset,
]);
}