12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Models\Clause;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Support\Facades\DB;
- use Ramsey\Uuid\Uuid;
- use App\Models\StatTree;
- use App\Models\StatTreeLine;
- use App\Models\StatTreeLineClause;
- class ClauseController extends Controller
- {
- public function list(){
- $clauses = Clause::all();
- return view('app.stat-tree.clauses.list', compact('clauses'));
- }
- public function dashboard(Clause $clause){
- return view('app.stat-tree.clauses.single', compact('clause'));
- }
- // view
- public function replaceAllPage(Request $request){
- return view('app.stat-tree.clauses.replace-all');
- }
- // process
- public function replaceAll(Request $request){
- $data = $request->get('data');
-
- $rows = json_decode($data);
- Clause::truncate();
- //Should we truncate related data?
- StatTree::truncate();
- StatTreeLine::truncate();
- StatTreeLineClause::truncate();
- for($i = 0; $i < count($rows); $i++){
- $row = $rows[$i];
- $clause = new Clause();
- $nextId = DB::select("select nextval('clause_id_seq')");
- $clause->id = $nextId[0]->nextval;
- $clause->uid = Uuid::uuid4();
- $clause->model = $row[0];
- $clause->question = $row[1];
- $clause->answer = $row[2];
- $clause->label = $row[1] . ($row[2] && $row[2] != '-' ? ' ' . $row[2] : '');
- $clause->clause_text = $row[3];
- $clause->position_index = $i;
- $clause->save();
- }
-
- return $this->pass();
- }
- }
|