Commit 817c4952 by Michael Frey Committed by Vedran Karačić

Associate Site model with Partner

LEARNER-1117
parent 0f69eb4e
...@@ -40,7 +40,7 @@ class CurrencyAdmin(admin.ModelAdmin): ...@@ -40,7 +40,7 @@ class CurrencyAdmin(admin.ModelAdmin):
class PartnerAdmin(admin.ModelAdmin): class PartnerAdmin(admin.ModelAdmin):
fieldsets = ( fieldsets = (
(None, { (None, {
'fields': ('name', 'short_code', 'studio_url',) 'fields': ('name', 'short_code', 'studio_url', 'site')
}), }),
(_('OpenID Connect'), { (_('OpenID Connect'), {
'description': _( 'description': _(
...@@ -57,6 +57,6 @@ class PartnerAdmin(admin.ModelAdmin): ...@@ -57,6 +57,6 @@ class PartnerAdmin(admin.ModelAdmin):
'marketing_site_api_password',) 'marketing_site_api_password',)
}), }),
) )
list_display = ('name', 'short_code',) list_display = ('name', 'short_code', 'site')
ordering = ('name', 'short_code',) ordering = ('name', 'short_code', 'site')
search_fields = ('name', 'short_code',) search_fields = ('name', 'short_code')
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-06-05 09:08
from __future__ import unicode_literals
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sites', '0002_alter_domain_unique'),
('core', '0003_auto_20170522_0856'),
]
operations = [
migrations.AddField(
model_name='partner',
name='site',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='sites.Site'),
),
]
""" Core models. """ """ Core models. """
from django.contrib.auth.models import AbstractUser from django.contrib.auth.models import AbstractUser
from django.contrib.sites.models import Site
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django_extensions.db.models import TimeStampedModel from django_extensions.db.models import TimeStampedModel
...@@ -78,6 +79,7 @@ class Partner(TimeStampedModel): ...@@ -78,6 +79,7 @@ class Partner(TimeStampedModel):
oidc_key = models.CharField(max_length=255, null=True, verbose_name=_('OpenID Connect Key')) oidc_key = models.CharField(max_length=255, null=True, verbose_name=_('OpenID Connect Key'))
oidc_secret = models.CharField(max_length=255, null=True, verbose_name=_('OpenID Connect Secret')) oidc_secret = models.CharField(max_length=255, null=True, verbose_name=_('OpenID Connect Secret'))
studio_url = models.URLField(max_length=255, null=True, blank=True, verbose_name=_('Studio URL')) studio_url = models.URLField(max_length=255, null=True, blank=True, verbose_name=_('Studio URL'))
site = models.OneToOneField(Site, null=True, blank=True, on_delete=models.PROTECT)
def __str__(self): def __str__(self):
return self.name return self.name
......
import factory import factory
from factory.fuzzy import FuzzyText from django.contrib.sites.models import Site
from course_discovery.apps.core.models import Partner, User from course_discovery.apps.core.models import Partner, User
from course_discovery.apps.core.tests.utils import FuzzyUrlRoot from course_discovery.apps.core.tests.utils import FuzzyUrlRoot
USER_PASSWORD = 'password' USER_PASSWORD = 'password'
class SiteFactory(factory.DjangoModelFactory):
class Meta:
model = Site
domain = factory.Sequence(lambda n: 'test-domain-{number}.fake'.format(number=n))
name = factory.Faker('name')
class UserFactory(factory.DjangoModelFactory): class UserFactory(factory.DjangoModelFactory):
username = factory.Sequence(lambda n: 'user_%d' % n) username = factory.Sequence(lambda n: 'user_%d' % n)
password = factory.PostGenerationMethodCall('set_password', USER_PASSWORD) password = factory.PostGenerationMethodCall('set_password', USER_PASSWORD)
...@@ -31,11 +40,12 @@ class PartnerFactory(factory.DjangoModelFactory): ...@@ -31,11 +40,12 @@ class PartnerFactory(factory.DjangoModelFactory):
programs_api_url = '{root}/api/programs/v1/'.format(root=FuzzyUrlRoot().fuzz()) programs_api_url = '{root}/api/programs/v1/'.format(root=FuzzyUrlRoot().fuzz())
marketing_site_api_url = '{root}/api/courses/v1/'.format(root=FuzzyUrlRoot().fuzz()) marketing_site_api_url = '{root}/api/courses/v1/'.format(root=FuzzyUrlRoot().fuzz())
marketing_site_url_root = '{root}/'.format(root=FuzzyUrlRoot().fuzz()) marketing_site_url_root = '{root}/'.format(root=FuzzyUrlRoot().fuzz())
marketing_site_api_username = FuzzyText().fuzz() marketing_site_api_username = factory.Faker('user_name')
marketing_site_api_password = FuzzyText().fuzz() marketing_site_api_password = factory.Faker('password')
oidc_url_root = '{root}'.format(root=FuzzyUrlRoot().fuzz()) oidc_url_root = '{root}'.format(root=FuzzyUrlRoot().fuzz())
oidc_key = FuzzyText().fuzz() oidc_key = factory.Faker('sha256')
oidc_secret = FuzzyText().fuzz() oidc_secret = factory.Faker('sha256')
site = factory.SubFactory(SiteFactory)
studio_url = FuzzyUrlRoot().fuzz() studio_url = FuzzyUrlRoot().fuzz()
class Meta(object): class Meta(object):
......
import factory import factory
from django.contrib.sites.models import Site
from course_discovery.apps.core.tests.factories import UserFactory from course_discovery.apps.core.tests.factories import SiteFactory, UserFactory
from course_discovery.apps.publisher.tests.factories import CourseRunFactory from course_discovery.apps.publisher.tests.factories import CourseRunFactory
from course_discovery.apps.publisher_comments.models import Comments from course_discovery.apps.publisher_comments.models import Comments
class SiteFactory(factory.DjangoModelFactory): # pylint: disable=missing-docstring
class Meta(object): # pylint: disable=missing-docstring
model = Site
class CommentFactory(factory.DjangoModelFactory): class CommentFactory(factory.DjangoModelFactory):
comment = factory.fuzzy.FuzzyText(prefix="Test Comment for çօմɾʂҽ") comment = factory.fuzzy.FuzzyText(prefix="Test Comment for çօմɾʂҽ")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment