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
#
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.http import HttpResponseBadRequest, HttpResponse
import os
import tempfile

View File

@@ -37,7 +37,7 @@ class Migration(migrations.Migration):
('giturl', models.CharField(max_length=254)),
('commit', 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(
@@ -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')])),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('build', models.OneToOneField(null=True, to='orm.Build')),
('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True)),
('project', models.ForeignKey(to='orm.Project')),
('build', models.OneToOneField(null=True, to='orm.Build', on_delete=models.CASCADE)),
('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True, on_delete=models.CASCADE)),
('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
],
),
migrations.AddField(
model_name='brvariable',
name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'),
field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
),
migrations.AddField(
model_name='brtarget',
name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'),
field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
),
migrations.AddField(
model_name='brlayer',
name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'),
field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
),
migrations.AddField(
model_name='brerror',
name='req',
field=models.ForeignKey(to='bldcontrol.BuildRequest'),
field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
),
migrations.AddField(
model_name='brbitbake',
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")
project = models.ForeignKey(Project)
build = models.OneToOneField(Build, null = True) # TODO: toasterui should set this when Build is created
environment = models.ForeignKey(BuildEnvironment, null = True)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
build = models.OneToOneField(Build, on_delete=models.CASCADE, null = True) # TODO: toasterui should set this when Build is created
environment = models.ForeignKey(BuildEnvironment, on_delete=models.CASCADE, null = True)
state = models.IntegerField(choices = REQUEST_STATE, default = REQ_CREATED)
created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True)
@@ -131,32 +131,32 @@ class BuildRequest(models.Model):
class BRLayer(models.Model):
req = models.ForeignKey(BuildRequest)
req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
giturl = 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)
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):
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)
commit = models.CharField(max_length = 254)
dirpath = models.CharField(max_length = 254)
class BRVariable(models.Model):
req = models.ForeignKey(BuildRequest)
req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
value = models.TextField(blank = True)
class BRTarget(models.Model):
req = models.ForeignKey(BuildRequest)
req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True)
class BRError(models.Model):
req = models.ForeignKey(BuildRequest)
req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
errtype = models.CharField(max_length=100)
errmsg = 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)),
('file_name', models.FilePathField()),
('file_size', models.IntegerField()),
('build', models.ForeignKey(to='orm.Build')),
('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -64,7 +64,7 @@ class Migration(migrations.Migration):
('area', models.IntegerField(choices=[(0, b'variable')])),
('key', models.CharField(max_length=100)),
('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(
@@ -94,8 +94,8 @@ class Migration(migrations.Migration):
('dirpath', models.CharField(default=None, max_length=255, null=True)),
('priority', models.IntegerField(default=0)),
('local_path', models.FilePathField(default=b'/', max_length=1024)),
('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True)),
('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer')),
('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', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -112,9 +112,9 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('up_id', models.IntegerField(default=None, null=True)),
('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version')),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
('layer_version', models.ForeignKey(related_name='dependencies', 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, on_delete=models.CASCADE)),
('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -125,7 +125,7 @@ class Migration(migrations.Migration):
('message', models.TextField(null=True, blank=True)),
('pathname', models.FilePathField(max_length=255, blank=True)),
('lineno', models.IntegerField(null=True)),
('build', models.ForeignKey(to='orm.Build')),
('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -136,8 +136,8 @@ class Migration(migrations.Migration):
('up_date', models.DateTimeField(default=None, null=True)),
('name', models.CharField(max_length=255)),
('description', models.CharField(max_length=255)),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
('layer_version', models.ForeignKey(to='orm.Layer_Version')),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -154,7 +154,7 @@ class Migration(migrations.Migration):
('installed_size', models.IntegerField(default=0)),
('section', 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(
@@ -162,8 +162,8 @@ class Migration(migrations.Migration):
fields=[
('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')])),
('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package')),
('package', models.ForeignKey(related_name='package_dependencies_source', 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', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -172,7 +172,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('path', models.FilePathField(max_length=255, blank=True)),
('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(
@@ -185,7 +185,7 @@ class Migration(migrations.Migration):
('updated', models.DateTimeField(auto_now=True)),
('user_id', models.IntegerField(null=True)),
('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(
@@ -193,8 +193,8 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('optional', models.BooleanField(default=True)),
('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True)),
('project', models.ForeignKey(to='orm.Project')),
('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True, on_delete=models.CASCADE)),
('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -203,7 +203,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('target', models.CharField(max_length=100)),
('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(
@@ -212,7 +212,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(max_length=100)),
('value', models.TextField(blank=True)),
('project', models.ForeignKey(to='orm.Project')),
('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -232,8 +232,8 @@ class Migration(migrations.Migration):
('file_path', models.FilePathField(max_length=255)),
('pathflags', models.CharField(max_length=200, blank=True)),
('is_image', models.BooleanField(default=False)),
('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version')),
('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', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -241,8 +241,8 @@ class Migration(migrations.Migration):
fields=[
('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')])),
('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe')),
('recipe', models.ForeignKey(related_name='r_dependencies_recipe', 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', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -253,7 +253,7 @@ class Migration(migrations.Migration):
('description', models.CharField(max_length=255)),
('branch_name', models.CharField(default=b'', max_length=50)),
('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(
@@ -261,7 +261,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('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(
@@ -269,8 +269,8 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('priority', models.IntegerField(default=0)),
('layer_source', models.ForeignKey(to='orm.LayerSource')),
('release', models.ForeignKey(to='orm.Release')),
('layer_source', models.ForeignKey(to='orm.LayerSource', on_delete=models.CASCADE)),
('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -282,7 +282,7 @@ class Migration(migrations.Migration):
('is_image', models.BooleanField(default=False)),
('image_size', models.IntegerField(default=0)),
('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(
@@ -295,9 +295,9 @@ class Migration(migrations.Migration):
('permission', models.CharField(max_length=16)),
('owner', models.CharField(max_length=128)),
('group', models.CharField(max_length=128)),
('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True)),
('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True)),
('target', models.ForeignKey(to='orm.Target')),
('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, on_delete=models.CASCADE)),
('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -306,15 +306,15 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('file_name', models.FilePathField(max_length=254)),
('file_size', models.IntegerField()),
('target', models.ForeignKey(to='orm.Target')),
('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
name='Target_Installed_Package',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package')),
('target', models.ForeignKey(to='orm.Target')),
('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package', on_delete=models.CASCADE)),
('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
],
),
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')])),
('message', models.CharField(max_length=240)),
('logfile', models.FilePathField(max_length=255, blank=True)),
('build', models.ForeignKey(related_name='task_build', to='orm.Build')),
('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe')),
('build', models.ForeignKey(related_name='task_build', to='orm.Build', on_delete=models.CASCADE)),
('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe', on_delete=models.CASCADE)),
],
options={
'ordering': ('order', 'recipe'),
@@ -348,8 +348,8 @@ class Migration(migrations.Migration):
name='Task_Dependency',
fields=[
('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')),
('task', models.ForeignKey(related_name='task_dependencies_task', 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', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -370,7 +370,7 @@ class Migration(migrations.Migration):
('changed', models.BooleanField(default=False)),
('human_readable_name', models.CharField(max_length=200)),
('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(
@@ -381,28 +381,28 @@ class Migration(migrations.Migration):
('file_name', models.FilePathField(max_length=255)),
('line_number', models.IntegerField(null=True)),
('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(
model_name='project',
name='release',
field=models.ForeignKey(to='orm.Release', null=True),
field=models.ForeignKey(to='orm.Release', null=True, on_delete=models.CASCADE),
),
migrations.AddField(
model_name='package_dependency',
name='target',
field=models.ForeignKey(to='orm.Target', null=True),
field=models.ForeignKey(to='orm.Target', null=True, on_delete=models.CASCADE),
),
migrations.AddField(
model_name='package',
name='recipe',
field=models.ForeignKey(to='orm.Recipe', null=True),
field=models.ForeignKey(to='orm.Recipe', null=True, on_delete=models.CASCADE),
),
migrations.AddField(
model_name='logmessage',
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(
name='layersource',
@@ -411,32 +411,32 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='layer_version',
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(
model_name='layer_version',
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(
model_name='layer_version',
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(
model_name='layer',
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(
model_name='build',
name='project',
field=models.ForeignKey(to='orm.Project'),
field=models.ForeignKey(to='orm.Project', on_delete=models.CASCADE),
),
migrations.AddField(
model_name='branch',
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(
name='ImportedLayerSource',

View File

@@ -14,10 +14,10 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='CustomImageRecipe',
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)),
('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe')),
('project', models.ForeignKey(to='orm.Project')),
('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
],
bases=('orm.recipe',),
),

View File

@@ -14,7 +14,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='CustomImagePackage',
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_excludes', models.ManyToManyField(related_name='excludes_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=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(max_length=100)),
('recipe', models.ForeignKey(to='orm.Recipe')),
('recipe', models.ForeignKey(to='orm.Recipe', on_delete=models.CASCADE)),
],
),
migrations.AddField(
model_name='recipe_dependency',
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)),
('file_name', models.FilePathField()),
('file_size', models.IntegerField()),
('target', models.ForeignKey(to='orm.Target')),
('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
@@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
('file_name', models.FilePathField()),
('file_size', models.IntegerField()),
('target', models.ForeignKey(to='orm.Target')),
('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
],
),
migrations.RemoveField(

View File

@@ -46,7 +46,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='layer_version',
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,
reverse_code=migrations.RunPython.noop),

View File

@@ -18,7 +18,7 @@ class Migration(migrations.Migration):
('up_date', models.DateTimeField(default=None, null=True)),
('name', 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.encoding import force_bytes
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.core import validators
from django.conf import settings
@@ -178,8 +178,8 @@ class Project(models.Model):
'release__branch_name']
name = models.CharField(max_length=100)
short_description = models.CharField(max_length=50, blank=True)
bitbake_version = models.ForeignKey('BitbakeVersion', null=True)
release = models.ForeignKey("Release", null=True)
bitbake_version = models.ForeignKey('BitbakeVersion', on_delete=models.CASCADE, null=True)
release = models.ForeignKey("Release", on_delete=models.CASCADE, null=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
# 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"]
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)
distro = 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()]))
class ProjectTarget(models.Model):
project = models.ForeignKey(Project)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True)
class Target(models.Model):
search_allowed_fields = ['target', 'file_name']
build = models.ForeignKey(Build)
build = models.ForeignKey(Build, on_delete=models.CASCADE)
target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True)
is_image = models.BooleanField(default = False)
@@ -944,7 +944,7 @@ class Target(models.Model):
# kernel artifacts for a target: bzImage and modules*
class TargetKernelFile(models.Model):
target = models.ForeignKey(Target)
target = models.ForeignKey(Target, on_delete=models.CASCADE)
file_name = models.FilePathField()
file_size = models.IntegerField()
@@ -954,7 +954,7 @@ class TargetKernelFile(models.Model):
# SDK artifacts for a target: sh and manifest files
class TargetSDKFile(models.Model):
target = models.ForeignKey(Target)
target = models.ForeignKey(Target, on_delete=models.CASCADE)
file_name = models.FilePathField()
file_size = models.IntegerField()
@@ -973,7 +973,7 @@ class Target_Image_File(models.Model):
'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_size = models.IntegerField()
@@ -1007,15 +1007,15 @@ class Target_File(models.Model):
( ITYPE_BLOCK ,'block'),
)
target = models.ForeignKey(Target)
target = models.ForeignKey(Target, on_delete=models.CASCADE)
path = models.FilePathField()
size = models.IntegerField()
inodetype = models.IntegerField(choices = ITYPES)
permission = models.CharField(max_length=16)
owner = models.CharField(max_length=128)
group = models.CharField(max_length=128)
directory = models.ForeignKey('Target_File', related_name="directory_set", null=True)
sym_target = models.ForeignKey('Target_File', related_name="symlink_set", null=True)
directory = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="directory_set", null=True)
sym_target = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="symlink_set", null=True)
class Task(models.Model):
@@ -1102,13 +1102,13 @@ class Task(models.Model):
def get_description(self):
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)
task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed
outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA)
sstate_checksum = models.CharField(max_length=100, 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)
source_url = 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):
task = models.ForeignKey(Task, related_name='task_dependencies_task')
depends_on = models.ForeignKey(Task, related_name='task_dependencies_depends')
task = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_task')
depends_on = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_depends')
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']
build = models.ForeignKey('Build', null=True)
recipe = models.ForeignKey('Recipe', null=True)
build = models.ForeignKey('Build', on_delete=models.CASCADE, null=True)
recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, null=True)
name = models.CharField(max_length=100)
installed_name = models.CharField(max_length=100, default='')
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"),
}
package = models.ForeignKey(Package, related_name='package_dependencies_source')
depends_on = models.ForeignKey(Package, related_name='package_dependencies_target') # soft dependency
package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_source')
depends_on = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_target') # soft dependency
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()
class Target_Installed_Package(models.Model):
target = models.ForeignKey(Target)
package = models.ForeignKey(Package, related_name='buildtargetlist_package')
target = models.ForeignKey(Target, on_delete=models.CASCADE)
package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildtargetlist_package')
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)
size = models.IntegerField()
@@ -1318,7 +1318,7 @@ class Recipe(models.Model):
name = 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')
summary = models.TextField(blank=True)
description = models.TextField(blank=True)
@@ -1356,7 +1356,7 @@ class Recipe_DependencyManager(models.Manager):
class Provides(models.Model):
name = models.CharField(max_length=100)
recipe = models.ForeignKey(Recipe)
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
class Recipe_Dependency(models.Model):
TYPE_DEPENDS = 0
@@ -1366,9 +1366,9 @@ class Recipe_Dependency(models.Model):
(TYPE_DEPENDS, "depends"),
(TYPE_RDEPENDS, "rdepends"),
)
recipe = models.ForeignKey(Recipe, related_name='r_dependencies_recipe')
depends_on = models.ForeignKey(Recipe, related_name='r_dependencies_depends')
via = models.ForeignKey(Provides, null=True, default=None)
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_recipe')
depends_on = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_depends')
via = models.ForeignKey(Provides, on_delete=models.CASCADE, null=True, default=None)
dep_type = models.IntegerField(choices=DEPENDS_TYPE)
objects = Recipe_DependencyManager()
@@ -1377,7 +1377,7 @@ class Machine(models.Model):
search_allowed_fields = ["name", "description", "layer_version__layer__name"]
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)
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 """
name = models.CharField(max_length=32, unique = True)
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 = "")
helptext = models.TextField(null=True)
@@ -1419,7 +1419,7 @@ class Release(models.Model):
return self.name
class ReleaseDefaultLayer(models.Model):
release = models.ForeignKey(Release)
release = models.ForeignKey(Release, on_delete=models.CASCADE)
layer_name = models.CharField(max_length=100, default="")
@@ -1474,10 +1474,10 @@ class Layer_Version(models.Model):
"layer__description", "layer__vcs_url",
"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)
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,
default=0)
@@ -1485,7 +1485,7 @@ class Layer_Version(models.Model):
up_date = models.DateTimeField(null=True, default=timezone.now)
# 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)
commit = models.CharField(max_length=100)
@@ -1499,7 +1499,7 @@ class Layer_Version(models.Model):
local_path = models.FilePathField(max_length=1024, default="/")
# 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
# https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
@@ -1608,14 +1608,14 @@ class Layer_Version(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")
depends_on = models.ForeignKey(Layer_Version,
depends_on = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
related_name="dependees")
class ProjectLayer(models.Model):
project = models.ForeignKey(Project)
layercommit = models.ForeignKey(Layer_Version, null=True)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
layercommit = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
optional = models.BooleanField(default = True)
def __unicode__(self):
@@ -1630,8 +1630,8 @@ class CustomImageRecipe(Recipe):
LAYER_NAME = "toaster-custom-images"
search_allowed_fields = ['name']
base_recipe = models.ForeignKey(Recipe, related_name='based_on_recipe')
project = models.ForeignKey(Project)
base_recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='based_on_recipe')
project = models.ForeignKey(Project, on_delete=models.CASCADE)
last_updated = models.DateTimeField(null=True, default=None)
def get_last_successful_built_target(self):
@@ -1784,14 +1784,14 @@ class CustomImageRecipe(Recipe):
return recipe_contents
class ProjectVariable(models.Model):
project = models.ForeignKey(Project)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
value = models.TextField(blank = True)
class Variable(models.Model):
search_allowed_fields = ['variable_name', 'variable_value',
'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_value = models.TextField(blank=True)
changed = models.BooleanField(default=False)
@@ -1799,7 +1799,7 @@ class Variable(models.Model):
description = models.TextField(blank=True)
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)
file_name = models.FilePathField(max_length=255)
line_number = models.IntegerField(null=True)
@@ -1809,7 +1809,7 @@ class HelpText(models.Model):
VARIABLE = 0
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)
key = models.CharField(max_length=100)
text = models.TextField()
@@ -1829,8 +1829,8 @@ class LogMessage(models.Model):
(EXCEPTION, "toaster exception")
)
build = models.ForeignKey(Build)
task = models.ForeignKey(Task, blank = True, null=True)
build = models.ForeignKey(Build, on_delete=models.CASCADE)
task = models.ForeignKey(Task, on_delete=models.CASCADE, blank = True, null=True)
level = models.IntegerField(choices=LOG_LEVEL, default=INFO)
message = models.TextField(blank=True, null=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"]
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)
description = models.CharField(max_length=255)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,7 +7,7 @@
# 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 orm.models import Layer, Layer_Version, Project, LayerSource, Release

View File

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

View File

@@ -7,7 +7,7 @@
# 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 orm.models import BitbakeVersion, Release, Project, ProjectLayer, Layer

View File

@@ -7,7 +7,7 @@
# 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 selenium.webdriver.support.ui import Select
from selenium.common.exceptions import InvalidElementStateException

View File

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

View File

@@ -7,7 +7,7 @@
# 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 orm.models import BitbakeVersion, Release, Project, ProjectVariable
@@ -213,4 +213,5 @@ class TestProjectConfigsPage(SeleniumTestCase):
hidden_element = self.driver.find_element_by_id('hintError-sstate_dir')
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
#
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.utils import timezone
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.
"""
from django.core.urlresolvers import reverse
from django.urls import reverse
from tests.browser.selenium_helpers import SeleniumTestCase
class TestSample(SeleniumTestCase):

View File

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

View File

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

View File

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

View File

@@ -24,7 +24,7 @@ from bldcontrol import bbcontroller
from django.http import HttpResponse, JsonResponse
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 import Error
from toastergui.templatetags.projecttags import filtered_filesizeformat

View File

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

View File

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

View File

@@ -10,7 +10,7 @@ import subprocess
from toastergui.widgets import ToasterTypeAhead
from orm.models import Project
from django.core.urlresolvers import reverse
from django.urls import reverse
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 BitbakeVersion, CustomImageRecipe
from django.core.urlresolvers import reverse, resolve
from django.urls import reverse, resolve
from django.core.exceptions import ObjectDoesNotExist
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
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
# manually from the GET values of the link
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
request.session['%s_count' % current_url] = pagesize
request.session['%s_orderby' % current_url] =orderby
@@ -1364,8 +1364,8 @@ if True:
template = "newproject.html"
context = {
'email': request.user.email if request.user.is_authenticated() else '',
'username': request.user.username 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 '',
'releases': Release.objects.order_by("description"),
}
@@ -1391,7 +1391,7 @@ if True:
# set alert for missing fields
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')
if user is None:
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)
template = "newproject_specific.html"
context = {
'email': request.user.email if request.user.is_authenticated() else '',
'username': request.user.username 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 '',
'releases': Release.objects.order_by("description"),
'projectname': project.name,
'project_pk': project.pk,
@@ -1469,7 +1469,7 @@ if True:
# set alert for missing fields
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')
if user is None:
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 json as template_json
from django.http import JsonResponse
from django.core.urlresolvers import reverse
from django.urls import reverse
import types
import json

View File

@@ -466,7 +466,6 @@ class Command(BaseCommand):
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))
def handle(self, *args, **options):
project_name = options['name']
project_path = options['path']
@@ -551,6 +550,7 @@ class Command(BaseCommand):
# preset the mode and default image recipe
project.set_variable(Project.PROJECT_SPECIFIC_ISNEW,Project.PROJECT_SPECIFIC_NEW)
project.set_variable(Project.PROJECT_SPECIFIC_DEFAULTIMAGE,"core-image-minimal")
# Assert any extended/custom actions or variables for new non-Toaster projects
if not len(self.toaster_vars):
pass

View File

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

View File

@@ -51,7 +51,7 @@ if toastermain.settings.DEBUG_PANEL_ENABLED:
urlpatterns = [
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
url(r'^admin/', admin.site.urls),
] + urlpatterns
# 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
conflict = False
for p in urlpatterns:
if p.regex.pattern == '^' + modulename + '/':
if p.pattern.regex.pattern == '^' + modulename + '/':
conflict = True
if not conflict:
urlpatterns.insert(0, url(r'^' + modulename + '/', include ( modulename + '.urls')))