Settings¶
OCCURRENCE_CANCEL_REDIRECT¶
This setting controls the behavior of Views.get_next_url()
. If set, all calendar modifications will redirect here (unless there is a next set in the request.)
SHOW_CANCELLED_OCCURRENCES¶
This setting controls the behavior of Period.classify_occurence()
. If True, then occurrences that have been cancelled will be displayed with a css class of canceled, otherwise they won’t appear at all.
Defaults to False
CHECK_EVENT_PERM_FUNC¶
This setting controls the callable used to determine if a user has permission to edit an event or occurrence. The callable must take the object (event) and the user and return a boolean.
example:
check_edit_permission(ob, user):
return user.is_authenticated()
If ob is None, then the function is checking for permission to add new events.
CHECK_CALENDAR_PERM_FUNC¶
This setting controls the callable used to determine if a user has permission to add, update or delete events in a specific calendar. The callable must take the object (calendar) and the user and return a boolean.
example:
check_edit_permission(ob, user):
return user.is_authenticated()
GET_EVENTS_FUNC¶
This setting controls the callable that gets all events for calendar display. The callable must take the request and the calendar and return a QuerySet of events. Modifying this setting allows you to pull events from multiple calendars or to filter events based on permissions.
example:
get_events(request, calendar):
return calendar.event_set.all()
SCHEDULER_BASE_CLASSES¶
This setting allows for custom base classes to be used on specific models. Useful for adding fields, managers, or other elements.
Defaults to django.db.models.Model
Extend all the models using a list:
SCHEDULER_BASE_CLASSES = [‘my_app.models.BaseAbstract1’, ‘my_app.models.BaseAbstract1’]
Extend specific models using a dict, where the key is the model class name:
- SCHEDULER_BASE_CLASSES = {
- ‘Event’: [‘my_app.models.EventAbstract1’, ‘my_app..models.EventAbstract2’] ‘Calendar’: [my_app.models.CalendarAbstract’]
}
SCHEDULER_ADMIN_FIELDS¶
This complements the SCHEDULER_BASE_CLASSES feature, by allowing fields added via a base class to be shown in the admin form for that model.
Example - EventBase adds a ‘cost’ field, and now the field can be shown in the admin form too.
``` SCHEDULER_BASE_CLASSES = {
‘Event’: [‘main.models.EventBase’]
}
- SCHEDULER_ADMIN_FIELDS = {
- ‘Event’: [(‘cost’,)]
}