feat: add admin screens, permissions and navigation

Seven admin controllers in a "Studia BM" navigation group, guarded by
jz.bm.access_courses, jz.bm.access_schedule and jz.bm.access_materials,
with Polish and English labels. Date and time fields are checked by the
models before a save and answered as 422 on the field.
This commit is contained in:
Jakub Zych
2026-10-02 14:26:26 +02:00
parent 1046237771
commit 577fa14d3d
42 changed files with 1234 additions and 11 deletions

View File

@@ -0,0 +1,16 @@
columns:
starts_at:
label: jz.bm::lang.sessions.starts_at
ends_at:
label: jz.bm::lang.sessions.ends_at
course:
label: jz.bm::lang.common.course
relation: course
select: name
searchable: true
room:
label: jz.bm::lang.sessions.room
searchable: true
is_online:
label: jz.bm::lang.sessions.is_online
type: switch

View File

@@ -0,0 +1,41 @@
fields:
course:
label: jz.bm::lang.common.course
type: relation
nameFrom: name
span: left
required: true
meeting:
label: jz.bm::lang.sessions.meeting
type: relation
nameFrom: number
span: right
emptyOption: jz.bm::lang.common.none
starts_at:
label: jz.bm::lang.sessions.starts_at
type: text
span: left
required: true
comment: jz.bm::lang.common.datetime_comment
ends_at:
label: jz.bm::lang.sessions.ends_at
type: text
span: right
required: true
comment: jz.bm::lang.common.datetime_comment
room:
label: jz.bm::lang.sessions.room
type: text
span: left
kind:
label: jz.bm::lang.sessions.kind
type: text
span: right
is_online:
label: jz.bm::lang.sessions.is_online
type: switch
span: left
notes:
label: jz.bm::lang.common.notes
type: textarea
size: small