Skip to content

Commit

Permalink
Merge pull request #105 from jsolly/37-upgrade-django-to-40
Browse files Browse the repository at this point in the history
wip
  • Loading branch information
John Solly committed Jun 9, 2022
2 parents 584dc1c + 51116b5 commit 5e11191
Show file tree
Hide file tree
Showing 21 changed files with 334 additions and 180 deletions.
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"request": "launch",
"type": "pwa-chrome",
"runtimeArgs": [
"--incognito"
"--incognito",
],
"url": "http://127.0.0.1:8000/",
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Generated by Django 4.0.5 on 2022-06-08 22:06

import ckeditor.fields
import ckeditor_uploader.fields
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone


class Migration(migrations.Migration):

replaces = [('blog', '0001_initial'), ('blog', '0002_add_likes'), ('blog', '0003_add_views_to_Post'), ('blog', '0004_add_slug_field'), ('blog', '0005_add_images_to_post'), ('blog', '0006_change_content_field_to_richtextuploading')]

initial = True

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.CreateModel(
name='Category',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100)),
],
),
migrations.CreateModel(
name='Post',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100)),
('content', ckeditor.fields.RichTextField(blank=True, null=True)),
('date_posted', models.DateTimeField(default=django.utils.timezone.now)),
('category', models.CharField(default='uncategorized', max_length=100)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Comment',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('content', ckeditor.fields.RichTextField(blank=True, null=True)),
('date_posted', models.DateTimeField(default=django.utils.timezone.now)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='blog.post')),
],
),
migrations.CreateModel(
name='IpPerson',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('ip', models.CharField(max_length=100)),
],
),
migrations.AddField(
model_name='post',
name='likes',
field=models.ManyToManyField(blank=True, related_name='post_likes', to='blog.ipperson'),
),
migrations.AddField(
model_name='post',
name='views',
field=models.ManyToManyField(blank=True, related_name='post_views', to='blog.ipperson'),
),
migrations.AddField(
model_name='post',
name='slug',
field=models.SlugField(blank=True, null=True, unique=True),
),
migrations.AlterField(
model_name='post',
name='content',
field=ckeditor_uploader.fields.RichTextUploadingField(blank=True, null=True),
),
]
1 change: 0 additions & 1 deletion django_project/django_project/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@
"django.contrib.sitemaps",
"captcha",
"django_ckeditor_5",
"admin_honeypot",
"robots",
"sri",
]
Expand Down
3 changes: 1 addition & 2 deletions django_project/django_project/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,11 @@
{"sitemaps": sitemaps},
name="django.contrib.sitemaps.views.sitemap",
),
path("admin/", admin.site.urls),
path(".well-known/security.txt", security_txt_view, name="security-txt"),
path("pgp-key.txt", security_pgp_key_view, name="security-pgp-key-txt"),
path("robots.txt", include("robots.urls")),
path("", include("blog.urls")),
path("admin/", include("admin_honeypot.urls", namespace="admin_honeypot")),
path("config/", admin.site.urls),
path("register/", register_view, name="register"),
path("profile/", profile_view, name="profile"),
path(
Expand Down
4 changes: 1 addition & 3 deletions django_project/requirements/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ aiohttp==3.8.1
black==22.3.0
chromedriver-autoinstaller==0.3.1
coverage==6.3.2
Django==3.2.13
django-admin-honeypot==1.1.0
Django==4.0.5
django-ckeditor-5==0.1.3
django-coverage-plugin==2.0.2
django-csp==3.7
Expand All @@ -15,7 +14,6 @@ django-simple-captcha==0.5.14
django-sri==0.3.0
filetype==1.0.13
flake8==4.0.1
geckodriver-autoinstaller==0.1.0
Pillow==9.1.1
psycopg2==2.9.3
python-dotenv==0.20.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
aiohttp==3.8.1
black==22.3.0
chromedriver-autoinstaller==0.3.1
coverage==6.3.2
Django==3.2.13
django-admin-honeypot==1.1.0
django-ckeditor==6.4.1
django-ckeditor-5==0.1.3
django-coverage-plugin==2.0.2
django-csp==3.7
django-fastdev==1.7.2
django-livereload-server==0.4
django-non-dark-admin==2.0.2
django-robots==5.0
django-simple-captcha==0.5.14
django-sri==0.3.0
filetype==1.0.10
flake8==3.9.2
filetype==1.0.13
flake8==4.0.1
geckodriver-autoinstaller==0.1.0
Pillow==8.3.2
Pillow==9.1.1
psycopg2==2.9.3
python-dotenv==0.20.0
requests==2.25.1
selenium==4.1.3
selenium==4.1.3
4 changes: 4 additions & 0 deletions django_project/static/admin/css/changelists.css
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@
margin-right: 4px;
}

#changelist-search .help {
word-break: break-word;
}

/* FILTER COLUMN */

