bitbake: toaster: migrate to Django-2.2

Toaster migration to Django-2.2. Django-1.x has been deprecated.

[YOCTO #13207]

(Bitbake rev: 9730f95686b2ac72cf1fa513c555f7c7787e2667)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
David Reyna
2020-03-25 21:24:55 -07:00
committed by Richard Purdie
parent 7e252ef310
commit 4dabdbe11d
40 changed files with 197 additions and 174 deletions

View File

@@ -6,7 +6,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.http import HttpResponseBadRequest, HttpResponse from django.http import HttpResponseBadRequest, HttpResponse
import os import os
import tempfile import tempfile

View File

@@ -37,7 +37,7 @@ class Migration(migrations.Migration):
('giturl', models.CharField(max_length=254)), ('giturl', models.CharField(max_length=254)),
('commit', models.CharField(max_length=254)), ('commit', models.CharField(max_length=254)),
('dirpath', models.CharField(max_length=254)), ('dirpath', models.CharField(max_length=254)),
('layer_version', models.ForeignKey(to='orm.Layer_Version', null=True)), ('layer_version', models.ForeignKey(to='orm.Layer_Version', null=True, on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -80,34 +80,34 @@ class Migration(migrations.Migration):
('state', models.IntegerField(default=0, choices=[(0, b'created'), (1, b'queued'), (2, b'in progress'), (3, b'completed'), (4, b'failed'), (5, b'deleted'), (6, b'archive')])), ('state', models.IntegerField(default=0, choices=[(0, b'created'), (1, b'queued'), (2, b'in progress'), (3, b'completed'), (4, b'failed'), (5, b'deleted'), (6, b'archive')])),
('created', models.DateTimeField(auto_now_add=True)), ('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)), ('updated', models.DateTimeField(auto_now=True)),
('build', models.OneToOneField(null=True, to='orm.Build')), ('build', models.OneToOneField(null=True, to='orm.Build', on_delete=models.CASCADE)),
('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True)), ('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True, on_delete=models.CASCADE)),
('project', models.ForeignKey(to='orm.Project')), ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
], ],
), ),
migrations.AddField( migrations.AddField(
model_name='brvariable', model_name='brvariable',
name='req', name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'), field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='brtarget', model_name='brtarget',
name='req', name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'), field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='brlayer', model_name='brlayer',
name='req', name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'), field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='brerror', model_name='brerror',
name='req', name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'), field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='brbitbake', model_name='brbitbake',
name='req', name='req',
field=models.OneToOneField(to='bldcontrol.BuildRequest'), field=models.OneToOneField(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
), ),
] ]

View File

@@ -85,9 +85,9 @@ class BuildRequest(models.Model):
search_allowed_fields = ("brtarget__target", "build__project__name") search_allowed_fields = ("brtarget__target", "build__project__name")
project = models.ForeignKey(Project) project = models.ForeignKey(Project, on_delete=models.CASCADE)
build = models.OneToOneField(Build, null = True) # TODO: toasterui should set this when Build is created build = models.OneToOneField(Build, on_delete=models.CASCADE, null = True) # TODO: toasterui should set this when Build is created
environment = models.ForeignKey(BuildEnvironment, null = True) environment = models.ForeignKey(BuildEnvironment, on_delete=models.CASCADE, null = True)
state = models.IntegerField(choices = REQUEST_STATE, default = REQ_CREATED) state = models.IntegerField(choices = REQUEST_STATE, default = REQ_CREATED)
created = models.DateTimeField(auto_now_add = True) created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True) updated = models.DateTimeField(auto_now = True)
@@ -131,32 +131,32 @@ class BuildRequest(models.Model):
class BRLayer(models.Model): class BRLayer(models.Model):
req = models.ForeignKey(BuildRequest) req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
giturl = models.CharField(max_length=254, null=True) giturl = models.CharField(max_length=254, null=True)
local_source_dir = models.CharField(max_length=254, null=True) local_source_dir = models.CharField(max_length=254, null=True)
commit = models.CharField(max_length=254, null=True) commit = models.CharField(max_length=254, null=True)
dirpath = models.CharField(max_length=254, null=True) dirpath = models.CharField(max_length=254, null=True)
layer_version = models.ForeignKey(Layer_Version, null=True) layer_version = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
class BRBitbake(models.Model): class BRBitbake(models.Model):
req = models.OneToOneField(BuildRequest) # only one bitbake for a request req = models.OneToOneField(BuildRequest, on_delete=models.CASCADE) # only one bitbake for a request
giturl = models.CharField(max_length =254) giturl = models.CharField(max_length =254)
commit = models.CharField(max_length = 254) commit = models.CharField(max_length = 254)
dirpath = models.CharField(max_length = 254) dirpath = models.CharField(max_length = 254)
class BRVariable(models.Model): class BRVariable(models.Model):
req = models.ForeignKey(BuildRequest) req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
value = models.TextField(blank = True) value = models.TextField(blank = True)
class BRTarget(models.Model): class BRTarget(models.Model):
req = models.ForeignKey(BuildRequest) req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
target = models.CharField(max_length=100) target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True) task = models.CharField(max_length=100, null=True)
class BRError(models.Model): class BRError(models.Model):
req = models.ForeignKey(BuildRequest) req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
errtype = models.CharField(max_length=100) errtype = models.CharField(max_length=100)
errmsg = models.TextField() errmsg = models.TextField()
traceback = models.TextField() traceback = models.TextField()

View File

