Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions app/Http/Controllers/FaqController.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ public function store(Request $request)
return redirect()->route('faq.index')->with('status','Faq 建立成功');
}

public function storeAsk(Request $request)
{
$faq = new Faq();
$faq->question = $request->input('question');

$faq->save();

return redirect()->route('faq.index')->with('status','Faq 建立成功');
}

/**
* Display the specified resource.
*
Expand Down Expand Up @@ -83,7 +93,7 @@ public function update(Request $request, $id)
$faq->answer = $request->input('answer');

$faq->update();

return redirect()->route('faq.index')->with('status','Faq 更新成功');
}

Expand All @@ -97,7 +107,7 @@ public function destroy($id)
{
$faq = Faq::findOrFail($id);
$faq->delete();

return redirect()->route('faq.index')->with('status','Faq 刪除成功');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class ModifyAnswerNullableInFaqsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('faqs', function (Blueprint $table) {
// 将 answer 字段改为可为空
$table->text('answer')->nullable()->change();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('faqs', function (Blueprint $table) {
// 將 answer 字段改為不可為空
$table->text('answer')->nullable(false)->change();

});
}
}
115 changes: 65 additions & 50 deletions resources/views/faq/faq.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,57 +3,72 @@
@section('title', 'FAQ')

@section('content')
<main id="main">
<section id="contact" class="contact mb-5">
<div class="container" data-aos="fade-up">
<div class="row">
<div class="col-lg-12 text-center">
<h1 class="page-title">FAQ</h1>
</div>
</div>
<main id="main">
<section id="contact" class="contact mb-5">
<div class="container" data-aos="fade-up">
<div class="row">
<div class="col-lg-12 text-center">
<h1 class="page-title">FAQ</h1>
</div>
</div>

@if (session('status'))
<div class="row justify-content-center">
<div class="col-lg-10 text-center">
<h6 class="alert alert-success">{{ session('status') }}</h6>
</div>
</div>
@endif

<div class="row justify-content-center">
<div class="col-lg-10">
<div class="accordion accordion-flush" id="faqlist" data-aos="fade-up" data-aos-delay="100">
@foreach($faqs as $faq)
<div class="accordion-item"><!-- Start Faq item-->
<h1 class="accordion-header">
<button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse" data-bs-target="#faq-content-{{ $faq->id }}">
<span class="num">{{ $loop->index + 1 }}.</span>
{{ $faq->question }}
</button>
</h1>
<div id="faq-content-{{ $faq->id }}" class="accordion-collapse collapse"
data-bs-parent="#faqlist">
<div class="accordion-body">
<strong>
{{$faq->answer}}
@auth
@if(Auth::user()->role > 0)
@if(empty($faq->answer))<!-- 如果回答為空 -->
<form action="{{ route('faq.edit', $faq->id) }}" method="POST">
<button type="button" class="far fa-square"
onclick="window.location='{{ route('faq.edit', $faq->id) }}'">
回答問題
</button>
</form>

@else <!-- 如果回答不為空,顯示編輯和刪除按鈕 -->
<form action="{{ route('faq.destroy', $faq->id) }}" method="POST">
<button type="button" class="bi bi-pencil-square"
onclick="window.location='{{ route('faq.edit', $faq->id) }}'"></button>
@csrf
@method('DELETE')
<button type="submit" class="bi bi-trash"></button>
</form>
@endif
@endif

@if (session('status'))
<div class="row justify-content-center">
<div class="col-lg-10 text-center">
<h6 class="alert alert-success">{{ session('status') }}</h6>
</div>
</div>
@endif

<div class="row justify-content-center">
<div class="col-lg-10">
<div class="accordion accordion-flush" id="faqlist" data-aos="fade-up" data-aos-delay="100">
@foreach($faqs as $faq)
<div class="accordion-item"><!-- Start Faq item-->
<h1 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#faq-content-{{ $faq->id }}">
<span class="num">{{ $loop->index + 1 }}.</span>
{{ $faq->question }}
</button>
</h1>
<div id="faq-content-{{ $faq->id }}" class="accordion-collapse collapse" data-bs-parent="#faqlist">
<div class="accordion-body">
<strong>
{{$faq->answer}}
@auth
@if(Auth::user()->role > 0)
<form action="{{ route('faq.destroy', $faq->id) }}" method="POST">
<button type = "button" class="bi bi-pencil-square" onclick="window.location='{{ route('faq.edit', $faq->id) }}'"></button>
@csrf
@method('DELETE')
<button type="submit" class="bi bi-trash"></button>
</form>
@endif
@endauth
</strong>
</div>
@endauth
</strong>
</div>
</div>
</div><!-- End Faq item-->
@endforeach
</div>
</div>
</div><!-- End Faq item-->
@endforeach
</div>
</div>
</div>
</div>
</div>
</section>
</main><!-- End #main -->
@endsection
</section>
</main><!-- End #main -->
@endsection
38 changes: 38 additions & 0 deletions resources/views/faq/faqAsk.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@extends('basic.main')

@section('title', '創建 FAQ')

@section('content')
<main id="main">
<section id="contact" class="contact mb-5">
<div class="container" data-aos="fade-up">

<div class="row">
<div class="col-lg-12 text-center">
<h1 class="page-title">我要問問題</h1>
</div>
</div>
<!-- Start Form -->
<div class="row justify-content-center">
<div class = "col-md-8 ">
<div class="form">
<form action="{{ route('faq.storeAsk') }}" method="POST" id="createRecordForm" class="createRecordForm">
@csrf
<div class="row">
<div class="form-group">
<label for="question" class="form-label">問題</label>
<textarea type="text" name="question" class="form-control" id="question" placeholder="請輸入問題" required></textarea>
</div>
<div class="text-center">
<button type="submit">新增問題</button>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- End Form -->
</div>
</section>
</main><!-- End #main -->
@endsection
17 changes: 11 additions & 6 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
use App\Http\Controllers\RecordController;
use App\Http\Controllers\RentalController;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;


Expand All @@ -34,6 +33,9 @@
Route::get('/aboutus', function () {
return view('information.aboutus');
});
Route::get('/trip/detail', function () {
return view('trip.tripDetail');
});

Route::get('/conference/register', function () {
return view('conference.register');
Expand All @@ -42,6 +44,9 @@
Route::get('/conference/search', function () {
return view('conference.searchAndEdit');
});
Route::get('/faq/ask', function () {
return view('faq.faqAsk');
});


// Route::get('/map', function () {
Expand Down Expand Up @@ -90,6 +95,8 @@
Route::get('/equipment/showRental/{rental_id}', [RentalController::class, 'showRental'])->name('rental.showRental');
Route::get('/equipment/removeRentalEquipment/{rentalEquipment_id}', [RentalController::class, 'removeEquipment'])->name('rentalEquipment.remove');
Route::put('/equipment/showRental/{rental_id}', [RentalController::class, 'update'])->name('rental.update');

Route::post('/faq/ask', [FaqController::class, 'storeAsk'])->name('faq.storeAsk');
});

Route::middleware(['previousPage'])->group(function () {
Expand Down Expand Up @@ -138,11 +145,9 @@
// user
Route::get('/user/list', [UserController::class, 'index'])->name('user.list');
Route::post('/users/updateRole/{id}', [UserController::class, 'updateRole'])->name('user.updateRole');
});

Route::get('/conference/result', function () {
if (Auth::check() && Auth::user()->isValidIdentifiers(['110602527', '111409003', '109403525'])) {
Route::get('/conference/result', function () {
return view('conference.result');
}
abort(403, '您沒有權限進入此頁面');
});
});