feat: Initialize App
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
### Lukenya Marathon
|
### Lukenya Marathon
|
||||||
|
|
||||||
Activity Management System
|
Activity Management Sytem
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
app_name = "lukenya_marathon"
|
app_name = "lukenya_marathon"
|
||||||
app_title = "Lukenya Marathon"
|
app_title = "Lukenya Marathon"
|
||||||
app_publisher = "Digital Chances"
|
app_publisher = "Digital Chances"
|
||||||
app_description = "Activity Management System"
|
app_description = "Activity Management Sytem"
|
||||||
app_email = "Josephnjuki@digitalchances.co.ke"
|
app_email = "josephnjuki@digitalchances.co.ke"
|
||||||
app_license = "mit"
|
app_license = "mit"
|
||||||
|
|
||||||
# Apps
|
# Apps
|
||||||
|
|||||||
@@ -0,0 +1,108 @@
|
|||||||
|
{
|
||||||
|
"actions": [],
|
||||||
|
"allow_rename": 1,
|
||||||
|
"autoname": "field:edition_code",
|
||||||
|
"doctype": "DocType",
|
||||||
|
"editable_grid": 1,
|
||||||
|
"engine": "InnoDB",
|
||||||
|
"field_order": [
|
||||||
|
"edition_code",
|
||||||
|
"edition_name",
|
||||||
|
"event_date",
|
||||||
|
"registration_open",
|
||||||
|
"registration_close",
|
||||||
|
"status",
|
||||||
|
"venue",
|
||||||
|
"county",
|
||||||
|
"description",
|
||||||
|
"registration_capacity",
|
||||||
|
"trees_commitment_per_entry"
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"fieldname": "edition_code",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Edition Code",
|
||||||
|
"reqd": 1,
|
||||||
|
"unique": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "edition_name",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Edition Name",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "event_date",
|
||||||
|
"fieldtype": "Date",
|
||||||
|
"label": "Event Date",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "registration_open",
|
||||||
|
"fieldtype": "Datetime",
|
||||||
|
"label": "Registration Open"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "registration_close",
|
||||||
|
"fieldtype": "Datetime",
|
||||||
|
"label": "Registration Close"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Draft",
|
||||||
|
"fieldname": "status",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Status",
|
||||||
|
"options": "Draft\nOpen\nClosed\nCompleted\nCancelled",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "venue",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Venue",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "county",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "County"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "description",
|
||||||
|
"fieldtype": "Text Editor",
|
||||||
|
"label": "Public Description"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "registration_capacity",
|
||||||
|
"fieldtype": "Int",
|
||||||
|
"label": "Registration Capacity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "1",
|
||||||
|
"fieldname": "trees_commitment_per_entry",
|
||||||
|
"fieldtype": "Int",
|
||||||
|
"label": "Trees per Eligible Entry",
|
||||||
|
"reqd": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [],
|
||||||
|
"module": "Lukenya Marathon",
|
||||||
|
"name": "Event Edition",
|
||||||
|
"permissions": [
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"delete": 1,
|
||||||
|
"email": 1,
|
||||||
|
"export": 1,
|
||||||
|
"print": 1,
|
||||||
|
"read": 1,
|
||||||
|
"report": 1,
|
||||||
|
"role": "System Manager",
|
||||||
|
"share": 1,
|
||||||
|
"write": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort_field": "modified",
|
||||||
|
"sort_order": "DESC",
|
||||||
|
"track_changes": 1
|
||||||
|
}
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
{
|
||||||
|
"actions": [],
|
||||||
|
"allow_rename": 1,
|
||||||
|
"autoname": "field:participant_code",
|
||||||
|
"doctype": "DocType",
|
||||||
|
"editable_grid": 1,
|
||||||
|
"engine": "InnoDB",
|
||||||
|
"field_order": [
|
||||||
|
"participant_code",
|
||||||
|
"first_name",
|
||||||
|
"last_name",
|
||||||
|
"id_number",
|
||||||
|
"date_of_birth",
|
||||||
|
"gender",
|
||||||
|
"nationality",
|
||||||
|
"email",
|
||||||
|
"phone",
|
||||||
|
"whatsapp",
|
||||||
|
"shirt_size",
|
||||||
|
"emergency_contact_name",
|
||||||
|
"emergency_contact_phone",
|
||||||
|
"medical_notes",
|
||||||
|
"communication_consent"
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"fieldname": "participant_code",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Participant Code",
|
||||||
|
"reqd": 1,
|
||||||
|
"unique": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "first_name",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "First Name",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "last_name",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Last Name",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "id_number",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "ID / Passport Number",
|
||||||
|
"unique": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "date_of_birth",
|
||||||
|
"fieldtype": "Date",
|
||||||
|
"label": "Date of Birth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "gender",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Gender",
|
||||||
|
"options": "Male\nFemale\nOther\nPrefer not to say"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Kenya",
|
||||||
|
"fieldname": "nationality",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Nationality"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "email",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Email",
|
||||||
|
"options": "Email"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "phone",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Phone",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "whatsapp",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "WhatsApp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "shirt_size",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Shirt Size",
|
||||||
|
"options": "XS\nS\nM\nL\nXL\nXXL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "emergency_contact_name",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Emergency Contact Name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "emergency_contact_phone",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Emergency Contact Phone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "medical_notes",
|
||||||
|
"fieldtype": "Small Text",
|
||||||
|
"label": "Medical / Accessibility Notes",
|
||||||
|
"permlevel": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "communication_consent",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Communication Consent"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [],
|
||||||
|
"module": "Lukenya Marathon",
|
||||||
|
"name": "Participant",
|
||||||
|
"permissions": [
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"delete": 1,
|
||||||
|
"email": 1,
|
||||||
|
"export": 1,
|
||||||
|
"print": 1,
|
||||||
|
"read": 1,
|
||||||
|
"report": 1,
|
||||||
|
"role": "System Manager",
|
||||||
|
"share": 1,
|
||||||
|
"write": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort_field": "modified",
|
||||||
|
"sort_order": "DESC",
|
||||||
|
"track_changes": 1
|
||||||
|
}
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
{
|
||||||
|
"actions": [],
|
||||||
|
"allow_rename": 1,
|
||||||
|
"autoname": "field:category_code",
|
||||||
|
"doctype": "DocType",
|
||||||
|
"editable_grid": 1,
|
||||||
|
"engine": "InnoDB",
|
||||||
|
"field_order": [
|
||||||
|
"category_code",
|
||||||
|
"category_name",
|
||||||
|
"event_edition",
|
||||||
|
"discipline",
|
||||||
|
"distance_km",
|
||||||
|
"start_time",
|
||||||
|
"cutoff_hours",
|
||||||
|
"eligibility",
|
||||||
|
"kenyan_price",
|
||||||
|
"non_resident_price",
|
||||||
|
"early_bird_price",
|
||||||
|
"capacity",
|
||||||
|
"active",
|
||||||
|
"prize_eligible",
|
||||||
|
"inclusions"
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"fieldname": "category_code",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Category Code",
|
||||||
|
"reqd": 1,
|
||||||
|
"unique": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "category_name",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Category Name",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "event_edition",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Event Edition",
|
||||||
|
"options": "Event Edition",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Running",
|
||||||
|
"fieldname": "discipline",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Discipline",
|
||||||
|
"options": "Running\nCycling\nVirtual\nRelay",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "distance_km",
|
||||||
|
"fieldtype": "Float",
|
||||||
|
"label": "Distance (KM)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "start_time",
|
||||||
|
"fieldtype": "Time",
|
||||||
|
"label": "Start Time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "cutoff_hours",
|
||||||
|
"fieldtype": "Float",
|
||||||
|
"label": "Cut-off (Hours)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "eligibility",
|
||||||
|
"fieldtype": "Small Text",
|
||||||
|
"label": "Eligibility Rules"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "kenyan_price",
|
||||||
|
"fieldtype": "Currency",
|
||||||
|
"label": "Kenyan Price",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "non_resident_price",
|
||||||
|
"fieldtype": "Currency",
|
||||||
|
"label": "Non-resident Price"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "early_bird_price",
|
||||||
|
"fieldtype": "Currency",
|
||||||
|
"label": "Early Bird Price"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "capacity",
|
||||||
|
"fieldtype": "Int",
|
||||||
|
"label": "Capacity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "1",
|
||||||
|
"fieldname": "active",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "prize_eligible",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Prize Eligible"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "inclusions",
|
||||||
|
"fieldtype": "Small Text",
|
||||||
|
"label": "Inclusions"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [],
|
||||||
|
"module": "Lukenya Marathon",
|
||||||
|
"name": "Race Category",
|
||||||
|
"permissions": [
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"delete": 1,
|
||||||
|
"email": 1,
|
||||||
|
"export": 1,
|
||||||
|
"print": 1,
|
||||||
|
"read": 1,
|
||||||
|
"report": 1,
|
||||||
|
"role": "System Manager",
|
||||||
|
"share": 1,
|
||||||
|
"write": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort_field": "modified",
|
||||||
|
"sort_order": "DESC",
|
||||||
|
"track_changes": 1
|
||||||
|
}
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
{
|
||||||
|
"actions": [],
|
||||||
|
"allow_rename": 0,
|
||||||
|
"autoname": "format:REG-{####}",
|
||||||
|
"doctype": "DocType",
|
||||||
|
"editable_grid": 1,
|
||||||
|
"engine": "InnoDB",
|
||||||
|
"field_order": [
|
||||||
|
"participant",
|
||||||
|
"event_edition",
|
||||||
|
"race_category",
|
||||||
|
"registration_status",
|
||||||
|
"registration_date",
|
||||||
|
"price_tier",
|
||||||
|
"amount_due",
|
||||||
|
"payment_status",
|
||||||
|
"payment_reference",
|
||||||
|
"bib_number",
|
||||||
|
"chip_number",
|
||||||
|
"race_pack_status",
|
||||||
|
"check_in_status",
|
||||||
|
"indemnity_accepted",
|
||||||
|
"consent_timestamp",
|
||||||
|
"transfer_notes"
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"fieldname": "participant",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Participant",
|
||||||
|
"options": "Participant",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "event_edition",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Event Edition",
|
||||||
|
"options": "Event Edition",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "race_category",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Race Category",
|
||||||
|
"options": "Race Category",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Pending",
|
||||||
|
"fieldname": "registration_status",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Registration Status",
|
||||||
|
"options": "Pending\nConfirmed\nCancelled\nTransferred\nRefunded\nCompleted",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "registration_date",
|
||||||
|
"fieldtype": "Datetime",
|
||||||
|
"label": "Registration Date",
|
||||||
|
"default": "Now"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Standard",
|
||||||
|
"fieldname": "price_tier",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Price Tier",
|
||||||
|
"options": "Early Bird\nStandard\nNon-resident\nCorporate\nComplimentary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "amount_due",
|
||||||
|
"fieldtype": "Currency",
|
||||||
|
"label": "Amount Due",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Unpaid",
|
||||||
|
"fieldname": "payment_status",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Payment Status",
|
||||||
|
"options": "Unpaid\nPending\nPaid\nFailed\nPartially Paid\nRefunded",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "payment_reference",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Payment Reference"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "bib_number",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Bib Number",
|
||||||
|
"unique": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "chip_number",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Chip Number",
|
||||||
|
"unique": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Not Issued",
|
||||||
|
"fieldname": "race_pack_status",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Race Pack Status",
|
||||||
|
"options": "Not Issued\nReady\nIssued\nCollected\nUncollected"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "Not Checked In",
|
||||||
|
"fieldname": "check_in_status",
|
||||||
|
"fieldtype": "Select",
|
||||||
|
"label": "Check-in Status",
|
||||||
|
"options": "Not Checked In\nChecked In\nDid Not Start\nFinished"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "indemnity_accepted",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Indemnity Accepted",
|
||||||
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "consent_timestamp",
|
||||||
|
"fieldtype": "Datetime",
|
||||||
|
"label": "Consent Timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "transfer_notes",
|
||||||
|
"fieldtype": "Small Text",
|
||||||
|
"label": "Transfer / Admin Notes"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"links": [],
|
||||||
|
"module": "Lukenya Marathon",
|
||||||
|
"name": "Registration",
|
||||||
|
"permissions": [
|
||||||
|
{
|
||||||
|
"create": 1,
|
||||||
|
"delete": 1,
|
||||||
|
"email": 1,
|
||||||
|
"export": 1,
|
||||||
|
"print": 1,
|
||||||
|
"read": 1,
|
||||||
|
"report": 1,
|
||||||
|
"role": "System Manager",
|
||||||
|
"share": 1,
|
||||||
|
"write": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sort_field": "modified",
|
||||||
|
"sort_order": "DESC",
|
||||||
|
"track_changes": 1
|
||||||
|
}
|
||||||
+2
-2
@@ -1,9 +1,9 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "lukenya_marathon"
|
name = "lukenya_marathon"
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Digital Chances", email = "Josephnjuki@digitalchances.co.ke"}
|
{ name = "Digital Chances", email = "josephnjuki@digitalchances.co.ke"}
|
||||||
]
|
]
|
||||||
description = "Activity Management System"
|
description = "Activity Management Sytem"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
dynamic = ["version"]
|
dynamic = ["version"]
|
||||||
|
|||||||
Reference in New Issue
Block a user