@@ -54,7 +54,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('file_name', models.FilePathField()), ('file_name', models.FilePathField()),
('file_size', models.IntegerField()), ('file_size', models.IntegerField()),
('build', models.ForeignKey(to='orm.Build')), ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -64,7 +64,7 @@ class Migration(migrations.Migration):
('area', models.IntegerField(choices=[(0, b'variable')])), ('area', models.IntegerField(choices=[(0, b'variable')])),
('key', models.CharField(max_length=100)), ('key', models.CharField(max_length=100)),
('text', models.TextField()), ('text', models.TextField()),
('build', models.ForeignKey(related_name='helptext_build', to='orm.Build')), ('build', models.ForeignKey(related_name='helptext_build', to='orm.Build', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -94,8 +94,8 @@ class Migration(migrations.Migration):
('dirpath', models.CharField(default=None, max_length=255, null=True)), ('dirpath', models.CharField(default=None, max_length=255, null=True)),
('priority', models.IntegerField(default=0)), ('priority', models.IntegerField(default=0)),
('local_path', models.FilePathField(default=b'/', max_length=1024)), ('local_path', models.FilePathField(default=b'/', max_length=1024)),
('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True)), ('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True, on_delete=models.CASCADE)),
('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer')), ('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -112,9 +112,9 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('up_id', models.IntegerField(default=None, null=True)), ('up_id', models.IntegerField(default=None, null=True)),
('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version')), ('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version', on_delete=models.CASCADE)),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)), ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version')), ('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -125,7 +125,7 @@ class Migration(migrations.Migration):
('message', models.TextField(null=True, blank=True)), ('message', models.TextField(null=True, blank=True)),
('pathname', models.FilePathField(max_length=255, blank=True)), ('pathname', models.FilePathField(max_length=255, blank=True)),
('lineno', models.IntegerField(null=True)), ('lineno', models.IntegerField(null=True)),
('build', models.ForeignKey(to='orm.Build')), ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -136,8 +136,8 @@ class Migration(migrations.Migration):
('up_date', models.DateTimeField(default=None, null=True)), ('up_date', models.DateTimeField(default=None, null=True)),
('name', models.CharField(max_length=255)), ('name', models.CharField(max_length=255)),
('description', models.CharField(max_length=255)), ('description', models.CharField(max_length=255)),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)), ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
('layer_version', models.ForeignKey(to='orm.Layer_Version')), ('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -154,7 +154,7 @@ class Migration(migrations.Migration):
('installed_size', models.IntegerField(default=0)), ('installed_size', models.IntegerField(default=0)),
('section', models.CharField(max_length=80, blank=True)), ('section', models.CharField(max_length=80, blank=True)),
('license', models.CharField(max_length=80, blank=True)), ('license', models.CharField(max_length=80, blank=True)),
('build', models.ForeignKey(to='orm.Build', null=True)), ('build', models.ForeignKey(to='orm.Build', null=True, on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -162,8 +162,8 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'depends'), (3, b'recommends'), (2, b'recommends'), (4, b'suggests'), (5, b'provides'), (6, b'replaces'), (7, b'conflicts')])), ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'depends'), (3, b'recommends'), (2, b'recommends'), (4, b'suggests'), (5, b'provides'), (6, b'replaces'), (7, b'conflicts')])),
('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package')), ('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package', on_delete=models.CASCADE)),
('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package')), ('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -172,7 +172,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('path', models.FilePathField(max_length=255, blank=True)), ('path', models.FilePathField(max_length=255, blank=True)),
('size', models.IntegerField()), ('size', models.IntegerField()),
('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package')), ('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -185,7 +185,7 @@ class Migration(migrations.Migration):
('updated', models.DateTimeField(auto_now=True)), ('updated', models.DateTimeField(auto_now=True)),
('user_id', models.IntegerField(null=True)), ('user_id', models.IntegerField(null=True)),
('is_default', models.BooleanField(default=False)), ('is_default', models.BooleanField(default=False)),
('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True)), ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True, on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -193,8 +193,8 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('optional', models.BooleanField(default=True)), ('optional', models.BooleanField(default=True)),
('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True)), ('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True, on_delete=models.CASCADE)),
('project', models.ForeignKey(to='orm.Project')), ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -203,7 +203,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('target', models.CharField(max_length=100)), ('target', models.CharField(max_length=100)),
('task', models.CharField(max_length=100, null=True)), ('task', models.CharField(max_length=100, null=True)),
('project', models.ForeignKey(to='orm.Project')), ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -212,7 +212,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(max_length=100)), ('name', models.CharField(max_length=100)),
('value', models.TextField(blank=True)), ('value', models.TextField(blank=True)),
('project', models.ForeignKey(to='orm.Project')), ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -232,8 +232,8 @@ class Migration(migrations.Migration):
('file_path', models.FilePathField(max_length=255)), ('file_path', models.FilePathField(max_length=255)),
('pathflags', models.CharField(max_length=200, blank=True)), ('pathflags', models.CharField(max_length=200, blank=True)),
('is_image', models.BooleanField(default=False)), ('is_image', models.BooleanField(default=False)),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)), ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version')), ('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -241,8 +241,8 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'rdepends')])), ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'rdepends')])),
('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe')), ('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe', on_delete=models.CASCADE)),
('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe')), ('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -253,7 +253,7 @@ class Migration(migrations.Migration):
('description', models.CharField(max_length=255)), ('description', models.CharField(max_length=255)),
('branch_name', models.CharField(default=b'', max_length=50)), ('branch_name', models.CharField(default=b'', max_length=50)),
('helptext', models.TextField(null=True)), ('helptext', models.TextField(null=True)),
('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion')), ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -261,7 +261,7 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('layer_name', models.CharField(default=b'', max_length=100)), ('layer_name', models.CharField(default=b'', max_length=100)),
('release', models.ForeignKey(to='orm.Release')), ('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -269,8 +269,8 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('priority', models.IntegerField(default=0)), ('priority', models.IntegerField(default=0)),
('layer_source', models.ForeignKey(to='orm.LayerSource')), ('layer_source', models.ForeignKey(to='orm.LayerSource', on_delete=models.CASCADE)),
('release', models.ForeignKey(to='orm.Release')), ('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -282,7 +282,7 @@ class Migration(migrations.Migration):
('is_image', models.BooleanField(default=False)), ('is_image', models.BooleanField(default=False)),
('image_size', models.IntegerField(default=0)), ('image_size', models.IntegerField(default=0)),
('license_manifest_path', models.CharField(max_length=500, null=True)), ('license_manifest_path', models.CharField(max_length=500, null=True)),
('build', models.ForeignKey(to='orm.Build')), ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -295,9 +295,9 @@ class Migration(migrations.Migration):
('permission', models.CharField(max_length=16)), ('permission', models.CharField(max_length=16)),
('owner', models.CharField(max_length=128)), ('owner', models.CharField(max_length=128)),
('group', models.CharField(max_length=128)), ('group', models.CharField(max_length=128)),
('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True)), ('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True, on_delete=models.CASCADE)),
('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True)), ('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True, on_delete=models.CASCADE)),
('target', models.ForeignKey(to='orm.Target')), ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -306,15 +306,15 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('file_name', models.FilePathField(max_length=254)), ('file_name', models.FilePathField(max_length=254)),
('file_size', models.IntegerField()), ('file_size', models.IntegerField()),
('target', models.ForeignKey(to='orm.Target')), ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='Target_Installed_Package', name='Target_Installed_Package',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package')), ('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package', on_delete=models.CASCADE)),
('target', models.ForeignKey(to='orm.Target')), ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -337,8 +337,8 @@ class Migration(migrations.Migration):
('sstate_result', models.IntegerField(default=0, choices=[(0, b'Not Applicable'), (1, b'File not in cache'), (2, b'Failed'), (3, b'Succeeded')])), ('sstate_result', models.IntegerField(default=0, choices=[(0, b'Not Applicable'), (1, b'File not in cache'), (2, b'Failed'), (3, b'Succeeded')])),
('message', models.CharField(max_length=240)), ('message', models.CharField(max_length=240)),
('logfile', models.FilePathField(max_length=255, blank=True)), ('logfile', models.FilePathField(max_length=255, blank=True)),
('build', models.ForeignKey(related_name='task_build', to='orm.Build')), ('build', models.ForeignKey(related_name='task_build', to='orm.Build', on_delete=models.CASCADE)),
('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe')), ('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe', on_delete=models.CASCADE)),
], ],
options={ options={
'ordering': ('order', 'recipe'), 'ordering': ('order', 'recipe'),
@@ -348,8 +348,8 @@ class Migration(migrations.Migration):
name='Task_Dependency', name='Task_Dependency',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task')), ('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task', on_delete=models.CASCADE)),
('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task')), ('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -370,7 +370,7 @@ class Migration(migrations.Migration):
('changed', models.BooleanField(default=False)), ('changed', models.BooleanField(default=False)),
('human_readable_name', models.CharField(max_length=200)), ('human_readable_name', models.CharField(max_length=200)),
('description', models.TextField(blank=True)), ('description', models.TextField(blank=True)),
('build', models.ForeignKey(related_name='variable_build', to='orm.Build')), ('build', models.ForeignKey(related_name='variable_build', to='orm.Build', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -381,28 +381,28 @@ class Migration(migrations.Migration):
('file_name', models.FilePathField(max_length=255)), ('file_name', models.FilePathField(max_length=255)),
('line_number', models.IntegerField(null=True)), ('line_number', models.IntegerField(null=True)),
('operation', models.CharField(max_length=64)), ('operation', models.CharField(max_length=64)),
('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable')), ('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable', on_delete=models.CASCADE)),
], ],
), ),
migrations.AddField( migrations.AddField(
model_name='project', model_name='project',
name='release', name='release',
field=models.ForeignKey(to='orm.Release', null=True), field=models.ForeignKey(to='orm.Release', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='package_dependency', model_name='package_dependency',
name='target', name='target',
field=models.ForeignKey(to='orm.Target', null=True), field=models.ForeignKey(to='orm.Target', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='package', model_name='package',
name='recipe', name='recipe',
field=models.ForeignKey(to='orm.Recipe', null=True), field=models.ForeignKey(to='orm.Recipe', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='logmessage', model_name='logmessage',
name='task', name='task',
field=models.ForeignKey(blank=True, to='orm.Task', null=True), field=models.ForeignKey(blank=True, to='orm.Task', null=True, on_delete=models.CASCADE),
), ),
migrations.AlterUniqueTogether( migrations.AlterUniqueTogether(
name='layersource', name='layersource',
@@ -411,32 +411,32 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='layer_version', model_name='layer_version',
name='layer_source', name='layer_source',
field=models.ForeignKey(default=None, to='orm.LayerSource', null=True), field=models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='layer_version', model_name='layer_version',
name='project', name='project',
field=models.ForeignKey(default=None, to='orm.Project', null=True), field=models.ForeignKey(default=None, to='orm.Project', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='layer_version', model_name='layer_version',
name='up_branch', name='up_branch',
field=models.ForeignKey(default=None, to='orm.Branch', null=True), field=models.ForeignKey(default=None, to='orm.Branch', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='layer', model_name='layer',
name='layer_source', name='layer_source',
field=models.ForeignKey(default=None, to='orm.LayerSource', null=True), field=models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='build', model_name='build',
name='project', name='project',
field=models.ForeignKey(to='orm.Project'), field=models.ForeignKey(to='orm.Project', on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='branch', model_name='branch',
name='layer_source', name='layer_source',
field=models.ForeignKey(default=True, to='orm.LayerSource', null=True), field=models.ForeignKey(default=True, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
), ),
migrations.CreateModel( migrations.CreateModel(
name='ImportedLayerSource', name='ImportedLayerSource',

View File

@@ -14,10 +14,10 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='CustomImageRecipe', name='CustomImageRecipe',
fields=[ fields=[
('recipe_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Recipe')), ('recipe_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Recipe', on_delete=models.CASCADE)),
('last_updated', models.DateTimeField(default=None, null=True)), ('last_updated', models.DateTimeField(default=None, null=True)),
('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe')), ('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
('project', models.ForeignKey(to='orm.Project')), ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
], ],
bases=('orm.recipe',), bases=('orm.recipe',),
), ),

View File

@@ -14,7 +14,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='CustomImagePackage', name='CustomImagePackage',
fields=[ fields=[
('package_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Package')), ('package_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Package', on_delete=models.CASCADE)),
('recipe_appends', models.ManyToManyField(related_name='appends_set', to='orm.CustomImageRecipe')), ('recipe_appends', models.ManyToManyField(related_name='appends_set', to='orm.CustomImageRecipe')),
('recipe_excludes', models.ManyToManyField(related_name='excludes_set', to='orm.CustomImageRecipe')), ('recipe_excludes', models.ManyToManyField(related_name='excludes_set', to='orm.CustomImageRecipe')),
('recipe_includes', models.ManyToManyField(related_name='includes_set', to='orm.CustomImageRecipe')), ('recipe_includes', models.ManyToManyField(related_name='includes_set', to='orm.CustomImageRecipe')),

View File

@@ -16,12 +16,12 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(max_length=100)), ('name', models.CharField(max_length=100)),
('recipe', models.ForeignKey(to='orm.Recipe')), ('recipe', models.ForeignKey(to='orm.Recipe', on_delete=models.CASCADE)),
], ],
), ),
migrations.AddField( migrations.AddField(
model_name='recipe_dependency', model_name='recipe_dependency',
name='via', name='via',
field=models.ForeignKey(null=True, default=None, to='orm.Provides'), field=models.ForeignKey(null=True, default=None, to='orm.Provides', on_delete=models.CASCADE),
), ),
] ]

