This commit is contained in:
tanch0
2024-06-15 22:23:54 +05:45
parent 8253440371
commit cb99bedac6
144 changed files with 6436 additions and 3112 deletions

View File

@ -0,0 +1,202 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\AdvertisementRepository;
use Illuminate\Http\Request;
use App\Models\Advertisement;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class AdvertisementController extends Controller
{
protected $modelService;
protected $advertisementRepository;
public function __construct(Advertisement $model, AdvertisementRepository $advertisementRepository)
{
$this->modelService = new CommonModelService($model);
$this->advertisementRepository = $advertisementRepository;
}
public function index(Request $request)
{
createActivityLog(AdvertisementController::class, 'index', ' Advertisement index');
$data = Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.advertisement.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(AdvertisementController::class, 'create', ' Advertisement create');
$TableData = Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.advertisement.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(AdvertisementController::class, 'store', ' Advertisement store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_advertisement')]);
$requestData = $request->all();
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->advertisementRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Advertisement Created Successfully.'], 200);
}
return redirect()->route('advertisement.index')->with('success', 'The Advertisement created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Advertisement::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Advertisement::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'show', ' Advertisement show');
$data = Advertisement::findOrFail($id);
return view("crud.generated.advertisement.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'edit', ' Advertisement edit');
$TableData = Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Advertisement::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.advertisement.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.advertisement.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'update', ' Advertisement update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_method', '_token');
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->advertisementRepository->update($filterData, $id);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Advertisement updated Successfully.'], 200);
}
// return redirect()->route('advertisement.index')->with('success','The Advertisement updated Successfully.');
return redirect()->route('advertisement.index')->with('success', 'The Advertisement updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'destroy', ' Advertisement destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AdvertisementController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Advertisement Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'destroy', ' Advertisement destroy');
$data = Advertisement::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AdvertisementController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Advertisement Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,193 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Authors;
use App\Repositories\AuthorRepository;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class AuthorsController extends Controller
{
protected $modelService;
protected $authorRepository;
public function __construct(Authors $model, AuthorRepository $authorRepository)
{
$this->modelService = new CommonModelService($model);
$this->authorRepository = $authorRepository;
}
public function index(Request $request)
{
createActivityLog(AuthorsController::class, 'index', ' Authors index');
$data = Authors::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.authors.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(AuthorsController::class, 'create', ' Authors create');
$TableData = Authors::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.authors.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(AuthorsController::class, 'store', ' Authors store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_authors')]);
$requestData = $request->all();
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
$this->authorRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Authors Created Successfully.'], 200);
}
return redirect()->route('authors.index')->with('success', 'The Authors created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Authors::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Authors::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'show', ' Authors show');
$data = Authors::findOrFail($id);
return view("crud.generated.authors.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'edit', ' Authors edit');
$TableData = Authors::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Authors::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.authors.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.authors.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'update', ' Authors update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_token', '_method');
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->authorRepository->update($id,$filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Authors updated Successfully.'], 200);
}
// return redirect()->route('authors.index')->with('success','The Authors updated Successfully.');
return redirect()->route('authors.index')->with('success', 'The Authors updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'destroy', ' Authors destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AuthorsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Authors Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'destroy', ' Authors destroy');
$data = Authors::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AuthorsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Authors Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,192 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\EconomyRepository;
use Illuminate\Http\Request;
use App\Models\Economies;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use Log;
use Exception;
class EconomiesController extends Controller
{
protected $modelService;
protected $economyRepository;
public function __construct(Economies $model, EconomyRepository $economyRepository)
{
$this->modelService = new CommonModelService($model);
$this->economyRepository = $economyRepository;
}
public function index(Request $request)
{
createActivityLog(EconomiesController::class, 'index', ' Economies index');
$data = Economies::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.economies.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(EconomiesController::class, 'create', ' Economies create');
$TableData = Economies::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.economies.create", compact('TableData'));
}
public function store(Request $request)
{
dd($request->all());
createActivityLog(EconomiesController::class, 'store', ' Economies store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_economies')]);
$requestData = $request->all();
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
$this->economyRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Economies Created Successfully.'], 200);
}
return redirect()->route('economies.index')->with('success', 'The Economies created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Economies::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Economies::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'show', ' Economies show');
$data = Economies::findOrFail($id);
return view("crud.generated.economies.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'edit', ' Economies edit');
$TableData = Economies::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Economies::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.economies.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.economies.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'update', ' Economies update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$filterData = $request->except(['_token', '_method']);
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->economyRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Economies updated Successfully.'], 200);
}
// return redirect()->route('economies.index')->with('success','The Economies updated Successfully.');
return redirect()->route('economies.index')->with('success', 'The Economies updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'destroy', ' Economies destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(EconomiesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Economies Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'destroy', ' Economies destroy');
$data = Economies::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(EconomiesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Economies Deleted Successfully.'], 200);
}
}

View File

@ -23,15 +23,8 @@ class MenuitemsController extends Controller
public function initializeController()
{
$menuTypes = [
['display' => "Articles", 'value' => "tbl_articles"],
['display' => "Country", 'value' => "tbl_countries"],
['display' => "Country Articles", 'value' => "tbl_countryarticles"],
['display' => "Events", 'value' => "tbl_events"],
['display' => "Faqs", 'value' => "tbl_faqs"],
['display' => "Institutions", 'value' => "tbl_institutions"],
['display' => "News/Blogs", 'value' => "tbl_news"],
['display' => "Preparation class", 'value' => "tbl_preparationclasses"],
['display' => "Testimonial", 'value' => "tbl_testimonials"],
// ['display' => "Articles", 'value' => "tbl_articles"],
['display' => "Custom", 'value' => ""],
];
@ -41,30 +34,10 @@ class MenuitemsController extends Controller
case 'tbl_articles':
$menuType['values'] = json_encode(DB::select("select article_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_countries':
$menuType['values'] = json_encode(DB::select("select country_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_countryarticles':
$menuType['values'] = json_encode(DB::select("select article_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_events':
$menuType['values'] = json_encode(DB::select("select event_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_faqs':
$menuType['values'] = json_encode(DB::select("select faq_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_institutions':
$menuType['values'] = json_encode(DB::select("select institution_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_news':
$menuType['values'] = json_encode(DB::select("select news_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_preparationclasses':
$menuType['values'] = json_encode(DB::select("select preparationclass_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_testimonials':
$menuType['values'] = json_encode(DB::select("select testimonial_id as value, `by` as display from " . $menuType['value'] . " where status=1 order by `by`"));
break;
default:

View File

@ -0,0 +1,213 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\NewsRepository;
use Illuminate\Http\Request;
use App\Models\News;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class NewsController extends Controller
{
protected $modelService;
protected $newsRepository;
public function __construct(News $model, NewsRepository $newsRepository)
{
$this->modelService = new CommonModelService($model);
$this->newsRepository = $newsRepository;
}
public function index(Request $request)
{
createActivityLog(NewsController::class, 'index', ' News index');
$data = News::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(NewsController::class, 'create', ' News create');
$TableData = News::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news.create", compact('TableData'));
}
public function store(Request $request)
{
// dd($request->all());
$isFeatured = $request->input('featured_news');
createActivityLog(NewsController::class, 'store', ' News store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_news')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
if ($isFeatured) {
News::where('featured_news', 'True')->update(['featured_news' => 'False']);
$requestData['featured_news'] = 'True';
} else {
$requestData['featured_news'] = 'False';
}
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News Created Successfully.'], 200);
}
return redirect()->route('news.index')->with('success', 'The News created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = News::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = News::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(NewsController::class, 'show', ' News show');
$data = News::findOrFail($id);
return view("crud.generated.news.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(NewsController::class, 'edit', ' News edit');
$TableData = News::where('status', '<>', -1)->orderBy('display_order')->get();
$data = News::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.news.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.news.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
$isFeatured = $request->input('featured_news');
createActivityLog(NewsController::class, 'update', ' News update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_method', '_token');
if ($isFeatured) {
News::where('featured_news', 'True')->update(['featured_news' => 'False']);
$filterData['featured_news'] = 'True';
} else {
$filterData['featured_news'] = 'False';
}
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News updated Successfully.'], 200);
}
// return redirect()->route('news.index')->with('success','The News updated Successfully.');
return redirect()->route('news.index')->with('success', 'The News updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(NewsController::class, 'destroy', ' News destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(NewsController::class, 'destroy', ' News destroy');
$data = News::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,193 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\NewsTypeRepository;
use Illuminate\Http\Request;
use App\Models\News_type;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class News_typeController extends Controller
{
protected $modelService;
protected $newsTypeRepository;
public function __construct(News_type $model, NewsTypeRepository $newsTypeRepository)
{
$this->modelService = new CommonModelService($model);
$this->newsTypeRepository = $newsTypeRepository;
}
public function index(Request $request)
{
createActivityLog(News_typeController::class, 'index', ' News_type index');
$data = News_type::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news_type.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(News_typeController::class, 'create', ' News_type create');
$TableData = News_type::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news_type.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(News_typeController::class, 'store', ' News_type store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_news_type')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsTypeRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News_type Created Successfully.'], 200);
}
return redirect()->route('news_type.index')->with('success', 'The News_type created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = News_type::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = News_type::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(News_typeController::class, 'show', ' News_type show');
$data = News_type::findOrFail($id);
return view("crud.generated.news_type.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(News_typeController::class, 'edit', ' News_type edit');
$TableData = News_type::where('status', '<>', -1)->orderBy('display_order')->get();
$data = News_type::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.news_type.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.news_type.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(News_typeController::class, 'update', ' News_type update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except(['_token', '_method']);
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsTypeRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News_type updated Successfully.'], 200);
}
// return redirect()->route('news_type.index')->with('success','The News_type updated Successfully.');
return redirect()->route('news_type.index')->with('success', 'The News_type updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(News_typeController::class, 'destroy', ' News_type destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(News_typeController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News_type Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(News_typeController::class, 'destroy', ' News_type destroy');
$data = News_type::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(News_typeController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News_type Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,196 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Newscategories;
use App\Repositories\NewsCategoriesRepository;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class NewscategoriesController extends Controller
{
protected $modelService;
protected $newsCategoriesRepository;
public function __construct(Newscategories $model, NewsCategoriesRepository $newsCategoriesRepository)
{
$this->modelService = new CommonModelService($model);
$this->newsCategoriesRepository = $newsCategoriesRepository;
}
public function index(Request $request)
{
createActivityLog(NewscategoriesController::class, 'index', ' Newscategories index');
$data = Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.newscategories.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(NewscategoriesController::class, 'create', ' Newscategories create');
$TableData = Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.newscategories.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(NewscategoriesController::class, 'store', ' Newscategories store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => slugify($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_newscategories')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsCategoriesRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Newscategories Created Successfully.'], 200);
}
return redirect()->route('newscategories.index')->with('success', 'The Newscategories created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Newscategories::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Newscategories::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'show', ' Newscategories show');
$data = Newscategories::findOrFail($id);
return view("crud.generated.newscategories.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'edit', ' Newscategories edit');
$TableData = Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Newscategories::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.newscategories.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.newscategories.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'update', ' Newscategories update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except(['_token', '_method']);
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsCategoriesRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Newscategories updated Successfully.'], 200);
}
// return redirect()->route('newscategories.index')->with('success','The Newscategories updated Successfully.');
return redirect()->route('newscategories.index')->with('success', 'The Newscategories updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'destroy', ' Newscategories destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewscategoriesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Newscategories Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'destroy', ' Newscategories destroy');
$data = Newscategories::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewscategoriesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Newscategories Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,186 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\ProvinceRepository;
use Illuminate\Http\Request;
use App\Models\Provinces;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Brian2694\Toastr\Facades\Toastr;
use Log;
use Exception;
class ProvincesController extends Controller
{
protected $modelService;
private $ProvinceRepository;
public function __construct(Provinces $model, ProvinceRepository $ProvinceRepository)
{
$this->modelService = new CommonModelService($model);
$this->ProvinceRepository = $ProvinceRepository;
}
public function index(Request $request)
{
createActivityLog(ProvincesController::class, 'index', ' Provinces index');
$data = $this->ProvinceRepository->getAll();
return view("crud.generated.provinces.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(ProvincesController::class, 'create', ' Provinces create');
$TableData = Provinces::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.provinces.create", compact('TableData'));
}
public function store(Request $request)
{
$validatedData = $request->validate([
'title' => 'required|string|max:255',
'province_nepali_name' => 'nullable|string|max:255',
]);
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_provinces')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->ProvinceRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Provinces Created Successfully.'], 200);
}
return redirect()->route('provinces.index')->with('success', 'The Provinces created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Provinces::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Provinces::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'show', ' Provinces show');
$data = Provinces::findOrFail($id);
return view("crud.generated.provinces.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'edit', ' Provinces edit');
$TableData = Provinces::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Provinces::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.provinces.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.provinces.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'update', ' Provinces update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_method', '_token');
// $requestData = $request->all();
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->ProvinceRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Provinces updated Successfully.'], 200);
}
// return redirect()->route('provinces.index')->with('success','The Provinces updated Successfully.');
return redirect()->route('provinces.index')->with('success', 'The Provinces updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'destroy', ' Provinces destroy');
$this->ProvinceRepository->delete($id);
return response()->json(['status' => true, 'message' => 'The Provinces Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'destroy', ' Provinces destroy');
$data = Provinces::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(ProvincesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Provinces Deleted Successfully.'], 200);
}
}

View File

@ -1,6 +1,11 @@
<?php
namespace App\Http\Controllers;
use App\Models\Economies;
use App\Models\News;
use App\Models\News_type;
use App\Models\Newscategories;
use App\Models\Provinces;
class WebsiteController extends Controller
{
@ -12,10 +17,39 @@ class WebsiteController extends Controller
}
public function home(){
return view($this->path.'.home');
$data['featuredNews'] = News::where('featured_news',"True")->where('status',1)->first();
$data['provinces'] = Provinces::with('provinceNews')->limit(5)->get();
$data['categories'] = Newscategories::with('news')->get();
$data['interviews'] = Newscategories::with('interviewNews')->get();
$data['politics'] = Newscategories::with('politicNews')->get();
// $data['economics'] = Newscategories::with('news')->inRandomOrder()->get();
$data['economics'] = Economies::with('news')
->orderBy('display_order')
->where('status',1)
->get();
$data['sports'] = Newscategories::with('sportNews')->get();
$data['cultural'] = Newscategories::with('culturalNews')->get();
$data['technology'] = Newscategories::with('technologyNews')->get();
$data['entertainment'] = Newscategories::with('entertainmentNews')->get();
// dd($data['entertainment']);
$data['internationalNews'] = News_type::with('news')->get();
// dd($data['internationalNews']);
return view($this->path.'.home',$data);
}
public function single(){
return view($this->path.'.single');
}
public function newsDetail(){
return view($this->path.'.news-detail');
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
class Advertisement extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'advertisement_id';
protected $table = 'advertisement';
public $timestamps = true;
protected $fillable = [
'title',
'parent_id',
'alias',
'description',
'image',
'video',
'link',
'display_order',
'status',
'remarks',
'created_by',
'updated_by',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
}

56
app/Models/Authors.php Normal file
View File

@ -0,0 +1,56 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
class Authors extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'author_id';
public $timestamps = true;
protected $fillable = [
'title',
'alias',
'author_email',
'author_description',
'author_image',
'status',
'display_order',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function publishedNews(){
return $this->hasMany(News::class, 'authors_id', 'author_id')->where('status', 1);
}
}

54
app/Models/Economies.php Normal file
View File

@ -0,0 +1,54 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
class Economies extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'economy_id';
public $timestamps = true;
protected $fillable = [
'title',
'ecomomy_nepali_name',
'alias',
'status',
'display_order',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function news(){
return $this->hasMany(News::class, 'economics_id', 'economy_id');
}
}

View File

@ -30,11 +30,11 @@ class OperationLog extends Model
];
// protected $appends = ['operation_by'];
protected $appends = ['operation_by'];
// public function getOperationByAttribute()
// {
// $user = User::find($this->user_id);
// return $user ? $user->name : '';
// }
public function getOperationByAttribute()
{
$user = User::find($this->user_id);
return $user ? $user->name : '';
}
}

91
app/Models/News.php Normal file
View File

@ -0,0 +1,91 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class News extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'news_id';
public $timestamps = true;
protected $fillable = [
'newscategories_id',
'provinces_id',
'news_type_id',
'economics_id',
'authors_id',
'parent_news',
'title',
'short_description',
'nepali_title',
'alias',
'content',
'featured_news',
'image',
'thumb',
'image_source',
'display_order',
'status',
'remarks',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function parent()
{
return $this->belongsTo(News::class, 'parent_news');
}
public function children()
{
return $this->hasMany(News::class, 'parent_news');
}
public function newsType(): BelongsTo
{
return $this->belongsTo(News_Type::class, 'news_type_id', 'news_type_id');
}
public function newsCategories(): BelongsTo
{
return $this->belongsTo(Newscategories::class, 'newscategories_id', 'category_id');
}
public function author(): BelongsTo
{
return $this->belongsTo(User::class, 'authors_id', 'author_id');
}
public function provinces(): BelongsTo{
return $this->belongsTo(Provinces::class, 'provinces_id', 'province_id');
}
}

56
app/Models/News_type.php Normal file
View File

@ -0,0 +1,56 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\HasMany;
class News_type extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'news_type_id';
protected $table = 'news_type';
public $timestamps = true;
protected $fillable = [
'title',
'title_nepali',
'alias',
'status',
'display_order',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function news(): HasMany
{
return $this->hasMany(News::class, 'news_type_id', 'news_type_id');
}
}

View File

@ -0,0 +1,85 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Newscategories extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'category_id';
public $timestamps = true;
protected $fillable = [
'title',
'nepali_title',
'alias',
'parent_category',
'display_order',
'status',
'remarks',
'createdby',
'updatedby',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function parent()
{
return $this->belongsTo(Newscategories::class, 'parent_category')->where('status',1);
}
public function children()
{
return $this->hasMany(Newscategories::class, 'parent_category')->where('status',1);
}
public function news(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->orderBy('display_order');
}
public function entertainmentNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function technologyNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function culturalNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function sportNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(9)->inRandomOrder()->orderBy('display_order');
}
public function interviewNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function politicNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(5)->inRandomOrder()->orderBy('display_order');
}
}

61
app/Models/Provinces.php Normal file
View File

@ -0,0 +1,61 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Provinces extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'province_id';
public $timestamps = true;
protected $fillable = [
'title',
'province_no',
'province_nepali_name',
'alias',
'status',
'display_order',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
// protected function createdBy(): Attribute
// {
// return Attribute::make(
// get: fn ($value) => User::find($value) ? User::find($value)->name : '',
// );
// }
// protected function updatedBy(): Attribute
// {
// return Attribute::make(
// get: fn ($value) => User::find($value) ? User::find($value)->name : '',
// );
// }
public function provinceNews():HasMany{
return $this->hasMany(News::class,'provinces_id','province_id')
->where('status','<>',-1)
->where('news_type_id',2)
->where('newscategories_id',1)
->orderBy('display_order');
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Repositories;
use App\Models\Advertisement;
use App\Repositories\Interface\AdvertisementInterface;
class AdvertisementRepository implements AdvertisementInterface
{
public function getAll()
{
return Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getAdvertisementById($advertisementId)
{
return Advertisement::where('advertisement_id', $advertisementId)->first();
}
public function delete($advertisementId)
{
return Advertisement::where('advertisement_id', $advertisementId)->delete();
}
public function create(array $newData)
{
return Advertisement::create($newData);
}
public function update($advertisementId, array $newDetails)
{
return Advertisement::where('advertisement_id', $advertisementId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Repositories\Interface\AuthorsInterface;
use App\Models\Authors;
class AuthorRepository implements AuthorsInterface
{
public function getAll()
{
return Authors::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getAuthorsById($authorId)
{
return Authors::findOrFail($authorId);
}
public function delete($authorId)
{
return Authors::destroy($authorId);
}
public function create(array $authorDetail)
{
return Authors::create($authorDetail);
}
public function update($authorId, array $newDetails)
{
return Authors::where('author_id', $authorId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Models\Economies;
use App\Repositories\Interface\EconomyInterface;
class EconomyRepository implements EconomyInterface
{
public function getAll()
{
return Economies::where('status','<>', -1)->orderBy('display_order')->get();
}
public function getId($id)
{
return Economies::findOrFail($id);
}
public function delete($id)
{
return Economies::destroy($id);
}
public function create(array $Details)
{
return Economies::create($Details);
}
public function update($id, array $newDetails){
return Economies::where('economy_id', $id)->update($newDetails);
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface AdvertisementInterface
{
public function getAll();
public function getAdvertisementById($id);
public function delete($advertisementId);
public function create(array $advertisementDetail);
public function update($advertisementId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface AuthorsInterface
{
public function getAll();
public function getAuthorsById($authorId);
public function delete($authorId);
public function create(array $authorDetail);
public function update($authorId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface EconomyInterface
{
public function getAll();
public function getId($id);
public function delete($id);
public function create(array $Details);
public function update($id, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface NewsCategoriesInterface
{
public function getAll();
public function getNewsCategoriesById($newsCategoriesId);
public function delete($newsCategoriesId);
public function create(array $newsCategoriesDetail);
public function update($newsCategoriesId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface NewsInterface
{
public function getAll();
public function getNewsById($newsId);
public function delete($newsId);
public function create(array $newsDetail);
public function update($newsId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface NewsTypeInterface
{
public function getAll();
public function getNewsTypeById($newsTypeId);
public function delete($newsTypeId);
public function create(array $newsTypeDetail);
public function update($newsTypeId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface ProvinceInterface
{
public function getAll();
public function getProvinceById($provinceId);
public function delete($provinceId);
public function create(array $provinceDetails);
public function update($provinceId, array $newDetails);
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Repositories;
use App\Models\Newscategories;
use App\Repositories\Interface\NewsCategoriesInterface;
class NewsCategoriesRepository implements NewsCategoriesInterface
{
public function getAll()
{
return Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getNewsCategoriesById($newsCategoriesId)
{
return Newscategories::findOrFail($newsCategoriesId);
}
public function delete($newsCategoriesId)
{
return Newscategories::destroy($newsCategoriesId);
}
public function create(array $provinceDetails)
{
return Newscategories::create($provinceDetails);
}
public function update($newsCategoriesId, array $newDetails)
{
return Newscategories::where('category_id', $newsCategoriesId)->update($newDetails);
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Repositories;
use App\Models\News;
use App\Repositories\Interface\NewsInterface;
class NewsRepository implements NewsInterface
{
public function getAll()
{
return News::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getNewsById($newsId)
{
return News::findOrFail($newsId);
}
public function delete($newsId)
{
return News::destroy($newsId);
}
public function create(array $newsDetail)
{
return News::create($newsDetail);
}
public function update($newsId, array $newDetails)
{
return News::where('news_id', $newsId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Models\News_type;
use App\Repositories\Interface\NewsTypeInterface;
class NewsTypeRepository implements NewsTypeInterface
{
public function getAll()
{
return News_type::where('status','<>', -1)->orderBy('display_order')->get();
}
public function getNewsTypeById($newsTypeId)
{
return News_type::findOrFail($newsTypeId);
}
public function delete($newsTypeId)
{
return News_type::destroy($newsTypeId);
}
public function create(array $newsTypeDetail)
{
return News_type::create($newsTypeDetail);
}
public function update($newsTypeId, array $newDetails){
return News_type::where('news_type_id', $newsTypeId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Models\Provinces;
use App\Repositories\Interface\ProvinceInterface;
class ProvinceRepository implements ProvinceInterface
{
public function getAll()
{
return Provinces::where('status','<>', -1)->orderBy('display_order')->get();
}
public function getProvinceById($provinceId)
{
return Provinces::findOrFail($provinceId);
}
public function delete($provinceId)
{
return Provinces::destroy($provinceId);
}
public function create(array $provinceDetails)
{
return Provinces::create($provinceDetails);
}
public function update($provinceId, array $newDetails){
return Provinces::where('province_id', $provinceId)->update($newDetails);
}
}