from organization.media.models import Video, Audio
 from organization.shop.models import *
 
+from cartridge.shop.admin import *
+
 
 class ProductBlockProductInline(TabularDynamicInlineAdmin):
 
     inlines = [ProductBlockProductInline, ]
 
 
+class ProductLinkInline(TabularDynamicInlineAdmin):
+
+    model = ProductLink
+
+
+class CustomProductAdmin(ProductAdmin):
+
+    inlines = [ProductLinkInline, ]
+
+
 admin.site.register(ProductBlock, ProductBlockAdmin)
+admin.site.unregister(Product)
+admin.site.register(Product, CustomProductAdmin)
 
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-23 16:11
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-core', '0004_auto_20160923_1141'),
+        ('shop', '0008_auto_20160907_1726'),
+        ('organization-shop', '0002_auto_20160923_1749'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='ProductLink',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('url', models.URLField(blank=True, max_length=512, verbose_name='URL')),
+                ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')),
+                ('product', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='links', to='shop.Product', verbose_name='product')),
+            ],
+            options={
+                'verbose_name': 'link',
+                'verbose_name_plural': 'links',
+                'abstract': False,
+            },
+        ),
+    ]
 
     class Meta:
         verbose_name = _("product block")
         verbose_name_plural = _("product blocks")
+
+
+class ProductLink(Link):
+
+    product = models.ForeignKey(Product, verbose_name=_('product'), related_name='links', blank=True, null=True, on_delete=models.SET_NULL)