This commit is contained in:
tanch0
2024-06-20 16:42:33 +05:45
parent 5554837c97
commit adfc826e9c
46 changed files with 2385 additions and 70 deletions

View File

@ -81,18 +81,55 @@
</li> <!-- end Dashboard Menu -->
<li class="menu-title"><i class="ri-more-fill"></i> <span data-key="t-pages">Pages</span></li>
{{ CCMS::createMenuLink('Provinces', route('provinces.index')) }}
{{ CCMS::createMenuLink('News Type', route('news_type.index')) }}
{{ CCMS::createMenuLink('News Categories', route('newscategories.index')) }}
{{ CCMS::createMenuLink('News', route('news.index')) }}
{{ CCMS::createMenuLink('Authors', route('authors.index')) }}
{{ CCMS::createMenuLink('Economy', route('economies.index')) }}
{{ CCMS::createMenuLink('Videos', route('videos.index')) }}
{{ CCMS::createMenuLink('Horoscope', route('horoscope.index')) }}
{{ CCMS::createMenuLink('Artilces', route('articles.index')) }}
{{ CCMS::createMenuLink('Teams', route('teams.index')) }}
{{ CCMS::createMenuLink('Advertisements', route('advertisements.index')) }}
{{ CCMS::createMenuLink('Ad Category', route('adcategories.index')) }}
<li class="nav-item">
<a class="nav-link menu-link collapsed" href="#sidebarMenu2" data-bs-toggle="collapse"
role="button" aria-expanded="false" aria-controls="sidebarMenu1">
<i class="ri-pages-line"></i> <span data-key="t-pages">News</span>
</a>
<div class="collapse menu-dropdown" id="sidebarMenu2">
<ul class="nav nav-sm flex-column">
{{ CCMS::createMenuLink('News Type', route('news_type.index')) }}
{{ CCMS::createMenuLink('News Categories', route('newscategories.index')) }}
{{ CCMS::createMenuLink('News', route('news.index')) }}
</ul>
</div>
</li>
<li class="nav-item">
<a class="nav-link menu-link collapsed" href="#sidebarMenu3" data-bs-toggle="collapse"
role="button" aria-expanded="false" aria-controls="sidebarMenu1">
<i class="ri-pages-line"></i> <span data-key="t-pages">Ads</span>
</a>
<div class="collapse menu-dropdown" id="sidebarMenu3">
<ul class="nav nav-sm flex-column">
{{ CCMS::createMenuLink('Advertisements', route('advertisements.index')) }}
{{ CCMS::createMenuLink('Ad Category', route('adcategories.index')) }}
</ul>
</div>
</li>
@role('admin')
<li class="nav-item">
<a class="nav-link menu-link collapsed" href="#sidebarMenu4" data-bs-toggle="collapse"
role="button" aria-expanded="false" aria-controls="sidebarMenu1">
<i class="ri-pages-line"></i> <span data-key="t-pages">Users</span>
</a>
<div class="collapse menu-dropdown" id="sidebarMenu4">
<ul class="nav nav-sm flex-column">
{{ CCMS::createMenuLink('Roles', route('roles.index')) }}
{{ CCMS::createMenuLink('Permissions', route('permissions.index')) }}
{{ CCMS::createMenuLink('Users', route('users.index')) }}
</ul>
</div>
</li>
@endrole
{{ CCMS::createMenuLink('Provinces', route('provinces.index')) }}
{{ CCMS::createMenuLink('Authors', route('authors.index')) }}
{{ CCMS::createMenuLink('Economy', route('economies.index')) }}
{{ CCMS::createMenuLink('Videos', route('videos.index')) }}
{{ CCMS::createMenuLink('Horoscope', route('horoscope.index')) }}
{{ CCMS::createMenuLink('Artilces', route('articles.index')) }}
{{ CCMS::createMenuLink('Teams', route('teams.index')) }}
</div>

View File

