This is an automated email from the ASF dual-hosted git repository. gjm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/bloodhound-core.git
commit d3dc9d90cd70508e7c6898ae69b572a04aab47ef Author: Gary Martin <g...@apache.org> AuthorDate: Sun Oct 14 00:21:39 2018 +0000 Add djangorestframework and register admin pages git-svn-id: https://svn.apache.org/repos/asf/bloodhound/branches/bh_core_experimental@1843801 13f79535-47bb-0310-9956-ffa450edef68 --- Pipfile | 1 + Pipfile.lock | 107 ++++++++++++++++++++++++++---------------------- bh_core/urls.py | 2 +- trackers/admin.py | 4 ++ trackers/models.py | 2 + trackers/serializers.py | 8 ++++ trackers/views.py | 10 +++++ 7 files changed, 85 insertions(+), 49 deletions(-) diff --git a/Pipfile b/Pipfile index 33c6799..056c071 100644 --- a/Pipfile +++ b/Pipfile @@ -10,6 +10,7 @@ PyYAML = "*" [packages] django = ">=2.0.0" +djangorestframework = "*" [requires] python_version = "3.6" diff --git a/Pipfile.lock b/Pipfile.lock index 1f1f2aa..7d244b5 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "5ba6eeb95fa58896eba1e3528bdea3ae2430c5424239bef1345adc500dc53fcd" + "sha256": "f70363525f7fd7a95075f66854bc135a3c1d45142d1e02ebe126442621614be9" }, "pipfile-spec": 6, "requires": { @@ -18,100 +18,104 @@ "default": { "django": { "hashes": [ - "sha256:3eb25c99df1523446ec2dc1b00e25eb2ecbdf42c9d8b0b8b32a204a8db9011f8", - "sha256:69ff89fa3c3a8337015478a1a0744f52a9fef5d12c1efa01a01f99bcce9bf10c" + "sha256:acdcc1f61fdb0a0c82a1d3bf1879a414e7732ea894a7632af7f6d66ec7ab5bb3", + "sha256:efbcad7ebb47daafbcead109b38a5bd519a3c3cd92c6ed0f691ff97fcdd16b45" ], "index": "pypi", - "version": "==2.0.6" + "version": "==2.1.2" + }, + "djangorestframework": { + "hashes": [ + "sha256:b6714c3e4b0f8d524f193c91ecf5f5450092c2145439ac2769711f7eba89a9d9", + "sha256:c375e4f95a3a64fccac412e36fb42ba36881e52313ec021ef410b40f67cddca4" + ], + "index": "pypi", + "version": "==3.8.2" }, "pytz": { "hashes": [ - "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555", - "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749" + "sha256:a061aa0a9e06881eb8b3b2b43f05b9439d6583c206d0a6c340ff72a7b6669053", + "sha256:ffb9ef1de172603304d9d2819af6f5ece76f2e85ec10692a524dd876e72bf277" ], - "version": "==2018.4" + "version": "==2018.5" } }, "develop": { "atomicwrites": { "hashes": [ - "sha256:240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585", - "sha256:a24da68318b08ac9c9c45029f4a10371ab5b20e4226738e150e6e7c571630ae6" + "sha256:0312ad34fcad8fac3704d441f7b317e50af620823353ec657a53e981f92920c0", + "sha256:ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee" ], - "version": "==1.1.5" + "version": "==1.2.1" }, "attrs": { "hashes": [ - "sha256:4b90b09eeeb9b88c35bc642cbac057e45a5fd85367b985bd2809c62b7b939265", - "sha256:e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b" + "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69", + "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb" ], - "version": "==18.1.0" + "version": "==18.2.0" }, "more-itertools": { "hashes": [ - "sha256:2b6b9893337bfd9166bee6a62c2b0c9fe7735dcf85948b387ec8cba30e85d8e8", - "sha256:6703844a52d3588f951883005efcf555e49566a48afd4db4e965d69b883980d3", - "sha256:a18d870ef2ffca2b8463c0070ad17b5978056f403fb64e3f15fe62a52db21cc0" + "sha256:c187a73da93e7a8acc0001572aebc7e3c69daf7bf6881a2cea10650bd4420092", + "sha256:c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e", + "sha256:fcbfeaea0be121980e15bc97b3817b5202ca73d0eae185b4550cbfce2a3ebb3d" ], - "version": "==4.2.0" + "version": "==4.3.0" }, "pluggy": { "hashes": [ - "sha256:7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff", - "sha256:d345c8fe681115900d6da8d048ba67c25df42973bda370783cd58826442dcd7c", - "sha256:e160a7fcf25762bb60efc7e171d4497ff1d8d2d75a3d0df7a21b76821ecbf5c5" + "sha256:6e3836e39f4d36ae72840833db137f7b7d35105079aee6ec4a62d9f80d594dd1", + "sha256:95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1" ], - "version": "==0.6.0" + "version": "==0.7.1" }, "py": { "hashes": [ - "sha256:29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881", - "sha256:983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" + "sha256:bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694", + "sha256:e76826342cefe3c3d5f7e8ee4316b80d1dd8a300781612ddbc765c17ba25a6c6" ], - "version": "==1.5.3" + "version": "==1.7.0" }, "pytest": { "hashes": [ - "sha256:26838b2bc58620e01675485491504c3aa7ee0faf335c37fcd5f8731ca4319591", - "sha256:32c49a69566aa7c333188149ad48b58ac11a426d5352ea3d8f6ce843f88199cb" + "sha256:7e258ee50338f4e46957f9e09a0f10fb1c2d05493fa901d113a8dafd0790de4e", + "sha256:9332147e9af2dcf46cd7ceb14d5acadb6564744ddff1fe8c17f0ce60ece7d9a2" ], - "version": "==3.6.1" + "version": "==3.8.2" }, "pytest-django": { "hashes": [ - "sha256:534505e0261cc566279032d9d887f844235342806fd63a6925689670fa1b29d7", - "sha256:7501942093db2250a32a4e36826edfc542347bb9b26c78ed0649cdcfd49e5789" + "sha256:49e9ffc856bc6a1bec1c26c5c7b7213dff7cc8bc6b64d624c4d143d04aff0bcf", + "sha256:b379282feaf89069cb790775ab6bbbd2bd2038a68c7ef9b84a41898e0b551081" ], "index": "pypi", - "version": "==3.2.1" + "version": "==3.4.3" }, "pyyaml": { "hashes": [ - "sha256:0c507b7f74b3d2dd4d1322ec8a94794927305ab4cebbe89cc47fe5e81541e6e8", - "sha256:16b20e970597e051997d90dc2cddc713a2876c47e3d92d59ee198700c5427736", - "sha256:3262c96a1ca437e7e4763e2843746588a965426550f3797a79fca9c6199c431f", - "sha256:326420cbb492172dec84b0f65c80942de6cedb5233c413dd824483989c000608", - "sha256:4474f8ea030b5127225b8894d626bb66c01cda098d47a2b0d3429b6700af9fd8", - "sha256:592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab", - "sha256:5ac82e411044fb129bae5cfbeb3ba626acb2af31a8d17d175004b70862a741a7", - "sha256:5f84523c076ad14ff5e6c037fe1c89a7f73a3e04cf0377cb4d017014976433f3", - "sha256:827dc04b8fa7d07c44de11fabbc888e627fa8293b695e0f99cb544fdfa1bf0d1", - "sha256:b4c423ab23291d3945ac61346feeb9a0dc4184999ede5e7c43e1ffb975130ae6", - "sha256:bc6bced57f826ca7cb5125a10b23fd0f2fff3b7c4701d64c439a300ce665fff8", - "sha256:c01b880ec30b5a6e6aa67b09a2fe3fb30473008c85cd6a67359a1b15ed6d83a4", - "sha256:ca233c64c6e40eaa6c66ef97058cdc80e8d0157a443655baa1b2966e812807ca", - "sha256:e863072cdf4c72eebf179342c94e6989c67185842d9997960b3e69290b2fa269" + "sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b", + "sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf", + "sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a", + "sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3", + "sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1", + "sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1", + "sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613", + "sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04", + "sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f", + "sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537", + "sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531" ], "index": "pypi", - "version": "==3.12" + "version": "==3.13" }, "selenium": { "hashes": [ - "sha256:1372101ad23798462038481f92ba1c7fab8385c788b05da6b44318f10ea52422", - "sha256:b8a2630fd858636c894960726ca3c94d8277e516ea3a9d81614fb819a5844764" + "sha256:ab192cd046164c40fabcf44b47c66c8b12495142f4a69dcc55ea6eeef096e614", + "sha256:fdb6b1143d8899e8a32e358ad05bf5d89a480dbac359dbbd341592aa8696dcd1" ], "index": "pypi", - "version": "==3.12.0" + "version": "==3.14.1" }, "six": { "hashes": [ @@ -119,6 +123,13 @@ "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" ], "version": "==1.11.0" + }, + "urllib3": { + "hashes": [ + "sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf", + "sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5" + ], + "version": "==1.23" } } } diff --git a/bh_core/urls.py b/bh_core/urls.py index 9bf7a1c..408612b 100644 --- a/bh_core/urls.py +++ b/bh_core/urls.py @@ -36,5 +36,5 @@ from django.urls import include, path urlpatterns = [ path('', include('trackers.urls')), - # path('admin/', admin.site.urls), + path('admin/', admin.site.urls), ] diff --git a/trackers/admin.py b/trackers/admin.py index e1f3d8f..2a4a378 100644 --- a/trackers/admin.py +++ b/trackers/admin.py @@ -19,3 +19,7 @@ from django.contrib import admin # Register your models here. +from trackers.models import Ticket, ChangeEvent + +admin.site.register(Ticket) +admin.site.register(ChangeEvent) diff --git a/trackers/models.py b/trackers/models.py index 2a2513c..6637f17 100644 --- a/trackers/models.py +++ b/trackers/models.py @@ -32,6 +32,8 @@ class ModelCommon(models.Model): abstract = True class Ticket(ModelCommon): + title = models.CharField(max_length=200, null=True) + description = models.TextField(null=True) def last_update(self): last_event = self.changeevent_set.order_by('created').last() diff --git a/trackers/serializers.py b/trackers/serializers.py new file mode 100644 index 0000000..37c14f6 --- /dev/null +++ b/trackers/serializers.py @@ -0,0 +1,8 @@ +from rest_framework import serializers +from trackers.models import Ticket + + +class TicketSerializer(serializers.ModelSerializer): + class Meta: + model = Ticket + fields = '__all__' diff --git a/trackers/views.py b/trackers/views.py index 6e21c4f..3483c9f 100644 --- a/trackers/views.py +++ b/trackers/views.py @@ -17,6 +17,16 @@ from django.http import HttpResponse from django.shortcuts import render +from rest_framework import generics def home(request): return HttpResponse('<html><title>Bloodhound Trackers</title></html>') + + +from trackers.serializers import TicketSerializer +from trackers.models import Ticket + + +class PlanetList(generics.ListCreateAPIView): + queryset = Ticket.objects.all() + serializer_class = TicketSerializer