Revision d0411c0a snf-cyclades-app/synnefo/db/migrations/0043_encrypt_passwords.py

b/snf-cyclades-app/synnefo/db/migrations/0043_encrypt_passwords.py
3 3
from south.db import db
4 4
from south.v2 import DataMigration
5 5
from django.db import models
6
from synnefo.db.models import Backend
6

  
7
try:
8
    from synnefo.db.aes_encrypt import encrypt_db_charfield as encrypt
9
    from synnefo.db.aes_encrypt import decrypt_db_charfield as decrypt
10
except ImportError:
11
    encrypt = None
12
    decrypt = None
7 13

  
8 14
class Migration(DataMigration):
9 15
    
10 16
    def forwards(self, orm):
11 17
        "Write your forwards methods here."
12
        for backend in Backend.objects.all():
13
            # Dummy update password in order to be encrypted
14
            password = backend.password
15
            backend.password = password
16
            backend.save()
18
        if encrypt and decrypt:
19
            for backend in orm.Backend.objects.all():
20
                # Dummy update password in order to be encrypted
21
                password = decrypt(backend.password_hash)
22
                backend.password_hash = encrypt(password)
23
                backend.save()
24
        else:
25
            pass
17 26
    
18 27
    
19 28
    def backwards(self, orm):

Also available in: Unified diff