Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
0bd39386
Commit
0bd39386
authored
Sep 24, 2014
by
Zia Fazal
Committed by
Jonathan Piacenti
Aug 20, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ziafazal/api-add-company-logo-to-organization-model: added logo_url field
parent
5535f68b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
161 additions
and
3 deletions
+161
-3
lms/djangoapps/api_manager/migrations/0013_auto__add_field_organization_logo_url.py
+154
-0
lms/djangoapps/api_manager/models.py
+1
-0
lms/djangoapps/api_manager/organizations/serializers.py
+3
-3
lms/djangoapps/api_manager/organizations/tests.py
+3
-0
No files found.
lms/djangoapps/api_manager/migrations/0013_auto__add_field_organization_logo_url.py
0 → 100644
View file @
0bd39386
# -*- coding: 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 'Organization.logo_url'
db
.
add_column
(
'api_manager_organization'
,
'logo_url'
,
self
.
gf
(
'django.db.models.fields.CharField'
)(
max_length
=
255
,
null
=
True
,
blank
=
True
),
keep_default
=
False
)
def
backwards
(
self
,
orm
):
# Deleting field 'Organization.logo_url'
db
.
delete_column
(
'api_manager_organization'
,
'logo_url'
)
models
=
{
'api_manager.coursecontentgrouprelationship'
:
{
'Meta'
:
{
'unique_together'
:
"(('course_id', 'content_id', 'group_profile'),)"
,
'object_name'
:
'CourseContentGroupRelationship'
},
'content_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'course_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'group_profile'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['api_manager.GroupProfile']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'record_active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
})
},
'api_manager.coursegrouprelationship'
:
{
'Meta'
:
{
'object_name'
:
'CourseGroupRelationship'
},
'course_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'group'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['auth.Group']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'record_active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
})
},
'api_manager.coursemodulecompletion'
:
{
'Meta'
:
{
'object_name'
:
'CourseModuleCompletion'
},
'content_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'course_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'db_index'
:
'True'
}),
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'stage'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'user'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'course_completions'"
,
'to'
:
"orm['auth.User']"
})
},
'api_manager.groupprofile'
:
{
'Meta'
:
{
'object_name'
:
'GroupProfile'
,
'db_table'
:
"'auth_groupprofile'"
},
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'data'
:
(
'django.db.models.fields.TextField'
,
[],
{
'blank'
:
'True'
}),
'group'
:
(
'django.db.models.fields.related.OneToOneField'
,
[],
{
'to'
:
"orm['auth.Group']"
,
'unique'
:
'True'
}),
'group_type'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
,
'db_index'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'record_active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
})
},
'api_manager.grouprelationship'
:
{
'Meta'
:
{
'object_name'
:
'GroupRelationship'
},
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'group'
:
(
'django.db.models.fields.related.OneToOneField'
,
[],
{
'to'
:
"orm['auth.Group']"
,
'unique'
:
'True'
,
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'parent_group'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'default'
:
'0'
,
'related_name'
:
"'child_groups'"
,
'null'
:
'True'
,
'blank'
:
'True'
,
'to'
:
"orm['api_manager.GroupRelationship']"
}),
'record_active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
})
},
'api_manager.linkedgrouprelationship'
:
{
'Meta'
:
{
'object_name'
:
'LinkedGroupRelationship'
},
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'from_group_relationship'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'from_group_relationships'"
,
'to'
:
"orm['api_manager.GroupRelationship']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'record_active'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
}),
'to_group_relationship'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'to_group_relationships'"
,
'to'
:
"orm['api_manager.GroupRelationship']"
})
},
'api_manager.organization'
:
{
'Meta'
:
{
'object_name'
:
'Organization'
},
'contact_email'
:
(
'django.db.models.fields.EmailField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'contact_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'contact_phone'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'50'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'display_name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'groups'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'related_name'
:
"'organizations'"
,
'symmetrical'
:
'False'
,
'to'
:
"orm['auth.Group']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'logo_url'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'users'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'related_name'
:
"'organizations'"
,
'symmetrical'
:
'False'
,
'to'
:
"orm['auth.User']"
}),
'workgroups'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'related_name'
:
"'organizations'"
,
'symmetrical'
:
'False'
,
'to'
:
"orm['projects.Workgroup']"
})
},
'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'
})
},
'projects.project'
:
{
'Meta'
:
{
'unique_together'
:
"(('course_id', 'content_id', 'organization'),)"
,
'object_name'
:
'Project'
},
'content_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'course_id'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'organization'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'blank'
:
'True'
,
'related_name'
:
"'projects'"
,
'null'
:
'True'
,
'on_delete'
:
'models.SET_NULL'
,
'to'
:
"orm['api_manager.Organization']"
})
},
'projects.workgroup'
:
{
'Meta'
:
{
'object_name'
:
'Workgroup'
},
'created'
:
(
'model_utils.fields.AutoCreatedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'groups'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'blank'
:
'True'
,
'related_name'
:
"'workgroups'"
,
'null'
:
'True'
,
'symmetrical'
:
'False'
,
'to'
:
"orm['auth.Group']"
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'modified'
:
(
'model_utils.fields.AutoLastModifiedField'
,
[],
{
'default'
:
'datetime.datetime.now'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'project'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'workgroups'"
,
'to'
:
"orm['projects.Project']"
}),
'users'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'blank'
:
'True'
,
'related_name'
:
"'workgroups'"
,
'null'
:
'True'
,
'symmetrical'
:
'False'
,
'to'
:
"orm['auth.User']"
})
}
}
complete_apps
=
[
'api_manager'
]
\ No newline at end of file
lms/djangoapps/api_manager/models.py
View file @
0bd39386
...
@@ -144,6 +144,7 @@ class Organization(TimeStampedModel):
...
@@ -144,6 +144,7 @@ class Organization(TimeStampedModel):
contact_name
=
models
.
CharField
(
max_length
=
255
,
null
=
True
,
blank
=
True
)
contact_name
=
models
.
CharField
(
max_length
=
255
,
null
=
True
,
blank
=
True
)
contact_email
=
models
.
EmailField
(
max_length
=
255
,
null
=
True
,
blank
=
True
)
contact_email
=
models
.
EmailField
(
max_length
=
255
,
null
=
True
,
blank
=
True
)
contact_phone
=
models
.
CharField
(
max_length
=
50
,
null
=
True
,
blank
=
True
)
contact_phone
=
models
.
CharField
(
max_length
=
50
,
null
=
True
,
blank
=
True
)
logo_url
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
workgroups
=
models
.
ManyToManyField
(
Workgroup
,
related_name
=
"organizations"
)
workgroups
=
models
.
ManyToManyField
(
Workgroup
,
related_name
=
"organizations"
)
users
=
models
.
ManyToManyField
(
User
,
related_name
=
"organizations"
)
users
=
models
.
ManyToManyField
(
User
,
related_name
=
"organizations"
)
groups
=
models
.
ManyToManyField
(
Group
,
related_name
=
"organizations"
)
groups
=
models
.
ManyToManyField
(
Group
,
related_name
=
"organizations"
)
...
...
lms/djangoapps/api_manager/organizations/serializers.py
View file @
0bd39386
...
@@ -13,8 +13,8 @@ class OrganizationSerializer(serializers.ModelSerializer):
...
@@ -13,8 +13,8 @@ class OrganizationSerializer(serializers.ModelSerializer):
class
Meta
:
class
Meta
:
""" Serializer/field specification """
""" Serializer/field specification """
model
=
Organization
model
=
Organization
fields
=
(
'url'
,
'id'
,
'name'
,
'display_name'
,
'contact_name'
,
'contact_email'
,
'contact_phone'
,
'workgroups'
,
fields
=
(
'url'
,
'id'
,
'name'
,
'display_name'
,
'contact_name'
,
'contact_email'
,
'contact_phone'
'users'
,
'groups'
,
'created'
,
'modified'
)
,
'logo_url'
,
'workgroups'
,
'users'
,
'groups'
,
'created'
,
'modified'
)
read_only
=
(
'url'
,
'id'
,
'created'
)
read_only
=
(
'url'
,
'id'
,
'created'
)
...
@@ -25,5 +25,5 @@ class BasicOrganizationSerializer(serializers.ModelSerializer):
...
@@ -25,5 +25,5 @@ class BasicOrganizationSerializer(serializers.ModelSerializer):
class
Meta
:
class
Meta
:
""" Serializer/field specification """
""" Serializer/field specification """
model
=
Organization
model
=
Organization
fields
=
(
'url'
,
'id'
,
'name'
,
'created'
,
'display_name'
)
fields
=
(
'url'
,
'id'
,
'name'
,
'created'
,
'display_name'
,
'logo_url'
)
read_only
=
(
'url'
,
'id'
,
'created'
,)
read_only
=
(
'url'
,
'id'
,
'created'
,)
lms/djangoapps/api_manager/organizations/tests.py
View file @
0bd39386
...
@@ -48,6 +48,7 @@ class OrganizationsApiTests(ModuleStoreTestCase):
...
@@ -48,6 +48,7 @@ class OrganizationsApiTests(ModuleStoreTestCase):
self
.
test_organization_contact_name
=
'John Org'
self
.
test_organization_contact_name
=
'John Org'
self
.
test_organization_contact_email
=
'john@test.org'
self
.
test_organization_contact_email
=
'john@test.org'
self
.
test_organization_contact_phone
=
'+1 332 232 24234'
self
.
test_organization_contact_phone
=
'+1 332 232 24234'
self
.
test_organization_logo_url
=
'org_logo.jpg'
self
.
test_user_email
=
str
(
uuid
.
uuid4
())
self
.
test_user_email
=
str
(
uuid
.
uuid4
())
self
.
test_user_username
=
str
(
uuid
.
uuid4
())
self
.
test_user_username
=
str
(
uuid
.
uuid4
())
...
@@ -117,6 +118,7 @@ class OrganizationsApiTests(ModuleStoreTestCase):
...
@@ -117,6 +118,7 @@ class OrganizationsApiTests(ModuleStoreTestCase):
'contact_name'
:
self
.
test_organization_contact_name
,
'contact_name'
:
self
.
test_organization_contact_name
,
'contact_email'
:
self
.
test_organization_contact_email
,
'contact_email'
:
self
.
test_organization_contact_email
,
'contact_phone'
:
self
.
test_organization_contact_phone
,
'contact_phone'
:
self
.
test_organization_contact_phone
,
'logo_url'
:
self
.
test_organization_logo_url
,
'users'
:
users
'users'
:
users
}
}
response
=
self
.
do_post
(
self
.
base_organizations_uri
,
data
)
response
=
self
.
do_post
(
self
.
base_organizations_uri
,
data
)
...
@@ -134,6 +136,7 @@ class OrganizationsApiTests(ModuleStoreTestCase):
...
@@ -134,6 +136,7 @@ class OrganizationsApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
data
[
'contact_name'
],
self
.
test_organization_contact_name
)
self
.
assertEqual
(
response
.
data
[
'contact_name'
],
self
.
test_organization_contact_name
)
self
.
assertEqual
(
response
.
data
[
'contact_email'
],
self
.
test_organization_contact_email
)
self
.
assertEqual
(
response
.
data
[
'contact_email'
],
self
.
test_organization_contact_email
)
self
.
assertEqual
(
response
.
data
[
'contact_phone'
],
self
.
test_organization_contact_phone
)
self
.
assertEqual
(
response
.
data
[
'contact_phone'
],
self
.
test_organization_contact_phone
)
self
.
assertEqual
(
response
.
data
[
'logo_url'
],
self
.
test_organization_logo_url
)
self
.
assertIsNotNone
(
response
.
data
[
'workgroups'
])
self
.
assertIsNotNone
(
response
.
data
[
'workgroups'
])
self
.
assertEqual
(
len
(
response
.
data
[
'users'
]),
len
(
users
))
self
.
assertEqual
(
len
(
response
.
data
[
'users'
]),
len
(
users
))
self
.
assertIsNotNone
(
response
.
data
[
'created'
])
self
.
assertIsNotNone
(
response
.
data
[
'created'
])
...
...
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