120 lines
4.4 KiB
PHP
120 lines
4.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Requests\LambdaRequest;
|
|
use App\Http\Requests\FormAdditional;
|
|
use DB;
|
|
use Log;
|
|
use Storage;
|
|
|
|
use Maatwebsite\Excel\Facades\Excel;
|
|
use App\Exports\InvoicesExport;
|
|
use Auth;
|
|
use App\Mail\ReportExcel;
|
|
use Mail;
|
|
use Illuminate\Support\Facades\Cache;
|
|
use Aws\Ses\SesClient;
|
|
use Aws\Credentials\CredentialProvider;
|
|
|
|
class ArticleController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->_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 '<pre>'; 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 '<pre>'; print_r($data); exit;
|
|
$response = LambdaRequest::signedrequest('post', $this->_service, $this->_module.$url, $data);
|
|
// echo '<pre>'; print_r($response); exit;
|
|
if($response->statusCode == 200 && $response->status == "success") {
|
|
// echo '<pre>'; 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;
|
|
}
|
|
}
|