diff --git a/penjadwalan.sql b/penjadwalan.sql new file mode 100644 index 0000000000000000000000000000000000000000..6ca4529e3a80bfbf03c6b838a9f93995e17ac235 --- /dev/null +++ b/penjadwalan.sql @@ -0,0 +1,66 @@ +-- phpMyAdmin SQL Dump +-- version 4.2.11 +-- http://www.phpmyadmin.net +-- +-- Host: 127.0.0.1 +-- Generation Time: May 14, 2016 at 02:36 PM +-- Server version: 5.6.21 +-- PHP Version: 5.5.19 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `ppl2` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `penjadwalan` +-- + +CREATE TABLE IF NOT EXISTS `penjadwalan` ( +`kegiatan_id` int(11) NOT NULL, + `judul_kegiatan` varchar(50) NOT NULL, + `nama_penyelenggara` varchar(50) NOT NULL, + `ruangan` int(11) NOT NULL, + `waktu` datetime NOT NULL +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `penjadwalan` +-- + +INSERT INTO `penjadwalan` (`kegiatan_id`, `judul_kegiatan`, `nama_penyelenggara`, `ruangan`, `waktu`) VALUES +(7, '', '', 1, '2016-05-13 10:00:00'), +(8, 'HAHAHAHAHA', 'sssss', 1, '2016-05-14 13:00:00'); + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `penjadwalan` +-- +ALTER TABLE `penjadwalan` + ADD PRIMARY KEY (`kegiatan_id`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `penjadwalan` +-- +ALTER TABLE `penjadwalan` +MODIFY `kegiatan_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=9; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/ppl2/app/Http/Controllers/InstitusiController.php b/ppl2/app/Http/Controllers/InstitusiController.php index d405867df7189fb29ee4eecd0d855e778bbe9b99..618136a3f81b21b3472324a82a39d4a612ed92b8 100644 --- a/ppl2/app/Http/Controllers/InstitusiController.php +++ b/ppl2/app/Http/Controllers/InstitusiController.php @@ -90,7 +90,7 @@ class InstitusiController extends Controller { // $institusi = Institusi::where('institusi_id',$id)->get(); - return view('institusi',compact('institusi','institusi_id'));; + return view('institusi',compact('institusi','institusi_id')); } /** @@ -117,7 +117,6 @@ class InstitusiController extends Controller // $institusi = Institusi::find($id); - $institusi->institusi_id = $request->input('institusi_id'); $institusi->nama_institusi = $request->input('nama_institusi'); $institusi->alamat_institusi = $request->input('alamat_institusi'); $institusi->email_institusi = $request->input('email_institusi'); diff --git a/ppl2/app/Http/Controllers/PenjadwalanController.php b/ppl2/app/Http/Controllers/PenjadwalanController.php new file mode 100644 index 0000000000000000000000000000000000000000..198eb677fc63adb9d964a616aaec3d71f96c8c94 --- /dev/null +++ b/ppl2/app/Http/Controllers/PenjadwalanController.php @@ -0,0 +1,111 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use App\Http\Requests; +use App\Penjadwalan; +use View; +use Validator; +use Illuminate\Support\Facades\Input; +use Redirect; +use Session; + +class PenjadwalanController extends Controller +{ + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index() + { + // get penjadwalan from database + $penjadwalan = Penjadwalan::all(); + + return view('penjadwalan', ['week' => strtotime("next monday -1 week"), 'penjadwalan' => $penjadwalan ]); + } + + /** + * Store a newly created resource in storage. + * + * @return Response + */ + public function store() + { + // + $rules = array( + 'judul' => 'required', + 'nama' => 'required', + 'ruangan' => 'required' + ); + $validator = Validator::make(Input::all(), $rules); + + // process the login + if ($validator->fails()) { + return Redirect::to('penjadwalan') + ->withErrors($validator) + ->withInput(Input::all()); + } else { + // store + $penjadwalan = new Penjadwalan; + $penjadwalan->judul_kegiatan = Input::get('judul'); + $penjadwalan->nama_penyelenggara = Input::get('nama'); + $penjadwalan->ruangan = Input::get('ruangan'); + $penjadwalan->waktu = Input::get('waktu'); + $penjadwalan->save(); + + // redirect + Session::flash('message', 'Successfully created penjadwalan!'); + return Redirect::to('penjadwalan'); + } + } + + /** + * Update the specified resource in storage. + * + * @param int $id + * @return Response + */ + public function update(Request $request, $id) + { + // + $penjadwalan = Penjadwalan::find($id); + + $penjadwalan->judul_kegiatan = $request->input('judul'); + $penjadwalan->nama_penyelenggara = $request->input('nama'); + $penjadwalan->ruangan = $request->input('ruangan'); + $penjadwalan->waktu = $request->input('waktu'); + $penjadwalan->save(); + + Session::flash('message', 'Penjadwalan successfully updated'); + return Redirect::to('penjadwalan'); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return Response + */ + public function destroy($id) + { + // + $penjadwalan = Institusi::find($id); + $penjadwalan->delete(); + Session::flash('message', 'Penjadwalan berhasil dihapus'); + return Redirect::to('penjadwalan'); + } + + public function next($week) { + $penjadwalan = Penjadwalan::all(); + $week = strtotime("+1 week", $week); + return view('penjadwalan', ['week' => $week, 'penjadwalan' => $penjadwalan ]); + } + + public function prev($week) { + $penjadwalan = Penjadwalan::all(); + $week = strtotime("-1 week", $week); + return view('penjadwalan', ['week' => $week, 'penjadwalan' => $penjadwalan ]); + } +} diff --git a/ppl2/app/Http/routes.php b/ppl2/app/Http/routes.php index 7f48fff9f45faa744278f5ac1058d31f7155b326..68b0efe712e74b5742f72a483a431a2a3e5effd0 100644 --- a/ppl2/app/Http/routes.php +++ b/ppl2/app/Http/routes.php @@ -87,6 +87,8 @@ Route::get('daftarinstitusi', 'InstitusiController@index'); Route::post('InstitusiController/add', 'InstitusiController@store'); +Route::post('daftarinstitusi/{id}/update','InstitusiController@update'); + Route::get('daftarinstitusi/{id}/edit','InstitusiController@edit'); Route::get('daftarinstitusi/{id}/delete','InstitusiController@destroy'); @@ -97,8 +99,14 @@ Route::get('daftarinstitusi/search','InstitusiController@search'); Route::resource('InstitusiController', 'InstitusiController'); -Route::get('/penjadwalan', function () { - return view('penjadwalan'); -}); +Route::get('/penjadwalan', 'PenjadwalanController@index'); + +Route::get('/penjadwalan/prev/{week}', 'PenjadwalanController@prev'); + +Route::get('/penjadwalan/next/{week}', 'PenjadwalanController@next'); + +Route::post('/penjadwalan/add', 'PenjadwalanController@store'); + +Route::post('/penjadwalan/{id}/update','PenjadwalanController@update'); Route::get('/statistik','PendFormalController@getAllStatistik'); diff --git a/ppl2/app/Penjadwalan.php b/ppl2/app/Penjadwalan.php new file mode 100644 index 0000000000000000000000000000000000000000..f3ff906b019e552fd80037fc4e43cf55ce403dc4 --- /dev/null +++ b/ppl2/app/Penjadwalan.php @@ -0,0 +1,14 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Model; + +class Penjadwalan extends Model +{ + // + protected $table = 'penjadwalan'; + protected $primaryKey = 'kegiatan_id'; + public $timestamps = false; //tidak ada create_at dan update_at + protected $connection = 'mysql'; +} diff --git a/ppl2/resources/views/formInstitusi.blade.php b/ppl2/resources/views/formInstitusi.blade.php index 9685a56b079ed0ee463e98aa174dc96be486897d..f41880c49a7f24b3f1225ceb913720736737f086 100644 --- a/ppl2/resources/views/formInstitusi.blade.php +++ b/ppl2/resources/views/formInstitusi.blade.php @@ -24,7 +24,7 @@ <div class="panel panel-default"> <div class="panel-heading font-bold">Form Institusi</div> <div class="panel-body"> - <form class="bs-example form-horizontal" method="POST" action="{{ URL::to('InstitusiController') }}"> + <form class="bs-example form-horizontal" method="POST" action="{{ URL::to('InstitusiController/add') }}"> <div class="form-group"> <label class="col-lg-2 control-label">Nama</label> diff --git a/ppl2/resources/views/penjadwalan.blade.php b/ppl2/resources/views/penjadwalan.blade.php index 39ceb249556c3b15ad36ee90aecd04278789f684..ec3ddc6a072e573be23004290d08f40e75934872 100644 --- a/ppl2/resources/views/penjadwalan.blade.php +++ b/ppl2/resources/views/penjadwalan.blade.php @@ -19,12 +19,22 @@ @stop @section('content') +<?php + $dates = array(strtotime("monday", $week), strtotime("tuesday", $week), strtotime("wednesday", $week), strtotime("thursday", $week), strtotime("friday", $week), strtotime("saturday", $week), strtotime("sunday", $week)); + $senin = date("d/m", $dates[0]); + $selasa = date("d/m", $dates[1]); + $rabu = date("d/m", $dates[2]); + $kamis = date("d/m", $dates[3]); + $jumat = date("d/m", $dates[4]); + $sabtu = date("d/m", $dates[5]); + $minggu = date("d/m", $dates[6]); +?> <div class="panel panel-default"> <div class="panel-heading font-semibold"> <div style="display: inline-block;">Penjadwalan</div> <div style="display: inline-block; width: 93%; text-align: right;"> - <button class="btn btn-default">Prev</button> - <button class="btn btn-default">Next</button> + <a class="btn btn-default" href="{{URL::to('/')}}/penjadwalan/prev/{{$week}}">Prev</a> + <a class="btn btn-default" href="{{URL::to('/')}}/penjadwalan/next/{{$week}}">Next</a> </div> </div> <div> @@ -32,168 +42,64 @@ <thead> <tr> <th data-breakpoints="xs">Waktu</th> - <th>Senin, 17/4</th> - <th>Selasa, 18/4</th> - <th>Rabu, 19/4</th> - <th>Kamis, 20/4</th> - <th>Jumat, 21/4</th> - <th>Sabtu, 22/4</th> - <th>Minggu, 23/4</th> + <th>Senin, {{ $senin }}</th> + <th>Selasa, {{ $selasa }}</th> + <th>Rabu, {{ $rabu }}</th> + <th>Kamis, {{ $kamis }}</th> + <th>Jumat, {{ $jumat }}</th> + <th>Sabtu, {{ $sabtu }}</th> + <th>Minggu, {{ $minggu }}</th> </tr> </thead> <tbody> <tr data-expanded="true"> - <td>07.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>07.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>08.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>08.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>09.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>09.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>10.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>10.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>11.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>11.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>12.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>12.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>13.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>13.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>14.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>14.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>15.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>15.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>16.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>16.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>17.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>17.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>18.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>18.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>19.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>19.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>20.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>20.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> <tr data-expanded="true"> - <td>21.00</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> + <td>21.00</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> </tr> </tbody> </table> + </div> <!-- Modal --> @@ -202,29 +108,73 @@ <!-- Modal content--> <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal">×</button> - <h4 class="modal-title">Input Jadwal</h4> - </div> - <div class="modal-body"> - <form class="form-group" method = "POST" action = "{{URL::to('daftarinstitusi')}}" > - <label for="judul">Judul kegiatan</label> - <input type="text" class="form-control" id="judul"> - <label for="nama">Nama penyelenggara</label> - <input type="text" class="form-control" id="nama"> - <label for="ruangan">Ruangan</label> - <select class="form-control" id="ruangan"> - <option>Ruangan 1</option> - <option>Ruangan 2</option> - </select> - - - </div> - <div class="modal-footer"> - <button type="submit" class="btn btn-primary">Submit</button> - <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + <form method="POST" action="{{URL::to('penjadwalan/add')}}"> + <input type="hidden" name="waktu" id="waktu" > + <input type="hidden" name="_token" value="{{ csrf_token() }}"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal">×</button> + <h4 class="modal-title">Input Jadwal</h4> + </div> + <div class="modal-body"> + + <div class="form-group"> + <label for="judul">Judul kegiatan</label> + <input type="text" class="form-control" id="judul" name="judul"> + </div><div class="form-group"> + <label for="nama">Nama penyelenggara</label> + <input type="text" class="form-control" id="nama" name="nama"> + </div><div class="form-group"> + <label for="ruangan">Ruangan</label> + <select class="form-control" id="ruangan" name="ruangan"> + <option value=1>Ruangan 1</option> + <option value=2>Ruangan 2</option> + </select> + </div> + + </div> + <div class="modal-footer"> + <input type="submit" class="btn btn-primary" value="Submit"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + </div> + </form> + </div> + + </div> + </div> - </div> + <div class="modal fade" id="editModal" role="dialog"> + <div class="modal-dialog"> + + <!-- Modal content--> + <div class="modal-content"> + <form method="POST" id="editForm"> + <input type="hidden" name="waktu" id="waktuEdit" > + <input type="hidden" name="_token" value="{{ csrf_token() }}"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal">×</button> + <h4 class="modal-title">Edit Jadwal</h4> + </div> + <div class="modal-body"> + + <div class="form-group"> + <label for="judul">Judul kegiatan</label> + <input type="text" class="form-control" id="judulEdit" name="judul"> + </div><div class="form-group"> + <label for="nama">Nama penyelenggara</label> + <input type="text" class="form-control" id="namaEdit" name="nama"> + </div><div class="form-group"> + <label for="ruangan">Ruangan</label> + <select class="form-control" id="ruanganEdit" name="ruangan"> + <option value=1>Ruangan 1</option> + <option value=2>Ruangan 2</option> + </select> + </div> + + </div> + <div class="modal-footer"> + <input type="submit" class="btn btn-primary" value="Submit"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + </div> </form> </div> @@ -234,9 +184,57 @@ @section('js') <script> + var arrayPenjadwalan = []; + $(function(){ + @foreach($penjadwalan as $key => $value) + @if (strtotime($value->waktu) >= $dates[0] && strtotime($value->waktu) < strtotime("+1 day", $dates[6])) + console.log("{{$value->waktu}}"); + var waktu = new Date({{strtotime($value->waktu)}}*1000); + console.log("waktu = " + waktu); + + var rowNum = waktu.getHours()-13; + var colNum = waktu.getDate()-{{date("d", $dates[0])}}+1; + console.log("COL ROW : " + colNum + " " + rowNum); + $('#penjadwalan').find('tr:eq('+rowNum+')'+' td:eq('+colNum+')').html( "{{$value->judul_kegiatan}}" ); + arrayPenjadwalan.push({ id: '{{$value->kegiatan_id}}', judul:'{{$value->judul_kegiatan}}', nama: '{{$value->nama_penyelenggara}}', ruangan: {{$value->ruangan}}, waktu: '{{$value->waktu}}', row: rowNum, col: colNum }); + @endif + @endforeach + + $('#penjadwalan td').click(function () { - $('#myModal').modal('show'); + var col = $(this).parent().children().index($(this)); + var row = $(this).parent().parent().children().index($(this).parent()); + var dates = [ {{$dates[0]}}, {{$dates[1]}}, {{$dates[2]}}, {{$dates[3]}}, {{$dates[4]}}, {{$dates[5]}}, {{$dates[6]}} ]; + var hari = new Date(dates[col-1] * 1000); + var bulan = hari.getMonth() + 1; + var jam = row+7; + var waktu = hari.getFullYear() + '-' + bulan + '-' + hari.getDate() + ' ' + jam + ':00'; + $('#waktu').val( waktu ); + console.log(waktu); + if ($(this).is(':empty')) + $('#myModal').modal('show'); + else { + var i = 0; + var found = 0; + console.log(arrayPenjadwalan[0]); + while (i<arrayPenjadwalan.length && found == 0) { + console.log(row); + console.log(arrayPenjadwalan[i].row); + console.log(col); + console.log(arrayPenjadwalan[i].col); + if (row == arrayPenjadwalan[i].row-1 && col == arrayPenjadwalan[i].col) + found = 1; + else + i++; + } + $('#judulEdit').val(arrayPenjadwalan[i].judul); + $('#namaEdit').val(arrayPenjadwalan[i].nama); + $('#ruanganEdit').val(arrayPenjadwalan[i].ruangan); + $('#waktuEdit').val( waktu ); + $('#editForm').attr('action', '{{URL::to("penjadwalan")}}'+ '/' + arrayPenjadwalan[i].id + '/update'); + $('#editModal').modal('show'); + } }); }); </script> diff --git a/ppl2/resources/views/penjadwalan.php b/ppl2/resources/views/penjadwalan.php deleted file mode 100644 index f2cc187d699edc6b85088df2a1c665fc2efc20c5..0000000000000000000000000000000000000000 --- a/ppl2/resources/views/penjadwalan.php +++ /dev/null @@ -1,107 +0,0 @@ -@extends('app_template') - -@section('title') - Penjadwalan -@stop - -@section('page_title') - <h2>Penjadwalan</h2> -@stop - - -<!-- content --> -@section('head_content') - @if (Session::has('message')) - <div class="alert alert-info fade in">{{ Session::get('message') }} - <a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">×</a> - </div> - @endif - <div class="row"> - <div class="col-md-3"> - <button class="btn m-b-sm m-r-sm btn-success" onclick="location.href = '{{URL::to('/')}}/formInstitusi';"><i class="m-r-xs fa fa-plus"></i>Tambahkan Institusi</button> - </div> - <div class="col-md-6"> - <form action = "{{URL::to('/')}}/daftarinstitusi/search" method="GET"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Cari Institusi" name="query" required> - <span class="input-group-btn"> - <button class="btn btn-default" type="submit">Go!</button> - </span> - </div> - </form> - </div> - </div> -@stop - -@section('content') -<div class="panel panel-default"> - <div class="panel-heading font-semibold"> - Penjadwalan - </div> - <div> - <table class="table" ui-jq="footable" ui-options='{ - "paging": { - "enabled": true - }}'> - <thead> - <tr> - <th>Minggu ke-</th> - <th>Senin</th> - <th>Selasa</th> - <th>Rabu</th> - <th>Kamis</th> - <th>Jumat</th> - <th>Sabtu</th> - <th>Minggu</th> - </tr> - </thead> - <tbody> - <tr data-expanded="true"> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr data-expanded="true"> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr data-expanded="true"> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr data-expanded="true"> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr data-expanded="true"> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - </tbody> - </table> - </div> -@stop \ No newline at end of file