2025-02-06 02:35:24 +00:00
|
|
|
class Attribute:
|
|
|
|
def __init__(self, display_name, html_input_type="text", required=False, unique=False, primary=False, regex=None, min=None, max=None, options=None):
|
|
|
|
self.display_name = display_name
|
|
|
|
self.html_input_type = html_input_type
|
|
|
|
self.required = required
|
|
|
|
self.unique = unique
|
|
|
|
self.primary = primary
|
|
|
|
self.regex = regex
|
|
|
|
self.min = min
|
|
|
|
self.max = max
|
|
|
|
self.options = options
|
|
|
|
|
2025-02-05 10:38:12 +00:00
|
|
|
tableitems = {
|
2025-02-06 02:35:24 +00:00
|
|
|
"assettag": Attribute(
|
|
|
|
display_name="Asset Tag",
|
|
|
|
html_input_type="text",
|
|
|
|
required=True,
|
|
|
|
unique=True,
|
|
|
|
primary=True,
|
|
|
|
regex=r"^[A-Z0-9]+$" # Only uppercase letters and numbers
|
|
|
|
),
|
|
|
|
"hostname": Attribute(
|
|
|
|
display_name="Host Name",
|
|
|
|
html_input_type="text",
|
|
|
|
required=True,
|
|
|
|
unique=True,
|
|
|
|
regex=r"^[a-z0-9._-]+$" # Lowercase letters, numbers, dots, underscores, hyphens
|
|
|
|
),
|
|
|
|
"warrantyfrom": Attribute(
|
|
|
|
display_name="Warranty From",
|
|
|
|
html_input_type="date",
|
|
|
|
required=True
|
|
|
|
),
|
|
|
|
"status": Attribute(
|
|
|
|
display_name="Status",
|
|
|
|
html_input_type="select",
|
|
|
|
required=True,
|
|
|
|
options=["Active", "Inactive"] # Allowed values
|
|
|
|
),
|
|
|
|
"staffnum": Attribute(
|
|
|
|
display_name="Staff No.",
|
|
|
|
html_input_type="number",
|
|
|
|
required=True,
|
|
|
|
min=100000, # 6 digits
|
|
|
|
max=99999999 # 8 digits
|
|
|
|
)
|
2025-02-05 10:38:12 +00:00
|
|
|
}
|