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
|
||||
** Api
|
||||
#+BEGIN_SRC python
|
||||
import coreapi
|
||||
import requests
|
||||
|
||||
url = 'http://127.0.0.1:8180/api/v1/rfidAuth/'
|
||||
data = {
|
||||
|
@ -83,10 +83,14 @@ data = {
|
|||
'device': '7bff6053-77ef-4250-ac11-8a119fd05a0e'
|
||||
}
|
||||
|
||||
client = coreapi.Client()
|
||||
client.get(url)
|
||||
client.post(url, data)
|
||||
|
||||
# client = RequestsClient()
|
||||
response = requests.post(
|
||||
'http://127.0.0.1:8180/api/v1/rfidAuth/',
|
||||
data={'rfid': 'fa14', 'device': 'e571eee1-7bf7-4453-980e-7519e2a83de6'})
|
||||
#requests.get(url)
|
||||
return response.status_code
|
||||
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: 404
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
import uuid
|
||||
import random
|
||||
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 import call_command
|
||||
from mhackspace.base.models import BannerImage
|
||||
|
@ -15,6 +21,16 @@ class ImageFixture(AutoFixture):
|
|||
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):
|
||||
help = 'Build test data for development environment'
|
||||
|
||||
|
@ -37,18 +53,23 @@ class Command(BaseCommand):
|
|||
|
||||
# random data
|
||||
users = AutoFixture(User, field_values={
|
||||
'title': ChoicesGenerator(('Mr', 'Mrs', 'Emperor', 'Captain'))
|
||||
'title': ChoicesGenerator(values=('Mr', 'Mrs', 'Emperor', 'Captain'))
|
||||
})
|
||||
users.create(10)
|
||||
|
||||
Rfid.objects.all().delete()
|
||||
Device.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)
|
||||
|
||||
device = AutoFixture(Device, field_values={
|
||||
'name': ChoicesGenerator(('Door', 'Printer', 'Laser Cutter', ''))
|
||||
'name': ChoicesGenerator(values=('Door', 'Printer', 'Laser Cutter', ''))
|
||||
})
|
||||
device.create(5)
|
||||
|
||||
|
|
|
@ -11,20 +11,12 @@ class DeviceAdmin(ModelAdmin):
|
|||
list_display = ('name', 'identifier')
|
||||
|
||||
|
||||
# Probably need to look at this again
|
||||
@admin.register(DeviceAuth)
|
||||
class DeviceAuthAdmin(ModelAdmin):
|
||||
list_display = ('rfid', 'device')
|
||||
list_display = ('device', 'rfid_code', 'rfid_user')
|
||||
|
||||
class CustomModelChoiceField(ModelChoiceField):
|
||||
def label_from_instance(self, obj):
|
||||
return obj.description + ' - ' + str(obj.user)
|
||||
def rfid_code(self, x):
|
||||
return x.rfid.code
|
||||
|
||||
# def formfield_for_foreignkey(self, db_field, request, **kwargs):
|
||||
# if db_field.name == "rfid":
|
||||
# return self.CustomModelChoiceField(
|
||||
# Rfid.objects.all(),
|
||||
# initial=request.user)
|
||||
|
||||
# return super(DeviceAuthAdmin, self).formfield_for_foreignkey(
|
||||
# db_field, request, **kwargs)
|
||||
def rfid_user(self, x):
|
||||
return x.rfid.user
|
||||
|
|
|
@ -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
|
||||
class Rfid(models.Model):
|
||||
code = models.PositiveIntegerField()
|
||||
code = models.CharField(max_length=7)
|
||||
description = models.CharField(_('Short rfid description'), blank=True, max_length=255)
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
|
|
Loading…
Reference in New Issue