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):
class PartnerAdmin(admin.ModelAdmin):
fieldsets = (
(None, {
'fields': ('name', 'short_code', 'studio_url',)
'fields': ('name', 'short_code', 'studio_url', 'site')
}),
(_('OpenID Connect'), {
'description': _(
......@@ -57,6 +57,6 @@ class PartnerAdmin(admin.ModelAdmin):
'marketing_site_api_password',)
}),
)
list_display = ('name', 'short_code',)
ordering = ('name', 'short_code',)
search_fields = ('name', 'short_code',)
list_display = ('name', 'short_code', 'site')
ordering = ('name', 'short_code', 'site')
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. """
from django.contrib.auth.models import AbstractUser
from django.contrib.sites.models import Site
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django_extensions.db.models import TimeStampedModel
......@@ -78,6 +79,7 @@ class Partner(TimeStampedModel):
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'))
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):
return self.name
......
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.tests.utils import FuzzyUrlRoot
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):
username = factory.Sequence(lambda n: 'user_%d' % n)
password = factory.PostGenerationMethodCall('set_password', USER_PASSWORD)
......@@ -31,11 +40,12 @@ class PartnerFactory(factory.DjangoModelFactory):
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_url_root = '{root}/'.format(root=FuzzyUrlRoot().fuzz())
marketing_site_api_username = FuzzyText().fuzz()
marketing_site_api_password = FuzzyText().fuzz()
marketing_site_api_username = factory.Faker('user_name')
marketing_site_api_password = factory.Faker('password')
oidc_url_root = '{root}'.format(root=FuzzyUrlRoot().fuzz())
oidc_key = FuzzyText().fuzz()
oidc_secret = FuzzyText().fuzz()
oidc_key = factory.Faker('sha256')
oidc_secret = factory.Faker('sha256')
site = factory.SubFactory(SiteFactory)
studio_url = FuzzyUrlRoot().fuzz()
class Meta(object):
......
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_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):
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