Skip to content

Commit c8ce987

Browse files
committed
releasse Django 4.0 and bootstrap 5
1 parent a5ecc81 commit c8ce987

File tree

6 files changed

+288
-180
lines changed

6 files changed

+288
-180
lines changed

crud/views.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
from django.shortcuts import render
2-
from django.contrib.auth.decorators import login_required
31
from django.shortcuts import render, redirect
42
from .models import Member, Document, Ajax, CsvUpload
53
import datetime
64
from django.contrib import messages
75
from django.core.files.storage import FileSystemStorage
86
from django.http import JsonResponse
9-
from django.contrib.auth import authenticate, login, logout
107
from django.contrib.auth.decorators import login_required
118
from crud.forms import *
129
from django.views.decorators.csrf import csrf_protect
@@ -15,7 +12,6 @@
1512
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
1613

1714

18-
1915
# Create your views here.
2016
@login_required
2117
def index(request):
@@ -157,17 +153,24 @@ def ajax_delete(request):
157153
def register(request):
158154
if request.method == 'POST':
159155
form = RegistrationForm(request.POST)
156+
import pdb;pdb.set_trace()
160157
if form.is_valid():
161-
user = User.objects.create_user(
158+
users = User(
162159
username=form.cleaned_data['username'],
163160
password=form.cleaned_data['password1'],
164161
is_staff=True,
165162
is_active=True,
166163
is_superuser=True,
167164
email=form.cleaned_data['email'],
168165
first_name=form.cleaned_data['first_name'],
169-
last_name=form.cleaned_data['last_name']
166+
last_name=form.cleaned_data['last_name'],
170167
)
168+
try:
169+
users.full_clean()
170+
except ValidationError as e:
171+
pass
172+
users.save()
173+
messages.success(request, 'Member was created successfully!')
171174
return HttpResponseRedirect('/register/success/')
172175
else:
173176
form = RegistrationForm()
@@ -193,7 +196,7 @@ def users(request):
193196
def user_delete(request, id):
194197
user = User.objects.get(id=id)
195198
user.delete()
196-
messages.error(request, 'User was deleted successfully!')
199+
messages.warning(request, 'User was deleted successfully!')
197200
return redirect('/users')
198201

199202
@login_required
@@ -216,15 +219,15 @@ def upload_csv(request):
216219
csv_file = request.FILES["csv_file"]
217220

218221
if len(csv_file) == 0:
219-
messages.error(request, 'Empty File')
222+
messages.warning(request, 'Empty File')
220223
return render(request, 'upload_csv.html')
221224

222225
if not csv_file.name.endswith('.csv'):
223-
messages.error(request, 'File is not CSV type')
226+
messages.warning(request, 'File is not CSV type')
224227
return render(request, 'upload_csv.html')
225228

226229
if csv_file.multiple_chunks():
227-
messages.error(request, 'Uploaded file is too big (%.2f MB).' % (csv_file.size / (1000 * 1000),))
230+
messages.warning(request, 'Uploaded file is too big (%.2f MB).' % (csv_file.size / (1000 * 1000),))
228231
return render(request, 'upload_csv.html')
229232

230233
file_data = csv_file.read().decode("utf-8")
@@ -237,7 +240,7 @@ def upload_csv(request):
237240
fields[3] == 'notes'):
238241
pass
239242
else:
240-
messages.error(request, 'File is not Correct Headers')
243+
messages.warning(request, 'File is not Correct Headers')
241244
return render(request, 'upload_csv.html')
242245
break
243246
else:
@@ -254,7 +257,7 @@ def upload_csv(request):
254257
return redirect('/upload/csv/')
255258

256259
except Exception as e:
257-
messages.error(request, "Unable to upload file. " + e)
260+
messages.warning(request, "Unable to upload file. " + e)
258261
return redirect('/upload/csv/')
259262

260263

templates/change_password.html

Lines changed: 67 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,81 @@
1+
12
{% extends 'layout/app.html' %}
23

34
{% load static %}
4-
5+
{% block stylesheet %}
6+
<style>
7+
.bd-example {
8+
padding: 1.5rem;
9+
margin-right: 0;
10+
margin-left: 0;
11+
border-width: 1px;
12+
border-top-left-radius: .25rem;
13+
border-top-right-radius: .25rem;
14+
}
15+
.bd-example {
16+
position: relative;
17+
padding: 1rem;
18+
margin: 1rem -.75rem 0;
19+
border: solid #dee2e6;
20+
border-width: 1px;
21+
}
22+
</style>
23+
{% endblock %}
524
{% block body %}
6-
<div id="content-wrapper">
7-
8-
<div class="container-fluid">
9-
<!-- Breadcrumbs-->
10-
<ol class="breadcrumb">
11-
<li class="breadcrumb-item">
12-
<a href="#">Dashboard</a>
13-
</li>
14-
<li class="breadcrumb-item active">Change Password</li>
15-
</ol>
16-
<div class="card mb-3">
17-
<div class="card-header">
18-
<i class="fas fa-table"></i>
19-
Change Password
25+
<div class="container-fluid px-4">
26+
<h1 class="mt-4">Change password</h1>
27+
<ol class="breadcrumb mb-4">
28+
<li class="breadcrumb-item"><a href="/">Dashboard</a></li>
29+
<li class="breadcrumb-item active">Change password</li>
30+
</ol>
31+
<div class="bd-example">
32+
<form method="POST">
33+
{% csrf_token %}
34+
<div class="row mb-3">
35+
<div class="col-2"></div>
36+
<div class="col">
37+
<div class="form-floating mb-3 mb-md-0">
38+
<input type="password" class="form-control" name="current_password" placeholder="Current Password" id="inputFirst" required>
39+
<label for="inputFirst">Current Password</label>
40+
</div>
41+
</div>
42+
<div class="col-2"></div>
2043
</div>
21-
<div class="card-body">
22-
<form class="form-horizontal" method="POST">
23-
{% csrf_token %}
24-
<div class="form-group">
25-
<div class="form-row">
26-
<div class="col-md-12">
27-
<div class="form-label-group">
28-
<input type="password" class="form-control" name="current_password" placeholder="Current Password" id="inputFirst" required>
29-
<label for="inputFirst">Current Password</label>
30-
</div>
31-
</div>
32-
</div>
44+
<div class="row mb-3">
45+
<div class="col-2"></div>
46+
<div class="col">
47+
<div class="form-floating">
48+
<input type="password" class="form-control" name="new_password" placeholder="New Password" id="newPassword" required>
49+
<label for="newPassword">New Password</label>
3350
</div>
34-
<div class="form-group">
35-
<div class="form-row">
36-
<div class="col-md-12">
37-
<div class="form-label-group">
38-
<input type="password" class="form-control" name="new_password" placeholder="New Password" id="newPassword" required>
39-
<label for="newPassword">New Password</label>
40-
</div>
41-
</div>
42-
</div>
51+
</div>
52+
<div class="col-2"></div>
53+
</div>
54+
55+
<div class="row mb-3">
56+
<div class="col-2"></div>
57+
<div class="col">
58+
<div class="form-floating">
59+
<input type="password" class="form-control" name="repeat_password" placeholder="Confirm Password" id="confPassword" required>
60+
<label for="confPassword">Confirm Password</label>
4361
</div>
44-
<div class="form-group">
45-
<div class="form-row">
46-
<div class="col-md-12">
47-
<div class="form-label-group">
48-
<input type="password" class="form-control" name="repeat_password" placeholder="Confirm Password" id="confPassword" required>
49-
<label for="confPassword">Confirm Password</label>
50-
</div>
51-
</div>
62+
</div>
63+
<div class="col-2"></div>
64+
</div>
65+
<div class="row mb-3">
66+
<div class="col-2"></div>
67+
<div class="col">
68+
<div class="mt-4 mb-0">
69+
<div class="d-grid">
70+
<button class="btn btn-warning btn-block" type="submit">Update &nbsp;&nbsp;&nbsp;<span></span></button>
5271
</div>
5372
</div>
54-
<button class="btn btn-warning btn-block" type="submit">Update &nbsp;&nbsp;&nbsp;<span></span>
55-
</button>
56-
</form>
73+
</div>
74+
<div class="col-2"></div>
5775
</div>
58-
</div>
76+
</form>
5977
</div>
6078
</div>
6179
{% endblock %}
6280
{% block javascript %}
63-
64-
{% endblock %}
81+
{% endblock %}

templates/elements/sidebar.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
</a>
3737
<div class="collapse" id="collapsePages" aria-labelledby="headingTwo" data-bs-parent="#sidenavAccordion">
3838
<nav class="sb-sidenav-menu-nested nav accordion" id="sidenavAccordionPages">
39-
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#pagesCollapseAuth" aria-expanded="false" aria-controls="pagesCollapseAuth">
39+
<a class="nav-link collapsed" href="{% url 'upload_csv' %}">
4040
CSV Upload
4141
</a>
42-
<a class="nav-link collapsed" href="#" aria-expanded="false" aria-controls="pagesCollapseAuth">
42+
<a class="nav-link collapsed" href="{% url 'changePassword' %}">
4343
Change Password
4444
</a>
4545
</nav>

templates/register.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<div class="card shadow-lg border-0 rounded-lg mt-5">
3636
<div class="card-header"><h3 class="text-center font-weight-light my-4">Create Account</h3></div>
3737
<div class="card-body">
38-
<form method="post" action=".">
38+
<form method="post" action="register">
3939
{% csrf_token %}
4040
{% include 'includes/bs4_form.html' with form=form %}
4141
<div class="mt-4 mb-0">
@@ -44,7 +44,7 @@
4444
</form>
4545
</div>
4646
<div class="card-footer text-center py-3">
47-
<div class="small"><a href="login.html">Have an account? Go to login</a></div>
47+
<div class="small"><a href="/login">Have an account? Go to login</a></div>
4848
</div>
4949
</div>
5050
</div>

0 commit comments

Comments
 (0)