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
ec59c09e
Commit
ec59c09e
authored
Apr 19, 2013
by
Kostas Papadimitriou
Browse files
Store service access url in database
parent
1ee1c1a3
Changes
5
Hide whitespace changes
Inline
Side-by-side
snf-astakos-app/astakos/im/management/commands/service-add.py
View file @
ec59c09e
...
...
@@ -38,7 +38,7 @@ from astakos.im.models import Service
class
Command
(
BaseCommand
):
args
=
"<name> <
endpoint URL>
"
args
=
"<name> <
service URL> <API URL>
"
help
=
"Register a service"
def
handle
(
self
,
*
args
,
**
options
):
...
...
@@ -47,6 +47,7 @@ class Command(BaseCommand):
name
=
args
[
0
]
api_url
=
args
[
1
]
url
=
args
[
2
]
try
:
s
=
Service
.
objects
.
get
(
name
=
name
)
...
...
@@ -61,7 +62,7 @@ class Command(BaseCommand):
raise
CommandError
(
m
)
try
:
s
=
Service
.
objects
.
create
(
name
=
name
,
api_url
=
api_url
)
s
=
Service
.
objects
.
create
(
name
=
name
,
api_url
=
api_url
,
url
=
url
)
except
BaseException
as
e
:
raise
CommandError
(
"Failed to create service."
)
else
:
...
...
snf-astakos-app/astakos/im/management/commands/service-list.py
View file @
ec59c09e
...
...
@@ -43,10 +43,11 @@ class Command(ListCommand):
FIELDS
=
{
"id"
:
(
"id"
,
"ID"
),
"name"
:
(
"name"
,
"Service Name"
),
"url"
:
(
"api_url"
,
"Service API url"
),
"url"
:
(
"url"
,
"Service url"
),
"api_url"
:
(
"api_url"
,
"Service API url"
),
"token"
:
(
"auth_token"
,
"Authentication token"
),
"created"
:
(
"auth_token_created"
,
"Token creation date"
),
"expires"
:
(
"auth_token_expires"
,
"Token expiration date"
),
}
fields
=
[
"id"
,
"name"
,
"url"
,
"token"
,
"created"
,
"expires"
]
fields
=
[
"id"
,
"name"
,
"url"
,
"api_url"
,
"token"
,
"created"
,
"expires"
]
snf-astakos-app/astakos/im/management/commands/service-update.py
View file @
ec59c09e
...
...
@@ -50,6 +50,10 @@ class Command(BaseCommand):
dest
=
'name'
,
default
=
None
,
help
=
"Set service name"
),
make_option
(
'--url'
,
dest
=
'url'
,
default
=
None
,
help
=
"Set service url"
),
make_option
(
'--api-url'
,
dest
=
'api_url'
,
default
=
None
,
...
...
@@ -77,6 +81,7 @@ class Command(BaseCommand):
name
=
options
.
get
(
'name'
)
api_url
=
options
.
get
(
'api_url'
)
url
=
options
.
get
(
'url'
)
auth_token
=
options
.
get
(
'auth_token'
)
renew_token
=
options
.
get
(
'renew_token'
)
...
...
@@ -86,6 +91,9 @@ class Command(BaseCommand):
if
api_url
:
service
.
api_url
=
api_url
if
url
:
service
.
url
=
url
if
auth_token
:
service
.
auth_token
=
auth_token
...
...
snf-astakos-app/astakos/im/migrations/0032_auto__add_field_service_url.py
0 → 100644
View file @
ec59c09e
# encoding: utf-8
import
datetime
from
south.db
import
db
from
south.v2
import
SchemaMigration
from
django.db
import
models
class
Migration
(
SchemaMigration
):
def
forwards
(
self
,
orm
):
# Adding field 'Service.url'
db
.
add_column
(
'im_service'
,
'url'
,
self
.
gf
(
'django.db.models.fields.CharField'
)(
max_length
=
255
,
null
=
True
),
keep_default
=
False
)
def
backwards
(
self
,
orm
):
# Deleting field 'Service.url'
db
.
delete_column
(
'im_service'
,
'url'
)
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'
:
{
'ordering'
:
"('content_type__app_label', 'content_type__model', 'codename')"
,
'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'
}),
'is_staff'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'is_superuser'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'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'
:
{
'ordering'
:
"('name',)"
,
'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'
,
[],
{
'auto_now_add'
:
'True'
,
'db_index'
:
'True'
,
'blank'
:
'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'
}),
'disturbed_quota'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'db_index'
:
'True'
}),
'email_verified'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'has_credits'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'has_signed_terms'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'invitations'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
}),
'is_verified'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'level'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'4'
}),
'policy'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'to'
:
"orm['im.Resource']"
,
'null'
:
'True'
,
'through'
:
"orm['im.AstakosUserQuota']"
,
'symmetrical'
:
'False'
}),
'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'
}),
'uuid'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'unique'
:
'True'
,
'null'
:
'True'
})
},
'im.astakosuserauthprovider'
:
{
'Meta'
:
{
'ordering'
:
"('module', 'created')"
,
'unique_together'
:
"(('identifier', 'module', 'user'),)"
,
'object_name'
:
'AstakosUserAuthProvider'
},
'active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'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'
}),
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'identifier'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'info_data'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
,
'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.astakosuserquota'
:
{
'Meta'
:
{
'unique_together'
:
"(('resource', 'user'),)"
,
'object_name'
:
'AstakosUserQuota'
},
'capacity'
:
(
'snf_django.lib.db.fields.IntDecimalField'
,
[],
{
'max_digits'
:
'38'
,
'decimal_places'
:
'0'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'resource'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.Resource']"
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.AstakosUser']"
})
},
'im.authproviderpolicyprofile'
:
{
'Meta'
:
{
'ordering'
:
"['priority']"
,
'object_name'
:
'AuthProviderPolicyProfile'
},
'active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
}),
'groups'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'related_name'
:
"'authpolicy_profiles'"
,
'symmetrical'
:
'False'
,
'to'
:
"orm['auth.Group']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'is_exclusive'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'policy_add'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'policy_automoderate'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'policy_create'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'policy_limit'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
}),
'policy_login'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'policy_remove'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'policy_required'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'policy_switch'
:
(
'django.db.models.fields.NullBooleanField'
,
[],
{
'default'
:
'None'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'priority'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'1'
}),
'provider'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'users'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'related_name'
:
"'authpolicy_profiles'"
,
'symmetrical'
:
'False'
,
'to'
:
"orm['im.AstakosUser']"
})
},
'im.chain'
:
{
'Meta'
:
{
'object_name'
:
'Chain'
},
'chain'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
})
},
'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'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'emailchanges'"
,
'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'
}),
'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'
,
'null'
:
'True'
,
'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'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'info'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'last_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'null'
:
'True'
,
'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.project'
:
{
'Meta'
:
{
'object_name'
:
'Project'
},
'application'
:
(
'django.db.models.fields.related.OneToOneField'
,
[],
{
'related_name'
:
"'project'"
,
'unique'
:
'True'
,
'to'
:
"orm['im.ProjectApplication']"
}),
'creation_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'deactivation_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
}),
'deactivation_reason'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.related.OneToOneField'
,
[],
{
'related_name'
:
"'chained_project'"
,
'unique'
:
'True'
,
'primary_key'
:
'True'
,
'db_column'
:
"'id'"
,
'to'
:
"orm['im.Chain']"
}),
'last_approval_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
}),
'members'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'to'
:
"orm['im.AstakosUser']"
,
'through'
:
"orm['im.ProjectMembership']"
,
'symmetrical'
:
'False'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'80'
,
'unique'
:
'True'
,
'null'
:
'True'
,
'db_index'
:
'True'
}),
'state'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'1'
,
'db_index'
:
'True'
})
},
'im.projectapplication'
:
{
'Meta'
:
{
'unique_together'
:
"(('chain', 'id'),)"
,
'object_name'
:
'ProjectApplication'
},
'applicant'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'projects_applied'"
,
'to'
:
"orm['im.AstakosUser']"
}),
'chain'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'chained_apps'"
,
'db_column'
:
"'chain'"
,
'to'
:
"orm['im.Chain']"
}),
'comments'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'description'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'end_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{}),
'homepage'
:
(
'django.db.models.fields.URLField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'issue_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'limit_on_members_number'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'null'
:
'True'
}),
'member_join_policy'
:
(
'django.db.models.fields.IntegerField'
,
[],
{}),
'member_leave_policy'
:
(
'django.db.models.fields.IntegerField'
,
[],
{}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'80'
}),
'owner'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'projects_owned'"
,
'to'
:
"orm['im.AstakosUser']"
}),
'precursor_application'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.ProjectApplication']"
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'resource_grants'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'symmetrical'
:
'False'
,
'to'
:
"orm['im.Resource']"
,
'null'
:
'True'
,
'through'
:
"orm['im.ProjectResourceGrant']"
,
'blank'
:
'True'
}),
'response'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'response_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'start_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
,
'blank'
:
'True'
}),
'state'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
,
'db_index'
:
'True'
})
},
'im.projectmembership'
:
{
'Meta'
:
{
'unique_together'
:
"(('person', 'project'),)"
,
'object_name'
:
'ProjectMembership'
},
'acceptance_date'
:
(
'django.db.models.fields.DateField'
,
[],
{
'null'
:
'True'
,
'db_index'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'leave_request_date'
:
(
'django.db.models.fields.DateField'
,
[],
{
'null'
:
'True'
}),
'person'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.AstakosUser']"
}),
'project'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.Project']"
}),
'request_date'
:
(
'django.db.models.fields.DateField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'state'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
,
'db_index'
:
'True'
})
},
'im.projectmembershiphistory'
:
{
'Meta'
:
{
'object_name'
:
'ProjectMembershipHistory'
},
'date'
:
(
'django.db.models.fields.DateField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'person'
:
(
'django.db.models.fields.BigIntegerField'
,
[],
{}),
'project'
:
(
'django.db.models.fields.BigIntegerField'
,
[],
{}),
'reason'
:
(
'django.db.models.fields.IntegerField'
,
[],
{}),
'serial'
:
(
'django.db.models.fields.BigIntegerField'
,
[],
{})
},
'im.projectresourcegrant'
:
{
'Meta'
:
{
'unique_together'
:
"(('resource', 'project_application'),)"
,
'object_name'
:
'ProjectResourceGrant'
},
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'member_capacity'
:
(
'snf_django.lib.db.fields.IntDecimalField'
,
[],
{
'default'
:
'0'
,
'max_digits'
:
'38'
,
'decimal_places'
:
'0'
}),
'project_application'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.ProjectApplication']"
,
'null'
:
'True'
}),
'project_capacity'
:
(
'snf_django.lib.db.fields.IntDecimalField'
,
[],
{
'null'
:
'True'
,
'max_digits'
:
'38'
,
'decimal_places'
:
'0'
}),
'resource'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.Resource']"
})
},
'im.resource'
:
{
'Meta'
:
{
'object_name'
:
'Resource'
},
'desc'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'255'
}),
'service'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
}),
'unit'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
}),
'uplimit'
:
(
'snf_django.lib.db.fields.IntDecimalField'
,
[],
{
'default'
:
'0'
,
'max_digits'
:
'38'
,
'decimal_places'
:
'0'
})
},
'im.serial'
:
{
'Meta'
:
{
'object_name'
:
'Serial'
},
'serial'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
})
},
'im.service'
:
{
'Meta'
:
{
'object_name'
:
'Service'
},
'api_url'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'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'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'url'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
})
},
'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']"
})
},
'im.usersetting'
:
{
'Meta'
:
{
'unique_together'
:
"(('user', 'setting'),)"
,
'object_name'
:
'UserSetting'
},
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'setting'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['im.AstakosUser']"
}),
'value'
:
(
'django.db.models.fields.IntegerField'
,
[],
{})
}
}
complete_apps
=
[
'im'
]
snf-astakos-app/astakos/im/models.py
View file @
ec59c09e
...
...
@@ -121,6 +121,8 @@ def dict_merge(a, b):
class
Service
(
models
.
Model
):
name
=
models
.
CharField
(
_
(
'Name'
),
max_length
=
255
,
unique
=
True
,
db_index
=
True
)
url
=
models
.
CharField
(
_
(
'Service url'
),
max_length
=
255
,
null
=
True
,
help_text
=
_
(
"URL the service is accessible from"
))
api_url
=
models
.
CharField
(
_
(
'Service API url'
),
max_length
=
255
,
null
=
True
)
auth_token
=
models
.
CharField
(
_
(
'Authentication Token'
),
max_length
=
32
,
null
=
True
,
blank
=
True
)
...
...
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