Valentin Deniaud
5269bc60c1
api: add support for subscriptions in recurring fillslots ( #58446 )
2021-12-13 16:41:23 +01:00
Valentin Deniaud
270daa2202
api: filter by subscriptions in recurring events list ( #58446 )
2021-12-13 16:41:23 +01:00
Valentin Deniaud
2e7d87ffe7
api: add support for subscriptions in multiple agendas fillslots ( #58446 )
2021-12-13 16:41:23 +01:00
Valentin Deniaud
97b0b899af
api: filter by subscriptions in multiple agendas datetimes ( #58446 )
2021-12-13 16:41:23 +01:00
Valentin Deniaud
02837f7632
api: add agenda deletion ( #59127 )
2021-12-13 09:58:12 +01:00
Valentin Deniaud
48a8af32d2
agendas: add subscription model ( #58444 )
2021-11-25 18:51:36 +01:00
Valentin Deniaud
1c8c5f447b
api: make APIError less verbose ( #58014 )
2021-11-18 10:16:05 +01:00
Lauréline Guérin
629b512836
api: show events out of minimal delay ( #58286 )
2021-11-18 09:33:03 +01:00
Valentin Deniaud
e7adcb1828
api: allow multiple grouping in statistics ( #57817 )
2021-11-02 10:03:08 +01:00
Valentin Deniaud
7ce030c69f
api: add prefetching to recurring events endpoints ( #57957 )
2021-11-02 09:46:57 +01:00
Valentin Deniaud
753c7ad6f1
api: make recurring events fillslots work with multiple agendas ( #57957 )
2021-11-02 09:46:57 +01:00
Valentin Deniaud
bb781f8c83
api: make recurring events list endpoint work with multiple agendas ( #57957 )
2021-11-02 09:46:57 +01:00
Valentin Deniaud
84f5dbc4c8
api: move MultipleAgendasEventsFillslots validation to serializers ( #57957 )
2021-11-02 09:46:57 +01:00
Lauréline Guérin
268a0db229
api: bypass_delays parameter for event fillslot endpoints ( #57961 )
2021-10-29 14:44:14 +02:00
Lauréline Guérin
b07288d1be
api: bypass_delays parameter for datetimes endpoints ( #57961 )
2021-10-29 14:44:14 +02:00
Lauréline Guérin
a43252d748
api: fix start/end date with recurring events in multi datetimes ( #58257 )
2021-10-29 13:36:38 +02:00
Valentin Deniaud
887f2a5f02
api: include event label and day when listing recurring events ( #57958 )
2021-10-20 10:50:45 +02:00
Lauréline Guérin
6297ea6231
agendas: event publication_datetime ( #56634 )
2021-10-15 08:13:28 +02:00
Nicolas Roche
a7757b7a22
api: prefetch roles on agenda display ( #57670 )
2021-10-11 14:52:42 +02:00
Nicolas Roche
0660f76ee7
api: display category on agenda details ( #57670 )
2021-10-11 14:50:38 +02:00
Valentin Deniaud
77e8da72c3
api: forbid booking of recurring event ( #57523 )
2021-10-07 11:18:19 +02:00
Nicolas Roche
3719bb7db4
api: move post event api from add-event/ to event/ endpoint ( #57547 )
2021-10-06 15:44:18 +02:00
Nicolas Roche
030a355ebf
api: add an endpoint to patch an event ( #57305 )
2021-10-06 15:31:01 +02:00
Nicolas Roche
25b5222dd4
api: add post method on agenda endpoint ( #57103 )
2021-10-06 10:51:09 +02:00
Nicolas Roche
b9e6c9c55c
api: display minimal_booking_delay_in_working_days on meetings agenda details ( #57103 )
2021-10-06 10:47:09 +02:00
Nicolas Roche
b7811f5235
api: display roles on agenda details ( #57103 )
2021-10-06 10:47:09 +02:00
Lauréline Guérin
f07d2bb8b2
api: show_past_events for agendas/datetimes endpoint ( #56615 )
2021-10-04 18:04:26 +02:00
Lauréline Guérin
09b1ce63d9
api: a past event is disabled except if we want to book it ( #56615 )
2021-10-04 17:52:27 +02:00
Lauréline Guérin
e4603ed856
api: rename show_events in bookable_events ( #56615 )
2021-10-04 17:47:37 +02:00
Emmanuel Cazenave
3b9c1370c9
agendas: use custom urls in bookings ( #56820 )
2021-09-27 10:23:48 +02:00
Nicolas Roche
9bf248a095
api: add add-event endpoint ( #47337 )
2021-09-24 09:35:17 +02:00
Benjamin Dauvergne
af17a62015
api: reduce search window for open slots in fillslot ( #56896 )
2021-09-13 22:08:54 +02:00
Valentin Deniaud
246e14e7e4
misc: add event duration in export and api ( #56786 )
2021-09-08 12:37:59 +02:00
Lauréline Guérin
0b53360c0c
agendas: trigger full and places event fields ( #54747 )
2021-08-30 10:39:07 +02:00
Valentin Deniaud
5041ef37ce
api: specify which event is not bookable ( #55996 )
2021-08-24 15:18:07 +02:00
Frédéric Péters
694a51beef
trivial: add missing interpolation to string ( #56300 )
2021-08-21 14:51:36 +02:00
Valentin Deniaud
f6de72a5a9
api: disable event only if excluded_user_external_id is specified ( #55369 )
2021-08-17 16:13:36 +02:00
Valentin Deniaud
67f1f68fd6
api: add endpoint to book multiple events accross several agendas ( #56104 )
2021-08-17 15:51:36 +02:00
Valentin Deniaud
0cf2c62199
api: factorize getting objects from list of slugs ( #56104 )
2021-08-17 15:50:04 +02:00
Valentin Deniaud
fa34281ade
api: prefetch events in multiple agendas datetimes ( #55370 )
2021-08-17 15:47:08 +02:00
Valentin Deniaud
e86d0cb11f
api: add datetimes for multiple events agendas ( #55370 )
2021-08-17 15:47:08 +02:00
Valentin Deniaud
8f127f3606
api: use serializer for event datetimes api ( #56083 )
2021-08-17 15:46:47 +02:00
Valentin Deniaud
95e2618863
api: move serializers to new file ( #56083 )
2021-08-17 15:46:47 +02:00
Lauréline Guérin
402438f4df
api: reduce datetimes querysets ( #56046 )
2021-08-13 08:57:03 +02:00
Valentin Deniaud
89ccbc922a
api: allow empty slots parameter in multiple event booking ( #56000 )
2021-08-05 16:46:03 +02:00
Valentin Deniaud
96b10d052b
api: allow changing recurrence bookings ( #54746 )
2021-08-05 14:42:44 +02:00
Valentin Deniaud
92d209ed11
api: allow changing multiple event bookings ( #55368 )
2021-08-05 14:10:36 +02:00
Valentin Deniaud
a26183e5fa
api: add endpoint to book multiple events independently ( #55367 )
2021-08-05 11:53:26 +02:00
Valentin Deniaud
3936f9450a
api: move event selection code to function ( #55367 )
2021-08-02 16:52:43 +02:00
Valentin Deniaud
63c7dfecc1
api: rely on DRF validation ( #55367 )
2021-08-02 16:52:43 +02:00
Valentin Deniaud
2d5a9bfd73
api: fix waiting list condition in RecurringFillslots ( #55905 )
2021-08-02 09:48:48 +02:00
Valentin Deniaud
7f4c9d96df
misc: remove django 1.11 compatibility code ( #55895 )
2021-07-29 14:44:20 +02:00
Lauréline Guérin
1ec4ad9376
misc: apply pyupgrade ( #55867 )
2021-07-27 15:19:00 +02:00
Valentin Deniaud
c0e2726e67
api: filter statistics by extra_data ( #55424 )
2021-07-19 12:30:37 +02:00
Lauréline Guérin
f9cd760301
misc: fix dangerous-default-value pylint error ( #55505 )
2021-07-15 15:02:15 +02:00
Lauréline Guérin
b6952a21c5
misc: fix undefined-loop-variable pylint error ( #55505 )
2021-07-15 15:02:15 +02:00
Lauréline Guérin
25da6b2a74
misc: fix no-else-raise pylint error ( #55505 )
2021-07-15 15:02:14 +02:00
Lauréline Guérin
4f56ef4167
misc: fix super-with-arguments pylint error ( #55505 )
2021-07-15 15:02:13 +02:00
Lauréline Guérin
9fd102df87
misc: fix unused-variable pylint error ( #55505 )
2021-07-15 15:02:13 +02:00
Valentin Deniaud
fc79c17012
api: add agenda filter in booking statistics ( #55267 )
2021-07-15 10:24:23 +02:00
Lauréline Guérin
90c4cfd084
api: accept events in GET params for fillslot ( #55404 )
2021-07-09 11:00:56 +02:00
Lauréline Guérin
5c945da024
api: rename slots views ( #55208 )
2021-07-09 10:34:54 +02:00
Lauréline Guérin
e8c683fb91
agenda: option to disable check update when event is checked ( #53933 )
2021-07-09 08:54:25 +02:00
Frédéric Péters
8104efa1e2
api: include date attribute in /datetimes API calls ( #55366 )
2021-07-05 14:27:00 +02:00
Lauréline Guérin
9ac90f720a
api: return events param in fillslot_url ( #55316 )
2021-07-02 09:13:52 +02:00
Lauréline Guérin
daf613525d
api: don't escape result of event_display_template ( #55220 )
2021-07-01 18:47:38 +02:00
Valentin Deniaud
63148a30dd
api: fix string for localization
2021-07-01 15:33:06 +02:00
Valentin Deniaud
4fb6581e8d
api: allow booking all recurrences of recurring events ( #54332 )
2021-07-01 10:11:20 +02:00
Valentin Deniaud
91ee8ca870
api: group bookings by event start datetime in statistics ( #55266 )
2021-07-01 10:02:58 +02:00
Valentin Deniaud
38048a93f7
api: change label for booking without presence info in statistics ( #55277 )
2021-06-30 17:00:10 +02:00
Valentin Deniaud
2921ed52a3
api: prevent crash on invalid event_display_template ( #54388 )
2021-06-28 15:26:45 +02:00
Lauréline Guérin
7d7f52487c
api: endpoint to check an event ( #53932 )
2021-06-28 09:17:21 +02:00
Lauréline Guérin
3ba5dac136
manager: show when an event is checked ( #53707 )
2021-06-28 08:35:59 +02:00
Lauréline Guérin
dd424bc388
api: user_external_id for datetimes ( #55002 )
2021-06-25 18:03:20 +02:00
Lauréline Guérin
3999cf7a22
api: fillslot & past events ( #48397 )
2021-06-25 15:46:29 +02:00
Lauréline Guérin
302c2c0285
api: datetimes & past events ( #48397 )
2021-06-25 15:46:28 +02:00
Frédéric Péters
4d9c0330ad
api: prefetch exception desk when getting available slots ( #54994 )
2021-06-19 07:54:31 +02:00
Benjamin Dauvergne
15e1c48ea2
Revert "api: add lock_code parameter to fillslot and datetimes" ( #54956 )
...
This reverts commit 2f9bf16a57
.
2021-06-18 07:45:12 +02:00
Thomas NOËL
f3bb5e44ac
api: add label to event details ( #54932 )
2021-06-17 10:27:54 +02:00
Valentin Deniaud
6372afc4a5
manager: add more granular control over event recurrence ( #50560 )
2021-06-11 18:29:03 +02:00
Benjamin Dauvergne
2f9bf16a57
api: add lock_code parameter to fillslot and datetimes ( #17685 )
2021-06-11 07:43:30 +02:00
Valentin Deniaud
4e89a1d568
agendas: really check publication date for recurring events ( #54430 )
2021-06-01 10:07:47 +02:00
Valentin Deniaud
045ae53bf1
api: add bookings count statistics ( #52846 )
2021-05-31 10:10:54 +02:00
Valentin Deniaud
8da8fd1396
api: raise error if known body parameter is in query ( #54216 )
2021-05-31 10:06:33 +02:00
Valentin Deniaud
bf4b986591
agendas: allow custom event api text ( #53661 )
2021-05-20 09:50:57 +02:00
Lauréline Guérin
71850e67c6
api: booking, user_name and first/last_name ( #53172 )
2021-05-18 16:20:50 +02:00
Lauréline Guérin
7eea2968b7
api: add absence reasons to agenda details ( #53147 )
2021-05-17 11:42:59 +02:00
Lauréline Guérin
4fe0a35cd2
api: check absence reason exists ( #53147 )
2021-05-17 10:30:07 +02:00
Valentin Deniaud
6aa49605cc
api: prefetch exceptions for recurring events ( #50561 )
2021-04-28 17:27:46 +02:00
Benjamin Dauvergne
6c9518f4d6
api: change date filtering of already booked meetings ( #53313 )
...
For a researsing slots in an interval of
[min, max]
overlapping events should be considered if
event.start_datetime \in [min - agenda.max_duration_meeting_types, max]
as the implicit event.end_datetime cannot be superior to:
event.start_datetime + agenda.max_meeting_types_duration
and the formal condition for an overlapping event is :
event.start_datetime < max && event.end_datetime > min
2021-04-23 10:31:55 +02:00
Benjamin Dauvergne
0bb2ca3676
api: fix typo in gel_all_slots() ( #53313 )
2021-04-23 10:31:55 +02:00
Lauréline Guérin
aa175d1306
api: add resources api ( #53272 )
2021-04-23 09:44:45 +02:00
Lauréline Guérin
e9c9655064
api: fix event meta for ocurrences ( #53209 )
2021-04-23 09:09:42 +02:00
Lauréline Guérin
6554c0a42c
api: fix date_start & meetings/datetimes - again ( #53207 )
2021-04-16 15:33:23 +02:00
Lauréline Guérin
34224c56aa
misc: apply isort ( #52856 )
2021-04-16 10:32:59 +02:00
Lauréline Guérin
bf10ddf860
api: hide disabled slots if requested ( #51160 )
2021-03-26 14:23:12 +01:00
Lauréline Guérin
07f2af930b
api: use date or datetimes for start/end param in datetimes ( #51986 )
2021-03-26 10:13:48 +01:00
Lauréline Guérin
bbd93a1bec
api: fix date parsing ( #52172 )
2021-03-23 13:31:29 +01:00
Benjamin Dauvergne
918d2c2339
agenda: factorize code to compute min/max_booking_time ( #52227 )
2021-03-19 14:51:46 +01:00
Lauréline Guérin
e9f180d5fe
api: fix datetimes meta if first slot is disabled for user ( #52051 )
2021-03-16 11:19:19 +01:00
Lauréline Guérin
5b7c92ea5d
api: exclude slots already booked by user in fillslot ( #51432 )
2021-03-05 08:38:54 +01:00
Lauréline Guérin
6d57af612e
api: exclude slots already booked by user - meetings ( #51341 )
2021-03-01 10:48:28 +01:00
Lauréline Guérin
e15439bd3c
api: exclude slots already booked by user - events ( #51341 )
2021-03-01 10:48:26 +01:00
Lauréline Guérin
d23eafcfc6
api: list bookings of somebody ( #51187 )
2021-03-01 10:07:10 +01:00
Valentin Deniaud
929f70d2ac
api: allow passing minimum places count in /datetimes/ ( #51172 )
2021-03-01 09:55:31 +01:00
Valentin Deniaud
9954337197
api: include anonymize url in fillslots response ( #51366 )
2021-03-01 09:42:04 +01:00
Lauréline Guérin
5e94ddeff3
api: APIError handling ( #51181 )
2021-02-26 08:24:26 +01:00
Lauréline Guérin
64a8a4b7f1
api: patch booking extra_data ( #51340 )
2021-02-23 09:00:23 +01:00
Valentin Deniaud
a699e144b4
add support for recurring events ( #41663 )
2021-02-17 15:49:57 +01:00
Valentin Deniaud
a392213dce
agendas: make returning a queryset in get_open_events useless ( #41663 )
2021-02-17 15:49:57 +01:00
Valentin Deniaud
24296826b1
api: add first bookable slot info in /datetimes/ meta ( #51165 )
2021-02-16 11:21:16 +01:00
Lauréline Guérin
f32f64ea54
api: category filter ( #49355 )
2021-02-12 09:55:09 +01:00
Valentin Deniaud
7342e8d24e
api: add anonymize booking endpoint ( #49093 )
2021-02-01 16:33:08 +01:00
Valentin Deniaud
55841ecfcd
agendas: share booking colors between agendas ( #50379 )
2021-01-26 20:55:12 +01:00
Nicolas Roche
446ca922be
api: add a meta dict on datetimes endpoints ( #50278 )
2021-01-22 07:19:59 +01:00
Lauréline Guérin
1ec10c4e46
api: store the reason of an absence ( #49179 )
2021-01-22 07:19:44 +01:00
Lauréline Guérin
d0bc3146d6
api: mark user as present or not ( #38678 )
2021-01-19 19:10:43 +01:00
Frédéric Péters
eeda0c3f2e
apply black 20.8b1 formatting
2020-12-29 10:42:33 +01:00
Valentin Deniaud
8409186543
manager: differentiate bookings with colors ( #39794 )
2020-12-22 17:29:11 +01:00
Valentin Deniaud
221a4051f9
api: match StringOrListField max length with model definition ( #48586 )
2020-12-17 14:39:02 +01:00
Lauréline Guérin
2ec664efd3
api: complete slot_status endpoint result ( #48877 )
2020-12-14 13:41:48 +01:00
Valentin Deniaud
a51a036c13
api: use current timezone in get_max_datetime ( #48464 )
2020-11-30 10:37:36 +01:00
Emmanuel Cazenave
6d0e8a57ad
agendas: add date filter params on datetimes api ( #48078 )
2020-11-17 16:31:21 +01:00
Lauréline Guérin
14baf0d93e
api: add places in datetimes endpoint result ( #48431 )
2020-11-17 15:07:00 +01:00
Lauréline Guérin
241d65612b
api: proper error if datetime part is wrong in a slot ( #48132 )
2020-11-13 09:17:28 +01:00
Emmanuel Cazenave
f0b054a756
agendas: make maximal_booking_delay an excluded upper bound ( #48185 )
2020-11-10 16:12:42 +01:00
Emmanuel Cazenave
3617c3ff05
api: order desks by identifier ( #48065 )
2020-10-27 15:47:36 +01:00
Lauréline Guérin
d98707aeae
api: ignore desks from other agendas in datetimes ( #47645 )
2020-10-15 14:47:43 +02:00
Emmanuel Cazenave
7320dcfbe6
add support for unavailability calendars ( #46555 )
2020-10-12 10:20:33 +02:00
Lauréline Guérin
2e091220f5
api: use APIError in fillslots view ( #43077 )
2020-10-01 16:30:40 +02:00
Lauréline Guérin
eb8026c790
api: return only agenda with open events ( #44294 )
2020-09-28 13:56:55 +02:00
Lauréline Guérin
8ca72fd705
api: suspend, accept and resize endpoints only for events ( #46027 )
2020-09-28 11:26:28 +02:00
Lauréline Guérin
4ed8c9ce00
api: always return urls with slugs ( #46758 )
2020-09-28 11:02:33 +02:00
Lauréline Guérin
1995cc18e4
api: better pk & slug support in status url ( #46772 )
2020-09-28 10:39:43 +02:00
Valentin Deniaud
271cea7b44
agendas: add new attributes to Booking ( #45293 )
2020-09-16 10:05:08 +02:00
Lauréline Guérin
2537992d19
api: status view, get Event by slug and agenda ( #45520 )
2020-09-15 17:20:33 +02:00
Lauréline Guérin
f380c419db
api: always return accept and suspend urls ( #41773 )
2020-09-14 17:56:30 +02:00
Emmanuel Cazenave
38df08daf0
api: use a for loop instead of itertools.group_by ( #46145 )
2020-09-03 10:22:00 +02:00
Valentin Deniaud
bde66b58e0
manager: add event cancellation ( #44157 )
2020-08-31 10:04:44 +02:00
Valentin Deniaud
1864d7466d
manager: add booking cancellation ( #44159 )
2020-08-03 12:56:18 +02:00
Lauréline Guérin
e9fca76b10
manager: add opened events view for event agenda ( #44457 )
2020-07-24 10:06:29 +02:00
Lauréline Guérin
8adb86e2eb
misc: remove dead code
2020-07-24 10:06:29 +02:00
Lauréline Guérin
2ba381fa34
api: fix resize endpoint ( #44739 )
2020-07-21 14:14:59 +02:00
Emmanuel Cazenave
4dc5481456
api: support overlapping events ( #44644 )
2020-07-02 06:22:31 +02:00
Lauréline Guérin
ff939fc570
api: return slot-bookings url in datetimes api ( #44374 )
2020-06-26 16:49:22 +02:00
Lauréline Guérin
549e64e4bb
agenda: generate event slug if not provided ( #44375 )
2020-06-26 14:30:20 +02:00
Valentin Deniaud
49bca6ecc3
api: get meeting by slug ( #43526 )
2020-06-26 10:53:07 +02:00
Emmanuel Cazenave
ff19227fc9
agendas: mark MeetingType for deletion ( #44132 )
2020-06-19 08:40:48 +02:00
Lauréline Guérin
82d1a53b24
api: don't list cancelled bookings in slot_bookings api ( #44160 )
2020-06-18 09:50:14 +02:00
Lauréline Guérin
c77edebd62
api: return opened_events_available in events agenda detail payload
...
(#43937 )
2020-06-15 11:00:41 +02:00