from rules import add_perm from aleksis.core.util.predicates import ( has_global_perm, has_object_perm, has_person, ) from .util.predicates import has_any_timetable_object, has_timetable_perm # View timetable overview view_timetable_overview_predicate = has_person & ( has_any_timetable_object | has_global_perm("chronos.view_timetable_overview") ) add_perm("chronos.view_timetable_overview_rule", view_timetable_overview_predicate) # View timetable view_timetable_predicate = has_person & has_timetable_perm add_perm("chronos.view_timetable_rule", view_timetable_predicate) # Edit substition edit_substitution_predicate = has_person & ( has_global_perm("chronos.change_lessonevent") | has_object_perm("chronos.change_lessonevent") ) add_perm("chronos.edit_substitution_rule", edit_substitution_predicate) # Delete substitution delete_substitution_predicate = has_person & ( has_global_perm("chronos.delete_lessonevent") | has_object_perm("chronos.delete_lessonevent") ) add_perm("chronos.delete_substitution_rule", delete_substitution_predicate) # View substitutions view_substitutions_predicate = has_person & (has_global_perm("chronos.view_substitutions")) add_perm("chronos.view_substitutions_rule", view_substitutions_predicate) # View parent menu entry view_menu_predicate = has_person & (view_timetable_overview_predicate) add_perm("chronos.view_menu_rule", view_menu_predicate)