Skip to main content

Build Status Coverage Status Documentation Project on PyPI

Django agenda is a django app that allow you to create and book times in a schedule. Our goal is to handle all the nasty details for you; like timezones, schedule changes, and whether or not a specific segment is actually available to be booked.

Features

  • Create recurring availabilities. We should support everything that RFC 2445 does.

  • Subclass AbstractBooking to create bookings. Bookings will reserve time slots, and flag them as busy.

  • Uses dynamic foreign keys, so you can relate your availabilities & bookings to anything (a user, an office space, a classroom)

Installation

First, install via pip (on Windows, replace pip3 with pip)

pip3 install django-agenda

Then, edit your settings.py, adding this line to INSTALLED_APPS

'django_agenda',

For further instructions, see the documentation.

Changes

0.7.2

  • Properly fix inability to rename TimeSlot class (#2)

  • Add support for Django 3.1

0.7.1

  • Remove support for Django 1.10

  • Fix error in documentation (#2), and make the booking_csl in TimeSlotMeta dynamic

0.7.0

  • Deprecated _get_padding and related methods in favor of methods without leading underscores

  • Added some basic documentation

0.6.5

  • Don‘t validate already allocated slots

0.6.4

  • Fix long description rendering problems on pypi

0.6.3

  • Add django_agenda.version, drop pbr

0.6.2

  • add a related name for the bookings relation

0.6.1

  • Bug fix for case where foreign key wasn’t called schedule

0.6.0

A major rewrite & simplification. This version works very differently from 0.5, don’t expect to migrate easily.

  • Time slots are now primarily for marking busy state, and availability occurrences are for free times.

  • You have to create your own models, subclassing the abstract models in django_agenda.models. The good thing about this is that this allows us to use real foreign keys instead of generic ones.

  • To that end, you’ll have to migrate the data into your models. Django Agenda won’t delete any of it’s own models, but you’ll have to migrate the data into the new models that you make.

  • Booking validation is now done in AbstractBooking.clean instead of AbstractBooking.save. Make sure you call full_clean!

  • You can use django_agenda.models.get_free_times to find all the free time spans in a particular space of time.

0.5.4

  • Add the ability to overlap busy slots

0.5.3

  • Add ability to overlap bookings

0.5.2

  • Add support for django 2

0.5.1

  • Fix bug if the start/end time weren’t in the same zone as the availability

0.5.0

  • Fix handling of daylight savings

0.4.0–0.4.9

  • Small improvements to the regen method

  • Fix problem where _padding_changed would crash with big changes

  • Improve error messaging

  • Fix issue where slots were being skipped during regeneration

  • Update config so it works more naturally

  • Fix issue where _padding_changed would alter same slot multiple times

  • Add a method to handle non-static padding values

  • Fix problem with app config, and gitlab ci

  • Fix bug making overlapping slots when a booking spanned existing slots

  • Add support for disallowing duplicate bookings

  • Fix instruction formatting in readme

  • Rewrite scheduling logic

  • Add a reasonable number of tests

Metadata

Release files for django-agenda 0.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-agenda 0.7.2
File Size Uploaded
django-agenda-0.7.2.tar.gz 22.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-agenda 0.7.2
File Interpreter ABI Platform
django_agenda-0.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.6 kB

Release files / django-agenda-0.7.2.tar.gz

Download URL django-agenda-0.7.2.tar.gz
Size 22.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e5bb825590355e99da73deaa27c7ecf160e50d132cc5cc12e2acfe3ecc3fb5d3
BLAKE2b-256 checksum
How to use checksums
a138120a73acdbddae86ffb444fca20b6f45b4fb3685e91f3a8ee8ebb4ff9531
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.8

Release files / django_agenda-0.7.2-py3-none-any.whl

Download URL django_agenda-0.7.2-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
162c0c328453ca58adc037fe160526f3095424f53a9aadec0324cbb23a3ee1ec
BLAKE2b-256 checksum
How to use checksums
474b3f0003000a44cf90c4ea8bd71acc852114c29c2c9330601959199e65d3c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.8

Release history Release notifications | RSS feed

This release

0.7.2 This release

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.9

1 release file

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page