#changelist-filter {
Expand Down
18 changes: 11 additions & 7 deletions django_project/static/admin/css/forms.css
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,19 @@ label {

/* RADIO BUTTONS */

form ul.radiolist li {
list-style-type: none;
form div.radiolist div {
padding-right: 7px;
}

form ul.radiolist label {
float: none;
display: inline;
form div.radiolist.inline div {
display: inline-block;
}

form div.radiolist label {
width: auto;
}

form ul.radiolist input[type="radio"] {
form div.radiolist input[type="radio"] {
margin: -2px 4px 0 0;
padding: 0;
}
Expand Down Expand Up @@ -84,6 +87,7 @@ form ul.inline li {
margin-top: 0;
margin-bottom: 0;
margin-left: 170px;
overflow-wrap: break-word;
}

.aligned ul label {
Expand All @@ -105,7 +109,7 @@ form .aligned ul {
padding-left: 10px;
}

form .aligned ul.radiolist {
form .aligned div.radiolist {
display: inline-block;
margin: 0;
padding: 0;
Expand Down
1 change: 1 addition & 0 deletions django_project/static/admin/css/login.css
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

.login #header h1 {
font-size: 18px;
margin: 0;
}

.login #header h1 a {
Expand Down
25 changes: 22 additions & 3 deletions django_project/static/admin/css/nav_sidebar.css
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,10 @@
}

.main.shifted > #nav-sidebar {
left: 24px;
margin-left: 0;
}

[dir="rtl"] .main.shifted > #nav-sidebar {
left: 0;
right: 24px;
margin-right: 0;
}

Expand Down Expand Up @@ -118,3 +115,25 @@
max-width: 100%;
}
}

#nav-filter {
width: 100%;
box-sizing: border-box;
padding: 2px 5px;
margin: 5px 0;
border: 1px solid var(--border-color);
background-color: var(--darkened-bg);
color: var(--body-fg);
}

#nav-filter:focus {
border-color: var(--body-quiet-color);
}

#nav-filter.no-results {
background: var(--message-error-bg);
}

#nav-sidebar table {
width: 100%;
}
7 changes: 4 additions & 3 deletions django_project/static/admin/css/responsive.css
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ input[type="submit"], button {
margin-left: 15px;
}

form .aligned ul.radiolist {
form .aligned div.radiolist {
margin-left: 2px;
}

Expand Down Expand Up @@ -650,12 +650,13 @@ input[type="submit"], button {
padding-left: 0;
}

form .aligned ul.radiolist {
form .aligned div.radiolist {
margin-top: 5px;
margin-right: 15px;
margin-bottom: -3px;
}

form .aligned ul.radiolist:not(.inline) li + li {
form .aligned div.radiolist:not(.inline) div + div {
margin-top: 5px;
}

Expand Down
2 changes: 1 addition & 1 deletion django_project/static/admin/js/actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
});
});

document.querySelector('#changelist-form button[name=index]').addEventListener('click', function() {
document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) {
if (list_editable_changed) {
const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."));
if (!confirmed) {
Expand Down
34 changes: 14 additions & 20 deletions django_project/static/admin/js/autocomplete.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,22 @@
'use strict';
{
const $ = django.jQuery;
const init = function($element, options) {
const settings = $.extend({
ajax: {
data: function(params) {
return {
term: params.term,
page: params.page,
app_label: $element.data('app-label'),
model_name: $element.data('model-name'),
field_name: $element.data('field-name')
};
}
}
}, options);
$element.select2(settings);
};

$.fn.djangoAdminSelect2 = function(options) {
const settings = $.extend({}, options);
$.fn.djangoAdminSelect2 = function() {
$.each(this, function(i, element) {
const $element = $(element);
init($element, settings);
$(element).select2({
ajax: {
data: (params) => {
return {
term: params.term,
page: params.page,
app_label: element.dataset.appLabel,
model_name: element.dataset.modelName,
field_name: element.dataset.fieldName
};
}
}
});
});
return this;
};
Expand Down
2 changes: 1 addition & 1 deletion django_project/static/admin/js/core.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Core javascript helper functions
// Core JavaScript helper functions
'use strict';

// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]);
Expand Down
12 changes: 4 additions & 8 deletions django_project/static/admin/js/inlines.js
Original file line number Diff line number Diff line change
Expand Up @@ -218,12 +218,10 @@
// instantiate a new SelectFilter instance for it.
if (typeof SelectFilter !== 'undefined') {
$('.selectfilter').each(function(index, value) {
const namearr = value.name.split('-');
SelectFilter.init(value.id, namearr[namearr.length - 1], false);
SelectFilter.init(value.id, this.dataset.fieldName, false);
});
$('.selectfilterstacked').each(function(index, value) {
const namearr = value.name.split('-');
SelectFilter.init(value.id, namearr[namearr.length - 1], true);
SelectFilter.init(value.id, this.dataset.fieldName, true);
});
}
};
Expand Down Expand Up @@ -283,12 +281,10 @@
// If any SelectFilter widgets were added, instantiate a new instance.
if (typeof SelectFilter !== "undefined") {
$(".selectfilter").each(function(index, value) {
const namearr = value.name.split('-');
SelectFilter.init(value.id, namearr[namearr.length - 1], false);
SelectFilter.init(value.id, this.dataset.fieldName, false);
});
$(".selectfilterstacked").each(function(index, value) {
const namearr = value.name.split('-');
SelectFilter.init(value.id, namearr[namearr.length - 1], true);
SelectFilter.init(value.id, this.dataset.fieldName, true);
});
}
};
Expand Down
Loading

0 comments on commit 5e11191

Please sign in to comment.