initial
This commit is contained in:
90
templates/dashboard/main/custompage/create.html
Normal file
90
templates/dashboard/main/custompage/create.html
Normal file
@@ -0,0 +1,90 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% load customtag %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Custom Pages</li>
|
||||
<li class="breadcrumb-item active">Create Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title<span class="text-danger">*</span></label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug (Leave it blank)</label>
|
||||
{{ form.slug|attr:'readonly=readonly' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.content.id_for_label }}" class="form-label">Page Content<span class="text-danger">*</span></label>
|
||||
<br>
|
||||
<div class="form-control ckf" style="">{{ form.content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
90
templates/dashboard/main/custompage/edit.html
Normal file
90
templates/dashboard/main/custompage/edit.html
Normal file
@@ -0,0 +1,90 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% load customtag %}
|
||||
{% block title %}Edit {{ object.title }} Page - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Custom Pages</li>
|
||||
<li class="breadcrumb-item active">Edit Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title<span class="text-danger">*</span></label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug (Leave it blank)</label>
|
||||
{{ form.slug|attr:'readonly=readonly' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.content.id_for_label }}" class="form-label">Page Content<span class="text-danger">*</span></label>
|
||||
<br>
|
||||
<div class="form-control ckf" style="">{{ form.content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
118
templates/dashboard/main/custompage/index.html
Normal file
118
templates/dashboard/main/custompage/index.html
Normal file
@@ -0,0 +1,118 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>All Pages</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Custom Pages</li>
|
||||
<li class="breadcrumb-item active">All Pages</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Pages</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'adminCustomPageCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Page</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Title</th>
|
||||
<th>Slug</th>
|
||||
<th>Visit</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for page in pages %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td><a href="{% url 'adminCustomPageEdit' page.slug %}">{{ page.title }}</a></td>
|
||||
<td>{{ page.slug }}</td>
|
||||
<td><a href="{% if request.is_secure %}https://{{ request.get_host }}/{{page.slug}}{% else %}http://{{ request.get_host }}/{{page.slug}}{% endif %}" class="ajax">{{page.title}}</a></td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'adminCustomPageEdit' page.slug %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ page.id }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'adminCustomPageDelete' page.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
120
templates/dashboard/main/elements/client/clients.html
Normal file
120
templates/dashboard/main/elements/client/clients.html
Normal file
@@ -0,0 +1,120 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Clients</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Elements</li>
|
||||
<li class="breadcrumb-item active">Clients</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Clients</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'adminClientElementCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Client</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Image</th>
|
||||
<th>Name</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for client in clients %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
{% if client.image %}
|
||||
<td><img src="{{ client.image.url }}" style="width:50px; border-radius:5px;" alt="timg" srcset=""></td>
|
||||
{% else %}
|
||||
<td>No image</td>
|
||||
{% endif %}
|
||||
<td><a href="{% url 'adminClientElementEdit' client.id %}">{{ client.client_name }}</a></td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'adminClientElementEdit' client.id %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ client.id }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'adminClientElementDelete' client.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
76
templates/dashboard/main/elements/client/create.html
Normal file
76
templates/dashboard/main/elements/client/create.html
Normal file
@@ -0,0 +1,76 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Client</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Elements</li>
|
||||
<li class="breadcrumb-item active">Create Client</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.image.id_for_label }}" class="form-label">Image</label>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.client_name.id_for_label }}" class="form-label">Client Name</label>
|
||||
{{ form.client_name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
81
templates/dashboard/main/elements/client/edit.html
Normal file
81
templates/dashboard/main/elements/client/edit.html
Normal file
@@ -0,0 +1,81 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Client</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Elements</li>
|
||||
<li class="breadcrumb-item active">Edit Client</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{% if client.image %}
|
||||
<img class="mb-2" style="border-radius:5px;" src="{{ client.image.url }}" width="100" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
<label for="{{ form.image.id_for_label }}" class="form-label">Image</label>
|
||||
<br>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.client_name.id_for_label }}" class="form-label">Client Name</label>
|
||||
{{ form.client_name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
131
templates/dashboard/main/elements/slider/create.html
Normal file
131
templates/dashboard/main/elements/slider/create.html
Normal file
@@ -0,0 +1,131 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Slider</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Elements</li>
|
||||
<li class="breadcrumb-item active">Create Slider</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.image.id_for_label }}" class="form-label">Image</label>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title</label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.subtitle.id_for_label }}" class="form-label">Sub-Title</label>
|
||||
{{ form.subtitle }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button1_text.id_for_label }}" class="form-label">Button 1 Text</label>
|
||||
{{ form.button1_text }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button1_url.id_for_label }}" class="form-label">Button 1 Url</label>
|
||||
{{ form.button1_url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button2_text.id_for_label }}" class="form-label">Button 2 Text</label>
|
||||
{{ form.button2_text }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button2_url.id_for_label }}" class="form-label">Button 2 Url</label>
|
||||
{{ form.button2_url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.description.id_for_label }}" class="form-label">Description</label>
|
||||
<br>
|
||||
{{ form.description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
136
templates/dashboard/main/elements/slider/edit.html
Normal file
136
templates/dashboard/main/elements/slider/edit.html
Normal file
@@ -0,0 +1,136 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Slider</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Elements</li>
|
||||
<li class="breadcrumb-item active">Edit Slider</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{% if slider.image %}
|
||||
<img class="mb-2" src="{{ slider.image.url }}" style="border-radius:5px;" width="100" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
<label for="{{ form.image.id_for_label }}" class="form-label">Image</label>
|
||||
<br>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title</label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.subtitle.id_for_label }}" class="form-label">Sub-Title</label>
|
||||
{{ form.subtitle }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button1_text.id_for_label }}" class="form-label">Button 1 Text</label>
|
||||
{{ form.button1_text }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button1_url.id_for_label }}" class="form-label">Button 1 Url</label>
|
||||
{{ form.button1_url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button2_text.id_for_label }}" class="form-label">Button 2 Text</label>
|
||||
{{ form.button2_text }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.button2_url.id_for_label }}" class="form-label">Button 2 Url</label>
|
||||
{{ form.button2_url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.description.id_for_label }}" class="form-label">Description</label>
|
||||
<br>
|
||||
{{ form.description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
124
templates/dashboard/main/elements/slider/sliders.html
Normal file
124
templates/dashboard/main/elements/slider/sliders.html
Normal file
@@ -0,0 +1,124 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Sliders</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Elements</li>
|
||||
<li class="breadcrumb-item active">Sliders</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Sliders</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'adminSliderElementCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Slider</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Image</th>
|
||||
<th>Title</th>
|
||||
<th>Subtitle</th>
|
||||
<th>Description</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for slider in sliders %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
{% if slider.image %}
|
||||
<td><img src="{{ slider.image.url }}" width="50" alt="sliderImage"></td>
|
||||
{% else %}
|
||||
<td>No image</td>
|
||||
{% endif %}
|
||||
<td><a href="{% url 'adminSliderElementEdit' slider.id %}">{{ slider.title }}</a></td>
|
||||
<td>{{ slider.subtitle }}</td>
|
||||
<td>{{ slider.description|slice:":20" }}..</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'adminSliderElementEdit' slider.id %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ slider.id }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'adminSliderElementDelete' slider.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
154
templates/dashboard/main/form_data/contacts.html
Normal file
154
templates/dashboard/main/form_data/contacts.html
Normal file
@@ -0,0 +1,154 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Contact Submissions</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Form Data</li>
|
||||
<li class="breadcrumb-item active">Contact Form</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Contacts</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Email</th>
|
||||
<th>Phone</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for contact in contacts %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td><a href="#" data-bs-toggle="modal" data-bs-target="#editcontactModal{{ contact.id }}">{{ contact.name }}</a></td>
|
||||
<td>{{ contact.email }}</td>
|
||||
<td>{{ contact.phone }}</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit">
|
||||
<!-- Link to open the modal -->
|
||||
<a href="#" data-bs-toggle="modal" data-bs-target="#editcontactModal{{ contact.id }}"><i class="icon-eye"></i></a>
|
||||
|
||||
<!-- Bootstrap 4 Modal -->
|
||||
<div class="modal fade" id="editcontactModal{{ contact.id }}" tabindex="-1" role="dialog" aria-labelledby="editcontactModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="editcontactModalLabel">{{contact.name}}'s Submission</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Include your edit form here -->
|
||||
<p><strong>Name:</strong> {{ contact.name }}</p>
|
||||
<p><strong>Email:</strong> <a href="mailto:{{ contact.email }}">{{ contact.email }}</a></p>
|
||||
<p><strong>Phone:</strong> {{ contact.phone }}</p>
|
||||
<p><strong>Subject:</strong> {{ contact.subject }}</p>
|
||||
<p><strong>Message:</strong> {{ contact.message }}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="delete"><a href="#" data-slug="{{ contact.id }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'AdminContactDelete' contact.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
291
templates/dashboard/main/index.html
Normal file
291
templates/dashboard/main/index.html
Normal file
@@ -0,0 +1,291 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% load customtag %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
@media screen and (max-width: 1400px) {
|
||||
.lghide1 {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 1400px) {
|
||||
.lghide2 {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#ww_7b6924a9addc2 {
|
||||
background-color: #9E9E9E;
|
||||
background-image: url(https://app1.weatherwidget.org/skin/img/bg/rainy_day.jpg);
|
||||
height: 337px !important;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.ww-box {
|
||||
margin-top: 14% !important;
|
||||
}
|
||||
|
||||
.ww_source {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#ww_7b6924a9addc2 {
|
||||
border-radius: 10px !important;
|
||||
background-color: #262932 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Dashboard</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Dashboard</li>
|
||||
<li class="breadcrumb-item active">Home</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row widget-grid">
|
||||
<div class="col-xxl-4 col-sm-6 box-col-6">
|
||||
<div class="card profile-box">
|
||||
<div class="card-body">
|
||||
<div class="media">
|
||||
<div class="media-body">
|
||||
<div class="greeting-user">
|
||||
<h4 class="f-w-600">Welcome {% if request.user.is_authenticated %}{{request.user.userprofile.name}}{% if request.user.is_verified %}<svg xmlns="http://www.w3.org/2000/svg" class="verify-ico" width="18" height="18" fill="#fff" viewBox="0 0 512 512"><title>ionicons-v5-e</title><path d="M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48ZM218,360.38,137.4,270.81l23.79-21.41,56,62.22L350,153.46,374.54,174Z"/></svg>{% endif %} {% else %}there {% endif %}</h4>
|
||||
<p>Here whats happing in your account today</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="clockbox">
|
||||
<svg id="clock" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
|
||||
<g id="face">
|
||||
<circle class="circle" cx="300" cy="300" r="253.9"></circle>
|
||||
<path class="hour-marks" d="M300.5 94V61M506 300.5h32M300.5 506v33M94 300.5H60M411.3 107.8l7.9-13.8M493 190.2l13-7.4M492.1 411.4l16.5 9.5M411 492.3l8.9 15.3M189 492.3l-9.2 15.9M107.7 411L93 419.5M107.5 189.3l-17.1-9.9M188.1 108.2l-9-15.6"></path>
|
||||
<circle class="mid-circle" cx="300" cy="300" r="16.2"></circle>
|
||||
</g>
|
||||
<g id="hour">
|
||||
<path class="hour-hand" d="M300.5 298V142"></path>
|
||||
<circle class="sizing-box" cx="300" cy="300" r="253.9"></circle>
|
||||
</g>
|
||||
<g id="minute">
|
||||
<path class="minute-hand" d="M300.5 298V67"></path>
|
||||
<circle class="sizing-box" cx="300" cy="300" r="253.9"></circle>
|
||||
</g>
|
||||
<g id="second">
|
||||
<path class="second-hand" d="M300.5 350V55"></path>
|
||||
<circle class="sizing-box" cx="300" cy="300" r="253.9"> </circle>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="badge f-10 p-0" id="txt"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cartoon"><img class="img-fluid" src="{% static 'admin/assets/images/dashboard/cartoon.svg' %}" alt="vector women with leptop"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xxl-auto col-xl-3 col-sm-6 box-col-6">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="col-xl-12">
|
||||
<div class="card widget-1">
|
||||
<div class="card-body">
|
||||
<div class="widget-content">
|
||||
<div class="widget-round primary">
|
||||
<div class="bg-round">
|
||||
<i class="fa fa-laptop" aria-hidden="true"></i>
|
||||
<svg class="half-circle svg-fill">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#halfcircle"></use>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h4>{{ services.count }}</h4><span class="f-light">Services</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xxl-auto col-xl-3 col-sm-6 box-col-6">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="col-xl-12">
|
||||
<div class="card widget-1">
|
||||
<div class="card-body">
|
||||
<div class="widget-content">
|
||||
<div class="widget-round warning">
|
||||
<div class="bg-round">
|
||||
<i class="fa fa-pie-chart" aria-hidden="true"></i>
|
||||
<svg class="half-circle svg-fill">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#halfcircle"></use>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h4>{{ projects.count }}</h4><span class="f-light">Projects</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if request.user.role == 'Admin' %}
|
||||
<div class="col-xxl-auto col-xl-12 col-sm-6 box-col-6">
|
||||
<div class="row">
|
||||
<div class="col-xxl-12 col-xl-3 box-col-12">
|
||||
<div class="card widget-1 widget-with-chart">
|
||||
<div class="card-body">
|
||||
<div class="widget-content">
|
||||
<div class="widget-round warning">
|
||||
<div class="bg-round">
|
||||
<i class="fa fa-user-o" aria-hidden="true"></i>
|
||||
<svg class="half-circle svg-fill">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#halfcircle"></use>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h4>{{ clients.count }}</h4><span class="f-light">Clients</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xxl-12 col-xl-3 box-col-12 lghide2">
|
||||
<div class="card widget-1 widget-with-chart">
|
||||
<div class="card-body">
|
||||
<div class="widget-content">
|
||||
<div class="widget-round success">
|
||||
<div class="bg-round">
|
||||
<i class="fa fa-file-text-o" aria-hidden="true"></i>
|
||||
<svg class="half-circle svg-fill">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#halfcircle"></use>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h4>{{ contacts.count }}</h4><span class="f-light">Contacts</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xxl-12 col-xl-12 col-sm-12 box-col-12 lghide1">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xxl-6 col-xl-6 box-col-12">
|
||||
<div class="card widget-1 widget-with-chart">
|
||||
<div class="card-body">
|
||||
<div class="widget-content">
|
||||
<div class="widget-round success">
|
||||
<div class="bg-round">
|
||||
<i class="fa fa-file-text-o" aria-hidden="true"></i>
|
||||
<svg class="half-circle svg-fill">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#halfcircle"></use>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h4>{{ contacts.count }}</h4><span class="f-light">Contacts</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if request.user.role == 'Admin' %}
|
||||
<div class="col-xxl-8 col-xl-7 col-md-6 col-sm-7 notification box-col-6">
|
||||
<div class="card height-equal">
|
||||
<div class="card-header card-no-border">
|
||||
<div class="header-top">
|
||||
<h5 class="m-0">Recent Contacts</h5>
|
||||
<div class="card-header-right-icon">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-0">
|
||||
{% if contacts %}
|
||||
<ul>
|
||||
{% for contact in contacts|slice:":3" %}
|
||||
<li class="d-flex">
|
||||
<div class="activity-dot-{{ contact|random_class }}"></div>
|
||||
<div class="w-100 ms-3">
|
||||
<p class="d-flex justify-content-between mb-2"><span class="date-content light-background">{{ contact.created_at }} </span>
|
||||
</p>
|
||||
<h6><a href="#" data-bs-toggle="modal" data-bs-target="#editcontactModal{{ contact.id }}">{{ contact.name }}</a></h6>
|
||||
<!-- Bootstrap 4 Modal -->
|
||||
<div class="modal fade" id="editcontactModal{{ contact.id }}" tabindex="-1" role="dialog" aria-labelledby="editcontactModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="editcontactModalLabel">{{contact.name}}'s Submission</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Include your edit form here -->
|
||||
<p><strong>Name:</strong> {{ contact.name }}</p>
|
||||
<p><strong>Email:</strong> <a href="mailto:{{ contact.email }}">{{ contact.email }}</a></p>
|
||||
<p><strong>Phone:</strong> {{ contact.phone }}</p>
|
||||
<p><strong>Subject:</strong> {{ contact.subject }}</p>
|
||||
<p><strong>Message:</strong> {{ contact.message }}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="f-light">{{ contact.message|truncatewords:'12' }}</span>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<ul>
|
||||
<li class="">
|
||||
<div class="w-100">
|
||||
<h6>You don't have any contacts.</h6>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
</div>
|
||||
{% endblock content %}
|
||||
85
templates/dashboard/main/menu/primary/create.html
Normal file
85
templates/dashboard/main/menu/primary/create.html
Normal file
@@ -0,0 +1,85 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Menu</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Menus</li>
|
||||
<li class="breadcrumb-item active">Create New</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Name<span class="text-danger">*</span></label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.url.id_for_label }}" class="form-label">Url</label>
|
||||
{{ form.url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Order<span class="text-danger">*</span></label>
|
||||
<br>
|
||||
{{ form.order }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
85
templates/dashboard/main/menu/primary/edit.html
Normal file
85
templates/dashboard/main/menu/primary/edit.html
Normal file
@@ -0,0 +1,85 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Menu</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Menus</li>
|
||||
<li class="breadcrumb-item active">Create New</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Name<span class="text-danger">*</span></label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.url.id_for_label }}" class="form-label">Url</label>
|
||||
{{ form.url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Order<span class="text-danger">*</span></label>
|
||||
<br>
|
||||
{{ form.order }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
233
templates/dashboard/main/menu/primary/menus.html
Normal file
233
templates/dashboard/main/menu/primary/menus.html
Normal file
@@ -0,0 +1,233 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
.modal-body {
|
||||
max-height: calc(100vh - 200px); /* Adjust the value as needed */
|
||||
overflow-y: auto;
|
||||
}
|
||||
.modal {
|
||||
overflow: hidden; /* Hide the main modal overflow */
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-height: calc(100vh - 100px); /* Adjust the value to your preference */
|
||||
overflow-y: auto; /* Enable vertical scrolling */
|
||||
}
|
||||
/* Style the modal scrollbar */
|
||||
.modal-body::-webkit-scrollbar {
|
||||
width: 7px; /* Width of the scrollbar */
|
||||
}
|
||||
|
||||
/* Track */
|
||||
.modal-body::-webkit-scrollbar-track {
|
||||
background: #333; /* Dark background color of the track */
|
||||
}
|
||||
|
||||
/* Handle */
|
||||
.modal-body::-webkit-scrollbar-thumb {
|
||||
background: #888; /* Gray color of the scrollbar handle */
|
||||
border-radius: 6px; /* Rounded corners on the handle */
|
||||
}
|
||||
|
||||
/* On hover, style the handle */
|
||||
.modal-body::-webkit-scrollbar-thumb:hover {
|
||||
background: #555; /* Lighter gray color on hover */
|
||||
}
|
||||
@media (max-width: 576px) {
|
||||
.mdbtn {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Primary Menus</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Menus</li>
|
||||
<li class="breadcrumb-item active">Primary Menu</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target">
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<circle cx="12" cy="12" r="6"></circle>
|
||||
<circle cx="12" cy="12" r="2"></circle>
|
||||
</svg>
|
||||
All Menus
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div>
|
||||
<a class="btn btn-primary mdbtn" href="{% url 'AdminPrimaryMenuCreate' %}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square">
|
||||
<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
|
||||
<line x1="12" y1="8" x2="12" y2="16"></line>
|
||||
<line x1="8" y1="12" x2="16" y2="12"></line>
|
||||
</svg>
|
||||
Create New Menu
|
||||
</a>
|
||||
<a class="btn btn-secondary mdbtn" data-bs-toggle="modal" data-bs-target="#menuModal" href=""> Default Website URLS </a>
|
||||
<!-- Bootstrap 4 Modal -->
|
||||
<div class="modal fade" id="menuModal" tabindex="-1" role="dialog" aria-labelledby="menuModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="editcontactModalLabel">Website's All Default URLS</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Include your edit form here -->
|
||||
<p><strong>Home Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}{% else %}http://{{ request.get_host }}{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>About Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/about-us/{% else %}http://{{ request.get_host }}/about-us/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Service Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/services/{% else %}http://{{ request.get_host }}/services/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Project Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/projects/{% else %}http://{{ request.get_host }}/projects/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Pricing Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/pricing/{% else %}http://{{ request.get_host }}/pricing/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Blog Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/blogs/{% else %}http://{{ request.get_host }}/blogs/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Contact Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/contact-us/{% else %}http://{{ request.get_host }}/contact-us/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Terms & Conditions Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/terms-&-conditions/{% else %}http://{{ request.get_host }}/terms-&-conditions/{% endif %}</pre>
|
||||
</p>
|
||||
<p><strong>Privacy Policy Page</strong>
|
||||
<pre> {% if request.is_secure %}https://{{ request.get_host }}/privacy-policy/{% else %}http://{{ request.get_host }}/privacy-policy/{% endif %}</pre>
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" type="button" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Order</th>
|
||||
<th>Name</th>
|
||||
<th>Url</th>
|
||||
<th>Total Submenu</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for menu in menus %}
|
||||
<tr>
|
||||
<td>{{ menu.order }}</td>
|
||||
<td><a href="{% url 'AdminPrimaryMenuEdit' menu.id %}">{{ menu.name }}</a></td>
|
||||
<td>{{ menu.url }}</td>
|
||||
<td>{{ menu.submenu_set.count }}</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'AdminPrimaryMenuEdit' menu.id %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ menu.id }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'AdminPrimaryMenuDelete' menu.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
86
templates/dashboard/main/menu/sub/create.html
Normal file
86
templates/dashboard/main/menu/sub/create.html
Normal file
@@ -0,0 +1,86 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% load customtag %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Sub Menu</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Menus</li>
|
||||
<li class="breadcrumb-item active">Create Sub Menu</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Name<span class="text-danger">*</span></label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.url.id_for_label }}" class="form-label">Url</label>
|
||||
{{ form.url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Parent Menu<<span class="text-danger">*</span>/label>
|
||||
<br>
|
||||
{{ form.parent_menu|add_class:'form-select' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
86
templates/dashboard/main/menu/sub/edit.html
Normal file
86
templates/dashboard/main/menu/sub/edit.html
Normal file
@@ -0,0 +1,86 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% load customtag %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Sub Menu</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Menus</li>
|
||||
<li class="breadcrumb-item active">Edit Sub Menu</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Name<span class="text-danger">*</span></label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.url.id_for_label }}" class="form-label">Url</label>
|
||||
{{ form.url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.order.id_for_label }}" class="form-label">Parent Menu<span class="text-danger">*</span></label>
|
||||
<br>
|
||||
{{ form.parent_menu|add_class:'form-select' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
130
templates/dashboard/main/menu/sub/menus.html
Normal file
130
templates/dashboard/main/menu/sub/menus.html
Normal file
@@ -0,0 +1,130 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Sub Menus</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Menus</li>
|
||||
<li class="breadcrumb-item active">Sub Menu</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Sub Menus</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'AdminSubMenuCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Sub Menu</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Url</th>
|
||||
<th>Parent Menu</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for submenu in submenus %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td><a href="{% url 'AdminSubMenuEdit' submenu.id %}">{{ submenu.name }}</a></td>
|
||||
<td>{{ submenu.url }}</td>
|
||||
<td>{{ submenu.parent_menu }}</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'AdminSubMenuEdit' submenu.id %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ submenu.id }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'AdminSubMenuDelete' submenu.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
185
templates/dashboard/main/pages/about.html
Normal file
185
templates/dashboard/main/pages/about.html
Normal file
@@ -0,0 +1,185 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>About Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Pages</li>
|
||||
<li class="breadcrumb-item active">About Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if SeoForm.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in SeoForm.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">First Section</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{{form.media}}
|
||||
{% csrf_token %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-4 col-sm-12 mb-2">
|
||||
<label for="{{ form.image1.id_for_label }}">Image 01</label>
|
||||
<br>
|
||||
{{ form.image1 }}
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12 mb-2">
|
||||
<label for="{{ form.image2.id_for_label }}">Image 02</label><br>
|
||||
{{ form.image2 }}
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12 mb-2">
|
||||
<label for="{{ form.image3.id_for_label }}">Image 03</label><br>
|
||||
{{ form.image3 }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-4 col-sm-12 mb-2">
|
||||
<label for="{{ form.subtitle.id_for_label }}">Sub Title</label>
|
||||
{{ form.subtitle }}
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<label for="{{ form.title.id_for_label }}">Title</label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12 mb-2">
|
||||
<label for="{{ form.years_of_experience.id_for_label }}">Years of experience</label>
|
||||
{{ form.years_of_experience }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-4 col-sm-12 mb-2">
|
||||
<label for="{{ form.feature1.id_for_label }}">Feature 01</label>
|
||||
{{ form.feature1 }}
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<label for="{{ form.feature2.id_for_label }}">Feature 02</label>
|
||||
{{ form.feature2 }}
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<label for="{{ form.feature3.id_for_label }}">Feature 03</label>
|
||||
{{ form.feature3 }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-12 col-sm-12 mb-2">
|
||||
<label for="{{ form.long_description.id_for_label }}">Description </label>
|
||||
{{ form.description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">About Us Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'AdminHomePage' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-pencil"></i> Edit</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">SEO</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ SeoForm.meta_title.id_for_label }}">Meta Title</label>
|
||||
{{ SeoForm.meta_title }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ SeoForm.meta_description.id_for_label }}">Meta Description</label>
|
||||
{{ SeoForm.meta_description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
128
templates/dashboard/main/pages/contact.html
Normal file
128
templates/dashboard/main/pages/contact.html
Normal file
@@ -0,0 +1,128 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Contact Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Pages</li>
|
||||
<li class="breadcrumb-item active">Contact Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
{% if SeoForm.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in SeoForm.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Contact Details</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'AdminWebsiteSettings' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-pencil"></i> Edit in Website Settings</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Social Icons</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'AdminHeaderFooterSettings' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-pencil"></i> Edit in Header Footer Settings</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Contact Form Submissions</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'AdminContactList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">SEO</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ SeoForm.meta_title.id_for_label }}">Meta Title</label>
|
||||
{{ SeoForm.meta_title }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ SeoForm.meta_description.id_for_label }}">Meta Description</label>
|
||||
{{ SeoForm.meta_description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
235
templates/dashboard/main/pages/home.html
Normal file
235
templates/dashboard/main/pages/home.html
Normal file
@@ -0,0 +1,235 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Home Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Pages</li>
|
||||
<li class="breadcrumb-item active">Home Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if SeoForm.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in SeoForm.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Slider Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'adminSliderElementList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
<a href="{% url 'adminSliderElementCreate' %}" class="btn btn-primary"><i class="fa fa-plus"></i> Create</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Service Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'adminServiceList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
<a href="{% url 'adminServiceCreate' %}" class="btn btn-primary"><i class="fa fa-plus"></i> Create</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">About Section</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ form.image.id_for_label }}">Image</label>
|
||||
<br>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ form.video_thumbnail.id_for_label }}">Video Thumbnail</label><br>
|
||||
{{ form.video_thumbnail }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ form.subtitle.id_for_label }}">Sub Title </label>
|
||||
{{ form.subtitle }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ form.title.id_for_label }}">Title</label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ form.short_description.id_for_label }}">Short Description</label>
|
||||
{{ form.short_description }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ form.tag_line.id_for_label }}">Tag Line</label>
|
||||
{{ form.tag_line }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ form.ranking_number.id_for_label }}">Ranking</label>
|
||||
{{ form.ranking_number }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ form.experience.id_for_label }}">Experience</label>
|
||||
{{ form.experience }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-12 col-sm-12 mb-2">
|
||||
<label for="{{ form.video_url.id_for_label }}">Video URL</label>
|
||||
{{ form.video_url }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-12 col-sm-12 mb-2">
|
||||
<label for="{{ form.long_description.id_for_label }}">Long Description</label>
|
||||
{{ form.long_description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Project Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'adminProjectList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
<a href="{% url 'adminProjectCreate' %}" class="btn btn-primary"><i class="fa fa-plus"></i> Create</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Client Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'adminClientElementList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
<a href="{% url 'adminClientElementCreate' %}" class="btn btn-primary"><i class="fa fa-plus"></i> Create</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">SEO</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ SeoForm.meta_title.id_for_label }}">Meta Title </label>
|
||||
{{ SeoForm.meta_title }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ SeoForm.meta_description.id_for_label }}">Meta Description </label>
|
||||
{{ SeoForm.meta_description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
102
templates/dashboard/main/pages/project.html
Normal file
102
templates/dashboard/main/pages/project.html
Normal file
@@ -0,0 +1,102 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Project Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Pages</li>
|
||||
<li class="breadcrumb-item active">Project Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
{% if SeoForm.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in SeoForm.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Project Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'adminProjectList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
<a href="{% url 'adminProjectCreate' %}" class="btn btn-primary"><i class="fa fa-plus"></i> Create</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">SEO</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ SeoForm.meta_title.id_for_label }}">Meta Title</label>
|
||||
{{ SeoForm.meta_title }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ SeoForm.meta_description.id_for_label }}">Meta Description</label>
|
||||
{{ SeoForm.meta_description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
101
templates/dashboard/main/pages/service.html
Normal file
101
templates/dashboard/main/pages/service.html
Normal file
@@ -0,0 +1,101 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Service Page</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Pages</li>
|
||||
<li class="breadcrumb-item active">Service Page</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
{% if SeoForm.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in SeoForm.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">Service Section</h6>
|
||||
<div class="d-flex justify-content-start">
|
||||
<a href="{% url 'adminServiceList' %}" class="btn btn-primary" style='margin-right:5px;'><i class="fa fa-eye"></i> View</a>
|
||||
<a href="{% url 'adminServiceCreate' %}" class="btn btn-primary"><i class="fa fa-plus"></i> Create</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h6 class="mb-3">SEO</h6>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-12 mb-2">
|
||||
<label for="{{ SeoForm.meta_title.id_for_label }}">Meta Title</label>
|
||||
{{ SeoForm.meta_title }}
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<label for="{{ SeoForm.meta_description.id_for_label }}">Meta Description</label>
|
||||
{{ SeoForm.meta_description }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Ensure proper indentation for the closing </form> tag -->
|
||||
<button type="submit" class="btn btn-primary mt-3 w-100">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
131
templates/dashboard/main/project/create.html
Normal file
131
templates/dashboard/main/project/create.html
Normal file
@@ -0,0 +1,131 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Project</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Projects</li>
|
||||
<li class="breadcrumb-item active">Create</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.image.id_for_label }}" class="form-label">Image</label>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title</label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug ( Leave blank to auto generate )</label>
|
||||
{{ form.slug }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.category.id_for_label }}" class="form-label">Category</label>
|
||||
{{ form.category }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.client.id_for_label }}" class="form-label">Client</label>
|
||||
{{ form.client }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.company.id_for_label }}" class="form-label">Company</label>
|
||||
{{ form.company }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.duration.id_for_label }}" class="form-label">Duration</label>
|
||||
{{ form.duration }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.description.id_for_label }}" class="form-label">Description</label>
|
||||
<br>
|
||||
<div class="form-control ckf" style="">{{ form.description }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
136
templates/dashboard/main/project/edit.html
Normal file
136
templates/dashboard/main/project/edit.html
Normal file
@@ -0,0 +1,136 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Project</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Projects</li>
|
||||
<li class="breadcrumb-item active">Edit</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{% if project.image %}
|
||||
<img class="mb-2" style="border-radius:5px;" src="{{ project.getProjectImage }}" width="100" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
<label for="{{ form.image.id_for_label }}" class="form-label">Image</label>
|
||||
<br>
|
||||
{{ form.image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title</label>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug ( Leave blank to auto generate )</label>
|
||||
{{ form.slug }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.category.id_for_label }}" class="form-label">Category</label>
|
||||
{{ form.category }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.client.id_for_label }}" class="form-label">Client</label>
|
||||
{{ form.client }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.company.id_for_label }}" class="form-label">Company</label>
|
||||
{{ form.company }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.duration.id_for_label }}" class="form-label">Duration</label>
|
||||
{{ form.duration }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.description.id_for_label }}" class="form-label">Description</label>
|
||||
<br>
|
||||
<div class="form-control ckf" style="">{{ form.description }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,116 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Project Categories</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Projects</li>
|
||||
<li class="breadcrumb-item active">Categories</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Categories</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'adminProjectCategoryCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Category</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Title</th>
|
||||
<th>Slug</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for category in categories %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td><a href="{% url 'adminProjectCategoryEdit' category.slug %}">{{ category.name }}</a></td>
|
||||
<td>{{ category.slug }}</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'adminProjectCategoryEdit' category.slug %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ category.slug }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'adminProjectCategoryDelete' id=category.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,74 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Project Category</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Projects</li>
|
||||
<li class="breadcrumb-item active">Create Category</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title<span class="text-danger">*</span></label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug ( Leave blank to auto generate )</label>
|
||||
{{ form.slug }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
74
templates/dashboard/main/project/partial/category/edit.html
Normal file
74
templates/dashboard/main/project/partial/category/edit.html
Normal file
@@ -0,0 +1,74 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Project Category</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Projects</li>
|
||||
<li class="breadcrumb-item active">Edit Category</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.title.id_for_label }}" class="form-label">Title<span class="text-danger">*</span></label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug ( Leave blank to auto generate )</label>
|
||||
{{ form.slug }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
122
templates/dashboard/main/project/projects.html
Normal file
122
templates/dashboard/main/project/projects.html
Normal file
@@ -0,0 +1,122 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Project</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Project</li>
|
||||
<li class="breadcrumb-item active">Project List</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Projects</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'adminProjectCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Project</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Image</th>
|
||||
<th>Title</th>
|
||||
<th>Category</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for project in projects %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
{% if project.image %}
|
||||
<td><img src="{{ project.getProjectImage }}" width="50" alt="projectImage" style="border-radius:5px;" srcset=""></td>
|
||||
{% else %}
|
||||
<td>No image</td>
|
||||
{% endif %}
|
||||
<td><a href="{% url 'adminProjectEdit' project.slug %}">{{ project.title }}</a></td>
|
||||
<td>{{ project.category }}</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'adminProjectEdit' project.slug %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ project.slug }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'adminProjectDelete' id=project.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
140
templates/dashboard/main/service/create.html
Normal file
140
templates/dashboard/main/service/create.html
Normal file
@@ -0,0 +1,140 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
label.switch {
|
||||
margin-top: -35px;
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
#ver-pills-tab {
|
||||
display: -webkit-box;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Create Service</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Services</li>
|
||||
<li class="breadcrumb-item active">Create Service</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.detail_page_image.id_for_label }}" class="form-label">Service Detail Page Image</label>
|
||||
{{ form.detail_page_image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.name.id_for_label }}" class="form-label">Name</label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug ( Leave blank to auto generate )</label>
|
||||
{{ form.slug }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.fontawesome_icon_class.id_for_label }}" class="form-label">Font-Awesome Icon Class ( <a href="https://fontawesome.com/v5/search?m=free" target="_blank">Use V5</a> )</label>
|
||||
{{ form.fontawesome_icon_class }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.short_description.id_for_label }}" class="form-label">Short Description</label>
|
||||
{{ form.short_description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.detail_page_description.id_for_label }}" class="form-label">Detail Page Description</label>
|
||||
<br>
|
||||
<div class="form-control ckf" style="">{{ form.detail_page_description }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.show_call_now_widget.id_for_label }}" class="form-label">Call Now Widget</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.show_call_now_widget }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
144
templates/dashboard/main/service/edit.html
Normal file
144
templates/dashboard/main/service/edit.html
Normal file
@@ -0,0 +1,144 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
label.switch {
|
||||
margin-top: -35px;
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
#ver-pills-tab {
|
||||
display: -webkit-box;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Edit Service</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Services</li>
|
||||
<li class="breadcrumb-item active">Edit Service</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{% if service.detail_page_image %}
|
||||
<img class="mb-2" style="border-radius:5px;" src="{{ service.detail_page_image.url }}" width="100" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
<label for="{{ form.detail_page_image.id_for_label }}" class="form-label">Service Detail Page Image</label>
|
||||
<br>
|
||||
{{ form.detail_page_image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.name.id_for_label }}" class="form-label">Name</label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slug.id_for_label }}" class="form-label">Slug ( Leave blank to auto generate )</label>
|
||||
{{ form.slug }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.fontawesome_icon_class.id_for_label }}" class="form-label">Font-Awesome Icon Class ( <a href="https://fontawesome.com/v5/search?m=free" target="_blank">Use V5</a> )</label>
|
||||
{{ form.fontawesome_icon_class }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.short_description.id_for_label }}" class="form-label">Short Description</label>
|
||||
{{ form.short_description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.detail_page_description.id_for_label }}" class="form-label">Detail Page Description</label>
|
||||
<br>
|
||||
<div class="form-control ckf" style="">{{ form.detail_page_description }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.show_call_now_widget.id_for_label }}" class="form-label">Call Now Widget</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.show_call_now_widget }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
116
templates/dashboard/main/service/services.html
Normal file
116
templates/dashboard/main/service/services.html
Normal file
@@ -0,0 +1,116 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Services</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg></a></li>
|
||||
<li class="breadcrumb-item">Services</li>
|
||||
<li class="breadcrumb-item active">Service List</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="col-md-12 project-list">
|
||||
<div class="card">
|
||||
<div class="row">
|
||||
<div class="col-md-6 p-0 d-flex">
|
||||
<ul class="nav nav-tabs border-tab" id="top-tab" role="tablist">
|
||||
<li class="nav-item"><a class="nav-link active" id="top-home-tab" data-bs-toggle="tab" href="#top-home" role="tab" aria-controls="top-home" aria-selected="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>All Services</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-6 p-0">
|
||||
<div class="form-group mb-0 me-0"></div><a class="btn btn-primary" href="{% url 'adminServiceCreate' %}"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-square"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>Create New Blog</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Zero Configuration Starts-->
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="display" id="basic-1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Slug</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for service in services %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td><a href="{% url 'adminServiceEdit' service.slug %}">{{ service.name }}</a></td>
|
||||
<td>{{ service.slug }}</td>
|
||||
<td>
|
||||
<ul class="action">
|
||||
<li class="edit"> <a href="{% url 'adminServiceEdit' service.slug %}"><i class="icon-pencil-alt"></i></a></li>
|
||||
<li class="delete"><a href="#" data-slug="{{ service.slug }}"><i class="icon-trash"></i></a></li>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
var deleteButtons = document.querySelectorAll('.icon-trash');
|
||||
|
||||
deleteButtons.forEach(function(button) {
|
||||
button.addEventListener('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var url = "{% url 'adminServiceDelete' id=service.id %}";
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href = url;
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Zero Configuration Ends-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
226
templates/dashboard/main/setting/hf.html
Normal file
226
templates/dashboard/main/setting/hf.html
Normal file
@@ -0,0 +1,226 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% load customtag %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
label.switch {
|
||||
margin-top: -35px;
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
#ver-pills-tab {
|
||||
display: -webkit-box;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Header Footer Settings</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Settings</li>
|
||||
<li class="breadcrumb-item active">Header Footer</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-12 col-xxl-12">
|
||||
<div class=" height-equal">
|
||||
<div class="">
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="nav flex-column nav-pills nav-primary" id="ver-pills-tab" role="tablist" aria-orientation="vertical">
|
||||
<a class="nav-link active" id="ver-pills-social-tab" data-bs-toggle="pill" href="#ver-pills-social" role="tab" aria-controls="ver-pills-social" aria-selected="true">Social Links</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-header-tab" data-bs-toggle="pill" href="#ver-pills-header" role="tab" aria-controls="ver-pills-header" aria-selected="true">Header</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-footer-tab" data-bs-toggle="pill" href="#ver-pills-footer" role="tab" aria-controls="ver-pills-footer" aria-selected="false">Footer</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-10 col-xs-12">
|
||||
|
||||
<div class="tab-content" id="ver-pills-tabContent">
|
||||
<div class="tab-pane fade show active" id="ver-pills-social" role="tabpanel" aria-labelledby="ver-pills-social-tab">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social1_icon.id_for_label }}" class="form-label">Social 01 Icon Class ( <a href="https://fontawesome.com/v5/search?m=free" target="_blank">Get from here</a> )</label>
|
||||
{{ form.social1_icon|attr:'placeholder=eg. fab fa-facebook-f' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social1_link.id_for_label }}" class="form-label">Social 01 Link</label>
|
||||
{{ form.social1_link|attr:'placeholder=eg. https://facebook.com/username' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social2_icon.id_for_label }}" class="form-label">Social 02 Icon Class ( <a href="https://fontawesome.com/v5/search?m=free" target="_blank">Get from here</a> )</label>
|
||||
{{ form.social2_icon|attr:'placeholder=eg. fab fa-instagram' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social2_link.id_for_label }}" class="form-label">Social 02 Link</label>
|
||||
{{ form.social2_link|attr:'placeholder=eg. https://instagram.com/username' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social3_icon.id_for_label }}" class="form-label">Social 03 Icon Class ( <a href="https://fontawesome.com/v5/search?m=free" target="_blank">Get from here</a> )</label>
|
||||
{{ form.social3_icon|attr:'placeholder=eg. fab fa-linkedin-in' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social3_link.id_for_label }}" class="form-label">Social 03 Link</label>
|
||||
{{ form.social3_link|attr:'placeholder=eg. https://linkedin.com/username' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social4_icon.id_for_label }}" class="form-label">Social 04 Icon Class ( <a href="https://fontawesome.com/v5/search?m=free" target="_blank">Get from here</a> )</label>
|
||||
{{ form.social4_icon|attr:'placeholder=eg. fab fa-youtube' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.social4_link.id_for_label }}" class="form-label">Social 04 Link</label>
|
||||
{{ form.social4_link|attr:'placeholder=eg. https://youtube.com/username' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade " id="ver-pills-header" role="tabpanel" aria-labelledby="ver-pills-header-tab">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.header_button_text.id_for_label }}" class="form-label">Header Button Text</label>
|
||||
{{ form.header_button_text }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.header_button_url.id_for_label }}" class="form-label">Header Button URL</label>
|
||||
{{ form.header_button_url }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane fade " id="ver-pills-footer" role="tabpanel" aria-labelledby="ver-pills-footer-tab">
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.footer_col1_description.id_for_label }}" class="form-label">Footer Column 1 Description</label>
|
||||
{{ form.footer_col1_description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.footer_copyright.id_for_label }}" class="form-label">Footer Copyright</label>
|
||||
{{ form.footer_copyright }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-5" type="submit">Save</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
119
templates/dashboard/main/setting/seo.html
Normal file
119
templates/dashboard/main/setting/seo.html
Normal file
@@ -0,0 +1,119 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>SEO Settings</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Settings</li>
|
||||
<li class="breadcrumb-item active">SEO</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.meta_image.id_for_label }}" class="form-label">Meta Image</label>
|
||||
<br>
|
||||
{% if seo.meta_image %}
|
||||
<img class="mb-2" src="{{ seo.meta_image.url }}" width="200" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
{{ form.meta_image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.meta_title.id_for_label }}" class="form-label">Meta Title</label>
|
||||
{{ form.meta_title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.tag_line.id_for_label }}" class="form-label">Tag Line</label>
|
||||
{{ form.tag_line }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.meta_description.id_for_label }}" class="form-label">Meta Description</label>
|
||||
{{ form.meta_description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.seo_keywords.id_for_label }}" class="form-label">SEO Keywords</label>
|
||||
{{ form.seo_keywords }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary mb-3" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
459
templates/dashboard/main/setting/website.html
Normal file
459
templates/dashboard/main/setting/website.html
Normal file
@@ -0,0 +1,459 @@
|
||||
{% extends 'dashboard/base.html' %}
|
||||
{% load static %}
|
||||
{% block title %}{{ title }} - {{ seo_settings.meta_title }}{% endblock title %}
|
||||
{% block content %}
|
||||
<style>
|
||||
label.switch {
|
||||
margin-top: -35px;
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
#ver-pills-tab {
|
||||
display: -webkit-box;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<div class="page-body">
|
||||
<div class="container-fluid">
|
||||
<div class="page-title">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Website Settings</h3>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'adminHome' %}">
|
||||
<svg class="stroke-icon">
|
||||
<use href="{% static 'admin/assets/svg/icon-sprite.svg' %}#stroke-home"></use>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">Settings</li>
|
||||
<li class="breadcrumb-item active">Website Settings</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid starts-->
|
||||
<div class="container-fluid">
|
||||
<div class="row project-cards">
|
||||
<div class="col-md-12 project-list">
|
||||
</div>
|
||||
<div class="container">
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{form.media}}
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<ul>
|
||||
{% for field, errors in form.errors.items %}
|
||||
{% for error in errors %}
|
||||
<li>{{ field }}: {{ error }}</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-12 col-xxl-12">
|
||||
<div class=" height-equal">
|
||||
<div class="">
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-xs-12">
|
||||
<div class="nav flex-column nav-pills nav-primary" id="ver-pills-tab" role="tablist" aria-orientation="vertical">
|
||||
|
||||
<a class="nav-link active" id="ver-pills-home-tab" data-bs-toggle="pill" href="#ver-pills-home" role="tab" aria-controls="ver-pills-home" aria-selected="true">General</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-logo-tab" data-bs-toggle="pill" href="#ver-pills-logo" role="tab" aria-controls="ver-pills-logo" aria-selected="false">Logo</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-contact-tab" data-bs-toggle="pill" href="#ver-pills-contact" role="tab" aria-controls="ver-pills-contact" aria-selected="false">Contact</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-sms-tab" data-bs-toggle="pill" href="#ver-pills-sms" role="tab" aria-controls="ver-pills-sms" aria-selected="false">SMS</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-analytics-tab" data-bs-toggle="pill" href="#ver-pills-analytics" role="tab" aria-controls="ver-pills-analytics" aria-selected="false">Social</a>
|
||||
|
||||
<a class="nav-link" id="ver-pills-others-tab" data-bs-toggle="pill" href="#ver-pills-others" role="tab" aria-controls="ver-pills-others" aria-selected="false">Others</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-10 col-xs-12">
|
||||
<div class="tab-content" id="ver-pills-tabContent">
|
||||
<div class="tab-pane fade show active" id="ver-pills-home" role="tabpanel" aria-labelledby="ver-pills-home-tab">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.name.id_for_label }}" class="form-label">Application Name</label>
|
||||
{{ form.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.author.id_for_label }}" class="form-label">Author</label>
|
||||
{{ form.author }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.currency_name.id_for_label }}" class="form-label">Currency Name</label>
|
||||
{{ form.currency_name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.currency_symbol.id_for_label }}" class="form-label">Currency Symbol</label>
|
||||
{{ form.currency_symbol }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.slider_particle_is_active.id_for_label }}" class="form-label">Slider Particle Animation</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.slider_particle_is_active }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
<p>After turning it off your website's slider particle animation will be disappear. If you want the animation keep it on.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.default_menu_is_active.id_for_label }}" class="form-label">Default Menu</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.default_menu_is_active }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
<p>After turning it off your website's default navigation menu will be disappear then you can add your custom menu from <a href="{% url "AdminPrimaryMenuList" %}">here.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.magic_cursor_is_active.id_for_label }}" class="form-label">Magic Cursor</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.magic_cursor_is_active }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
<p>This will show a cursor effect on the website. Keep turn on to enable the effect.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.show_call_now_widget.id_for_label }}" class="form-label">Call now widget</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.show_call_now_widget }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
<p>This will show a call now widget in service & project details page.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane fade " id="ver-pills-logo" role="tabpanel" aria-labelledby="ver-pills-logo-tab">
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.logo_light.id_for_label }}" class="form-label">Logo Light</label>
|
||||
<br>
|
||||
{% if settings.logo_light %}
|
||||
<img class="mb-2" src="{{ settings.logo_light.url }}" width="160" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
{{ form.logo_light }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.logo_dark.id_for_label }}" class="form-label">Logo Dark</label>
|
||||
<br>
|
||||
{% if settings.logo_dark %}
|
||||
<img class="mb-2" src="{{ settings.logo_dark.url }}" width="160" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
{{ form.logo_dark }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.logo_dark.id_for_label }}" class="form-label">Favicon</label>
|
||||
<br>
|
||||
{% if settings.favicon %}
|
||||
<img class="mb-2" src="{{ settings.favicon.url }}" width="30" alt="Current Image">
|
||||
{% endif %}
|
||||
<br>
|
||||
{{ form.favicon }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="ver-pills-contact" role="tabpanel" aria-labelledby="ver-pills-contact-tab">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.email_address.id_for_label }}" class="form-label">Email</label>
|
||||
{{ form.email_address }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.phone.id_for_label }}" class="form-label">Phone ( What's App )</label>
|
||||
{{ form.phone }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.price_ragne.id_for_label }}" class="form-label">Price Range</label>
|
||||
{{ form.price_ragne }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.address.id_for_label }}" class="form-label">Address</label>
|
||||
{{ form.address }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.city.id_for_label }}" class="form-label">City</label>
|
||||
{{ form.city }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.state.id_for_label }}" class="form-label">State</label>
|
||||
{{ form.state }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.postal.id_for_label }}" class="form-label">Postal</label>
|
||||
{{ form.postal }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.country.id_for_label }}" class="form-label">Country</label>
|
||||
{{ form.country }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.address.id_for_label }}" class="form-label">Map Iframe Code</label>
|
||||
{{ form.map_iframe }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.contact_form_image.id_for_label }}" class="form-label">Contact Form Image</label>
|
||||
{% if settings.contact_form_image %}
|
||||
<br>
|
||||
<img src="{{ settings.contact_form_image.url }}" width="50" alt="formimg" srcset="">
|
||||
<br>
|
||||
{% endif %}
|
||||
{{ form.contact_form_image }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="ver-pills-sms" role="tabpanel" aria-labelledby="ver-pills-sms-tab">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.twilio_sid.id_for_label }}" class="form-label">Twilio SID</label>
|
||||
{{ form.twilio_sid }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.twilio_auth_token.id_for_label }}" class="form-label">Auth Token</label>
|
||||
{{ form.twilio_auth_token }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.twilio_from_number.id_for_label }}" class="form-label">Twilio Number</label>
|
||||
{{ form.twilio_from_number }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="ver-pills-analytics" role="tabpanel" aria-labelledby="ver-pills-analytics-tab">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.analytics_code.id_for_label }}" class="form-label">Google Analytics Measurement Code</label>
|
||||
{{ form.analytics_code }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.facebook_pixel_code.id_for_label }}" class="form-label">Facebook Pixel Code</label>
|
||||
{{ form.facebook_pixel_code }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.facebook_chat_code.id_for_label }}" class="form-label">Facebook Chat Code</label>
|
||||
{{ form.facebook_chat_code }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.whatsapp_is_active.id_for_label }}" class="form-label">Whats App Button</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.whatsapp_is_active }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.facebook_chat_is_active.id_for_label }}" class="form-label">Facebook Chat Button</label>
|
||||
<div class="media-body text-end icon-state">
|
||||
<label class="switch">
|
||||
{{ form.facebook_chat_is_active }}<span class="switch-state"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade " id="ver-pills-others" role="tabpanel" aria-labelledby="ver-pills-others-tab">
|
||||
|
||||
<div class="row mb-1">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.custom_css.id_for_label }}" class="form-label">Custom CSS</label>
|
||||
{{ form.custom_css }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<label for="{{ form.custom_css.id_for_label }}" class="form-label">Custom JS</label>
|
||||
{{ form.custom_js }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary mb-5" type="submit">Save</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Container-fluid Ends-->
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user