View File

@@ -17,7 +17,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
('file_name', models.FilePathField()), ('file_name', models.FilePathField()),
('file_size', models.IntegerField()), ('file_size', models.IntegerField()),
('target', models.ForeignKey(to='orm.Target')), ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
('file_name', models.FilePathField()), ('file_name', models.FilePathField()),
('file_size', models.IntegerField()), ('file_size', models.IntegerField()),
('target', models.ForeignKey(to='orm.Target')), ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
], ],
), ),
migrations.RemoveField( migrations.RemoveField(

View File

@@ -46,7 +46,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='layer_version', model_name='layer_version',
name='release', name='release',
field=models.ForeignKey(to='orm.Release', default=None, null=True), field=models.ForeignKey(to='orm.Release', default=None, null=True, on_delete=models.CASCADE),
), ),
migrations.RunPython(branch_to_release, migrations.RunPython(branch_to_release,
reverse_code=migrations.RunPython.noop), reverse_code=migrations.RunPython.noop),

View File

@@ -18,7 +18,7 @@ class Migration(migrations.Migration):
('up_date', models.DateTimeField(default=None, null=True)), ('up_date', models.DateTimeField(default=None, null=True)),
('name', models.CharField(max_length=255)), ('name', models.CharField(max_length=255)),
('description', models.CharField(max_length=255)), ('description', models.CharField(max_length=255)),
('layer_version', models.ForeignKey(to='orm.Layer_Version')), ('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
], ],
), ),
] ]

View File

@@ -0,0 +1,23 @@
# Generated by Django 2.2.7 on 2019-11-19 03:38
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('orm', '0018_project_specific'),
]
operations = [
migrations.RemoveField(
model_name='distro',
name='up_id',
),
migrations.AlterField(
model_name='build',
name='recipes_parsed',
field=models.IntegerField(default=1),
),
]

View File

@@ -13,7 +13,7 @@ from django.db.models import F, Q, Sum, Count
from django.utils import timezone from django.utils import timezone
from django.utils.encoding import force_bytes from django.utils.encoding import force_bytes
from django.core.urlresolvers import reverse from django.urls import reverse
from django.core import validators from django.core import validators
from django.conf import settings from django.conf import settings
@@ -178,8 +178,8 @@ class Project(models.Model):
'release__branch_name'] 'release__branch_name']
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
short_description = models.CharField(max_length=50, blank=True) short_description = models.CharField(max_length=50, blank=True)
bitbake_version = models.ForeignKey('BitbakeVersion', null=True) bitbake_version = models.ForeignKey('BitbakeVersion', on_delete=models.CASCADE, null=True)
release = models.ForeignKey("Release", null=True) release = models.ForeignKey("Release", on_delete=models.CASCADE, null=True)
created = models.DateTimeField(auto_now_add=True) created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True) updated = models.DateTimeField(auto_now=True)
# This is a horrible hack; since Toaster has no "User" model available when # This is a horrible hack; since Toaster has no "User" model available when
@@ -469,7 +469,7 @@ class Build(models.Model):
search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"] search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"]
project = models.ForeignKey(Project) # must have a project project = models.ForeignKey(Project, on_delete=models.CASCADE) # must have a project
machine = models.CharField(max_length=100) machine = models.CharField(max_length=100)
distro = models.CharField(max_length=100) distro = models.CharField(max_length=100)
distro_version = models.CharField(max_length=100) distro_version = models.CharField(max_length=100)
@@ -777,13 +777,13 @@ class Build(models.Model):
return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()])) return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
class ProjectTarget(models.Model): class ProjectTarget(models.Model):
project = models.ForeignKey(Project) project = models.ForeignKey(Project, on_delete=models.CASCADE)
target = models.CharField(max_length=100) target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True) task = models.CharField(max_length=100, null=True)
class Target(models.Model): class Target(models.Model):
search_allowed_fields = ['target', 'file_name'] search_allowed_fields = ['target', 'file_name']
build = models.ForeignKey(Build) build = models.ForeignKey(Build, on_delete=models.CASCADE)
target = models.CharField(max_length=100) target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True) task = models.CharField(max_length=100, null=True)
is_image = models.BooleanField(default = False) is_image = models.BooleanField(default = False)
@@ -944,7 +944,7 @@ class Target(models.Model):
# kernel artifacts for a target: bzImage and modules* # kernel artifacts for a target: bzImage and modules*
class TargetKernelFile(models.Model): class TargetKernelFile(models.Model):
target = models.ForeignKey(Target) target = models.ForeignKey(Target, on_delete=models.CASCADE)
file_name = models.FilePathField() file_name = models.FilePathField()
file_size = models.IntegerField() file_size = models.IntegerField()
@@ -954,7 +954,7 @@ class TargetKernelFile(models.Model):
# SDK artifacts for a target: sh and manifest files # SDK artifacts for a target: sh and manifest files
class TargetSDKFile(models.Model): class TargetSDKFile(models.Model):
target = models.ForeignKey(Target) target = models.ForeignKey(Target, on_delete=models.CASCADE)
file_name = models.FilePathField() file_name = models.FilePathField()
file_size = models.IntegerField() file_size = models.IntegerField()
@@ -973,7 +973,7 @@ class Target_Image_File(models.Model):
'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma' 'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma'
} }
target = models.ForeignKey(Target) target = models.ForeignKey(Target, on_delete=models.CASCADE)
file_name = models.FilePathField(max_length=254) file_name = models.FilePathField(max_length=254)
file_size = models.IntegerField() file_size = models.IntegerField()
@@ -1007,15 +1007,15 @@ class Target_File(models.Model):
( ITYPE_BLOCK ,'block'), ( ITYPE_BLOCK ,'block'),
) )
target = models.ForeignKey(Target) target = models.ForeignKey(Target, on_delete=models.CASCADE)
path = models.FilePathField() path = models.FilePathField()
size = models.IntegerField() size = models.IntegerField()
inodetype = models.IntegerField(choices = ITYPES) inodetype = models.IntegerField(choices = ITYPES)
permission = models.CharField(max_length=16) permission = models.CharField(max_length=16)
owner = models.CharField(max_length=128) owner = models.CharField(max_length=128)
group = models.CharField(max_length=128) group = models.CharField(max_length=128)
directory = models.ForeignKey('Target_File', related_name="directory_set", null=True) directory = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="directory_set", null=True)
sym_target = models.ForeignKey('Target_File', related_name="symlink_set", null=True) sym_target = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="symlink_set", null=True)
class Task(models.Model): class Task(models.Model):
@@ -1102,13 +1102,13 @@ class Task(models.Model):
def get_description(self): def get_description(self):
return self._helptext return self._helptext
build = models.ForeignKey(Build, related_name='task_build') build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='task_build')
order = models.IntegerField(null=True) order = models.IntegerField(null=True)
task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed
outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA) outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA)
sstate_checksum = models.CharField(max_length=100, blank=True) sstate_checksum = models.CharField(max_length=100, blank=True)
path_to_sstate_obj = models.FilePathField(max_length=500, blank=True) path_to_sstate_obj = models.FilePathField(max_length=500, blank=True)
recipe = models.ForeignKey('Recipe', related_name='tasks') recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, related_name='tasks')
task_name = models.CharField(max_length=100) task_name = models.CharField(max_length=100)
source_url = models.FilePathField(max_length=255, blank=True) source_url = models.FilePathField(max_length=255, blank=True)
work_directory = models.FilePathField(max_length=255, blank=True) work_directory = models.FilePathField(max_length=255, blank=True)
@@ -1147,13 +1147,13 @@ class Task(models.Model):
class Task_Dependency(models.Model): class Task_Dependency(models.Model):
task = models.ForeignKey(Task, related_name='task_dependencies_task') task = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_task')
depends_on = models.ForeignKey(Task, related_name='task_dependencies_depends') depends_on = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_depends')
class Package(models.Model): class Package(models.Model):
search_allowed_fields = ['name', 'version', 'revision', 'recipe__name', 'recipe__version', 'recipe__license', 'recipe__layer_version__layer__name', 'recipe__layer_version__branch', 'recipe__layer_version__commit', 'recipe__layer_version__local_path', 'installed_name'] search_allowed_fields = ['name', 'version', 'revision', 'recipe__name', 'recipe__version', 'recipe__license', 'recipe__layer_version__layer__name', 'recipe__layer_version__branch', 'recipe__layer_version__commit', 'recipe__layer_version__local_path', 'installed_name']
build = models.ForeignKey('Build', null=True) build = models.ForeignKey('Build', on_delete=models.CASCADE, null=True)
recipe = models.ForeignKey('Recipe', null=True) recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, null=True)
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
installed_name = models.CharField(max_length=100, default='') installed_name = models.CharField(max_length=100, default='')
version = models.CharField(max_length=100, blank=True) version = models.CharField(max_length=100, blank=True)
@@ -1289,19 +1289,19 @@ class Package_Dependency(models.Model):
TYPE_RCONFLICTS : ("conflicts", "%s conflicts with %s, which will not be installed if this package is not first removed"), TYPE_RCONFLICTS : ("conflicts", "%s conflicts with %s, which will not be installed if this package is not first removed"),
} }
package = models.ForeignKey(Package, related_name='package_dependencies_source') package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_source')
depends_on = models.ForeignKey(Package, related_name='package_dependencies_target') # soft dependency depends_on = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_target') # soft dependency
dep_type = models.IntegerField(choices=DEPENDS_TYPE) dep_type = models.IntegerField(choices=DEPENDS_TYPE)
target = models.ForeignKey(Target, null=True) target = models.ForeignKey(Target, on_delete=models.CASCADE, null=True)
objects = Package_DependencyManager() objects = Package_DependencyManager()
class Target_Installed_Package(models.Model): class Target_Installed_Package(models.Model):
target = models.ForeignKey(Target) target = models.ForeignKey(Target, on_delete=models.CASCADE)
package = models.ForeignKey(Package, related_name='buildtargetlist_package') package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildtargetlist_package')
class Package_File(models.Model): class Package_File(models.Model):
package = models.ForeignKey(Package, related_name='buildfilelist_package') package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildfilelist_package')
path = models.FilePathField(max_length=255, blank=True) path = models.FilePathField(max_length=255, blank=True)
size = models.IntegerField() size = models.IntegerField()
@@ -1318,7 +1318,7 @@ class Recipe(models.Model):
name = models.CharField(max_length=100, blank=True) name = models.CharField(max_length=100, blank=True)
version = models.CharField(max_length=100, blank=True) version = models.CharField(max_length=100, blank=True)
layer_version = models.ForeignKey('Layer_Version', layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE,
related_name='recipe_layer_version') related_name='recipe_layer_version')
summary = models.TextField(blank=True) summary = models.TextField(blank=True)
description = models.TextField(blank=True) description = models.TextField(blank=True)
@@ -1356,7 +1356,7 @@ class Recipe_DependencyManager(models.Manager):
class Provides(models.Model): class Provides(models.Model):
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
recipe = models.ForeignKey(Recipe) recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
class Recipe_Dependency(models.Model): class Recipe_Dependency(models.Model):
TYPE_DEPENDS = 0 TYPE_DEPENDS = 0
@@ -1366,9 +1366,9 @@ class Recipe_Dependency(models.Model):
(TYPE_DEPENDS, "depends"), (TYPE_DEPENDS, "depends"),
(TYPE_RDEPENDS, "rdepends"), (TYPE_RDEPENDS, "rdepends"),
) )
recipe = models.ForeignKey(Recipe, related_name='r_dependencies_recipe') recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_recipe')
depends_on = models.ForeignKey(Recipe, related_name='r_dependencies_depends') depends_on = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_depends')
via = models.ForeignKey(Provides, null=True, default=None) via = models.ForeignKey(Provides, on_delete=models.CASCADE, null=True, default=None)
dep_type = models.IntegerField(choices=DEPENDS_TYPE) dep_type = models.IntegerField(choices=DEPENDS_TYPE)
objects = Recipe_DependencyManager() objects = Recipe_DependencyManager()
@@ -1377,7 +1377,7 @@ class Machine(models.Model):
search_allowed_fields = ["name", "description", "layer_version__layer__name"] search_allowed_fields = ["name", "description", "layer_version__layer__name"]
up_date = models.DateTimeField(null = True, default = None) up_date = models.DateTimeField(null = True, default = None)
layer_version = models.ForeignKey('Layer_Version') layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
description = models.CharField(max_length=255) description = models.CharField(max_length=255)
@@ -1408,7 +1408,7 @@ class Release(models.Model):
""" A release is a project template, used to pre-populate Project settings with a configuration set """ """ A release is a project template, used to pre-populate Project settings with a configuration set """
name = models.CharField(max_length=32, unique = True) name = models.CharField(max_length=32, unique = True)
description = models.CharField(max_length=255) description = models.CharField(max_length=255)
bitbake_version = models.ForeignKey(BitbakeVersion) bitbake_version = models.ForeignKey(BitbakeVersion, on_delete=models.CASCADE)
branch_name = models.CharField(max_length=50, default = "") branch_name = models.CharField(max_length=50, default = "")
helptext = models.TextField(null=True) helptext = models.TextField(null=True)
@@ -1419,7 +1419,7 @@ class Release(models.Model):
return self.name return self.name
class ReleaseDefaultLayer(models.Model): class ReleaseDefaultLayer(models.Model):
release = models.ForeignKey(Release) release = models.ForeignKey(Release, on_delete=models.CASCADE)
layer_name = models.CharField(max_length=100, default="") layer_name = models.CharField(max_length=100, default="")
@@ -1474,10 +1474,10 @@ class Layer_Version(models.Model):
"layer__description", "layer__vcs_url", "layer__description", "layer__vcs_url",
"dirpath", "release__name", "commit", "branch"] "dirpath", "release__name", "commit", "branch"]
build = models.ForeignKey(Build, related_name='layer_version_build', build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='layer_version_build',
default=None, null=True) default=None, null=True)
layer = models.ForeignKey(Layer, related_name='layer_version_layer') layer = models.ForeignKey(Layer, on_delete=models.CASCADE, related_name='layer_version_layer')
layer_source = models.IntegerField(choices=LayerSource.SOURCE_TYPE, layer_source = models.IntegerField(choices=LayerSource.SOURCE_TYPE,
default=0) default=0)
@@ -1485,7 +1485,7 @@ class Layer_Version(models.Model):
up_date = models.DateTimeField(null=True, default=timezone.now) up_date = models.DateTimeField(null=True, default=timezone.now)
# To which metadata release does this layer version belong to # To which metadata release does this layer version belong to
release = models.ForeignKey(Release, null=True, default=None) release = models.ForeignKey(Release, on_delete=models.CASCADE, null=True, default=None)
branch = models.CharField(max_length=80) branch = models.CharField(max_length=80)
commit = models.CharField(max_length=100) commit = models.CharField(max_length=100)
@@ -1499,7 +1499,7 @@ class Layer_Version(models.Model):
local_path = models.FilePathField(max_length=1024, default="/") local_path = models.FilePathField(max_length=1024, default="/")
# Set if this layer is restricted to a particular project # Set if this layer is restricted to a particular project
project = models.ForeignKey('Project', null=True, default=None) project = models.ForeignKey('Project', on_delete=models.CASCADE, null=True, default=None)
# code lifted, with adaptations, from the layerindex-web application # code lifted, with adaptations, from the layerindex-web application
# https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/ # https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
@@ -1608,14 +1608,14 @@ class Layer_Version(models.Model):
class LayerVersionDependency(models.Model): class LayerVersionDependency(models.Model):
layer_version = models.ForeignKey(Layer_Version, layer_version = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
related_name="dependencies") related_name="dependencies")
depends_on = models.ForeignKey(Layer_Version, depends_on = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
related_name="dependees") related_name="dependees")
class ProjectLayer(models.Model): class ProjectLayer(models.Model):
project = models.ForeignKey(Project) project = models.ForeignKey(Project, on_delete=models.CASCADE)
layercommit = models.ForeignKey(Layer_Version, null=True) layercommit = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
optional = models.BooleanField(default = True) optional = models.BooleanField(default = True)
def __unicode__(self): def __unicode__(self):
@@ -1630,8 +1630,8 @@ class CustomImageRecipe(Recipe):
LAYER_NAME = "toaster-custom-images" LAYER_NAME = "toaster-custom-images"
search_allowed_fields = ['name'] search_allowed_fields = ['name']
base_recipe = models.ForeignKey(Recipe, related_name='based_on_recipe') base_recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='based_on_recipe')
project = models.ForeignKey(Project) project = models.ForeignKey(Project, on_delete=models.CASCADE)
last_updated = models.DateTimeField(null=True, default=None) last_updated = models.DateTimeField(null=True, default=None)
def get_last_successful_built_target(self): def get_last_successful_built_target(self):
@@ -1784,14 +1784,14 @@ class CustomImageRecipe(Recipe):
return recipe_contents return recipe_contents
class ProjectVariable(models.Model): class ProjectVariable(models.Model):
project = models.ForeignKey(Project) project = models.ForeignKey(Project, on_delete=models.CASCADE)
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
value = models.TextField(blank = True) value = models.TextField(blank = True)
class Variable(models.Model): class Variable(models.Model):
search_allowed_fields = ['variable_name', 'variable_value', search_allowed_fields = ['variable_name', 'variable_value',
'vhistory__file_name', "description"] 'vhistory__file_name', "description"]
build = models.ForeignKey(Build, related_name='variable_build') build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='variable_build')
variable_name = models.CharField(max_length=100) variable_name = models.CharField(max_length=100)
variable_value = models.TextField(blank=True) variable_value = models.TextField(blank=True)
changed = models.BooleanField(default=False) changed = models.BooleanField(default=False)
@@ -1799,7 +1799,7 @@ class Variable(models.Model):
description = models.TextField(blank=True) description = models.TextField(blank=True)
class VariableHistory(models.Model): class VariableHistory(models.Model):
variable = models.ForeignKey(Variable, related_name='vhistory') variable = models.ForeignKey(Variable, on_delete=models.CASCADE, related_name='vhistory')
value = models.TextField(blank=True) value = models.TextField(blank=True)
file_name = models.FilePathField(max_length=255) file_name = models.FilePathField(max_length=255)
line_number = models.IntegerField(null=True) line_number = models.IntegerField(null=True)
@@ -1809,7 +1809,7 @@ class HelpText(models.Model):
VARIABLE = 0 VARIABLE = 0
HELPTEXT_AREA = ((VARIABLE, 'variable'), ) HELPTEXT_AREA = ((VARIABLE, 'variable'), )
build = models.ForeignKey(Build, related_name='helptext_build') build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='helptext_build')
area = models.IntegerField(choices=HELPTEXT_AREA) area = models.IntegerField(choices=HELPTEXT_AREA)
key = models.CharField(max_length=100) key = models.CharField(max_length=100)
text = models.TextField() text = models.TextField()
@@ -1829,8 +1829,8 @@ class LogMessage(models.Model):
(EXCEPTION, "toaster exception") (EXCEPTION, "toaster exception")
) )
build = models.ForeignKey(Build) build = models.ForeignKey(Build, on_delete=models.CASCADE)
task = models.ForeignKey(Task, blank = True, null=True) task = models.ForeignKey(Task, on_delete=models.CASCADE, blank = True, null=True)
level = models.IntegerField(choices=LOG_LEVEL, default=INFO) level = models.IntegerField(choices=LOG_LEVEL, default=INFO)
message = models.TextField(blank=True, null=True) message = models.TextField(blank=True, null=True)
pathname = models.FilePathField(max_length=255, blank=True) pathname = models.FilePathField(max_length=255, blank=True)
@@ -1859,7 +1859,7 @@ class Distro(models.Model):
search_allowed_fields = ["name", "description", "layer_version__layer__name"] search_allowed_fields = ["name", "description", "layer_version__layer__name"]
up_date = models.DateTimeField(null = True, default = None) up_date = models.DateTimeField(null = True, default = None)
layer_version = models.ForeignKey('Layer_Version') layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
description = models.CharField(max_length=255) description = models.CharField(max_length=255)

