Initial commit
This commit is contained in:
19
templates/add_itr.html
Normal file
19
templates/add_itr.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<div class="container">
|
||||
<h2>Add New Income Tax Return Record</h2>
|
||||
<form method="POST" action="{{ url_for('add_itr') }}">
|
||||
<label>Year:</label>
|
||||
<input type="number" name="year" required>
|
||||
{% for field in [
|
||||
"gross_total_income", "disallowance_14a", "disallowance_37",
|
||||
"deduction_80ia_business", "deduction_80ia_misc", "deduction_80ia_other",
|
||||
"deduction_sec37_disallowance", "deduction_80g", "net_taxable_income",
|
||||
"tax_30_percent", "tax_book_profit_18_5", "tax_payable", "surcharge_12",
|
||||
"edu_cess_3", "total_tax_payable", "mat_credit", "interest_234c",
|
||||
"total_tax", "advance_tax", "tds", "tcs", "tax_on_assessment", "refund"
|
||||
] %}
|
||||
<label>{{ field.replace("_", " ").title() }}:</label>
|
||||
<input type="number" name="{{ field }}" step="any" value="0.00" required>
|
||||
{% endfor %}
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
127
templates/ao_form.html
Normal file
127
templates/ao_form.html
Normal file
@@ -0,0 +1,127 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>AO Form Entry</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
/* Reset and base styles */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
transition: border-color 0.3s ease;
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>AO Form Entry</h2>
|
||||
<form method="POST" onsubmit="return showSuccessMessage()">
|
||||
<label>Year:</label>
|
||||
<input type="number" name="year" required>
|
||||
{% for field in [
|
||||
"gross_total_income", "disallowance_14a", "disallowance_37",
|
||||
"deduction_80ia_business", "deduction_sec37_disallowance", "deduction_80g",
|
||||
"net_taxable_income", "tax_30_percent", "tax_book_profit_18_5",
|
||||
"surcharge_12", "edu_cess_3", "total_tax_payable", "mat_credit",
|
||||
"interest_234c", "total_tax", "advance_tax", "tds", "tcs",
|
||||
"tax_on_assessment", "refund"
|
||||
] %}
|
||||
<label for="{{ field }}">{{ field.replace("_", " ").title() }}:</label>
|
||||
<input type="number" name="{{ field }}" step="0.01" required>
|
||||
{% endfor %}
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- JavaScript Alert -->
|
||||
<script>
|
||||
function showSuccessMessage() {
|
||||
alert("Form submitted successfully!");
|
||||
return true; // allow form to submit after showing alert
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
74
templates/ao_reports.html
Normal file
74
templates/ao_reports.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Download AO Reports</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: 60px auto;
|
||||
padding: 30px;
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 20px;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 20px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Download AO Report</h2>
|
||||
<form method="GET" action="{{ url_for('ao_report') }}" target="_blank">
|
||||
|
||||
<label for="year">Select Year:</label>
|
||||
<br>
|
||||
<select name="year" id="year" required>
|
||||
<option value="">-- Select Year --</option>
|
||||
{% for y in years %}
|
||||
<option value="{{ y }}">{{ y }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<br><br>
|
||||
<button type="submit">Download Excel</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
123
templates/cit_form.html
Normal file
123
templates/cit_form.html
Normal file
@@ -0,0 +1,123 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CIT Form Entry</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
/* ...existing styles... (no changes needed) */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>CIT Form Entry</h2>
|
||||
<form method="POST" onsubmit="return showSuccessMessage()">
|
||||
<label>Year:</label>
|
||||
<input type="number" name="year" required>
|
||||
|
||||
{% for field in [
|
||||
"gross_total_income", "deduction_80ia_business", "deduction_sec37_disallowance",
|
||||
"deduction_80g", "net_taxable_income", "tax_30_percent", "tax_book_profit_18_5",
|
||||
"tax_payable", "surcharge_12", "edu_cess_3", "total_tax_payable", "mat_credit",
|
||||
"interest_234c", "total_tax", "advance_tax", "tds", "tcs", "tax_on_assessment", "refund"
|
||||
] %}
|
||||
<label for="{{ field }}">{{ field.replace("_", " ").title() }}:</label>
|
||||
<input type="number" name="{{ field }}" step="0.01" required>
|
||||
{% endfor %}
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function showSuccessMessage() {
|
||||
alert("Form submitted successfully!");
|
||||
return true; // continue with form submission
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
74
templates/cit_reports.html
Normal file
74
templates/cit_reports.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Download CIT Reports</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: 60px auto;
|
||||
padding: 30px;
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 20px;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 20px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Download CIT Report</h2>
|
||||
<form method="GET" action="{{ url_for('cit_report') }}" target="_blank">
|
||||
|
||||
<label for="year">Select Year:</label>
|
||||
<br>
|
||||
<select name="year" id="year" required>
|
||||
<option value="">-- Select Year --</option>
|
||||
{% for y in years %}
|
||||
<option value="{{ y }}">{{ y }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<br><br>
|
||||
<button type="submit">Download Excel</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
66
templates/display_itr.html
Normal file
66
templates/display_itr.html
Normal file
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ITR Records</title>
|
||||
<style>
|
||||
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: #f8f9fa; padding: 20px; color: #333; }
|
||||
.container { max-width: 95%; margin: auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
|
||||
h2 { text-align: center; margin-bottom: 20px; }
|
||||
.btn { padding: 8px 15px; border-radius: 5px; text-decoration: none; color: white; border: none; cursor: pointer; font-size: 14px; }
|
||||
.btn-add { background-color: #28a745; display: inline-block; margin-bottom: 20px; }
|
||||
.btn-update { background-color: #007bff; }
|
||||
.btn-delete { background-color: #dc3545; }
|
||||
.action-cell form { display: inline-block; margin-left: 5px; }
|
||||
.table-wrapper { overflow-x: auto; }
|
||||
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
|
||||
th, td { padding: 12px; border: 1px solid #dee2e6; text-align: right; white-space: nowrap; }
|
||||
th { background-color: #343a40; color: white; text-align: center; }
|
||||
tr:nth-child(even) { background-color: #f2f2f2; }
|
||||
td:first-child, th:first-child { text-align: left; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Income Tax Return Records 🧾</h2>
|
||||
<a href="{{ url_for('add_itr') }}" class="btn btn-add">➕ Add New Record</a>
|
||||
|
||||
{% if records %}
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Year</th>
|
||||
<th>Gross Total Income</th>
|
||||
<th>Net Taxable Income</th>
|
||||
<th>Total Tax Payable</th>
|
||||
<th>Refund</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for record in records %}
|
||||
<tr>
|
||||
<td>{{ record.year }}</td>
|
||||
<td>{{ "{:,.2f}".format(record.gross_total_income) }}</td>
|
||||
<td>{{ "{:,.2f}".format(record.net_taxable_income) }}</td>
|
||||
<td>{{ "{:,.2f}".format(record.total_tax_payable) }}</td>
|
||||
<td>{{ "{:,.2f}".format(record.refund) }}</td>
|
||||
<td class="action-cell">
|
||||
<a href="{{ url_for('update_itr', id=record.id) }}" class="btn btn-update">Edit</a>
|
||||
|
||||
<form action="{{ url_for('delete_itr', id=record.id) }}" method="post" onsubmit="return confirm('Are you sure you want to delete this record?');">
|
||||
<button type="submit" class="btn btn-delete">Delete</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% else %}
|
||||
<p style="text-align: center; margin-top: 20px;">No records found. Click the button above to add one!</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
129
templates/index.html
Normal file
129
templates/index.html
Normal file
@@ -0,0 +1,129 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Dashboard | Income Tax Utilities</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f6;
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.container {
|
||||
max-width: 750px;
|
||||
margin: 50px auto;
|
||||
padding: 40px;
|
||||
background-color: #fff;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
.header {
|
||||
text-align: center;
|
||||
margin-bottom: 40px;
|
||||
font-size: 32px;
|
||||
color: #2c3e50;
|
||||
font-weight: 600;
|
||||
}
|
||||
.section {
|
||||
margin-bottom: 35px;
|
||||
}
|
||||
.section h3 {
|
||||
font-size: 22px;
|
||||
color: #0056b3;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 2px solid #e9ecef;
|
||||
}
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 5px;
|
||||
}
|
||||
li {
|
||||
margin: 15px 0;
|
||||
}
|
||||
a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
background-color: #007BFF;
|
||||
color: white;
|
||||
padding: 14px 20px;
|
||||
border-radius: 8px;
|
||||
font-size: 17px;
|
||||
transition: all 0.3s ease;
|
||||
box-shadow: 0 4px 6px rgba(0, 123, 255, 0.1);
|
||||
}
|
||||
a:hover {
|
||||
background-color: #0056b3;
|
||||
transform: translateY(-2px) scale(1.01);
|
||||
box-shadow: 0 6px 12px rgba(0, 91, 179, 0.2);
|
||||
}
|
||||
/* Responsive */
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
margin: 20px;
|
||||
padding: 25px;
|
||||
}
|
||||
.header {
|
||||
font-size: 26px;
|
||||
}
|
||||
a {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2 class="header">Dashboard 🏛️</h2>
|
||||
|
||||
<div class="section">
|
||||
<h3>ITR (Income Tax Return)</h3>
|
||||
<ul>
|
||||
<li><a href="{{ url_for('add_itr') }}">➕ Add New ITR Record</a></li>
|
||||
<li><a href="{{ url_for('display_itr') }}">🧾 View & Manage ITR Records</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>AO (Assessing Officer)</h3>
|
||||
<ul>
|
||||
<li><a href="{{ url_for('add_ao') }}">➕ Add New AO Record</a></li>
|
||||
<li><a href="{{ url_for('display_ao') }}">🧾 View & Manage AO Records</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>CIT (Commissioner of Income Tax)</h3>
|
||||
<ul>
|
||||
<li><a href="{{ url_for('add_cit') }}">➕ Add New CIT Record</a></li>
|
||||
<li><a href="{{ url_for('display_cit') }}">🧾 View & Manage CIT Records</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>ITAT (Income Tax Appellate Tribunal)</h3>
|
||||
<ul>
|
||||
<li><a href="{{ url_for('add_itat') }}">➕ Add New ITAT Record</a></li>
|
||||
<li><a href="{{ url_for('display_itat') }}">🧾 View & Manage ITAT Records</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Documents & Reports 📂</h3>
|
||||
<ul>
|
||||
<li><a href="/upload">→ Upload Documents</a></li>
|
||||
<li><a href="/documents">→ View Documents</a></li>
|
||||
<li><a href="/reports">→ Generate Reports</a></li>
|
||||
<li><a href="/summary_report">→ Generate Summary Reports</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
126
templates/itat_form.html
Normal file
126
templates/itat_form.html
Normal file
@@ -0,0 +1,126 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>ITAT Form Entry</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
/* Same styling for layout */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>ITAT Form Entry</h2>
|
||||
<form method="POST" onsubmit="return showSuccessMessage()">
|
||||
<label>Year:</label>
|
||||
<input type="number" name="year" step="0.01" required>
|
||||
|
||||
<label>MAT Tax Credit:</label>
|
||||
<input type="number" name="mat_tax_credit" step="0.01" required>
|
||||
|
||||
<label>Surcharge:</label>
|
||||
<input type="number" name="surcharge" step="0.01" required>
|
||||
|
||||
<label>Cess:</label>
|
||||
<input type="number" name="cess" step="0.01" required>
|
||||
|
||||
<label>Total Credit:</label>
|
||||
<input type="number" name="total_credit" step="0.01" required>
|
||||
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function showSuccessMessage() {
|
||||
alert("Form submitted successfully!");
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
74
templates/itat_reports.html
Normal file
74
templates/itat_reports.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Download ITAT Reports</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: 60px auto;
|
||||
padding: 30px;
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 20px;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 20px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Download ITAT Report</h2>
|
||||
<form method="GET" action="{{ url_for('itat_report') }}" target="_blank">
|
||||
|
||||
<label for="year">Select Year:</label>
|
||||
<br>
|
||||
<select name="year" id="year" required>
|
||||
<option value="">-- Select Year --</option>
|
||||
{% for y in years %}
|
||||
<option value="{{ y }}">{{ y }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<br><br>
|
||||
<button type="submit">Download Excel</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
251
templates/itr_form.html
Normal file
251
templates/itr_form.html
Normal file
@@ -0,0 +1,251 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<title>ITR Form Entry</title>
|
||||
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
|
||||
<style>
|
||||
|
||||
/* Existing CSS here... */
|
||||
|
||||
* {
|
||||
|
||||
margin: 0;
|
||||
|
||||
padding: 0;
|
||||
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
body {
|
||||
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
|
||||
background-color: #f5f7fa;
|
||||
|
||||
color: #333;
|
||||
|
||||
padding: 30px 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.container {
|
||||
|
||||
width: 90%;
|
||||
|
||||
max-width: 700px;
|
||||
|
||||
margin: auto;
|
||||
|
||||
background-color: #fff;
|
||||
|
||||
padding: 40px;
|
||||
|
||||
border-radius: 12px;
|
||||
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
h2 {
|
||||
|
||||
text-align: center;
|
||||
|
||||
margin-bottom: 30px;
|
||||
|
||||
font-size: 28px;
|
||||
|
||||
color: #2c3e50;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
form {
|
||||
|
||||
display: flex;
|
||||
|
||||
flex-direction: column;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
label {
|
||||
|
||||
margin-top: 15px;
|
||||
|
||||
margin-bottom: 6px;
|
||||
|
||||
font-weight: 600;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="number"] {
|
||||
|
||||
padding: 10px 12px;
|
||||
|
||||
border: 1px solid #ccc;
|
||||
|
||||
border-radius: 6px;
|
||||
|
||||
font-size: 16px;
|
||||
|
||||
transition: border-color 0.3s ease;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="number"]:focus {
|
||||
|
||||
border-color: #007BFF;
|
||||
|
||||
outline: none;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
button[type="submit"] {
|
||||
|
||||
margin-top: 30px;
|
||||
|
||||
padding: 12px;
|
||||
|
||||
background-color: #007BFF;
|
||||
|
||||
border: none;
|
||||
|
||||
border-radius: 6px;
|
||||
|
||||
color: white;
|
||||
|
||||
font-size: 18px;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
transition: background-color 0.3s ease;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
button[type="submit"]:hover {
|
||||
|
||||
background-color: #0056b3;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (max-width: 600px) {
|
||||
|
||||
.container {
|
||||
|
||||
padding: 20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
h2 {
|
||||
|
||||
font-size: 22px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
input[type="number"] {
|
||||
|
||||
font-size: 15px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
button[type="submit"] {
|
||||
|
||||
font-size: 16px;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<h2>Income Tax Return Form</h2>
|
||||
|
||||
<form method="POST" onsubmit="showSuccessMessage()">
|
||||
|
||||
<label>Year:</label>
|
||||
|
||||
<input type="number" name="year" required>
|
||||
|
||||
|
||||
|
||||
{% for field in [
|
||||
|
||||
"gross_total_income", "disallowance_14a", "disallowance_37",
|
||||
|
||||
"deduction_80ia_business", "deduction_80ia_misc", "deduction_80ia_other",
|
||||
|
||||
"deduction_sec37_disallowance", "deduction_80g", "net_taxable_income",
|
||||
|
||||
"tax_30_percent", "tax_book_profit_18_5", "tax_payable", "surcharge_12",
|
||||
|
||||
"edu_cess_3", "total_tax_payable", "mat_credit", "interest_234c",
|
||||
|
||||
"total_tax", "advance_tax", "tds", "tcs", "tax_on_assessment", "refund"
|
||||
|
||||
] %}
|
||||
|
||||
<label>{{ field.replace("_", " ").title() }}:</label>
|
||||
|
||||
<input type="number" name="{{ field }}" step="0.01" required>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
<button type="submit">Submit</button>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- JavaScript to show popup -->
|
||||
|
||||
<script>
|
||||
|
||||
function showSuccessMessage() {
|
||||
|
||||
alert("Form submitted successfully!");
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
74
templates/itr_reports.html
Normal file
74
templates/itr_reports.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Download ITR Reports</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: 60px auto;
|
||||
padding: 30px;
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 20px;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 20px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Download ITR Report</h2>
|
||||
<form method="GET" action="{{ url_for('itr_report') }}" target="_blank">
|
||||
|
||||
<label for="year">Select Year:</label>
|
||||
<br>
|
||||
<select name="year" id="year" required>
|
||||
<option value="">-- Select Year --</option>
|
||||
{% for y in years %}
|
||||
<option value="{{ y }}">{{ y }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<br><br>
|
||||
<button type="submit">Download Excel</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
130
templates/reports.html
Normal file
130
templates/reports.html
Normal file
@@ -0,0 +1,130 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Reports Of Stages</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 900px;
|
||||
margin: 40px auto;
|
||||
padding: 30px;
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-bottom: 30px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 6px 10px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 6px 14px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 10px;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
tr:nth-child(even) td {
|
||||
background-color: #eef3f7;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: center;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-top: 30px;
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul li {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
ul li a {
|
||||
color: #007bff;
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul li a:hover {
|
||||
text-decorat
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Reports</h2>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="/itr_report" >→ View ITR Reports</a></li>
|
||||
<li><a href="/ao_report" >→ View AO Reports</a></li>
|
||||
<li><a href="/cit_report" >→ View CIT Reports</a></li>
|
||||
<li><a href="/itat_report" >→ View ITAT Reports</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
146
templates/stage_reports.html
Normal file
146
templates/stage_reports.html
Normal file
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>{{ stage }} Reports</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f0f2f5;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 960px;
|
||||
margin: 40px auto;
|
||||
padding: 30px;
|
||||
background-color: #fff;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
margin-bottom: 30px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 14px;
|
||||
font-size: 16px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
transition: border 0.2s;
|
||||
}
|
||||
|
||||
select:focus {
|
||||
border-color: #007bff;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 12px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
}
|
||||
|
||||
tr:nth-child(even) td {
|
||||
background-color: #f9fbfc;
|
||||
}
|
||||
|
||||
tr:hover td {
|
||||
background-color: #eef5ff;
|
||||
}
|
||||
|
||||
.btn-download {
|
||||
background-color: #28a745;
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 7px 14px;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
.btn-download:hover {
|
||||
background-color: #218838;
|
||||
}
|
||||
|
||||
.no-data {
|
||||
text-align: center;
|
||||
color: #777;
|
||||
font-size: 16px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>{{ stage }} Reports</h2>
|
||||
|
||||
<form method="GET">
|
||||
<input type="hidden" name="stage" value="{{ stage }}">
|
||||
<label for="year">Select Year:</label>
|
||||
<select name="year" id="year" onchange="this.form.submit()">
|
||||
<option value="">-- All Years --</option>
|
||||
{% for y in years %}
|
||||
<option value="{{ y }}" {% if y == request.args.get('year') %}selected{% endif %}>{{ y }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</form>
|
||||
|
||||
{% if documents %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Year</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for doc in documents %}
|
||||
<tr>
|
||||
<td>{{ doc.year }}</td>
|
||||
<td>
|
||||
<a class="btn-download" href="{{ url_for('download_report', doc_id=doc.id) }}">Download</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<p class="no-data">No reports found for this selection.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
83
templates/summary_reports.html
Normal file
83
templates/summary_reports.html
Normal file
@@ -0,0 +1,83 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Download Summary Report</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #f4f4f4;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.container {
|
||||
background-color: white;
|
||||
padding: 30px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 20px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
form {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: bold;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 16px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
.message {
|
||||
color: red;
|
||||
margin-top: 15px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Download Year-wise Summary Report</h2>
|
||||
|
||||
{% if message %}
|
||||
<p class="message">{{ message }}</p>
|
||||
{% endif %}
|
||||
|
||||
<form method="GET" action="{{ url_for('summary_report') }}">
|
||||
<label for="year">Select Year:</label>
|
||||
<select name="year" id="year" required>
|
||||
<option value="">-- Select Year --</option>
|
||||
{% for year in years %}
|
||||
<option value="{{ year }}">{{ year }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button type="submit">Download Summary Report</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
21
templates/update_itr.html
Normal file
21
templates/update_itr.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Update ITR Record</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style> /* ... your form styles ... */ </style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Update ITR Record for Year {{ record.year }}</h2>
|
||||
<form method="POST" action="{{ url_for('update_itr', id=record.id) }}">
|
||||
{% for field in record.keys() if field != 'id' %}
|
||||
<label>{{ field.replace("_", " ").title() }}:</label>
|
||||
<input type="number" name="{{ field }}" step="any" value="{{ record[field] }}" required>
|
||||
{% endfor %}
|
||||
<button type="submit">Update Record</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
123
templates/upload.html
Normal file
123
templates/upload.html
Normal file
@@ -0,0 +1,123 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Upload Documents</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
/* Reset and base styles */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
input[type="number"],
|
||||
select,
|
||||
input[type="file"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
transition: border-color 0.3s ease;
|
||||
}
|
||||
|
||||
input[type="number"]:focus,
|
||||
select:focus,
|
||||
input[type="file"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
input, select {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Upload Income Tax Documents</h2>
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
<label for="year">Year:</label>
|
||||
<input type="number" name="year" required>
|
||||
|
||||
<label for="stage">Stage:</label>
|
||||
<select name="stage" required>
|
||||
<option value="ITR">ITR</option>
|
||||
<option value="AO">AO</option>
|
||||
<option value="CIT">CIT</option>
|
||||
<option value="ITAT">ITAT</option>
|
||||
</select>
|
||||
|
||||
<label for="documents">Select Documents:</label>
|
||||
<input type="file" name="documents" multiple required>
|
||||
|
||||
<button type="submit">Upload</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
164
templates/view_docs.html
Normal file
164
templates/view_docs.html
Normal file
@@ -0,0 +1,164 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>View Documents</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 40px auto;
|
||||
background: #fff;
|
||||
padding: 30px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
color: #2c3e50;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
color: #34495e;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
font-size: 14px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px 20px;
|
||||
background-color: #3498db;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #2980b9;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
thead {
|
||||
background-color: #2c3e50;
|
||||
color: white;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 12px 15px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
tbody tr:hover {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2980b9;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
form {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Document Records</h2>
|
||||
|
||||
<form method="GET">
|
||||
<label for="year">Filter by Year:</label>
|
||||
<select name="year">
|
||||
<option value="">All</option>
|
||||
{% for y in years %}
|
||||
<option value="{{ y }}">{{ y }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
<label for="stage">Filter by Stage:</label>
|
||||
<select name="stage">
|
||||
<option value="">All</option>
|
||||
<option value="ITR">ITR</option>
|
||||
<option value="AO">AO</option>
|
||||
<option value="CIT">CIT</option>
|
||||
<option value="ITAT">ITAT</option>
|
||||
</select>
|
||||
|
||||
<button type="submit">Apply</button>
|
||||
</form>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th>Type</th>
|
||||
<th>Stage</th>
|
||||
<th>Year</th>
|
||||
<th>Uploaded At</th>
|
||||
<th>Download</th>
|
||||
<th>View</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for doc in documents %}
|
||||
<tr>
|
||||
<td>{{ doc.filename }}</td>
|
||||
<td>{{ doc.filetype }}</td>
|
||||
<td>{{ doc.stage }}</td>
|
||||
<td>{{ doc.year }}</td>
|
||||
<td>{{ doc.uploaded_at }}</td>
|
||||
<td><a href="{{ url_for('uploaded_file', filename=doc.filename) }}?mode=download">Download</a></td>
|
||||
<td><a href="{{ url_for('uploaded_file', filename=doc.filename) }}?mode=view" target="_blank">View</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
55
templates/welcome.html
Normal file
55
templates/welcome.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<!-- templates/welcome.html -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Welcome - Laxmi Civil Engineering Pvt. Ltd</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
|
||||
<style>
|
||||
body {
|
||||
background-color: #e8f0fe;
|
||||
font-family: Arial, sans-serif;
|
||||
text-align: center;
|
||||
padding: 100px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #333;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 18px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.enter-btn {
|
||||
background-color: #007BFF;
|
||||
color: white;
|
||||
padding: 12px 25px;
|
||||
font-size: 18px;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.enter-btn:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<img src="https://tse1.mm.bing.net/th/id/OIP.fc5NZer25Y3YeS3Fd0PO9gAAAA?pid=Api&rs=1&c=1&qlt=95&w=92&h=92" class="logo" alt="Company Logo">
|
||||
<h1>Welcome to Laxmi Civil Engineering Pvt. Ltd</h1>
|
||||
<p>Income Tax Filing and Compliance</p>
|
||||
<a href="{{ url_for('index') }}" class="enter-btn">Go To Dashboard</a>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user