@ -0,0 +1,17 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Permissions') }}</h2>
<?php createButton("btn-primary btn-cancel","","Cancel",route('permissions.index')); ?>
</div>
<div class='card-body'>
<form action="{{route('permissions.store')}}" id="storeCustomForm" method="POST">
@csrf
<div class="row"><div class="col-lg-6">{{createText("name","name","Name")}}
</div><div class="col-lg-6">{{createText("guard_name","guard_name","Guard Name")}}
</div> <br> <div class="col-md-12"><?php createButton("btn-primary btn-store","","Submit"); ?>
<?php createButton("btn-primary btn-cancel","","Cancel",route('permissions.index')); ?>
</div> </form></div></div>
@endsection

View File

@ -0,0 +1,25 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Permissions') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('permissions.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('permissions.update', [$data->id]) }}" id="updateCustomForm" method="POST">
@csrf
@method('PUT')
<input type=hidden name='id' value='{{ $data->id }}' />
<div class="row">
<div class="col-lg-6">{{ createText('name', 'name', 'Name', '', $data->name) }}
</div>
<div class="col-lg-6">{{ createText('guard_name', 'guard_name', 'Guard Name', '', $data->guard_name) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('permissions.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,185 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Permissions List') }}</h2>
<a href="{{ route('permissions.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_permissions">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('name') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('guard_name') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->name }}</td>
<td class="tb-col">{{ $item->guard_name }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('permissions.show', [$item->id]) }}" class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('permissions.edit', [$item->id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('permissions.destroy', [$item->id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,28 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('permissions.index')); ?>
</div>
<div class='card-body'>
<p><b>Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->name}}</span></p><p><b>Guard Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->guard_name}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,34 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Roles') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('roles.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('roles.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('name', 'name', 'Name') }}
</div>
<div class="col-lg-6">{{ createText('guard_name', 'guard_name', 'Guard Name') }}
</div>
<div class="col-lg-6 pb-3">
<label for='permission' class="form-label col-form-label"> Permission</label>
<select id="permission" name="permission" autocomplete="permission-name" class="form-select">
@foreach($permissions as $permission)
<option value="0"> Select Permission </option>
<option value="{{ $permission->name }}" >{{ $permission->name }}</option>
@endforeach
</select>
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('roles.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,69 @@
@extends('backend.template')
@section('content')
<div class="row">
<div class="card col-8">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ __('Edit Roles') }}</h2>
<a href="{{ route('roles.index') }}" class="btn btn-primary btn-cancel">Cancel</a>
</div>
<div class="card-body">
<form action="{{ route('roles.update', [$data->id]) }}" id="updateCustomForm" method="POST">
@csrf
@method('PUT')
<input type="hidden" name="id" value="{{ $data->id }}" />
<div class="row">
<div class="col-lg-6">
<label for="name" class="form-label">Name</label>
<input type="text" id="name" name="name" class="form-control"
value="{{ $data->name }}">
</div>
<div class="col-lg-6">
<label for="guard_name" class="form-label">Guard Name</label>
<input type="text" id="guard_name" name="guard_name" class="form-control"
value="{{ $data->guard_name }}">
</div>
<div class="col-lg-6 pb-3">
<label for="permission" class="form-label">Permission</label>
<select id="permission" name="permission" class="form-select">
<option value="0">Add Permissions</option>
@foreach ($permissions as $permission)
<option value="{{ $permission->name }}">{{ $permission->name }}</option>
@endforeach
</select>
</div>
<div class="col-md-12">
<button type="submit" class="btn btn-primary btn-update">Submit</button>
<a href="{{ route('roles.index') }}" class="btn btn-primary btn-cancel">Cancel</a>
</div>
</div>
</form>
</div>
</div>
<div class="card col-4">
<div class="card-header d-flex justify-content-between align-items-center">
<h4>{{ __('Roles with permissions') }}</h4>
</div>
<div class="card-body">
@if ($data->permissions)
@foreach ($data->permissions as $role_permission)
<form class="d-inline-block" method="POST" action="{{route('roles.permissions.revoke',[$data->id,$role_permission->id])}}"
onsubmit="return confirm('Are you sure?');">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">{{ $role_permission->name }}</button>
</form>
@endforeach
@endif
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,185 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Roles List') }}</h2>
<a href="{{ route('roles.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_roles">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('name') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('guard_name') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->name }}</td>
<td class="tb-col">{{ $item->guard_name }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('roles.show', [$item->id]) }}" class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('roles.edit', [$item->id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('roles.destroy', [$item->id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,28 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('roles.index')); ?>
</div>
<div class='card-body'>
<p><b>Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->name}}</span></p><p><b>Guard Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->guard_name}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,25 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Users') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('users.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('users.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('name', 'name', 'Name') }}
</div>
<div class="col-lg-6">{{ createText('email', 'email', 'Email') }}
</div>
<div class="col-lg-6">{{ createText('username', 'username', 'Username') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('users.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,100 @@
@extends('backend.template')
@section('content')
<div class="row">
<div class="col-lg-8">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ __('Edit Users') }}</h2>
<a href="{{ route('users.index') }}" class="btn btn-primary btn-cancel">Cancel</a>
</div>
<div class="card-body">
<form action="{{ route('users.update', [$data->id]) }}" id="updateCustomForm" method="POST">
@csrf
@method('POST')
<input type="hidden" name="id" value="{{ $data->id }}" />
<div class="row">
<div class="col-lg-6 mb-3">
<label for="name" class="form-label">Name</label>
<input type="text" id="name" name="name" class="form-control"
value="{{ $data->name }}">
</div>
<div class="col-lg-6 mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" id="email" name="email" class="form-control"
value="{{ $data->email }}">
</div>
<div class="col-lg-6 mb-3">
<label for="role" class="form-label">Roles</label>
<select id="role" name="role" autocomplete="role" class="form-select">
<option value="0"> Add Roles </option>
@foreach ($roles as $role)
<option value="{{ $role->name }}">{{ $role->name }}</option>
@endforeach
</select>
</div>
<div class="col-lg-6 mb-3">
<label for="permission" class="form-label">Permission</label>
<select id="permission" name="permission" autocomplete="permission-name"
class="form-select">
<option value="0"> Add Permission </option>
@foreach ($permissions as $permission)
<option value="{{ $permission->name }}">{{ $permission->name }}</option>
@endforeach
</select>
</div>
<div class="col-md-12">
<button type="submit" class="btn btn-primary btn-update">Submit</button>
<a href="{{ route('users.index') }}" class="btn btn-primary btn-cancel">Cancel</a>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="row">
<div class="card">
<div class="card-header">
<h4>{{ __('Roles') }}</h4>
</div>
<div class="card-body">
@if ($data->roles)
@foreach ($data->roles as $user_role)
<form class="d-inline-block" method="POST"
action="{{ route('users.roles.remove', [$data->id, $user_role->id]) }}"
onsubmit="return confirm('Are you sure?');">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">{{ $user_role->name }}</button>
</form>
@endforeach
@endif
</div>
</div>
</div>
<div class="row">
<div class="card">
<div class="card-header">
<h4>{{ __('Permissions') }}</h4>
</div>
<div class="card-body">
@if ($data->permissions)
@foreach ($data->permissions as $user_permission)
<form class="d-inline-block" method="POST"
action="{{ route('users.permissions.revoke', [$data->id, $user_permission->id]) }}"
onsubmit="return confirm('Are you sure?');">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">{{ $user_permission->name }}</button>
</form>
@endforeach
@endif
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,187 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Users List') }}</h2>
{{-- <a href="{{ route('users.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a> --}}
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_users">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('name') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('email') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('username') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->name }}</td>
<td class="tb-col">{{ $item->email }}</td>
<td class="tb-col">{{ $item->username }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('users.show', [$item->id]) }}" class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('users.edit', [$item->id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('users.destroy', [$item->id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('users.index')); ?>
</div>
<div class='card-body'>
<p><b>Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->name}}</span></p><p><b>Email :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->email}}</span></p><p><b>Username :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->username}}</span></p><p><b>Email Verified At :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->email_verified_at}}</span></p><p><b>Password :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->password}}</span></p><p><b>Role :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->role}}</span></p><p><b>Remember Token :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->remember_token}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -42,7 +42,7 @@
<button type="submit">लगइन</button>
</form>
<div class="important-text">
<p>खाता छैन? <a href="{{route('userRegister')}}">रजिस्टर गर्नुहोस !</a></p>
<p>खाता छैन? <a href="{{route('userRegister')}}">लगइन गर्नुहोस! </a></p>
</div>
</div>
</div>

View File

@ -19,22 +19,24 @@
<div class="container">
<div class="register-form">
<h2>रजिस्टर</h2>
<form>
<form id="register-form" action={{ route('postresgistration') }} method="POST">
@csrf
@method('POST')
<div class="form-group">
<label>नाम</label>
<input type="text" class="form-control" placeholder="नाम">
<input type="text" class="form-control" placeholder="नाम" id="name">
</div>
<div class="form-group">
<label>ईमेल</label>
<input type="text" class="form-control" placeholder="ईमेल">
<input type="text" class="form-control" placeholder="ईमेल" id="email">
</div>
<div class="form-group">
<label>फोन</label>
<input type="text" class="form-control" placeholder="फोन">
<input type="text" class="form-control" placeholder="फोन" id="phone">
</div>
<div class="form-group">
<label>पासवर्ड</label>
<input type="text" class="form-control" placeholder="पासवर्ड">
<input type="text" class="form-control" placeholder="पासवर्ड" id="password">
</div>
<div class="row align-items-center">
<div class="col-lg-6 col-md-6 col-sm-6">
@ -47,7 +49,7 @@
<button type="submit">रजिस्टर गर्नुहोस</button>
</form>
<div class="important-text">
<p>खाता ? <a href="{{route('userLogin')}}">लगइन गर्नुहोस!</a></p>
<p>खाता ? <a href="{{route('postresgistration')}}">रजिस्टर गर्नुहोस !</a></p>
</div>
</div>
</div>
@ -56,21 +58,21 @@
@push('js')
<script>
$('#rregister-form').submit(function(e) {
$('#register-form').submit(function(e) {
e.preventDefault();
let form = $(this);
let name = $('#name').val();
let email = $('#email').val();
let password = $('#password').val();
let password_confirmation = $('#password_confirmation').val();
let phone = $('#phone').val();
$.ajax({
url: form.attr('action'),
type: "POST",
data: {
name: name,
email: email,
phone: phone,
password: password,
password_confirmation: password_confirmation,
_token: "{{ csrf_token() }}"
},
success: function(response) {

View File

@ -21,11 +21,11 @@
<div class="col-lg-12">
<div class="news-content" style="text-align: center; margin: 3%;">
<h2>
<a href="news-details.php"><b>{{ $featuredNews->short_description }}</b></a>
<a href="{{ route('newsDetail', ['alias' => $featuredNews->alias]) }}"><b>{{ $featuredNews->short_description }}</b></a>
</h2>
</div>
<div class="single-main-news">
<a href="news-details.php">
<a href="{{ route('newsDetail', ['alias' => $featuredNews->alias]) }}">
<img src="{{ asset($featuredNews->image) }}" alt="image">
</a>
</div>

View File

@ -48,22 +48,23 @@
</div>
<section class="default-news-area pt-5">
<div class="container">
<div class="row">
<div class="col-lg-12">
@if ($ads->isNotEmpty())
@foreach ($ads as $ad)
@if ($ad->ad_categories_id == 16)
<a href="{{ $ad->link }}">
<img src="{{ asset($ad->thumb) }}" alt="{{ $ad->title }}" class="img-fluid">
</a>
@endif
@endforeach
@endif
<div class="container">
<div class="row">
<div class="col-lg-12">
@if ($ads->isNotEmpty())
@foreach ($ads as $ad)
@if ($ad->ad_categories_id == 16)
<a href="{{ $ad->link }}">
<img src="{{ asset($ad->thumb) }}" alt="{{ $ad->title }}"
class="img-fluid">
</a>
@endif
@endforeach
@endif
</div>
</div>
</div>
</div>
</section>
</section>
</div>
@ -92,10 +93,10 @@
</section>
</div><br>
<section class="widget widget_featured_reports">
{{-- <section class="widget widget_featured_reports">
<img src="{{ asset('hulaki/assets/img/ad/prabhu_pay_onlinekhabar.gif') }}" alt="image"
class="img-fluid">
</section>
</section> --}}
</aside>
</div>

View File

@ -42,7 +42,7 @@
</li>
<li>
<i class='bx bx-user'></i>
<a href="login.php">लगइन</a>
<a href="{{route('userLogin')}}">लगइन</a>
</li>
</ul>
</div>
@ -56,7 +56,7 @@
<div class="main-responsive-nav">
<div class="container">
<div class="logo">
<a href="index.php">
<a href="{{route('home')}}">
<img src="<?php echo asset(SITEVARS->primary_logo); ?>" class="black-logo" alt="image">
<img src="<?php echo asset(SITEVARS->secondary_logo); ?>" class="white-logo" alt="image">
</a>
@ -77,7 +77,7 @@
<div class="row align-items-center">
<div class="col-lg-6">
<nav class="navbar navbar-expand-sm navbar-light">
<a class="navbar-brand" href="index.php">
<a class="navbar-brand" href="{{route('home')}}">
<img src="<?php echo asset(SITEVARS->primary_logo); ?>" class="black-logo" alt="image"
style="margin-left: -20px;max-width: 350px; height: auto; display: block;">
<img src="<?php echo asset(SITEVARS->secondary_logo); ?>" class="white-logo" alt="image" style="margin-left: -20px;">

View File

@ -0,0 +1,142 @@
@extends('hulaki_khabar.layout.layout')
@section('content')
<section class="news-details-area bg-ffffff ptb-50">
<div class="container">
<div class="row">
<div class="col-lg-9 col-md-9">
<div class="blog-details-desc">
<h3 id="sidebar">{{ $data->title }}</h3>
{{-- <div class="article-image">
<img src="{{$data->image}}" alt="image">
</div> --}}
<section class="default-news-area ptb-50">
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-4">
<div class="single-video-item">
<div class="video-news-image">
<a href="video-details.php">
<img src="{{ asset($data->image) }}" alt="image">
</a>
<a href="{{ $data->video_url }}" class="popup-youtube">
<i class='bx bx-play-circle'></i>
</a>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="article-content">
<div class="sports-news-content">
{!! $data->description !!}
</div>
</div>
</div>
<section class="default-news-area pt-5">
<div class="container">
<div class="row">
<div class="col-lg-12">
@if ($ads->isNotEmpty())
@foreach ($ads as $ad)
@if ($ad->ad_categories_id == 16)
<a href="{{ $ad->link }}">
<img src="{{ asset($ad->thumb) }}" alt="{{ $ad->title }}"
class="img-fluid">
</a>
@endif
@endforeach
@endif
</div>
</div>
</div>
</section>
<div class="comments-area">
<h3 class="comments-title"> कमेन्ट :</h3>
<ol class="comment-list">
<li class="comment">
<div class="comment-body">
<footer class="comment-meta">
<div class="comment-author vcard">
<img src="https://templates.envytheme.com/depan/default/assets/img/client/client-1.jpg"
class="avatar" alt="image">
<b class="fn">राम </b>
</div>
</footer>
<div class="comment-content">
<p>देशलाई दशा लाग्नुको मुख्य कारण हामीलाई आफ्नो मान्छे, आफ्नो जिल्ला, आफ्नो
पार्टी, आफ्नो परिवार, आफ्नो जातभन्दा माथि उठ्नु नै छैन, यस्तै कुरामा खुसी भएर
एउटै ढाडेलाई पाँच सात पटकसम्म जिताउन यस्तै लुटतन्त्रको भूमिका </p>
</div>
<div class="reply">
<a href="#" class="comment-reply-link">रिप्लाई </a>
</div>
</div>
<ol class="children">
<li class="comment">
<div class="comment-body">
<footer class="comment-meta">
<div class="comment-author vcard">
<img src="https://templates.envytheme.com/depan/default/assets/img/client/client-2.jpg"
class="avatar" alt="image">
<b class="fn">हरी </b>
</div>
</footer>
<div class="comment-content">
<p>बजेट मात्र परेर के गर्नु बिकास सुन्री सबै बजेट आफ्नो कार्यकर्ता
झोलेहरुको पेट भर्दै सक्छ्न </p>
</div>
<div class="reply">
<a href="#" class="comment-reply-link">रिप्लाई </a>
</div>
</div>
</li>
</ol>
</li>
</ol>
<div class="comment-respond">
<h3 class="comment-reply-title">रिप्लाई दिनुहोस </h3>
<form class="comment-form">
<p class="comment-form-comment">
<label>कमेन्ट </label>
<textarea name="comment" id="comment" cols="45" placeholder="कमेन्ट ...*" rows="5" maxlength="65525"
required="required"></textarea>
</p>
<p class="form-submit">
<input type="submit" name="submit" id="submit" class="submit" value="पोस्ट ">
</p>
</form>
</div>
</div>
</div>
<div class="col-lg-3" id="sidebar">
<aside class="widget-area mt-50">
<div>
<section class="widget widget_latest_news_thumb">
<h3 class="widget-title">पछिल्लो समाचार </h3>
@foreach ($recentNews as $item)
<article class="item">
<a href="{{route('newsDetail',['alias'=> $item->alias])}}" class="thumb">
<img src="{{ asset($item->image) }}" alt="{{ $item->title }}">
</a>
<div class="info">
<h4 class="title usmall"><a href="{{route('newsDetail',['alias'=> $item->alias])}}">{{ $item->title }}</a></h4>
</div>
</article>
@endforeach
</section>
</div>
</aside>
</div>
</div>
</div>
</section>
@endsection

View File

@ -25,7 +25,7 @@
<div class="row align-items-center">
<div class="col-lg-4">
<div class="video-news-image">
<a href="news-details.php">
<a href="{{route('videoDetail',['alias'=> $video->alias])}}">
<img src="{{ $video->image }}" alt="image">
</a>
@ -38,7 +38,7 @@
<div class="col-lg-8">
<div class="video-news-content mt-0">
<h3>
<a href="news-details.php">{{ $video->title }}</a>
<a href="{{route('videoDetail',['alias'=> $video->alias])}}" style="font-size: 30px;">{{ $video->title }}</a>
</h3>
<p>{!! $video->description !!}</p>
</div>
@ -53,7 +53,7 @@
<div class="col-lg-4 col-md-4">
<div class="single-video-item">
<div class="video-news-image">
<a href="news-details.php">
<a href="{{route('videoDetail',['alias'=> $video->alias])}}">
<img src="{{ $video->image }}" alt="image">
</a>
@ -64,7 +64,7 @@
<div class="video-news-content">
<h3>
<a href="news-details.php">{{ $video->title }}</a>
<a href="{{route('videoDetail',['alias'=> $video->alias])}}">{{ $video->title }}</a>
</h3>
</div>
</div>
@ -77,7 +77,7 @@
<div class="col-lg-4 col-md-4">
<div class="video-item mb-30">
<div class="video-news-image">
<a href="news-details.php">
<a href="{{route('videoDetail',['alias'=> $video->alias])}}">
<img src="{{ $video->image }}" alt="image">
</a>
@ -88,7 +88,7 @@
<div class="video-news-content">
<h3>
<a href="news-details.php">{{ $video->title }}</a>
<a href="{{route('videoDetail',['alias'=> $video->alias])}}">{{ $video->title }}</a>
</h3>
</div>
</div>