Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
itminedu
synnefo
Commits
1f98ad39
Commit
1f98ad39
authored
Nov 30, 2012
by
Kostas Papadimitriou
Browse files
Multiple auth providers migration
parent
717410cd
Changes
1
Hide whitespace changes
Inline
Side-by-side
snf-astakos-app/0018_auth_providers_migration.py
0 → 100644
View file @
1f98ad39
# encoding: utf-8
import
datetime
from
south.db
import
db
from
south.v2
import
DataMigration
from
django.db
import
models
class
Migration
(
DataMigration
):
def
forwards
(
self
,
orm
):
for
user
in
orm
.
AstakosUser
.
objects
.
all
():
if
user
.
provider
!=
'local'
:
orm
.
AstakosUserAuthProvider
.
objects
.
create
(
user
=
user
,
module
=
user
.
provider
,
identifier
=
user
.
third_party_identifier
)
else
:
orm
.
AstakosUserAuthProvider
.
objects
.
create
(
user
=
user
,
module
=
'local'
,
auth_backend
=
'astakos'
)
user
.
save
()
def
backwards
(
self
,
orm
):
for
user
in
orm
.
AstakosUser
.
objects
.
all
():
for
auth_provider
in
user
.
auth_providers
.
all
():
user
.
provider
=
auth_provider
.
provider
user
.
third_party_identifier
=
auth_provider
.
identifier
if
auth_provider
.
provider
!=
'local'
:
user
.
set_unusable_password
()
user
.
save
()
models
=
{
'auth.group'
:
{
'Meta'
:
{
'object_name'
:
'Group'
},
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'80'
}),
'permissions'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'to'
:
"orm['auth.Permission']"
,
'symmetrical'
:
'False'
,
'blank'
:
'True'
})
},
'auth.permission'
:
{
'Meta'
:
{
'unique_together'
:
"(('content_type', 'codename'),)"
,
'object_name'
:
'Permission'
},
'codename'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
}),
'content_type'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['contenttypes.ContentType']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'50'
})
},
'auth.user'
:
{
'Meta'
:
{
'object_name'
:
'User'
},
'date_joined'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'email'
:
(
'django.db.models.fields.EmailField'
,
[],
{
'max_length'
:
'75'
,
'blank'
:
'True'
}),
'first_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'blank'
:
'True'
}),
'groups'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'to'
:
"orm['auth.Group']"
,
'symmetrical'
:
'False'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'is_active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
,
'blank'
:
'True'
}),
'is_staff'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'is_superuser'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'last_login'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'last_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'blank'
:
'True'
}),
'password'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
}),
'user_permissions'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'to'
:
"orm['auth.Permission']"
,
'symmetrical'
:
'False'
,
'blank'
:
'True'
}),
'username'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'30'
})
},
'contenttypes.contenttype'
:
{
'Meta'
:
{
'unique_together'
:
"(('app_label', 'model'),)"
,
'object_name'
:
'ContentType'
,
'db_table'
:
"'django_content_type'"
},
'app_label'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'model'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
})
},
'im.additionalmail'
:
{
'Meta'
:
{
'object_name'
:
'AdditionalMail'
},
'email'
:
(
'django.db.models.fields.EmailField'
,
[],
{
'max_length'
:
'75'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'owner'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.AstakosUser']"
})
},
'im.approvalterms'
:
{
'Meta'
:
{
'object_name'
:
'ApprovalTerms'
},
'date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'default'
:
'datetime.datetime(2012, 11, 29, 13, 58, 8, 395739)'
,
'db_index'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'location'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
})
},
'im.astakosuser'
:
{
'Meta'
:
{
'object_name'
:
'AstakosUser'
,
'_ormbases'
:
[
'auth.User'
]},
'activation_sent'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'affiliation'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'auth_token'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'auth_token_created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
}),
'auth_token_expires'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
}),
'date_signed_terms'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'email_verified'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'has_credits'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'has_signed_terms'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'invitations'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
}),
'is_verified'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'level'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'4'
}),
'provider'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'third_party_identifier'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'updated'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{}),
'user_ptr'
:
(
'django.db.models.fields.related.OneToOneField'
,
[],
{
'to'
:
"orm['auth.User']"
,
'unique'
:
'True'
,
'primary_key'
:
'True'
})
},
'im.astakosuserauthprovider'
:
{
'Meta'
:
{
'unique_together'
:
"(('identifier', 'module', 'user'),)"
,
'object_name'
:
'AstakosUserAuthProvider'
},
'active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
,
'blank'
:
'True'
}),
'affiliation'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
'None'
,
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'auth_backend'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'astakos'"
,
'max_length'
:
'255'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'identifier'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'module'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'local'"
,
'max_length'
:
'255'
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'auth_providers'"
,
'to'
:
"orm['im.AstakosUser']"
})
},
'im.emailchange'
:
{
'Meta'
:
{
'object_name'
:
'EmailChange'
},
'activation_key'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'40'
,
'db_index'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'new_email_address'
:
(
'django.db.models.fields.EmailField'
,
[],
{
'max_length'
:
'75'
}),
'requested_at'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'default'
:
'datetime.datetime(2012, 11, 29, 13, 58, 8, 396491)'
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'emailchange_user'"
,
'unique'
:
'True'
,
'to'
:
"orm['im.AstakosUser']"
})
},
'im.invitation'
:
{
'Meta'
:
{
'object_name'
:
'Invitation'
},
'code'
:
(
'django.db.models.fields.BigIntegerField'
,
[],
{
'db_index'
:
'True'
}),
'consumed'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'inviter'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'invitations_sent'"
,
'null'
:
'True'
,
'to'
:
"orm['im.AstakosUser']"
}),
'is_consumed'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'blank'
:
'True'
}),
'realname'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'username'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'255'
})
},
'im.pendingthirdpartyuser'
:
{
'Meta'
:
{
'unique_together'
:
"(('provider', 'third_party_identifier'),)"
,
'object_name'
:
'PendingThirdPartyUser'
},
'affiliation'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'blank'
:
'True'
}),
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'email'
:
(
'django.db.models.fields.EmailField'
,
[],
{
'max_length'
:
'75'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'first_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'last_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'blank'
:
'True'
}),
'provider'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'blank'
:
'True'
}),
'third_party_identifier'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'token'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'username'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'30'
})
},
'im.service'
:
{
'Meta'
:
{
'object_name'
:
'Service'
},
'auth_token'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'auth_token_created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
}),
'auth_token_expires'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
}),
'icon'
:
(
'django.db.models.fields.FilePathField'
,
[],
{
'max_length'
:
'100'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'255'
}),
'url'
:
(
'django.db.models.fields.FilePathField'
,
[],
{
'max_length'
:
'100'
})
},
'im.sessioncatalog'
:
{
'Meta'
:
{
'object_name'
:
'SessionCatalog'
},
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'session_key'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'40'
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'sessions'"
,
'null'
:
'True'
,
'to'
:
"orm['im.AstakosUser']"
})
}
}
complete_apps
=
[
'im'
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment