~fo0bar/turku/bionic

« back to all changes in this revision

Viewing changes to turku_api/migrations/0020_hash_auth_secrets.py

  • Committer: Ryan Finnie
  • Date: 2020-03-24 21:50:17 UTC
  • Revision ID: ryan@finnie.org-20200324215017-6ojkdzl1mbq2jlqp
Add compatibility for Django 1.8~1.11 (xenial/bionic)

- Disable admin form "related links" (form children links) -- broken as of
  1.8, would be nice to have back if someone can figure out a replacement
- Add "fields = '__all__'" to admin forms
- Remove south migrations
- Port TEMPLATE_DIRS to TEMPLATES
- Change urlpatterns from patterns() to url() list
  
Changes have been tested as being backwards compatible to 1.6 (trusty).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- coding: utf-8 -*-
2
 
from south.utils import datetime_utils as datetime
3
 
from south.db import db
4
 
from south.v2 import DataMigration
5
 
from django.db import models
6
 
 
7
 
class Migration(DataMigration):
8
 
    no_dry_run = True
9
 
 
10
 
    def forwards(self, orm):
11
 
        # Data migration
12
 
        from django.contrib.auth import hashers
13
 
        for auth in orm.Auth.objects.all():
14
 
            auth.secret_hash = hashers.make_password(auth.secret)
15
 
            auth.save()
16
 
 
17
 
    def backwards(self, orm):
18
 
        raise RuntimeError('Cannot reverse this migration.')
19
 
 
20
 
    models = {
21
 
        u'turku_api.auth': {
22
 
            'Meta': {'object_name': 'Auth'},
23
 
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
24
 
            'comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
25
 
            'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
26
 
            'id': ('turku_api.models.UuidPrimaryKeyField', [], {'default': "'cd2248c4-5122-4866-95ec-7751e02d7e03'", 'max_length': '36', 'primary_key': 'True'}),
27
 
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'}),
28
 
            'secret': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
29
 
            'secret_hash': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
30
 
            'secret_type': ('django.db.models.fields.CharField', [], {'max_length': '200'})
31
 
        },
32
 
        u'turku_api.backuplog': {
33
 
            'Meta': {'object_name': 'BackupLog'},
34
 
            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
35
 
            'date_begin': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
36
 
            'date_end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
37
 
            'id': ('turku_api.models.UuidPrimaryKeyField', [], {'default': "'e60ca63f-7bec-454e-aebd-8f87d7da910e'", 'max_length': '36', 'primary_key': 'True'}),
38
 
            'snapshot': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
39
 
            'source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['turku_api.Source']"}),
40
 
            'storage': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['turku_api.Storage']", 'null': 'True', 'blank': 'True'}),
41
 
            'success': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
42
 
            'summary': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
43
 
        },
44
 
        u'turku_api.filterset': {
45
 
            'Meta': {'object_name': 'FilterSet'},
46
 
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
47
 
            'comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
48
 
            'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
49
 
            'filters': ('django.db.models.fields.TextField', [], {'default': "'[]'"}),
50
 
            'id': ('turku_api.models.UuidPrimaryKeyField', [], {'default': "'bc78efd1-3d97-44e6-adee-509b319b4caf'", 'max_length': '36', 'primary_key': 'True'}),
51
 
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'})
52
 
        },
53
 
        u'turku_api.machine': {
54
 
            'Meta': {'object_name': 'Machine'},
55
 
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
56
 
            'auth': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['turku_api.Auth']"}),
57
 
            'comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
58
 
            'date_checked_in': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
59
 
            'date_registered': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
60
 
            'date_updated': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
61
 
            'environment_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
62
 
            'id': ('turku_api.models.UuidPrimaryKeyField', [], {'default': "'a02c60a6-fa1e-41dc-a44a-a84c114a41a0'", 'max_length': '36', 'primary_key': 'True'}),
63
 
            'secret_hash': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
64
 
            'service_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
65
 
            'ssh_public_key': ('django.db.models.fields.CharField', [], {'max_length': '2048'}),
66
 
            'storage': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['turku_api.Storage']"}),
67
 
            'unit_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
68
 
            'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '36'})
69
 
        },
70
 
        u'turku_api.source': {
71
 
            'Meta': {'unique_together': "(('machine', 'name'),)", 'object_name': 'Source'},
72
 
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
73
 
            'bwlimit': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
74
 
            'comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
75
 
            'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
76
 
            'date_last_backed_up': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
77
 
            'date_next_backup': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
78
 
            'date_updated': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
79
 
            'exclude': ('django.db.models.fields.CharField', [], {'default': "'[]'", 'max_length': '2048'}),
80
 
            'filter': ('django.db.models.fields.CharField', [], {'default': "'[]'", 'max_length': '2048'}),
81
 
            'frequency': ('django.db.models.fields.CharField', [], {'default': "'daily'", 'max_length': '200'}),
82
 
            'id': ('turku_api.models.UuidPrimaryKeyField', [], {'default': "'0c9be574-8030-47f1-8095-117cc51aa66a'", 'max_length': '36', 'primary_key': 'True'}),
83
 
            'large_modifying_files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
84
 
            'large_rotating_files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
85
 
            'machine': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['turku_api.Machine']"}),
86
 
            'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
87
 
            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
88
 
            'published': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
89
 
            'retention': ('django.db.models.fields.CharField', [], {'default': "'last 5 days, earliest of month'", 'max_length': '200'}),
90
 
            'shared_service': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
91
 
            'snapshot_mode': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
92
 
            'success': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
93
 
        },
94
 
        u'turku_api.storage': {
95
 
            'Meta': {'object_name': 'Storage'},
96
 
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
97
 
            'auth': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['turku_api.Auth']"}),
98
 
            'comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
99
 
            'date_checked_in': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
100
 
            'date_registered': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
101
 
            'date_updated': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
102
 
            'id': ('turku_api.models.UuidPrimaryKeyField', [], {'default': "'79850a36-12eb-4c29-b49a-b6374109cf61'", 'max_length': '36', 'primary_key': 'True'}),
103
 
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'}),
104
 
            'secret_hash': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
105
 
            'space_available': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
106
 
            'space_total': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
107
 
            'ssh_ping_host': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
108
 
            'ssh_ping_host_keys': ('django.db.models.fields.CharField', [], {'default': "'[]'", 'max_length': '65536'}),
109
 
            'ssh_ping_port': ('django.db.models.fields.PositiveIntegerField', [], {}),
110
 
            'ssh_ping_user': ('django.db.models.fields.CharField', [], {'max_length': '200'})
111
 
        }
112
 
    }
113
 
 
114
 
    complete_apps = ['turku_api']
115
 
    symmetrical = True