This commit is contained in:
2024-12-13 08:31:39 +07:00
parent 1ead9da097
commit 5bdf96851e
3554 changed files with 400518 additions and 83328 deletions
+7
View File
@@ -22,6 +22,12 @@ urlpatterns = [
path('admin/service/edit/<slug:slug>', adminServiceEdit, name='adminServiceEdit'),
path('admin/service/delete/<int:id>', adminServiceDelete, name='adminServiceDelete'),
# Admin Service URLS
path('admin/products', adminProductList, name='adminProductList'),
path('admin/product/create', adminProductCreate, name='adminProductCreate'),
path('admin/product/edit/<slug:slug>', adminProductEdit, name='adminProductEdit'),
path('admin/product/delete/<int:id>', adminProductDelete, name='adminProductDelete'),
# Admin Slider Element URLS
path('admin/element/sliders', adminSliderElementList, name='adminSliderElementList'),
path('admin/element/slider/create', adminSliderElementCreate, name='adminSliderElementCreate'),
@@ -59,6 +65,7 @@ urlpatterns = [
path('admin/pages/home-page', AdminHomePage, name='AdminHomePage'),
path('admin/pages/about-page', AdminAboutPage, name='AdminAboutPage'),
path('admin/pages/service-page', AdminServicePage, name='AdminServicePage'),
path('admin/pages/product-page', AdminProductPage, name='AdminProductPage'),
path('admin/pages/project-page', AdminProjectPage, name='AdminProjectPage'),
path('admin/pages/contact-page', AdminContactPage, name='AdminContactPage'),
]
+82
View File
@@ -16,6 +16,9 @@ from service.models import *
from service.forms import *
from project.models import *
from project.forms import *
from product.models import *
from product.forms import *
# # # # # # # # # # # # # # # # # #
# Admin Home Page #
@@ -24,6 +27,7 @@ from project.forms import *
@both_role_required
def adminHome(request):
services = serviceSection.objects.all()
products = productSection.objects.all()
projects = projectSection.objects.all()
clients = clientSection.objects.all()
contacts = Contact.objects.all().order_by('-created_at')
@@ -31,6 +35,7 @@ def adminHome(request):
context = {
'title' : 'Dashboard',
'services': services,
'products': products,
'projects': projects,
'clients': clients,
'contacts' : contacts,
@@ -208,6 +213,64 @@ def adminServiceDelete(request, id):
messages.warning(request, 'Service deleted!')
return redirect('adminServiceList')
# # # # # # # # # # # # # # # # # #
# Admin Product #
# # # # # # # # # # # # # # # # # #
@login_required(login_url='logIn')
@admin_role_required
def adminProductList(request):
products = productSection.objects.all()
context = {
'title' : 'Products',
'products' : products,
}
return render(request, 'dashboard/main/product/products.html', context)
@login_required(login_url='logIn')
@admin_role_required
def adminProductCreate(request):
if request.method == 'POST':
form = productForm(request.POST, request.FILES)
if form.is_valid():
form.save()
messages.success(request, 'Product created successfully!')
return redirect('adminProductList')
else:
form = productForm()
context = {
'title' : 'Create Product',
'form' : form,
}
return render(request, 'dashboard/main/product/create.html', context)
@login_required(login_url='logIn')
@admin_role_required
def adminProductEdit(request, slug):
product = get_object_or_404(productSection, slug=slug)
if request.method == 'POST':
form = productForm(request.POST, request.FILES, instance=product)
if form.is_valid():
form.save()
messages.success(request, 'Product updated successfully!')
return redirect('adminProductList')
else:
form = productForm(instance=product)
context = {
'title' : 'Edit Product',
'product' : product,
'form' : form,
}
return render(request, 'dashboard/main/product/edit.html', context)
@login_required(login_url='logIn')
@admin_role_required
def adminProductDelete(request, id):
product = get_object_or_404(productSection, id=id)
product.delete()
messages.warning(request, 'Product deleted!')
return redirect('adminProductList')
# # # # # # # # # # # # # # # # # #
# Admin Slider Element #
# # # # # # # # # # # # # # # # # #
@@ -617,6 +680,25 @@ def AdminServicePage(request):
}
return render(request, 'dashboard/main/pages/service.html', context)
@login_required(login_url='logIn')
@admin_role_required
def AdminProductPage(request):
productSEO = productPageSEO.objects.first()
if request.method == 'POST':
SeoForm = productPageSEOForm(request.POST, instance = productSEO)
if SeoForm.is_valid():
SeoForm.save()
messages.success(request, 'Product page seo updated successfully!')
return redirect('AdminProductPage')
else:
SeoForm = productPageSEOForm(instance = productSEO)
context = {
'title' : 'Product Page',
'SeoForm' : SeoForm,
}
return render(request, 'dashboard/main/pages/product.html', context)
@login_required(login_url='logIn')
@admin_role_required
def AdminProjectPage(request):