View File

@@ -9,7 +9,7 @@
import re import re
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -9,7 +9,7 @@
import re import re
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version

View File

@@ -11,7 +11,7 @@
Run the js unit tests Run the js unit tests
""" """
from django.core.urlresolvers import reverse from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
import logging import logging

View File

@@ -7,7 +7,7 @@
# Copyright (C) 2013-2016 Intel Corporation # Copyright (C) 2013-2016 Intel Corporation
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -7,7 +7,7 @@
# Copyright (C) 2013-2016 Intel Corporation # Copyright (C) 2013-2016 Intel Corporation
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import Layer, Layer_Version, Project, LayerSource, Release from orm.models import Layer, Layer_Version, Project, LayerSource, Release

View File

@@ -7,7 +7,7 @@
# Copyright (C) 2013-2016 Intel Corporation # Copyright (C) 2013-2016 Intel Corporation
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from tests.browser.selenium_helpers_base import Wait from tests.browser.selenium_helpers_base import Wait

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import BitbakeVersion, Release, Project, ProjectLayer, Layer from orm.models import BitbakeVersion, Release, Project, ProjectLayer, Layer

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from selenium.webdriver.support.ui import Select from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import InvalidElementStateException from selenium.common.exceptions import InvalidElementStateException

View File

@@ -9,7 +9,7 @@
import re import re
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import BitbakeVersion, Release, Project, ProjectVariable from orm.models import BitbakeVersion, Release, Project, ProjectVariable
@@ -214,3 +214,4 @@ class TestProjectConfigsPage(SeleniumTestCase):
hidden_element = self.driver.find_element_by_id('hintError-sstate_dir') hidden_element = self.driver.find_element_by_id('hintError-sstate_dir')
self.assertEqual(hidden_element.is_displayed(), False, self.assertEqual(hidden_element.is_displayed(), False,
'sstate directory path valid but treated as invalid') 'sstate directory path valid but treated as invalid')

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase

View File

@@ -16,7 +16,7 @@ New test files should follow this structure, should be named "test_*.py",
and should be in the same directory as this sample. and should be in the same directory as this sample.
""" """
from django.core.urlresolvers import reverse from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
class TestSample(SeleniumTestCase): class TestSample(SeleniumTestCase):

View File

@@ -7,7 +7,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
# #
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import Project, Build, Layer, Layer_Version, Recipe, Target from orm.models import Project, Build, Layer, Layer_Version, Recipe, Target

View File

@@ -9,7 +9,7 @@
from datetime import datetime from datetime import datetime
from django.core.urlresolvers import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from tests.browser.selenium_helpers import SeleniumTestCase from tests.browser.selenium_helpers import SeleniumTestCase
from orm.models import BitbakeVersion, Release, Project, Build from orm.models import BitbakeVersion, Release, Project, Build

View File

@@ -11,7 +11,7 @@
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from django.core.urlresolvers import reverse from django.urls import reverse
from django.db.models import Q from django.db.models import Q
from orm.models import Project, Package from orm.models import Project, Package

View File

@@ -24,7 +24,7 @@ from bldcontrol import bbcontroller
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
from django.views.generic import View from django.views.generic import View
from django.core.urlresolvers import reverse from django.urls import reverse
from django.db.models import Q, F from django.db.models import Q, F
from django.db import Error from django.db import Error
from toastergui.templatetags.projecttags import filtered_filesizeformat from toastergui.templatetags.projecttags import filtered_filesizeformat

