* [layerindexweb][PATCH 0/7] Django 2.2 Upgrade
@ 2020-06-25 22:57 Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 1/7] README: Correcting mailing list Amber Elliot
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Amber Elliot
These patches upgrade the layerindex to Django 2.2.
Amber Elliot (5):
README: Correcting mailing list.
Updating models and imports for Django 2.2 upgrade.
settings.py: Replacing MIDDLEWARE_CLASSES with MIDDLEWARE for Django
2.2 upgrade.
Replacing is_authenticated() with is_authenticated for Django upgrade.
requirements.txt: Updating Django requirement to the 2.2 LTS release.
Tim Orling (2):
Dockerfile: debian 10 "buster" and drop python2
docker/settings.py: MIDDLEWARE
Dockerfile | 13 ++--
README | 2 +-
docker/settings.py | 2 +-
layerindex/auth_views.py | 4 +-
layerindex/forms.py | 2 +-
layerindex/middleware.py | 2 +-
layerindex/migrations/0001_initial.py | 36 +++++------
layerindex/migrations/0002_distro.py | 2 +-
layerindex/migrations/0005_layerupdate.py | 4 +-
.../migrations/0010_add_dependencies.py | 2 +-
layerindex/migrations/0011_source.py | 2 +-
layerindex/migrations/0013_patch.py | 2 +-
.../0023_layerupdate_layer_branch_finalise.py | 4 +-
layerindex/models.py | 61 +++++++++----------
layerindex/urls.py | 2 +-
layerindex/urls_branch.py | 2 +-
layerindex/views.py | 32 +++++-----
requirements.txt | 2 +-
settings.py | 2 +-
urls.py | 4 +-
20 files changed, 89 insertions(+), 93 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 1/7] README: Correcting mailing list.
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 2/7] Updating models and imports for Django 2.2 upgrade Amber Elliot
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Amber Elliot
Signed-off-by: Amber Elliot <amber.n.elliot@intel.com>
---
README | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README b/README
index 6df1bf0..6fc4591 100644
--- a/README
+++ b/README
@@ -431,7 +431,7 @@ The latest version of the code can always be found here:
http://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
Contributions are welcome. Please send patches / pull requests to
-yocto@yoctoproject.org with '[layerindex-web]' in the subject.
+yocto@lists.yoctoproject.org with '[layerindex-web]' in the subject.
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 2/7] Updating models and imports for Django 2.2 upgrade.
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 1/7] README: Correcting mailing list Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 3/7] settings.py: Replacing MIDDLEWARE_CLASSES with MIDDLEWARE " Amber Elliot
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Amber Elliot
Removed all obsolete references to django.core.urlresolvers. Added the
newly required on_delete fields to foreign key relationships in models.py
and in all migrations.
Signed-off-by: Amber Elliot <amber.n.elliot@intel.com>
---
layerindex/auth_views.py | 2 +-
layerindex/middleware.py | 2 +-
layerindex/migrations/0001_initial.py | 36 +++++------
layerindex/migrations/0002_distro.py | 2 +-
layerindex/migrations/0005_layerupdate.py | 4 +-
.../migrations/0010_add_dependencies.py | 2 +-
layerindex/migrations/0011_source.py | 2 +-
layerindex/migrations/0013_patch.py | 2 +-
.../0023_layerupdate_layer_branch_finalise.py | 4 +-
layerindex/models.py | 59 +++++++++----------
layerindex/urls.py | 2 +-
layerindex/urls_branch.py | 2 +-
layerindex/views.py | 2 +-
urls.py | 4 +-
14 files changed, 62 insertions(+), 63 deletions(-)
diff --git a/layerindex/auth_views.py b/layerindex/auth_views.py
index d10c750..a147a9c 100644
--- a/layerindex/auth_views.py
+++ b/layerindex/auth_views.py
@@ -12,7 +12,7 @@ from django.contrib.auth.views import (PasswordResetConfirmView,
from django.contrib.sites.shortcuts import get_current_site
from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render
from django.utils.decorators import method_decorator
diff --git a/layerindex/middleware.py b/layerindex/middleware.py
index cea207e..afe34a3 100644
--- a/layerindex/middleware.py
+++ b/layerindex/middleware.py
@@ -6,7 +6,7 @@
from django.utils.deprecation import MiddlewareMixin
from django.http import HttpResponseRedirect
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from reversion.middleware import RevisionMiddleware
import settings
import re
diff --git a/layerindex/migrations/0001_initial.py b/layerindex/migrations/0001_initial.py
index d08a1aa..c9517ef 100644
--- a/layerindex/migrations/0001_initial.py
+++ b/layerindex/migrations/0001_initial.py
@@ -69,7 +69,7 @@ class Migration(migrations.Migration):
('vcs_last_commit', models.DateTimeField(verbose_name='Last commit date', blank=True, null=True)),
('actual_branch', models.CharField(verbose_name='Actual Branch', blank=True, help_text='Name of the actual branch in the repository matching the core branch', max_length=80)),
('updated', models.DateTimeField(auto_now=True)),
- ('branch', models.ForeignKey(to='layerindex.Branch')),
+ ('branch', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Branch')),
],
options={
'verbose_name_plural': 'Layer branches',
@@ -116,7 +116,7 @@ class Migration(migrations.Migration):
('email', models.CharField(max_length=255)),
('responsibility', models.CharField(blank=True, help_text='Specific area(s) this maintainer is responsible for, if not the entire layer', max_length=200)),
('status', models.CharField(default='A', max_length=1, choices=[('A', 'Active'), ('I', 'Inactive')])),
- ('layerbranch', models.ForeignKey(to='layerindex.LayerBranch')),
+ ('layerbranch', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch')),
],
),
migrations.CreateModel(
@@ -124,7 +124,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
('text', models.TextField()),
- ('layer', models.ForeignKey(to='layerindex.LayerItem')),
+ ('layer', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerItem')),
],
),
migrations.CreateModel(
@@ -134,7 +134,7 @@ class Migration(migrations.Migration):
('name', models.CharField(max_length=255)),
('description', models.CharField(max_length=255)),
('updated', models.DateTimeField(auto_now=True)),
- ('layerbranch', models.ForeignKey(to='layerindex.LayerBranch')),
+ ('layerbranch', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch')),
],
),
migrations.CreateModel(
@@ -184,7 +184,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
('name', models.CharField(max_length=255)),
- ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
+ ('user', models.ForeignKey(on_delete=models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
@@ -192,7 +192,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
('path', models.CharField(db_index=True, max_length=255)),
- ('layerbranch', models.ForeignKey(related_name='+', to='layerindex.LayerBranch')),
+ ('layerbranch', models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='+', to='layerindex.LayerBranch')),
],
options={
'verbose_name_plural': 'Recipe file dependencies',
@@ -201,7 +201,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='ClassicRecipe',
fields=[
- ('recipe_ptr', models.OneToOneField(primary_key=True, to='layerindex.Recipe', auto_created=True, parent_link=True, serialize=False)),
+ ('recipe_ptr', models.OneToOneField(on_delete=models.deletion.CASCADE, primary_key=True, to='layerindex.Recipe', auto_created=True, parent_link=True, serialize=False)),
('cover_pn', models.CharField(verbose_name='Covering recipe', blank=True, max_length=100)),
('cover_status', models.CharField(default='U', max_length=1, choices=[('U', 'Unknown'), ('N', 'Not available'), ('R', 'Replaced'), ('P', 'Provided (BBCLASSEXTEND)'), ('C', 'Provided (PACKAGECONFIG)'), ('O', 'Obsolete'), ('E', 'Equivalent functionality'), ('D', 'Direct match')])),
('cover_verified', models.BooleanField(default=False)),
@@ -216,57 +216,57 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='recipefiledependency',
name='recipe',
- field=models.ForeignKey(to='layerindex.Recipe'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Recipe'),
),
migrations.AddField(
model_name='recipechange',
name='changeset',
- field=models.ForeignKey(to='layerindex.RecipeChangeset'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.RecipeChangeset'),
),
migrations.AddField(
model_name='recipechange',
name='recipe',
- field=models.ForeignKey(related_name='+', to='layerindex.Recipe'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='+', to='layerindex.Recipe'),
),
migrations.AddField(
model_name='recipe',
name='layerbranch',
- field=models.ForeignKey(to='layerindex.LayerBranch'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch'),
),
migrations.AddField(
model_name='layerdependency',
name='dependency',
- field=models.ForeignKey(related_name='dependents_set', to='layerindex.LayerItem'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='dependents_set', to='layerindex.LayerItem'),
),
migrations.AddField(
model_name='layerdependency',
name='layerbranch',
- field=models.ForeignKey(related_name='dependencies_set', to='layerindex.LayerBranch'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='dependencies_set', to='layerindex.LayerBranch'),
),
migrations.AddField(
model_name='layerbranch',
name='layer',
- field=models.ForeignKey(to='layerindex.LayerItem'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerItem'),
),
migrations.AddField(
model_name='branch',
name='update_environment',
- field=models.ForeignKey(to='layerindex.PythonEnvironment', blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL),
+ field=models.ForeignKey(to='layerindex.PythonEnvironment', blank=True, null=True, on_delete=models.deletion.SET_NULL),
),
migrations.AddField(
model_name='bbclass',
name='layerbranch',
- field=models.ForeignKey(to='layerindex.LayerBranch'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch'),
),
migrations.AddField(
model_name='bbappend',
name='layerbranch',
- field=models.ForeignKey(to='layerindex.LayerBranch'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch'),
),
migrations.AddField(
model_name='classicrecipe',
name='cover_layerbranch',
- field=models.ForeignKey(to='layerindex.LayerBranch', verbose_name='Covering layer', blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL),
+ field=models.ForeignKey(to='layerindex.LayerBranch', verbose_name='Covering layer', blank=True, null=True, on_delete=models.deletion.SET_NULL),
),
migrations.RunPython(create_master_branch, reverse_code=migrations.RunPython.noop),
]
diff --git a/layerindex/migrations/0002_distro.py b/layerindex/migrations/0002_distro.py
index 732007d..ac94cb6 100644
--- a/layerindex/migrations/0002_distro.py
+++ b/layerindex/migrations/0002_distro.py
@@ -18,7 +18,7 @@ class Migration(migrations.Migration):
('name', models.CharField(max_length=255)),
('description', models.CharField(max_length=255)),
('updated', models.DateTimeField(auto_now=True)),
- ('layerbranch', models.ForeignKey(to='layerindex.LayerBranch')),
+ ('layerbranch', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch')),
],
),
]
diff --git a/layerindex/migrations/0005_layerupdate.py b/layerindex/migrations/0005_layerupdate.py
index 3cf4ab2..7a6cb40 100644
--- a/layerindex/migrations/0005_layerupdate.py
+++ b/layerindex/migrations/0005_layerupdate.py
@@ -20,7 +20,7 @@ class Migration(migrations.Migration):
('errors', models.IntegerField(default=0)),
('warnings', models.IntegerField(default=0)),
('log', models.TextField(blank=True)),
- ('layerbranch', models.ForeignKey(to='layerindex.LayerBranch')),
+ ('layerbranch', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerBranch')),
],
),
migrations.CreateModel(
@@ -41,6 +41,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='layerupdate',
name='update',
- field=models.ForeignKey(to='layerindex.Update'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Update'),
),
]
diff --git a/layerindex/migrations/0010_add_dependencies.py b/layerindex/migrations/0010_add_dependencies.py
index 16cd776..cedf140 100644
--- a/layerindex/migrations/0010_add_dependencies.py
+++ b/layerindex/migrations/0010_add_dependencies.py
@@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('with_option', models.CharField(max_length=255, blank=True)),
('without_option', models.CharField(max_length=255, blank=True)),
('build_deps', models.CharField(max_length=255, blank=True)),
- ('recipe', models.ForeignKey(to='layerindex.Recipe')),
+ ('recipe', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Recipe')),
],
),
migrations.CreateModel(
diff --git a/layerindex/migrations/0011_source.py b/layerindex/migrations/0011_source.py
index 515e71c..3ab97dc 100644
--- a/layerindex/migrations/0011_source.py
+++ b/layerindex/migrations/0011_source.py
@@ -16,7 +16,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)),
('url', models.CharField(max_length=255)),
- ('recipe', models.ForeignKey(to='layerindex.Recipe')),
+ ('recipe', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Recipe')),
],
),
]
diff --git a/layerindex/migrations/0013_patch.py b/layerindex/migrations/0013_patch.py
index 9e7180e..b54e75c 100644
--- a/layerindex/migrations/0013_patch.py
+++ b/layerindex/migrations/0013_patch.py
@@ -19,7 +19,7 @@ class Migration(migrations.Migration):
('src_path', models.CharField(max_length=255)),
('status', models.CharField(default='U', choices=[('U', 'Unknown'), ('A', 'Accepted'), ('P', 'Pending'), ('I', 'Inappropriate'), ('B', 'Backport'), ('S', 'Submitted'), ('D', 'Denied')], max_length=1)),
('status_extra', models.CharField(blank=True, max_length=255)),
- ('recipe', models.ForeignKey(to='layerindex.Recipe')),
+ ('recipe', models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Recipe')),
],
options={
'verbose_name_plural': 'Patches',
diff --git a/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py b/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py
index ba6b72f..d9737c7 100644
--- a/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py
+++ b/layerindex/migrations/0023_layerupdate_layer_branch_finalise.py
@@ -15,12 +15,12 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='layerupdate',
name='branch',
- field=models.ForeignKey(to='layerindex.Branch'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.Branch'),
),
migrations.AlterField(
model_name='layerupdate',
name='layer',
- field=models.ForeignKey(to='layerindex.LayerItem'),
+ field=models.ForeignKey(on_delete=models.deletion.CASCADE, to='layerindex.LayerItem'),
),
migrations.RemoveField(
model_name='layerupdate',
diff --git a/layerindex/models.py b/layerindex/models.py
index 04888be..4d75bed 100644
--- a/layerindex/models.py
+++ b/layerindex/models.py
@@ -7,7 +7,7 @@
from django.db import models
from datetime import datetime
from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
from django.core.validators import URLValidator
from django.db.models.signals import pre_save
from django.dispatch import receiver
@@ -140,7 +140,6 @@ class LayerItem(models.Model):
mailing_list_url = models.URLField('Mailing list URL', blank=True, help_text='URL of the info page for a mailing list for discussing the layer, if any')
index_preference = models.IntegerField('Preference', default=0, help_text='Number used to find preferred recipes in recipe search results (higher number is greater preference)')
comparison = models.BooleanField('Comparison', default=False, help_text='Is this a comparison layer?')
-
updated = models.DateTimeField(auto_now=True)
class Meta:
@@ -196,7 +195,7 @@ class LayerItem(models.Model):
class LayerRecipeExtraURL(models.Model):
- layer = models.ForeignKey(LayerItem)
+ layer = models.ForeignKey(LayerItem, on_delete=models.CASCADE)
name = models.CharField(max_length=50, help_text='Name to display for link')
url = models.CharField('URL', max_length=255, help_text='Template for URL to link to (macros: %pn% %pv% %branch% %actual_branch%)')
@@ -229,8 +228,8 @@ class YPCompatibleVersion(models.Model):
return self.name
class LayerBranch(models.Model):
- layer = models.ForeignKey(LayerItem)
- branch = models.ForeignKey(Branch)
+ layer = models.ForeignKey(LayerItem, on_delete=models.CASCADE)
+ branch = models.ForeignKey(Branch, on_delete=models.CASCADE)
collection = models.CharField('Layer Collection', max_length=40, null=True, blank=True, help_text='Name of the collection that the layer provides for the purpose of expressing dependencies (as specified in BBFILE_COLLECTIONS). Can only contain letters, numbers and dashes.')
version = models.CharField('Layer Version', max_length=10, null=True, blank=True, help_text='The layer version for this particular branch.')
vcs_subdir = models.CharField('Repository subdirectory', max_length=40, blank=True, help_text='Subdirectory within the repository where the layer is located, if not in the root (usually only used if the repository contains more than one layer)')
@@ -375,7 +374,7 @@ class LayerMaintainer(models.Model):
('A', 'Active'),
('I', 'Inactive'),
)
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
email = models.CharField(max_length=255)
responsibility = models.CharField(max_length=200, blank=True, help_text='Specific area(s) this maintainer is responsible for, if not the entire layer')
@@ -389,8 +388,8 @@ class LayerMaintainer(models.Model):
class LayerDependency(models.Model):
- layerbranch = models.ForeignKey(LayerBranch, related_name='dependencies_set')
- dependency = models.ForeignKey(LayerItem, related_name='dependents_set')
+ layerbranch = models.ForeignKey(LayerBranch, related_name='dependencies_set', on_delete=models.CASCADE)
+ dependency = models.ForeignKey(LayerItem, related_name='dependents_set', on_delete=models.CASCADE)
required = models.BooleanField(default=True)
class Meta:
@@ -401,7 +400,7 @@ class LayerDependency(models.Model):
class LayerNote(models.Model):
- layer = models.ForeignKey(LayerItem)
+ layer = models.ForeignKey(LayerItem, on_delete=models.CASCADE)
text = models.TextField()
def __str__(self):
@@ -409,9 +408,9 @@ class LayerNote(models.Model):
class LayerUpdate(models.Model):
- layer = models.ForeignKey(LayerItem)
- branch = models.ForeignKey(Branch)
- update = models.ForeignKey(Update)
+ layer = models.ForeignKey(LayerItem, on_delete=models.CASCADE)
+ branch = models.ForeignKey(Branch, on_delete=models.CASCADE)
+ update = models.ForeignKey(Update, on_delete=models.CASCADE)
started = models.DateTimeField()
finished = models.DateTimeField(blank=True, null=True)
errors = models.IntegerField(default=0)
@@ -456,7 +455,7 @@ class LayerUpdate(models.Model):
class Recipe(models.Model):
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
filename = models.CharField(max_length=255)
filepath = models.CharField(max_length=255, blank=True)
pn = models.CharField(max_length=100, blank=True)
@@ -527,7 +526,7 @@ class Recipe(models.Model):
class Source(models.Model):
- recipe = models.ForeignKey(Recipe)
+ recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
url = models.CharField(max_length=255)
sha256sum = models.CharField(max_length=64, blank=True)
@@ -561,7 +560,7 @@ class Patch(models.Model):
('S', 'Submitted'),
('D', 'Denied'),
]
- recipe = models.ForeignKey(Recipe)
+ recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
path = models.CharField(max_length=255)
src_path = models.CharField(max_length=255)
status = models.CharField(max_length=1, choices=PATCH_STATUS_CHOICES, default='U')
@@ -610,7 +609,7 @@ class Patch(models.Model):
class PackageConfig(models.Model):
- recipe = models.ForeignKey(Recipe)
+ recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
feature = models.CharField(max_length=255)
with_option = models.CharField(max_length=255, blank=True)
without_option = models.CharField(max_length=255, blank=True)
@@ -638,8 +637,8 @@ class DynamicBuildDep(models.Model):
return self.name
class RecipeFileDependency(models.Model):
- recipe = models.ForeignKey(Recipe)
- layerbranch = models.ForeignKey(LayerBranch, related_name='+')
+ recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
+ layerbranch = models.ForeignKey(LayerBranch, related_name='+', on_delete=models.CASCADE)
path = models.CharField(max_length=255, db_index=True)
class Meta:
@@ -715,8 +714,8 @@ class ClassicRecipe(Recipe):
class ComparisonRecipeUpdate(models.Model):
- update = models.ForeignKey(Update)
- recipe = models.ForeignKey(ClassicRecipe)
+ update = models.ForeignKey(Update, on_delete=models.CASCADE)
+ recipe = models.ForeignKey(ClassicRecipe, on_delete=models.CASCADE)
meta_updated = models.BooleanField(default=False)
link_updated = models.BooleanField(default=False)
@@ -725,7 +724,7 @@ class ComparisonRecipeUpdate(models.Model):
class Machine(models.Model):
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
@@ -739,7 +738,7 @@ class Machine(models.Model):
return '%s (%s)' % (self.name, self.layerbranch.layer.name)
class Distro(models.Model):
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
@@ -754,7 +753,7 @@ class Distro(models.Model):
class BBAppend(models.Model):
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
filename = models.CharField(max_length=255)
filepath = models.CharField(max_length=255, blank=True)
@@ -780,7 +779,7 @@ class BBAppend(models.Model):
class BBClass(models.Model):
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
class Meta:
@@ -796,7 +795,7 @@ class BBClass(models.Model):
class IncFile(models.Model):
- layerbranch = models.ForeignKey(LayerBranch)
+ layerbranch = models.ForeignKey(LayerBranch, on_delete=models.CASCADE)
path = models.CharField(max_length=255)
def vcs_web_url(self):
@@ -808,7 +807,7 @@ class IncFile(models.Model):
class RecipeChangeset(models.Model):
- user = models.ForeignKey(User)
+ user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
def __str__(self):
@@ -825,8 +824,8 @@ class RecipeChange(models.Model):
'bugtracker': 'BUGTRACKER',
}
- changeset = models.ForeignKey(RecipeChangeset)
- recipe = models.ForeignKey(Recipe, related_name='+')
+ changeset = models.ForeignKey(RecipeChangeset, on_delete=models.CASCADE)
+ recipe = models.ForeignKey(Recipe, related_name='+', on_delete=models.CASCADE)
summary = models.CharField(max_length=100, blank=True)
description = models.TextField(blank=True)
section = models.CharField(max_length=100, blank=True)
@@ -882,7 +881,7 @@ class SecurityQuestion(models.Model):
class UserProfile(models.Model):
- user = models.OneToOneField(User)
+ user = models.OneToOneField(User, on_delete=models.CASCADE)
answer_attempts = models.IntegerField(default=0)
def __str__(self):
@@ -891,7 +890,7 @@ class UserProfile(models.Model):
class SecurityQuestionAnswer(models.Model):
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
- security_question = models.ForeignKey(SecurityQuestion)
+ security_question = models.ForeignKey(SecurityQuestion, on_delete=models.CASCADE)
answer = models.CharField(max_length = 250, null=False)
def __str__(self):
diff --git a/layerindex/urls.py b/layerindex/urls.py
index 6208753..ab2d028 100644
--- a/layerindex/urls.py
+++ b/layerindex/urls.py
@@ -7,7 +7,7 @@
from django.conf.urls import *
from django.views.generic import TemplateView, DetailView, ListView, RedirectView
from django.views.defaults import page_not_found
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
from layerindex.views import LayerListView, LayerReviewListView, LayerReviewDetailView, RecipeSearchView, \
MachineSearchView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, \
HistoryListView, EditProfileFormView, AdvancedRecipeSearchView, BulkChangeView, BulkChangeSearchView, \
diff --git a/layerindex/urls_branch.py b/layerindex/urls_branch.py
index 2fa925a..9756f90 100644
--- a/layerindex/urls_branch.py
+++ b/layerindex/urls_branch.py
@@ -6,7 +6,7 @@
from django.conf.urls import *
from django.views.defaults import page_not_found
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
from layerindex.views import LayerListView, RecipeSearchView, MachineSearchView, DistroSearchView, ClassSearchView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, RedirectParamsView, DuplicatesView, LayerUpdateDetailView, layer_export_recipes_csv_view, comparison_update_view
urlpatterns = [
diff --git a/layerindex/views.py b/layerindex/views.py
index 6c72191..f9799cf 100644
--- a/layerindex/views.py
+++ b/layerindex/views.py
@@ -21,7 +21,7 @@ from django.contrib.auth.models import Permission, User
from django.contrib.messages.views import SuccessMessageMixin
from django.contrib.sites.models import Site
from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import resolve, reverse, reverse_lazy
+from django.urls import resolve, reverse, reverse_lazy
from django.db import transaction
from django.db.models import Count, Q
from django.db.models.functions import Lower
diff --git a/urls.py b/urls.py
index 41324da..67d64b2 100644
--- a/urls.py
+++ b/urls.py
@@ -6,7 +6,7 @@
# All rights reserved.
from django.conf.urls import include, url
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
from django.views.generic import RedirectView, TemplateView
from layerindex.auth_views import CaptchaRegistrationView, CaptchaPasswordResetView, delete_account_view, \
PasswordResetSecurityQuestions
@@ -17,7 +17,7 @@ import settings
urlpatterns = [
url(r'^layerindex/', include('layerindex.urls')),
- url(r'^admin/', include(admin.site.urls)),
+ url(r'^admin/', admin.site.urls),
url(r'^accounts/password_reset/$',
CaptchaPasswordResetView.as_view(
email_template_name='registration/password_reset_email.txt',
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 3/7] settings.py: Replacing MIDDLEWARE_CLASSES with MIDDLEWARE for Django 2.2 upgrade.
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 1/7] README: Correcting mailing list Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 2/7] Updating models and imports for Django 2.2 upgrade Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 4/7] Replacing is_authenticated() with is_authenticated for Django upgrade Amber Elliot
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Amber Elliot
Signed-off-by: Amber Elliot <amber.n.elliot@intel.com>
---
settings.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/settings.py b/settings.py
index e9bf6cc..525a0c1 100644
--- a/settings.py
+++ b/settings.py
@@ -92,7 +92,7 @@ STATICFILES_FINDERS = (
# Make this unique, and don't share it with anybody.
SECRET_KEY = ''
-MIDDLEWARE_CLASSES = (
+MIDDLEWARE = (
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 4/7] Replacing is_authenticated() with is_authenticated for Django upgrade.
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
` (2 preceding siblings ...)
2020-06-25 22:57 ` [layerindexweb][PATCH 3/7] settings.py: Replacing MIDDLEWARE_CLASSES with MIDDLEWARE " Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 5/7] requirements.txt: Updating Django requirement to the 2.2 LTS release Amber Elliot
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Amber Elliot
Signed-off-by: Amber Elliot <amber.n.elliot@intel.com>
---
layerindex/auth_views.py | 2 +-
layerindex/forms.py | 2 +-
layerindex/models.py | 2 +-
layerindex/views.py | 30 +++++++++++++++---------------
4 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/layerindex/auth_views.py b/layerindex/auth_views.py
index a147a9c..152f171 100644
--- a/layerindex/auth_views.py
+++ b/layerindex/auth_views.py
@@ -77,7 +77,7 @@ class CaptchaPasswordResetView(PasswordResetView):
def delete_account_view(request, template_name):
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
raise PermissionDenied
if request.user.is_superuser:
# It's not really appropriate for the superuser to be deleted this way
diff --git a/layerindex/forms.py b/layerindex/forms.py
index 4d8eb44..4061d4b 100644
--- a/layerindex/forms.py
+++ b/layerindex/forms.py
@@ -89,7 +89,7 @@ class EditLayerForm(StyledModelForm):
del self.fields['captcha']
else:
self.fields['deps'].initial = [l.pk for l in LayerItem.objects.filter(name=settings.CORE_LAYER_NAME)]
- if user.is_authenticated():
+ if user.is_authenticated:
del self.fields['captcha']
# Ensure repo subdir appears after repo URL
field_order = list(self.fields.keys())
diff --git a/layerindex/models.py b/layerindex/models.py
index 4d75bed..99c68e1 100644
--- a/layerindex/models.py
+++ b/layerindex/models.py
@@ -171,7 +171,7 @@ class LayerItem(models.Model):
return matches
def user_can_edit(self, user):
- if user.is_authenticated():
+ if user.is_authenticated:
user_email = user.email.strip().lower()
for maintainer in self.active_maintainers():
if maintainer.email.strip().lower() == user_email:
diff --git a/layerindex/views.py b/layerindex/views.py
index f9799cf..83adb6a 100644
--- a/layerindex/views.py
+++ b/layerindex/views.py
@@ -65,7 +65,7 @@ def edit_layernote_view(request, template_name, slug, pk=None):
layeritem = get_object_or_404(LayerItem, name=slug)
if layeritem.comparison:
raise Http404
- if not (request.user.is_authenticated() and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
+ if not (request.user.is_authenticated and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
raise PermissionDenied
if pk:
# Edit mode
@@ -91,7 +91,7 @@ def delete_layernote_view(request, template_name, slug, pk):
layeritem = get_object_or_404(LayerItem, name=slug)
if layeritem.comparison:
raise Http404
- if not (request.user.is_authenticated() and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
+ if not (request.user.is_authenticated and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
raise PermissionDenied
layernote = get_object_or_404(LayerNote, pk=pk)
if request.method == 'POST':
@@ -108,7 +108,7 @@ def delete_layer_view(request, template_name, slug):
layeritem = get_object_or_404(LayerItem, name=slug)
if layeritem.comparison:
raise Http404
- if not (request.user.is_authenticated() and request.user.has_perm('layerindex.publish_layer') and layeritem.status == 'N'):
+ if not (request.user.is_authenticated and request.user.has_perm('layerindex.publish_layer') and layeritem.status == 'N'):
raise PermissionDenied
if request.method == 'POST':
layeritem.delete()
@@ -128,7 +128,7 @@ def edit_layer_view(request, template_name, branch='master', slug=None):
layeritem = get_object_or_404(LayerItem, name=slug)
if layeritem.comparison:
raise Http404
- if not (request.user.is_authenticated() and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
+ if not (request.user.is_authenticated and (request.user.has_perm('layerindex.publish_layer') or layeritem.user_can_edit(request.user))):
raise PermissionDenied
layerbranch = get_object_or_404(LayerBranch, layer=layeritem, branch=branchobj)
old_maintainers = list(layerbranch.layermaintainer_set.values_list('email', flat=True))
@@ -324,7 +324,7 @@ def _get_help_contact():
return help_contact
def publish_view(request, name):
- if not (request.user.is_authenticated() and request.user.has_perm('layerindex.publish_layer')):
+ if not (request.user.is_authenticated and request.user.has_perm('layerindex.publish_layer')):
raise PermissionDenied
if getattr(settings, 'SEND_PUBLISH_EMAIL', True):
@@ -412,7 +412,7 @@ class LayerDetailView(DetailView):
if l.comparison:
raise Http404
if l.status == 'N':
- if not (request.user.is_authenticated() and request.user.has_perm('layerindex.publish_layer')):
+ if not (request.user.is_authenticated and request.user.has_perm('layerindex.publish_layer')):
raise PermissionDenied
return res
@@ -695,7 +695,7 @@ class BulkChangeView(CreateView):
return super(BulkChangeView, self).dispatch(request, *args, **kwargs)
def form_valid(self, form):
- if not self.request.user.is_authenticated():
+ if not self.request.user.is_authenticated:
raise PermissionDenied
obj = form.save(commit=False)
obj.user = self.request.user
@@ -717,7 +717,7 @@ class BulkChangeSearchView(AdvancedRecipeSearchView):
return super(BulkChangeSearchView, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
raise PermissionDenied
changeset = get_object_or_404(RecipeChangeset, pk=kwargs['pk'])
@@ -1346,7 +1346,7 @@ class ClassicRecipeDetailView(SuccessMessageMixin, DetailView):
context_object_name = 'recipe'
def _can_edit(self):
- if self.request.user.is_authenticated():
+ if self.request.user.is_authenticated:
if not self.request.user.has_perm('layerindex.edit_classic'):
return False
else:
@@ -1354,7 +1354,7 @@ class ClassicRecipeDetailView(SuccessMessageMixin, DetailView):
return True
def _can_disposition_patches(self):
- if self.request.user.is_authenticated():
+ if self.request.user.is_authenticated:
if not self.request.user.has_perm('layerindex.patch_disposition'):
return False
else:
@@ -1550,7 +1550,7 @@ class TaskStatusView(TemplateView):
def task_log_view(request, task_id):
from celery.result import AsyncResult
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
raise PermissionDenied
if '/' in task_id:
@@ -1601,7 +1601,7 @@ def task_log_view(request, task_id):
def task_stop_view(request, task_id):
from celery.result import AsyncResult
import signal
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
raise PermissionDenied
result = AsyncResult(task_id)
@@ -1610,7 +1610,7 @@ def task_stop_view(request, task_id):
def email_test_view(request):
- if not request.user.is_authenticated() and request.user.is_staff():
+ if not request.user.is_authenticated and request.user.is_staff():
raise PermissionDenied
plaintext = get_template('layerindex/testemail.txt')
@@ -1639,7 +1639,7 @@ def email_test_view(request):
class ComparisonRecipeSelectView(ClassicRecipeSearchView):
def _can_edit(self):
- if self.request.user.is_authenticated():
+ if self.request.user.is_authenticated:
if not self.request.user.has_perm('layerindex.edit_classic'):
return False
else:
@@ -1713,7 +1713,7 @@ class ComparisonRecipeSelectDetailView(DetailView):
return context
def post(self, request, *args, **kwargs):
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated:
raise PermissionDenied
recipe = get_object_or_404(ClassicRecipe, pk=self.kwargs['selectfor'])
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 5/7] requirements.txt: Updating Django requirement to the 2.2 LTS release.
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
` (3 preceding siblings ...)
2020-06-25 22:57 ` [layerindexweb][PATCH 4/7] Replacing is_authenticated() with is_authenticated for Django upgrade Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 6/7] Dockerfile: debian 10 "buster" and drop python2 Amber Elliot
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Amber Elliot
Signed-off-by: Amber Elliot <amber.n.elliot@intel.com>
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 4ba5397..c7399ff 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,7 @@ beautifulsoup4==4.8.1
billiard==3.6.1.0
celery==4.3.0
confusable-homoglyphs==3.2.0
-Django>=1.11.27,<1.12
+Django>=2.2<2.3
django-appconf==1.0.3
django-axes==4.5.4
django-bootstrap-pagination==1.7.1
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 6/7] Dockerfile: debian 10 "buster" and drop python2
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
` (4 preceding siblings ...)
2020-06-25 22:57 ` [layerindexweb][PATCH 5/7] requirements.txt: Updating Django requirement to the 2.2 LTS release Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 7/7] docker/settings.py: MIDDLEWARE Amber Elliot
2020-06-29 18:05 ` [yocto] [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Paul Eggleton
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Tim Orling
From: Tim Orling <ticotimo@gmail.com>
Debian 10 "buster" actually has Django 2.2 available
python2 is now EOL, so drop all usage
Signed-off-by: Tim Orling <ticotimo@gmail.com>
---
Dockerfile | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 0de9bdb..8c4c847 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
# See README for how to use this.
-FROM debian:stretch
+FROM debian:buster
LABEL maintainer="Michael Halstead <mhalstead@linuxfoundation.org>"
ENV PYTHONUNBUFFERED=1 \
@@ -21,10 +21,9 @@ RUN apt-get update \
g++ \
gcc \
make \
- python-pip \
- python-mysqldb \
- python-dev \
- python-imaging \
+ python3-pip \
+ python3-mysqldb \
+ python3-dev \
python3-pip \
python3-mysqldb \
python3-dev \
@@ -44,11 +43,9 @@ RUN apt-get update \
&& locale-gen en_US.UTF-8 \
&& update-locale \
&& pip3 install gunicorn \
- && pip install setuptools \
&& pip3 install setuptools \
- && pip install -r /requirements.txt \
&& pip3 install -r /requirements.txt \
- && apt-get purge -y autoconf g++ make python-dev python3-dev libjpeg-dev libmariadbclient-dev \
+ && apt-get purge -y autoconf g++ make python3-dev libjpeg-dev libmariadbclient-dev \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [layerindexweb][PATCH 7/7] docker/settings.py: MIDDLEWARE
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
` (5 preceding siblings ...)
2020-06-25 22:57 ` [layerindexweb][PATCH 6/7] Dockerfile: debian 10 "buster" and drop python2 Amber Elliot
@ 2020-06-25 22:57 ` Amber Elliot
2020-06-29 18:05 ` [yocto] [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Paul Eggleton
7 siblings, 0 replies; 9+ messages in thread
From: Amber Elliot @ 2020-06-25 22:57 UTC (permalink / raw)
To: yocto; +Cc: Tim Orling
From: Tim Orling <ticotimo@gmail.com>
The docker/settings.py file also needs the change from
"Changing MIDDLEWARE_CLASSES to MIDDLEWARE."
Signed-off-by: Tim Orling <ticotimo@gmail.com>
---
docker/settings.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docker/settings.py b/docker/settings.py
index 2821d82..fb7d376 100644
--- a/docker/settings.py
+++ b/docker/settings.py
@@ -92,7 +92,7 @@ STATICFILES_FINDERS = (
# Make this unique, and don't share it with anybody.
SECRET_KEY = os.getenv('SECRET_KEY', '')
-MIDDLEWARE_CLASSES = (
+MIDDLEWARE = (
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [yocto] [layerindexweb][PATCH 0/7] Django 2.2 Upgrade
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
` (6 preceding siblings ...)
2020-06-25 22:57 ` [layerindexweb][PATCH 7/7] docker/settings.py: MIDDLEWARE Amber Elliot
@ 2020-06-29 18:05 ` Paul Eggleton
7 siblings, 0 replies; 9+ messages in thread
From: Paul Eggleton @ 2020-06-29 18:05 UTC (permalink / raw)
To: Amber Elliot; +Cc: yocto, Tim Orling
Hi Amber
Thanks for doing this! I've just merged the patches this morning.
Next we need to figure out how to do the upgrade on the live site - which is a
little tricky given the current state of the RRS (where the upgrade requires
some manual data mangling on my part). Hopefully I can get this done some time
next week.
Cheers
Paul
On Friday, 26 June 2020 10:57:32 NZST Amber Elliot wrote:
> These patches upgrade the layerindex to Django 2.2.
>
> Amber Elliot (5):
> README: Correcting mailing list.
> Updating models and imports for Django 2.2 upgrade.
> settings.py: Replacing MIDDLEWARE_CLASSES with MIDDLEWARE for Django
> 2.2 upgrade.
> Replacing is_authenticated() with is_authenticated for Django upgrade.
> requirements.txt: Updating Django requirement to the 2.2 LTS release.
>
> Tim Orling (2):
> Dockerfile: debian 10 "buster" and drop python2
> docker/settings.py: MIDDLEWARE
>
> Dockerfile | 13 ++--
> README | 2 +-
> docker/settings.py | 2 +-
> layerindex/auth_views.py | 4 +-
> layerindex/forms.py | 2 +-
> layerindex/middleware.py | 2 +-
> layerindex/migrations/0001_initial.py | 36 +++++------
> layerindex/migrations/0002_distro.py | 2 +-
> layerindex/migrations/0005_layerupdate.py | 4 +-
> .../migrations/0010_add_dependencies.py | 2 +-
> layerindex/migrations/0011_source.py | 2 +-
> layerindex/migrations/0013_patch.py | 2 +-
> .../0023_layerupdate_layer_branch_finalise.py | 4 +-
> layerindex/models.py | 61 +++++++++----------
> layerindex/urls.py | 2 +-
> layerindex/urls_branch.py | 2 +-
> layerindex/views.py | 32 +++++-----
> requirements.txt | 2 +-
> settings.py | 2 +-
> urls.py | 4 +-
> 20 files changed, 89 insertions(+), 93 deletions(-)
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-06-29 18:05 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-25 22:57 [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 1/7] README: Correcting mailing list Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 2/7] Updating models and imports for Django 2.2 upgrade Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 3/7] settings.py: Replacing MIDDLEWARE_CLASSES with MIDDLEWARE " Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 4/7] Replacing is_authenticated() with is_authenticated for Django upgrade Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 5/7] requirements.txt: Updating Django requirement to the 2.2 LTS release Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 6/7] Dockerfile: debian 10 "buster" and drop python2 Amber Elliot
2020-06-25 22:57 ` [layerindexweb][PATCH 7/7] docker/settings.py: MIDDLEWARE Amber Elliot
2020-06-29 18:05 ` [yocto] [layerindexweb][PATCH 0/7] Django 2.2 Upgrade Paul Eggleton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.