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