View File

@@ -3,7 +3,7 @@
# #
from django import template from django import template
from django.core.urlresolvers import reverse from django.urls import reverse
register = template.Library() register = template.Library()

View File

@@ -44,7 +44,7 @@ def json(value, default = None):
# it manually here # it manually here
return mark_safe(JsonLib.dumps(value, indent=2, default = default, ensure_ascii=False).replace('</', '<\\/')) return mark_safe(JsonLib.dumps(value, indent=2, default = default, ensure_ascii=False).replace('</', '<\\/'))
@register.assignment_tag @register.simple_tag
def query(qs, **kwargs): def query(qs, **kwargs):
""" template tag which allows queryset filtering. Usage: """ template tag which allows queryset filtering. Usage:
{% query books author=author as mybooks %} {% query books author=author as mybooks %}
@@ -83,7 +83,7 @@ def divide(value, arg):
def multiply(value, arg): def multiply(value, arg):
return int(value) * int(arg) return int(value) * int(arg)
@register.assignment_tag @register.simple_tag
def datecompute(delta, start = timezone.now()): def datecompute(delta, start = timezone.now()):
return start + timedelta(delta) return start + timedelta(delta)

View File

@@ -10,7 +10,7 @@ import subprocess
from toastergui.widgets import ToasterTypeAhead from toastergui.widgets import ToasterTypeAhead
from orm.models import Project from orm.models import Project
from django.core.urlresolvers import reverse from django.urls import reverse
from django.core.cache import cache from django.core.cache import cache

View File

