如何在我的FullCalendar laravel ph中添加“编辑和删除”功能?

时间:2019-03-29 18:53:41

标签: php laravel-5 modal-dialog fullcalendar

我正在laravel做一个项目,在这里我可以使用fullcalendar显示事件列表。我已经创建/拥有带有事件和添加事件的全日历视图,但是我希望能够单击日期并对其进行编辑或删除。

Sample event fullcalendar

我已经搜索了一些解决方案或指南,但是无法正常工作。我尝试从头开始创建另一个,但是不起作用。

这是我搜索并作为指导的链接。

FullCalendar Events and Scheduling

github driftingruby/042-fullcalendar

这是我在create.blade.php中的代码

<div class="container">

    <div class="panel panel-primary">

        <div class="panel-heading">Event Calendar</div>

            <div class="panel-body">
                {!! Form::open(array('route' => 'admin/events.create','method'=>'POST','files'=>'true')) !!}
                    <div class="row">
                        <div class="col-xs-12 col-sm-12 col-md-12">
                            @if (Session::has('success'))
                                <div class="alert alert-success">{{ Session::get('success') }}</div>
                            @elseif (Session::has('warning'))
                                <div class="alert alert-danger">{{ Session::get('warning') }}</div>
                            @endif
                        </div>

                <div class="col-xs-4 col-sm-4 col-md-4">
                    <div class="form-group">
                        {!! Form::label('event_name','Event Name:') !!}
                        <div class="">
                        {!! Form::text('event_name', null, ['class' => 'form-control']) !!}
                        <!-- {!! $errors->first('event_name', '<p class="alert alert-danger">:message</p>') !!} -->
                        </div>
                    </div>
                </div>

                <div class="col-xs-3 col-sm-3 col-md-3">
                    <div class="form-group">
                        {!! Form::label('start_date','Start Date:') !!}
                        <div class="">
                        {!! Form::date('start_date', null, ['class' => 'form-control']) !!}
                        <!-- {!! $errors->first('start_date', '<p class="alert alert-danger">:message</p>') !!} -->
                        </div>
                    </div>
                </div>

                <div class="col-xs-3 col-sm-3 col-md-3">
                    <div class="form-group">
                        {!! Form::label('end_date','End Date:') !!}
                        <div class="">
                        {!! Form::date('end_date', null, ['class' => 'form-control']) !!}
                        <!-- {!! $errors->first('end_date', '<p class="alert alert-danger">:message</p>') !!} -->
                        </div>
                    </div>
                </div>

                <div class="col-xs-1 col-sm-1 col-md-1 text-center"> &nbsp;<br/>
                {!! Form::submit('Add Event',['class'=>'btn btn-primary']) !!}
                </div>
            </div>
            {!! Form::close() !!}

        </div>
    </div>

    <div class="panel panel-primary">
        <div class="panel-heading">Event Details</div>
            <div class="panel-body">
                {!! $calendar_details->calendar() !!}
            </div>
        </div>  
    </div>

    <link rel="stylesheet" href="https://cdjns.cloudfare.com/ajax/libs/fullcalendar/2.2.7/fullcalendar.min.css"/>

<!-- Scripts -->
<script src="http://code.jquery.com/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.2.7/fullcalendar.min.js"></script>

{!! $calendar_details->script() !!}

这是我的AdminEventsController的代码

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Events;
use App\Barangay;
use Illuminate\Support\Facades\Auth;
use Session;
use Calendar;


class AdminEventsController extends Controller
{
     public function __construct()
    {
        $this->middleware('auth');
    }
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */

     public function index() {
        $events = Events::get();
        $event_list = [];
        foreach ($events as $key => $event) {
            $event_list[] = Calendar::event(
                $event->event_name,
                true,
                new \DateTime($event->start_date),
                new \DateTime($event->end_date.' +1 day')
            );
        }

        $calendar_details = Calendar::addEvents($event_list);

        return view('admin.events.create', compact('calendar_details') );
    }

    public function addEvent(Request $request)
    {
        $mybrgyid = Auth::user()->brgyid;
        $mybarangay = Barangay::select('brgyname')->where('id', $mybrgyid)->get();
        session(['mybarangay' => $mybarangay]);

        $this->validate($request,[
            'event_name' => 'required',
            'start_date' => 'required',
            'end_date' => 'required'
        ]);

        //$validator = validator::make($request->all(), [
            //'event_name' => 'required',
            //'start_date' => 'required',
            //'end_date' => 'required'
        //]);

        //if ($validator->fails()) {
        //  \session::flash('warning', 'Please enter the valid details');
        //  return Redirect::to('/admin/events')->withErrors($validator);
        //}

        $event = new Events;
        $event->brgyid = Auth::user()->id;
        $event->event_name = $request['event_name'];
        $event->start_date = $request['start_date'];
        $event->end_date = $request['end_date'];
        $event->save();

         return redirect('/admin/events')->with('success', 'Event Created');
    }
}

某种程度上,我对于在哪里可以创建模式来编辑和删除全日历中的事件感到困惑。

非常感谢您的帮助。

0 个答案:

没有答案