_service = 'lms'; $this->_module = 'articles'; $this->_viewname = 'articles'; $this->_title = 'Article'; $this->_base_url = '/article'; } public function list(Request $request) { $lessons_id = $request->session()->get('lessons_id'); if ($lessons_id === 0) { return redirect('/article')->withError('Article not found!'); } $response = LambdaRequest::signedrequest('get', $this->_service, $this->_module . '/get_all', ['lessons_id' => $lessons_id]); // $lesson_id = $request->session()->remove('lessons_id'); //echo '
'; print_r($response); exit;
$fields = $this->get_list_fields();
return $this->view('list')->with([
'title' => $this->_title,
'fields' => $fields,
'base_url' => $this->_base_url,
'items' => $response->data->items,
'buttons' => $this->get_list_buttons()
]);
}
protected function get_list_fields()
{
return [
'actions' => ['title' => 'Actions', 'buttons' => ['edit', 'delete']],
'type' => ['title' => 'Type', 'type' => 'text'],
'lessons_id' => ['title' => 'Lesson', 'type' => 'text'],
'status' => ['title' => 'Status', 'type' => 'select']
];
}
protected function get_form_fields($type, $values)
{
$article_bank = $this->getlambda('get', 'lms', 'articles_bank', 'get_all');
$article_bank_quiz = [];
foreach ($article_bank->data->items as $row) {
$article_bank_quiz[$row->id] = $row->title;
}
$quiz = $this->getlambda('get', 'lms', 'lmsquiz', 'get_all');
foreach ($quiz->data->items as $row) {
$article_bank_quiz[$row->id] = $row->title;
}
// return $article_bank_quiz;
return [
'type' => ['title' => 'Type', 'type' => 'select', 'required' => true, 'values' => ['article' => 'Article', 'quiz' => 'Quiz']],
'entity_id' => ['title' => 'Select Form', 'type' => 'select', 'required' => true, 'values' => $article_bank_quiz],
'lessons_id' => ['title' => '', 'type' => 'hidden', 'required' => true, 'values' => ''],
'sort_order' => ['title' => 'Sequence Of Article', 'required' => true, 'type' => 'text'],
'status' => ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled']],
'icon' => ['title' => 'Icon', 'type' => 'file', 'required' => true]
];
}
public function save($type, $request ) {
if($type == 'edit') {
$url = '/update';
} else {
$url = '/create';
}
$data = $this->_beforesave($type, $request);
// echo ''; print_r($data); exit;
$response = LambdaRequest::signedrequest('post', $this->_service, $this->_module.$url, $data);
// echo ''; print_r($response); exit;
if($response->statusCode == 200 && $response->status == "success") {
// echo ''; print_r($response); exit;
//return redirect($this->_base_url.'/edit?id='.$response->data->item->id)->withMessage('Successfully Saved !!!');
return redirect($this->_base_url.'s')->withMessage('Successfully Saved !!!');
} else {
return redirect($this->_base_url.'s')->withError('Some Error occured! '. $response->body->message);
//return \Redirect::back()->withMessage('Some Error occured!');
}
}
protected function _beforesave($type, $request)
{
$data = $request->except('_token');
if ($request->file('icon')) {
$data['icon'] = $this->_uploadMedia($request, 'icon', 'lms_cources');
}
$lessons_id = $request->session()->get('lessons_id');
$data['lessons_id'] = $lessons_id;
$data['course_id'] = $request->session()->get('course_id');
return $data;
}
}