@@ -19,7 +19,7 @@ from orm.models import Target_Installed_Package, Target_File
from orm.models import TargetKernelFile, TargetSDKFile, Target_Image_File from orm.models import TargetKernelFile, TargetSDKFile, Target_Image_File
from orm.models import BitbakeVersion, CustomImageRecipe from orm.models import BitbakeVersion, CustomImageRecipe
from django.core.urlresolvers import reverse, resolve from django.urls import reverse, resolve
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.http import HttpResponseNotFound, JsonResponse from django.http import HttpResponseNotFound, JsonResponse
@@ -352,7 +352,7 @@ def _get_parameters_values(request, default_count, default_order):
# set cookies for parameters. this is usefull in case parameters are set # set cookies for parameters. this is usefull in case parameters are set
# manually from the GET values of the link # manually from the GET values of the link
def _set_parameters_values(pagesize, orderby, request): def _set_parameters_values(pagesize, orderby, request):
from django.core.urlresolvers import resolve from django.urls import resolve
current_url = resolve(request.path_info).url_name current_url = resolve(request.path_info).url_name
request.session['%s_count' % current_url] = pagesize request.session['%s_count' % current_url] = pagesize
request.session['%s_orderby' % current_url] =orderby request.session['%s_orderby' % current_url] =orderby
@@ -1364,8 +1364,8 @@ if True:
template = "newproject.html" template = "newproject.html"
context = { context = {
'email': request.user.email if request.user.is_authenticated() else '', 'email': request.user.email if request.user.is_authenticated else '',
'username': request.user.username if request.user.is_authenticated() else '', 'username': request.user.username if request.user.is_authenticated else '',
'releases': Release.objects.order_by("description"), 'releases': Release.objects.order_by("description"),
} }
@@ -1391,7 +1391,7 @@ if True:
# set alert for missing fields # set alert for missing fields
raise BadParameterException("Fields missing: %s" % ", ".join(missing)) raise BadParameterException("Fields missing: %s" % ", ".join(missing))
if not request.user.is_authenticated(): if not request.user.is_authenticated:
user = authenticate(username = request.POST.get('username', '_anonuser'), password = 'nopass') user = authenticate(username = request.POST.get('username', '_anonuser'), password = 'nopass')
if user is None: if user is None:
user = User.objects.create_user(username = request.POST.get('username', '_anonuser'), email = request.POST.get('email', ''), password = "nopass") user = User.objects.create_user(username = request.POST.get('username', '_anonuser'), email = request.POST.get('email', ''), password = "nopass")
@@ -1438,8 +1438,8 @@ if True:
project = Project.objects.get(pk=pid) project = Project.objects.get(pk=pid)
template = "newproject_specific.html" template = "newproject_specific.html"
context = { context = {
'email': request.user.email if request.user.is_authenticated() else '', 'email': request.user.email if request.user.is_authenticated else '',
'username': request.user.username if request.user.is_authenticated() else '', 'username': request.user.username if request.user.is_authenticated else '',
'releases': Release.objects.order_by("description"), 'releases': Release.objects.order_by("description"),
'projectname': project.name, 'projectname': project.name,
'project_pk': project.pk, 'project_pk': project.pk,
@@ -1469,7 +1469,7 @@ if True:
# set alert for missing fields # set alert for missing fields
raise BadParameterException("Fields missing: %s" % ", ".join(missing)) raise BadParameterException("Fields missing: %s" % ", ".join(missing))
if not request.user.is_authenticated(): if not request.user.is_authenticated:
user = authenticate(username = request.POST.get('username', '_anonuser'), password = 'nopass') user = authenticate(username = request.POST.get('username', '_anonuser'), password = 'nopass')
if user is None: if user is None:
user = User.objects.create_user(username = request.POST.get('username', '_anonuser'), email = request.POST.get('email', ''), password = "nopass") user = User.objects.create_user(username = request.POST.get('username', '_anonuser'), email = request.POST.get('email', ''), password = "nopass")

View File

@@ -22,7 +22,7 @@ from django.utils import timezone
from toastergui.templatetags.projecttags import sectohms, get_tasks from toastergui.templatetags.projecttags import sectohms, get_tasks
from toastergui.templatetags.projecttags import json as template_json from toastergui.templatetags.projecttags import json as template_json
from django.http import JsonResponse from django.http import JsonResponse
from django.core.urlresolvers import reverse from django.urls import reverse
import types import types
import json import json

View File

@@ -466,7 +466,6 @@ class Command(BaseCommand):
release_name = 'None' if not pl.layercommit.release else pl.layercommit.release.name release_name = 'None' if not pl.layercommit.release else pl.layercommit.release.name
print(" AFTER :ProjectLayer=%s,%s,%s,%s" % (pl.layercommit.layer.name,release_name,pl.layercommit.branch,pl.layercommit.commit)) print(" AFTER :ProjectLayer=%s,%s,%s,%s" % (pl.layercommit.layer.name,release_name,pl.layercommit.branch,pl.layercommit.commit))
def handle(self, *args, **options): def handle(self, *args, **options):
project_name = options['name'] project_name = options['name']
project_path = options['path'] project_path = options['path']
@@ -551,6 +550,7 @@ class Command(BaseCommand):
# preset the mode and default image recipe # preset the mode and default image recipe
project.set_variable(Project.PROJECT_SPECIFIC_ISNEW,Project.PROJECT_SPECIFIC_NEW) project.set_variable(Project.PROJECT_SPECIFIC_ISNEW,Project.PROJECT_SPECIFIC_NEW)
project.set_variable(Project.PROJECT_SPECIFIC_DEFAULTIMAGE,"core-image-minimal") project.set_variable(Project.PROJECT_SPECIFIC_DEFAULTIMAGE,"core-image-minimal")
# Assert any extended/custom actions or variables for new non-Toaster projects # Assert any extended/custom actions or variables for new non-Toaster projects
if not len(self.toaster_vars): if not len(self.toaster_vars):
pass pass

View File

@@ -189,15 +189,16 @@ TEMPLATES = [
}, },
] ]
MIDDLEWARE_CLASSES = ( MIDDLEWARE = [
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection: 'django.contrib.auth.middleware.AuthenticationMiddleware',
# 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
) 'django.contrib.sessions.middleware.SessionMiddleware',
]
CACHES = { CACHES = {
# 'default': { # 'default': {
@@ -248,7 +249,7 @@ FRESH_ENABLED = False
if os.environ.get('TOASTER_DEVEL', None) is not None: if os.environ.get('TOASTER_DEVEL', None) is not None:
try: try:
import fresh import fresh
MIDDLEWARE_CLASSES = ("fresh.middleware.FreshMiddleware",) + MIDDLEWARE_CLASSES MIDDLEWARE = ["fresh.middleware.FreshMiddleware",] + MIDDLEWARE
INSTALLED_APPS = INSTALLED_APPS + ('fresh',) INSTALLED_APPS = INSTALLED_APPS + ('fresh',)
FRESH_ENABLED = True FRESH_ENABLED = True
except: except:
@@ -258,8 +259,8 @@ DEBUG_PANEL_ENABLED = False
if os.environ.get('TOASTER_DEVEL', None) is not None: if os.environ.get('TOASTER_DEVEL', None) is not None:
try: try:
import debug_toolbar, debug_panel import debug_toolbar, debug_panel
MIDDLEWARE_CLASSES = ('debug_panel.middleware.DebugPanelMiddleware',) + MIDDLEWARE_CLASSES MIDDLEWARE = ['debug_panel.middleware.DebugPanelMiddleware',] + MIDDLEWARE
#MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + ('debug_toolbar.middleware.DebugToolbarMiddleware',) #MIDDLEWARE = MIDDLEWARE + ['debug_toolbar.middleware.DebugToolbarMiddleware',]
INSTALLED_APPS = INSTALLED_APPS + ('debug_toolbar','debug_panel',) INSTALLED_APPS = INSTALLED_APPS + ('debug_toolbar','debug_panel',)
DEBUG_PANEL_ENABLED = True DEBUG_PANEL_ENABLED = True
@@ -352,5 +353,3 @@ def activate_synchronous_off(sender, connection, **kwargs):
connection_created.connect(activate_synchronous_off) connection_created.connect(activate_synchronous_off)
# #

View File

@@ -51,7 +51,7 @@ if toastermain.settings.DEBUG_PANEL_ENABLED:
urlpatterns = [ urlpatterns = [
# Uncomment the next line to enable the admin: # Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', admin.site.urls),
] + urlpatterns ] + urlpatterns
# Automatically discover urls.py in various apps, beside our own # Automatically discover urls.py in various apps, beside our own
@@ -69,7 +69,7 @@ for t in os.walk(os.path.dirname(currentdir)):
# make sure we don't have this module name in # make sure we don't have this module name in
conflict = False conflict = False
for p in urlpatterns: for p in urlpatterns:
if p.regex.pattern == '^' + modulename + '/': if p.pattern.regex.pattern == '^' + modulename + '/':
conflict = True conflict = True
if not conflict: if not conflict:
urlpatterns.insert(0, url(r'^' + modulename + '/', include ( modulename + '.urls'))) urlpatterns.insert(0, url(r'^' + modulename + '/', include ( modulename + '.urls')))