Better test data for rfid system
This commit is contained in:
parent
1734dc3f9c
commit
02befa5ddb
14
README.org
14
README.org
|
@ -75,7 +75,7 @@ docker-compose -fdev.yml run --rm django python manage.py rendervariations 'blog
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Api
|
** Api
|
||||||
#+BEGIN_SRC python
|
#+BEGIN_SRC python
|
||||||
import coreapi
|
import requests
|
||||||
|
|
||||||
url = 'http://127.0.0.1:8180/api/v1/rfidAuth/'
|
url = 'http://127.0.0.1:8180/api/v1/rfidAuth/'
|
||||||
data = {
|
data = {
|
||||||
|
@ -83,10 +83,14 @@ data = {
|
||||||
'device': '7bff6053-77ef-4250-ac11-8a119fd05a0e'
|
'device': '7bff6053-77ef-4250-ac11-8a119fd05a0e'
|
||||||
}
|
}
|
||||||
|
|
||||||
client = coreapi.Client()
|
# client = RequestsClient()
|
||||||
client.get(url)
|
response = requests.post(
|
||||||
client.post(url, data)
|
'http://127.0.0.1:8180/api/v1/rfidAuth/',
|
||||||
|
data={'rfid': 'fa14', 'device': 'e571eee1-7bf7-4453-980e-7519e2a83de6'})
|
||||||
#requests.get(url)
|
#requests.get(url)
|
||||||
|
return response.status_code
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: 404
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
|
import uuid
|
||||||
import random
|
import random
|
||||||
from autofixture import AutoFixture
|
from autofixture import AutoFixture
|
||||||
from autofixture.generators import ImageGenerator, IntegerGenerator, ChoicesGenerator
|
from autofixture.generators import (
|
||||||
|
ImageGenerator,
|
||||||
|
IntegerGenerator,
|
||||||
|
ChoicesGenerator,
|
||||||
|
Generator,
|
||||||
|
LoremWordGenerator)
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
from django.core.management import call_command
|
from django.core.management import call_command
|
||||||
from mhackspace.base.models import BannerImage
|
from mhackspace.base.models import BannerImage
|
||||||
|
@ -15,6 +21,16 @@ class ImageFixture(AutoFixture):
|
||||||
scaled_image = ImageGenerator(width=800, height=300, sizes=((1280, 300),))
|
scaled_image = ImageGenerator(width=800, height=300, sizes=((1280, 300),))
|
||||||
|
|
||||||
|
|
||||||
|
def RfidFixture():
|
||||||
|
while True:
|
||||||
|
yield str(uuid.uuid4())[0:4]
|
||||||
|
|
||||||
|
|
||||||
|
class RfidGenerator(Generator):
|
||||||
|
def generate(self):
|
||||||
|
return str(uuid.uuid4())[0:4]
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
help = 'Build test data for development environment'
|
help = 'Build test data for development environment'
|
||||||
|
|
||||||
|
@ -37,18 +53,23 @@ class Command(BaseCommand):
|
||||||
|
|
||||||
# random data
|
# random data
|
||||||
users = AutoFixture(User, field_values={
|
users = AutoFixture(User, field_values={
|
||||||
'title': ChoicesGenerator(('Mr', 'Mrs', 'Emperor', 'Captain'))
|
'title': ChoicesGenerator(values=('Mr', 'Mrs', 'Emperor', 'Captain'))
|
||||||
})
|
})
|
||||||
users.create(10)
|
users.create(10)
|
||||||
|
|
||||||
Rfid.objects.all().delete()
|
Rfid.objects.all().delete()
|
||||||
Device.objects.all().delete()
|
Device.objects.all().delete()
|
||||||
DeviceAuth.objects.all().delete()
|
DeviceAuth.objects.all().delete()
|
||||||
rfid = AutoFixture(Rfid, field_values={'code': IntegerGenerator(1, 100000)})
|
|
||||||
|
rfid = AutoFixture(
|
||||||
|
Rfid,
|
||||||
|
field_values={
|
||||||
|
'code': RfidGenerator(),
|
||||||
|
'description': LoremWordGenerator()})
|
||||||
rfid.create(20)
|
rfid.create(20)
|
||||||
|
|
||||||
device = AutoFixture(Device, field_values={
|
device = AutoFixture(Device, field_values={
|
||||||
'name': ChoicesGenerator(('Door', 'Printer', 'Laser Cutter', ''))
|
'name': ChoicesGenerator(values=('Door', 'Printer', 'Laser Cutter', ''))
|
||||||
})
|
})
|
||||||
device.create(5)
|
device.create(5)
|
||||||
|
|
||||||
|
|
|
@ -11,20 +11,12 @@ class DeviceAdmin(ModelAdmin):
|
||||||
list_display = ('name', 'identifier')
|
list_display = ('name', 'identifier')
|
||||||
|
|
||||||
|
|
||||||
# Probably need to look at this again
|
|
||||||
@admin.register(DeviceAuth)
|
@admin.register(DeviceAuth)
|
||||||
class DeviceAuthAdmin(ModelAdmin):
|
class DeviceAuthAdmin(ModelAdmin):
|
||||||
list_display = ('rfid', 'device')
|
list_display = ('device', 'rfid_code', 'rfid_user')
|
||||||
|
|
||||||
class CustomModelChoiceField(ModelChoiceField):
|
def rfid_code(self, x):
|
||||||
def label_from_instance(self, obj):
|
return x.rfid.code
|
||||||
return obj.description + ' - ' + str(obj.user)
|
|
||||||
|
|
||||||
# def formfield_for_foreignkey(self, db_field, request, **kwargs):
|
def rfid_user(self, x):
|
||||||
# if db_field.name == "rfid":
|
return x.rfid.user
|
||||||
# return self.CustomModelChoiceField(
|
|
||||||
# Rfid.objects.all(),
|
|
||||||
# initial=request.user)
|
|
||||||
|
|
||||||
# return super(DeviceAuthAdmin, self).formfield_for_foreignkey(
|
|
||||||
# db_field, request, **kwargs)
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.4 on 2017-09-12 20:37
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0004_auto_20170813_1557'),
|
||||||
|
('users', '0004_rfid'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
]
|
|
@ -0,0 +1,16 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.4 on 2017-09-13 17:18
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0005_merge_20170912_2037'),
|
||||||
|
('users', '0005_merge_20170913_0740'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
]
|
|
@ -0,0 +1,20 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.4 on 2017-09-14 20:21
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0006_merge_20170913_1718'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='rfid',
|
||||||
|
name='code',
|
||||||
|
field=models.CharField(max_length=7),
|
||||||
|
),
|
||||||
|
]
|
|
@ -94,7 +94,7 @@ class Membership(models.Model):
|
||||||
|
|
||||||
# users rfid card to user mapping, user can have more than one card
|
# users rfid card to user mapping, user can have more than one card
|
||||||
class Rfid(models.Model):
|
class Rfid(models.Model):
|
||||||
code = models.PositiveIntegerField()
|
code = models.CharField(max_length=7)
|
||||||
description = models.CharField(_('Short rfid description'), blank=True, max_length=255)
|
description = models.CharField(_('Short rfid description'), blank=True, max_length=255)
|
||||||
user = models.ForeignKey(
|
user = models.ForeignKey(
|
||||||
settings.AUTH_USER_MODEL,
|
settings.AUTH_USER_MODEL,
|
||||||
|
|
Loading…
Reference in New Issue