adding the create code function from ids of devices
This commit is contained in:
parent
41cadcc0b3
commit
bf5cae5f96
|
@ -9,7 +9,6 @@ import citext
|
|||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
from alembic import context
|
||||
from ereuse_devicehub.resources.device.utils import Hashids
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
|
@ -26,13 +25,9 @@ def get_inv():
|
|||
return INV
|
||||
|
||||
|
||||
def create_code(context):
|
||||
_id = context.get_current_parameters()['id']
|
||||
return Hashids(_id)
|
||||
|
||||
def upgrade():
|
||||
op.add_column('device', sa.Column('code', citext.CIText(),
|
||||
default=create_code,
|
||||
unique=True,
|
||||
nullable=True), schema=f'{get_inv()}')
|
||||
|
||||
|
||||
|
|
|
@ -28,13 +28,19 @@ from teal.marshmallow import ValidationError
|
|||
from teal.resource import url_for_resource
|
||||
|
||||
from ereuse_devicehub.db import db
|
||||
from ereuse_devicehub.resources.device.utils import Hashids
|
||||
from ereuse_devicehub.resources.device.utils import hashids
|
||||
from ereuse_devicehub.resources.enums import BatteryTechnology, CameraFacing, ComputerChassis, \
|
||||
DataStorageInterface, DisplayTech, PrinterTechnology, RamFormat, RamInterface, Severity, TransferState
|
||||
from ereuse_devicehub.resources.models import STR_SM_SIZE, Thing, listener_reset_field_updated_in_actual_time
|
||||
from ereuse_devicehub.resources.user.models import User
|
||||
|
||||
|
||||
def create_code(context):
|
||||
_id = Device.query.order_by(Device.id.desc()).first() or 1
|
||||
if not _id == 1:
|
||||
_id = _id.id + 1
|
||||
return hashids(_id)
|
||||
|
||||
|
||||
class Device(Thing):
|
||||
"""Base class for any type of physical object that can be identified.
|
||||
|
@ -117,7 +123,7 @@ class Device(Thing):
|
|||
owner = db.relationship(User, primaryjoin=owner_id == User.id)
|
||||
allocated = db.Column(Boolean, default=False)
|
||||
allocated.comment = "device is allocated or not."
|
||||
code = db.Column(db.CIText(), nullable=True, unique=True)
|
||||
code = db.Column(db.CIText(), nullable=True, unique=True, default=create_code)
|
||||
|
||||
_NON_PHYSICAL_PROPS = {
|
||||
'id',
|
||||
|
|
Reference in a new issue