--- /dev/null
+# Generated by Django 2.2.28 on 2023-04-15 22:40
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('dev', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='task',
+ name='version_string',
+ field=models.CharField(max_length=64, null=True),
+ ),
+ migrations.RunSQL("UPDATE dev_task SET version_string = version_id;"),
+ migrations.RemoveField(
+ model_name='task',
+ name='version',
+ ),
+ ]
--- /dev/null
+# Generated by Django 2.2.28 on 2023-04-15 23:33
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('dev', '0002_task_version_1'),
+ ('download', '0005_release_package_version_3'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='task',
+ name='version',
+ field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='download.Release'),
+ preserve_default=False,
+ ),
+ migrations.RunSQL("UPDATE dev_task task SET version_id = (SELECT id FROM download_release WHERE download_release.version = task.version_string);"),
+ migrations.RemoveField(
+ model_name='task',
+ name='version_string',
+ ),
+ ]
if versions == 'future':
# future versions
task_list = (Task.objects.all().filter(visible=1)
- .filter(version__gt=Release.objects.get(
+ .filter(version__version__gt=Release.objects.get(
version='stable').description)
.order_by('version__date', 'priority'))
else:
# already released versions
task_list = (Task.objects.all().filter(visible=1)
- .filter(version__lte=Release.objects.get(
+ .filter(version__version__lte=Release.objects.get(
version='stable').description)
.order_by('-version__date', 'priority'))
except ObjectDoesNotExist:
--- /dev/null
+# Generated by Django 2.2.28 on 2023-04-15 22:40
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('download', '0002_remove_release_progress_todo'),
+ ('dev', '0002_task_version_1'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='package',
+ name='version_string',
+ field=models.CharField(max_length=64, null=True),
+ ),
+ migrations.AlterModelOptions(
+ name='package',
+ options={'ordering': ['version_string', '-type__priority']},
+ ),
+ migrations.RunSQL("UPDATE download_package SET version_string = version_id;"),
+ migrations.RemoveField(
+ model_name='package',
+ name='version',
+ ),
+ migrations.AlterField(
+ model_name='release',
+ name='version',
+ field=models.CharField(max_length=64),
+ ),
+ migrations.RunSQL(
+ "ALTER TABLE download_release ADD COLUMN id SERIAL PRIMARY KEY;",
+ state_operations=[
+ migrations.AddField(
+ model_name='release',
+ name='id',
+ field=models.AutoField(auto_created=True, default=1, primary_key=True, serialize=False, verbose_name='ID'),
+ preserve_default=False,
+ ),
+ ],
+ ),
+ migrations.AddField(
+ model_name='package',
+ name='version',
+ field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='download.Release'),
+ preserve_default=False,
+ ),
+ ]
--- /dev/null
+# Generated by Django 2.2.28 on 2023-04-15 23:22
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('download', '0003_release_package_version_1'),
+ ]
+
+ operations = [
+ migrations.RunSQL("UPDATE download_package pkg SET version_id = (SELECT id FROM download_release WHERE download_release.version = pkg.version_string);"),
+ ]
--- /dev/null
+# Generated by Django 2.2.28 on 2023-04-15 23:22
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('download', '0004_release_package_version_2'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='package',
+ options={'ordering': ['version', '-type__priority']},
+ ),
+ migrations.RemoveField(
+ model_name='package',
+ name='version_string',
+ ),
+ ]
class Release(models.Model):
"""A WeeChat release."""
- version = models.CharField(max_length=64, primary_key=True)
+ version = models.CharField(max_length=64)
description = models.CharField(max_length=64, blank=True)
date = models.DateField(blank=True, null=True)
security_issues_fixed = models.IntegerField(default=0)
try:
if version == 'stable':
stable_desc = Release.objects.get(version='stable').description
- package_list = (Package.objects.all().filter(version=stable_desc)
+ package_list = (Package.objects.all().filter(version__version=stable_desc)
.order_by('type__priority'))
elif version == 'devel':
- package_list = (Package.objects.all().filter(version='devel')
+ package_list = (Package.objects.all().filter(version__version='devel')
.order_by('type__priority'))
elif version == 'all':
- package_list = (Package.objects.all().exclude(version='devel')
+ package_list = (Package.objects.all().exclude(version__version='devel')
.order_by('-version__date', 'type__priority'))
elif version == 'old':
stable_desc = Release.objects.get(version='stable').description
- package_list = (Package.objects.all().exclude(version='devel')
- .exclude(version=stable_desc)
+ package_list = (Package.objects.all().exclude(version__version='devel')
+ .exclude(version__version=stable_desc)
.order_by('-version__date', 'type__priority'))
else:
- package_list = (Package.objects.filter(version=version)
+ package_list = (Package.objects.filter(version__version=version)
.order_by('type__priority'))
except ObjectDoesNotExist:
package_list = None
def package_checksums(request, version, checksum_type):
"""Page with checksums of packages in a version."""
- package_list = (Package.objects.filter(version=version)
+ package_list = (Package.objects.filter(version__version=version)
.order_by('type__priority'))
checksums = []
for package in package_list: