mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-29 11:22:15 +00:00
Made changes following the review from David Taylor
This commit is contained in:
@@ -1,29 +0,0 @@
|
|||||||
# endpoint method result
|
|
||||||
#
|
|
||||||
# api/assets/ get list all assets
|
|
||||||
# api/assets/<id> get get a specific asset
|
|
||||||
|
|
||||||
|
|
||||||
from rest_framework import serializers, viewsets, status
|
|
||||||
from rest_framework.decorators import action
|
|
||||||
from rest_framework.response import Response
|
|
||||||
from rest_framework.generics import get_object_or_404
|
|
||||||
from django.db.models import Min
|
|
||||||
from django.core.mail import EmailMessage
|
|
||||||
from django.template.loader import get_template
|
|
||||||
from django.template import Context, RequestContext
|
|
||||||
import datetime
|
|
||||||
|
|
||||||
from assets import models
|
|
||||||
from django.conf import settings
|
|
||||||
|
|
||||||
|
|
||||||
class AssetSerializer(serializers.ModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = models.Asset
|
|
||||||
fields = '__all__'
|
|
||||||
|
|
||||||
|
|
||||||
class AssetViewSet(viewsets.ModelViewSet):
|
|
||||||
queryset = models.Asset.objects.all()
|
|
||||||
serializer_class = AssetSerializer
|
|
||||||
@@ -12,12 +12,6 @@ class Command(BaseCommand):
|
|||||||
if not (settings.DEBUG):
|
if not (settings.DEBUG):
|
||||||
raise CommandError('You cannot run this command in production')
|
raise CommandError('You cannot run this command in production')
|
||||||
|
|
||||||
# self.delete_categories()
|
|
||||||
# self.create_statuses()
|
|
||||||
# self.create_suppliers()
|
|
||||||
# self.create_collections()
|
|
||||||
# self.create_assets()
|
|
||||||
|
|
||||||
self.delete_objects(models.AssetCategory)
|
self.delete_objects(models.AssetCategory)
|
||||||
self.delete_objects(models.AssetStatus)
|
self.delete_objects(models.AssetStatus)
|
||||||
self.delete_objects(models.Supplier)
|
self.delete_objects(models.Supplier)
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
# Generated by Django 2.1.5 on 2019-01-08 02:02
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0006_auto_20180728_1451_squashed_0021_auto_20190105_1156'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='asset',
|
|
||||||
name='parent',
|
|
||||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='asset_parent', to='assets.Asset'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='cable',
|
|
||||||
name='parent',
|
|
||||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='asset_parent', to='assets.Cable'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='connector',
|
|
||||||
name='voltage_rating',
|
|
||||||
field=models.IntegerField(help_text='Volts'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
# Generated by Django 2.0.13 on 2019-12-04 17:37
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
replaces = [('assets', '0007_auto_20190108_0202'), ('assets', '0008_auto_20191002_1931'), ('assets', '0009_auto_20191008_2148'), ('assets', '0010_auto_20191013_2123'), ('assets', '0011_auto_20191013_2247'), ('assets', '0012_auto_20191014_0012'), ('assets', '0013_auto_20191016_1446'), ('assets', '0014_auto_20191017_2052')]
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('contenttypes', '0002_remove_content_type_name'),
|
||||||
|
('assets', '0006_auto_20180728_1451_squashed_0021_auto_20190105_1156'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='asset',
|
||||||
|
name='parent',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='asset_parent', to='assets.Asset'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='cable',
|
||||||
|
name='parent',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='asset_parent', to='assets.Cable'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='connector',
|
||||||
|
name='voltage_rating',
|
||||||
|
field=models.IntegerField(help_text='Volts'),
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='asset',
|
||||||
|
options={'base_manager_name': 'objects'},
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='cable',
|
||||||
|
options={'base_manager_name': 'objects'},
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='asset',
|
||||||
|
name='length',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='asset_id',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='category',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='comments',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='date_acquired',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='date_sold',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='description',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='id',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='is_cable',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='next_sched_maint',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='parent',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='purchase_price',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='purchased_from',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='salvage_value',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='serial_number',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='status',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='polymorphic_ctype',
|
||||||
|
field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_assets.asset_set+', to='contenttypes.ContentType'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='asset',
|
||||||
|
name='asset_id',
|
||||||
|
field=models.CharField(max_length=10, unique=True),
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='plug',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='cable',
|
||||||
|
name='socket',
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='asset',
|
||||||
|
options={},
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='asset',
|
||||||
|
name='polymorphic_ctype',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='circuits',
|
||||||
|
field=models.IntegerField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='cores',
|
||||||
|
field=models.IntegerField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='csa',
|
||||||
|
field=models.DecimalField(blank=True, decimal_places=2, help_text='mm^2', max_digits=10, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='length',
|
||||||
|
field=models.DecimalField(blank=True, decimal_places=1, help_text='m', max_digits=10, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='plug',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='plug', to='assets.Connector'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='asset',
|
||||||
|
name='socket',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='socket', to='assets.Connector'),
|
||||||
|
),
|
||||||
|
migrations.DeleteModel(
|
||||||
|
name='Cable',
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='asset',
|
||||||
|
options={'ordering': ['asset_id'], 'permissions': (('asset_finance', 'Can see financial data for assets'), ('view_asset', 'Can view an asset'))},
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='assetstatus',
|
||||||
|
name='should_show',
|
||||||
|
field=models.BooleanField(default=True, help_text='Should this be shown by default in the asset list.'),
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='supplier',
|
||||||
|
options={'permissions': (('view_supplier', 'Can view a supplier'),)},
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-02 18:31
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('contenttypes', '0002_remove_content_type_name'),
|
|
||||||
('assets', '0007_auto_20190108_0202'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='asset',
|
|
||||||
options={'base_manager_name': 'objects'},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='cable',
|
|
||||||
options={'base_manager_name': 'objects'},
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='asset',
|
|
||||||
name='length',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='asset_id',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='category',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='comments',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='date_acquired',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='date_sold',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='description',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='id',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='is_cable',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='next_sched_maint',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='parent',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='purchase_price',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='purchased_from',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='salvage_value',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='serial_number',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='status',
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='polymorphic_ctype',
|
|
||||||
field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_assets.asset_set+', to='contenttypes.ContentType'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='cable',
|
|
||||||
name='asset_ptr',
|
|
||||||
field=models.OneToOneField(auto_created=True, default=0, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.Asset'),
|
|
||||||
preserve_default=False,
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-08 20:48
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0008_auto_20191002_1931'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='asset',
|
|
||||||
name='asset_id',
|
|
||||||
field=models.CharField(max_length=10, unique=True),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-13 20:23
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0009_auto_20191008_2148'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='asset_ptr',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='plug',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='cable',
|
|
||||||
name='socket',
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='asset',
|
|
||||||
options={},
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='asset',
|
|
||||||
name='polymorphic_ctype',
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='circuits',
|
|
||||||
field=models.IntegerField(blank=True, null=True),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='cores',
|
|
||||||
field=models.IntegerField(blank=True, null=True),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='csa',
|
|
||||||
field=models.DecimalField(blank=True, decimal_places=2, help_text='mm^2', max_digits=10, null=True),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='length',
|
|
||||||
field=models.DecimalField(blank=True, decimal_places=1, help_text='m', max_digits=10, null=True),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='plug',
|
|
||||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='plug', to='assets.Connector'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='asset',
|
|
||||||
name='socket',
|
|
||||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='socket', to='assets.Connector'),
|
|
||||||
),
|
|
||||||
migrations.DeleteModel(
|
|
||||||
name='Cable',
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-13 21:47
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0010_auto_20191013_2123'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='asset',
|
|
||||||
name='plug',
|
|
||||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='plug', to='assets.Connector'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='asset',
|
|
||||||
name='socket',
|
|
||||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='socket', to='assets.Connector'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-13 23:12
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0011_auto_20191013_2247'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='asset',
|
|
||||||
options={'permissions': (('asset_finance', 'Can see financial data for assets'),)},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-16 13:46
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0012_auto_20191014_0012'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='asset',
|
|
||||||
options={'ordering': ['asset_id'], 'permissions': (('asset_finance', 'Can see financial data for assets'),)},
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='assetstatus',
|
|
||||||
name='should_show',
|
|
||||||
field=models.BooleanField(default=True, help_text='Should this be shown by default in the asset list.'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Generated by Django 2.0.13 on 2019-10-17 19:52
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('assets', '0013_auto_20191016_1446'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='asset',
|
|
||||||
options={'ordering': ['asset_id'], 'permissions': (('asset_finance', 'Can see financial data for assets'), ('view_asset', 'Can view an asset'))},
|
|
||||||
),
|
|
||||||
migrations.AlterModelOptions(
|
|
||||||
name='supplier',
|
|
||||||
options={'permissions': (('view_supplier', 'Can view a supplier'),)},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,12 +1,8 @@
|
|||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework import routers
|
from assets import views
|
||||||
from assets import views, api
|
|
||||||
|
|
||||||
from PyRIGS.decorators import permission_required_with_403
|
from PyRIGS.decorators import permission_required_with_403
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
|
||||||
router.register(r'api/assets', api.AssetViewSet)
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.AssetList.as_view(), name='asset_index'),
|
path('', views.AssetList.as_view(), name='asset_index'),
|
||||||
path('asset/list/', views.AssetList.as_view(), name='asset_list'),
|
path('asset/list/', views.AssetList.as_view(), name='asset_list'),
|
||||||
@@ -23,6 +19,4 @@ urlpatterns = [
|
|||||||
path('supplier/<int:pk>/edit', permission_required_with_403('assets.edit_supplier')(views.SupplierUpdate.as_view()), name='supplier_update'),
|
path('supplier/<int:pk>/edit', permission_required_with_403('assets.edit_supplier')(views.SupplierUpdate.as_view()), name='supplier_update'),
|
||||||
|
|
||||||
path('supplier/search/', views.SupplierSearch.as_view(), name='supplier_search_json'),
|
path('supplier/search/', views.SupplierSearch.as_view(), name='supplier_search_json'),
|
||||||
|
|
||||||
path('', include(router.urls)),
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -12,8 +12,6 @@ django-recaptcha==1.4.0
|
|||||||
django-registration-redux==2.4
|
django-registration-redux==2.4
|
||||||
django-reversion==2.0.13
|
django-reversion==2.0.13
|
||||||
django-toolbelt==0.0.1
|
django-toolbelt==0.0.1
|
||||||
django-polymorphic==2.1.2
|
|
||||||
djangorestframework==3.9.0
|
|
||||||
premailer==3.2.0
|
premailer==3.2.0
|
||||||
git+git://github.com/jazzband/django-widget-tweaks.git@1.4.2
|
git+git://github.com/jazzband/django-widget-tweaks.git@1.4.2
|
||||||
gunicorn==19.8.1
|
gunicorn==19.8.1
|
||||||
|
|||||||
Reference in New Issue
Block a user