id); //if ($check->count()==0) return view('student/home')->with(['count'=>$check->count()]); $check=\App\User::find(Auth::user()->id); if ($check->status!='active') return view('student/home')->with(['status'=>$check->status]); $filter = $request->input('topicList','1'); if ($filter=='0') { $entities=\App\TaskResult::where('userid','=',Auth::user()->id); } else { $entities = \App\Task::where('tasks.topic','=',$filter) ->select( 'task_results.id', 'task_results.taskid', 'task_results.userid', 'task_results.status', 'task_results.duration', 'task_results.comment', 'task_results.imgFile', 'tasks.taskno', 'tasks.desc', 'tasks.topic' ) ->leftJoin('task_results', function($join) { $join->on('tasks.id','=','task_results.taskid') ->where('task_results.userid', '=', Auth::user()->id); } ) ->orderBy('tasks.taskno', 'asc') ->get(); } $lfiles = \App\TopicFiles::where('topic_files.topic','=',$filter) ->select( 'file_results.id', 'file_results.userid', 'file_results.rscfile', 'file_results.fileid', 'topic_files.fileName', 'topic_files.path', 'topic_files.desc' ) ->leftJoin('file_results', function($join) { $join->on('topic_files.id','=','file_results.fileid') ->where('file_results.userid', '=', Auth::user()->id); } ) ->orderBy('topic_files.fileName', 'asc') ->get(); $items = \App\Topic::where('status','>=','0') ->where('androidclass','=','AndroidX') ->orderBy('level','asc') ->orderBy('name','asc') ->pluck('name', 'id'); $valid = \App\StudentSubmit::where('userid','=',Auth::user()->id) ->where('topic','=',$filter) ->get()->count(); $option = $request->input('option','files'); return view('student/results/index') ->with(compact('entities')) ->with(compact('lfiles')) ->with(compact('items')) ->with(compact('filter')) ->with(compact('option')) ->with(compact('valid')); } public function getTaskData($topic) { $items = \App\Task::where('tasks.topic','=',$topic) ->select( 'tasks.id', 'tasks.taskno', 'tasks.desc', 'topics.name' ) ->join( 'topics', 'topics.id','=','tasks.topic' ) ->orderBy('topics.name', 'asc') ->orderBy('tasks.taskno', 'asc') ->get(); return $items; } public function create($id) { $items = \App\Task::where('topic','=',$id) ->orderBy('taskno', 'asc') ->get(); $topic = \App\Topic::find($id); return view('student/results/create') ->with(compact('topic')) ->with(compact('items')); } public function validateByFiles($userid, $topic) { // $entity=new \App\StudentSubmit; $entity->userid=$userid; $entity->topic=$topic; $entity->validstat="valid"; $entity->save(); $data = \App\Topic::find($topic); Session::flash('message','Topic '.$data['name'].' Validation is Success'); //return "Add new topic is success"; return Redirect::to('student/results?topicList='.$topic); } public function store(Request $request) { if ($request->get('action')=='validate') { if (length($request->submitbutton)>5) { //validation if ($request->get('option')=='files') { validateByFiles(Auth::user()->id, $request->get('topic')); } else if ($request->get('option')=='zipfile') { validateByFiles(Auth::user()->id, $request->get('topic')); } else { return Redirect::to('student/results?topicList='.$request->get('topic').'&option='.$request->get('option'). '&submit='.$request->submitbutton); } } else { //clicking radio button return Redirect::to('student/results?topicList='.$request->get('topic').'&option='.$request->get('option')); //'&submit='.$request->submitbutton); } } else {//echo $request; saveTaskResult($request); } } public function saveTaskResult(Request $request) { // $rules =[ 'duration'=>'required', 'image'=>'required', 'comment'=>'required' ]; $msg=[ 'duration.required'=>'Duration time must not empty', 'image.required'=>'Evidence image file must not empty', 'comment.required'=>'Comment must not empty' ]; $validator=Validator::make($request->all(),$rules,$msg); //jika data ada yang kosong if ($validator->fails()) { //refresh halaman return Redirect::to('student/results/create/'.$request->get('topic')) ->withErrors($validator); } else { $check = \App\TaskResult::where('userid','=',Auth::user()->id) ->where('taskid','=',$request->get('taskid')) ->get(); if (sizeof($check)>0) { $task = \App\Task::find($request->get('taskid')); $message = 'Result of Task '.$task['desc'].' is already submitted!!'; //Session::flash('message',); return Redirect::to('student/results/create'.$request->get('topic'))->withErrors($message); } else { $file = $request->file('image'); $imgFile=$file->store('results','public'); $entity=new \App\TaskResult; $comment = ($request->get('comment')==null)?'-':$request->get('comment'); $entity->userid=Auth::user()->id; $entity->taskid=$request->get('taskid'); $entity->status=$request->get('status'); $entity->duration=$request->get('duration'); $entity->comment=$comment; $entity->imgFile=$imgFile; $entity->save(); Session::flash('message','A New Task Result Stored'); //return "Add new topic is success"; return Redirect::to('student/results?topicList='.$request->get('topic'))->with( [ 'topic' => $request->get('topic') ] ); } } } public function destroy(Request $request, $id) { // $entity = \App\TaskResult::find($id); $entity->delete(); Session::flash('message','Task Result with Id='.$id.' is deleted'); return Redirect::to('student/results?topicList='.$request->get('topic')); } public function edit($id) { // $entity = \App\TaskResult::where('id','=',$id)->first(); $task = \App\Task::where('id','=',$entity['taskid'])->first(); return view('student/results/edit')->with(compact('entity')) ->with(compact('task')); } public function valsub(Request $request) { $items = \App\Task::where('topic','=',$id) ->orderBy('taskno', 'asc') ->get(); $topic = \App\Topic::find($id); return view('student/results/create') ->with(compact('topic')) ->with(compact('items')); } public function update(Request $request, $id) { // $rules =[ 'duration'=>'required', ]; $msg=[ 'duration.required'=>'Duration time must not empty', ]; $validator=Validator::make($request->all(),$rules,$msg); if ($validator->fails()) { return Redirect::to('student/results/'.$id.'/edit') ->withErrors($validator); }else{ $file = $request->file('image'); $entity=\App\TaskResult::find($id); $entity->taskid=$request->get('taskid'); $entity->status=$request->get('status'); $entity->duration=$request->get('duration'); $entity->comment=$request->get('comment'); if ($file!='') { $imgFile=$file->store('results','public'); $entity->imgFile=$imgFile; } $entity->save(); Session::flash('message','Task Result with Id='.$id.' is changed'); $task = \App\Task::find($request->get('taskid')); return Redirect::to('student/results?topicList='.$task['topic']); } } }