update
This commit is contained in:
@@ -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'),
|
||||
]
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user