Resolve "Free/Busy overview" #3442

Merged
hansegucker merged 177 commits from 1231-free-busy-overview into master 2025-05-06 09:28:35 +02:00
Member

Closes #1231

image.png

Closes #1231 ![image.png](/uploads/e6f59d593f6b745c956a44b1a2f06c14/image.png)
Author
Member

assigned to @yuha

assigned to @yuha
Author
Member

added 130 commits

  • a885741c...3594597b - 120 earlier commits
  • f85ac791 - Layout calendar-event's create-speed-dial
  • d808aaca - Update selectedEvent by watching initialSelectedEvent
  • ecc0366f - Remove redundant emit of save
  • 8cca771c - Remove unused value prop from calendar-event-dialog
  • 01e27754 - Simplify calendar-event-dialog's watch-section
  • fc211027 - Move free/busy route
  • 5fa414ef - Rename migrations in order to resolve conflict by merge
  • 9cfe9981 - Revert unnecessary change of default editItem value
  • c5b5086f - Add explaining comment
  • a7a40a57 - Merge branch '928-add-frontend-for-free-busy-model' into 1231-free-busy-overview

Compare with previous version

added 130 commits <ul><li>a885741c...3594597b - 120 earlier commits</li><li>f85ac791 - Layout calendar-event&#39;s create-speed-dial</li><li>d808aaca - Update selectedEvent by watching initialSelectedEvent</li><li>ecc0366f - Remove redundant emit of save</li><li>8cca771c - Remove unused value prop from calendar-event-dialog</li><li>01e27754 - Simplify calendar-event-dialog&#39;s watch-section</li><li>fc211027 - Move free/busy route</li><li>5fa414ef - Rename migrations in order to resolve conflict by merge</li><li>9cfe9981 - Revert unnecessary change of default editItem value</li><li>c5b5086f - Add explaining comment</li><li>a7a40a57 - Merge branch &#39;928-add-frontend-for-free-busy-model&#39; into 1231-free-busy-overview</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60072&start_sha=a885741cec6b146961c939bbd716023f68182617)
Author
Member

by @hansegucker : This doesn't like a consistent structure one class method for busy stuff and two object methods for availability stuff.

by @hansegucker : This doesn't like a consistent structure one **class** method for busy stuff and two **object** methods for availability stuff.
Author
Member

by @hansegucker : Wrong typing

by @hansegucker : Wrong typing
Author
Member

by @hansegucker : Looks superfluous.

by @hansegucker : Looks superfluous.
Author
Member

by @hansegucker : Looks superfluous.

by @hansegucker : Looks superfluous.
Author
Member
            for person in Person.objects.filter(id__in=persons):
                if not request.user.has_perm("core.view_person_free_busy_feed_rule", person):
                    raise PermissionDenied()
                for feed in CalendarEventMixin.valid_feeds:
                    feed_events = feed.get_busy_objects(request=request, obj=person)
                    if feed_events:
                        events.update(feed_events)
            for group in Group.objects.filter(id__in=groups):
                if not request.user.has_perm("core.view_group_free_busy_feed_rule", group):
                    raise PermissionDenied()
                for feed in CalendarEventMixin.valid_feeds:
                    feed_events = feed.get_busy_objects(request=request, obj=group)
                    if feed_events:
                        events.update(feed_events)
```suggestion:-15+0 for person in Person.objects.filter(id__in=persons): if not request.user.has_perm("core.view_person_free_busy_feed_rule", person): raise PermissionDenied() for feed in CalendarEventMixin.valid_feeds: feed_events = feed.get_busy_objects(request=request, obj=person) if feed_events: events.update(feed_events) for group in Group.objects.filter(id__in=groups): if not request.user.has_perm("core.view_group_free_busy_feed_rule", group): raise PermissionDenied() for feed in CalendarEventMixin.valid_feeds: feed_events = feed.get_busy_objects(request=request, obj=group) if feed_events: events.update(feed_events) ```
Author
Member

by @hansegucker : Would be probably better to init with empty defaults, not every feed has to be useful for availability. Also fix typing. Also same with busy.

by @hansegucker : Would be probably better to init with empty defaults, not every feed has to be useful for availability. Also fix typing. Also same with busy.
Author
Member

This now includes all Free/Busy aggregation/overview related changes previously contained in https://edugit.org/AlekSIS/official/AlekSIS-Core/-/merge_requests/1330

This now includes all Free/Busy aggregation/overview related changes previously contained in https://edugit.org/AlekSIS/official/AlekSIS-Core/-/merge_requests/1330
Author
Member

added 13 commits

  • a7a40a57...09589e62 - 3 earlier commits
  • 9384fe77 - Remove unused console log
  • 1e0d98ca - Fix edit mode in availability event list
  • d4f82cfd - Remove unused slots
  • cfe928be - Fix handling of full day events
  • 10cb76f8 - Fix initial selected event type handling
  • c514533f - Make title field of availability event not required
  • 60b9982b - Add changelog
  • 30d3fd34 - Fix handling of recurring availability events
  • e59587b2 - Merge branch '928-add-frontend-for-free-busy-model' into 1231-free-busy-overview
  • 4fa79991 - Revert "Remove code related to aggregated free/busy feed"

Compare with previous version

added 13 commits <ul><li>a7a40a57...09589e62 - 3 earlier commits</li><li>9384fe77 - Remove unused console log</li><li>1e0d98ca - Fix edit mode in availability event list</li><li>d4f82cfd - Remove unused slots</li><li>cfe928be - Fix handling of full day events</li><li>10cb76f8 - Fix initial selected event type handling</li><li>c514533f - Make title field of availability event not required</li><li>60b9982b - Add changelog</li><li>30d3fd34 - Fix handling of recurring availability events</li><li>e59587b2 - Merge branch &#39;928-add-frontend-for-free-busy-model&#39; into 1231-free-busy-overview</li><li>4fa79991 - Revert &quot;Remove code related to aggregated free/busy feed&quot;</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60142&start_sha=a7a40a5706bf1144802518f5092d5497faf89a35)
Author
Member

added 1 commit

Compare with previous version

added 1 commit <ul><li>6b5cf2c0 - Rename route url and title</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60144&start_sha=4fa7999119173afb540ecc5d57215e5509c4590b)
Author
Member

added 1 commit

Compare with previous version

added 1 commit <ul><li>70125265 - Adapt to calendar changes</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60146&start_sha=6b5cf2c043371d91b6f5c0055ce8f69bfcd46b45)
Author
Member

added 1 commit

  • e6056f9f - Apply 1 suggestion(s) to 1 file(s)

Compare with previous version

added 1 commit <ul><li>e6056f9f - Apply 1 suggestion(s) to 1 file(s)</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60148&start_sha=70125265ba43d557f204388cac4617cf83b0cf01)
Author
Member

changed this line in version 6 of the diff

changed this line in [version 6 of the diff](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60150&start_sha=e6056f9fec125f04a4e96288a0e8d66c1ce290cb#2e44ad1f61249cf0440bea20d23bd07cc7f3a61a_2034_2026)
Author
Member

changed this line in version 6 of the diff

changed this line in [version 6 of the diff](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60150&start_sha=e6056f9fec125f04a4e96288a0e8d66c1ce290cb#2e44ad1f61249cf0440bea20d23bd07cc7f3a61a_2030_2026)
Author
Member

added 1 commit

Compare with previous version

added 1 commit <ul><li>adcf17df - Remove unused classmethods</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60150&start_sha=e6056f9fec125f04a4e96288a0e8d66c1ce290cb)
Author
Member

added 1 commit

  • 0cbcd7c5 - Fix typing and default results of availability persons/groups methods

Compare with previous version

added 1 commit <ul><li>0cbcd7c5 - Fix typing and default results of availability persons/groups methods</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60152&start_sha=adcf17df2b587f3a432f48200676a1edb995d9e6)
Author
Member

changed this line in version 8 of the diff

changed this line in [version 8 of the diff](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60157&start_sha=0cbcd7c545ef960dbde3e07438d87c47fb77297b#2e44ad1f61249cf0440bea20d23bd07cc7f3a61a_2510_2512)
Author
Member

added 2 commits

  • e584cb76 - Fix typing and default results of availability persons/groups methods
  • f155916c - WIP: Refactor F/B

Compare with previous version

added 2 commits <ul><li>e584cb76 - Fix typing and default results of availability persons/groups methods</li><li>f155916c - WIP: Refactor F/B</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60157&start_sha=0cbcd7c545ef960dbde3e07438d87c47fb77297b)
Author
Member

added 1 commit

  • 97a268d0 - WIP: Refactor F/B

Compare with previous version

added 1 commit <ul><li>97a268d0 - WIP: Refactor F/B</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60163&start_sha=f155916cffa55d4691783bcd5a604fad38df2811)
Author
Member

added 1 commit

  • a659b450 - WIP: Refactor F/B

Compare with previous version

added 1 commit <ul><li>a659b450 - WIP: Refactor F/B</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60330&start_sha=97a268d0f96bcab04bccc0fa2a38103bcd164f5d)
Author
Member

changed this line in version 11 of the diff

changed this line in [version 11 of the diff](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60369&start_sha=a659b450db38c8a748737738b94d548de5373f1e#2e44ad1f61249cf0440bea20d23bd07cc7f3a61a_2228_2237)
Author
Member

added 1 commit

  • a3ce0b1c - WIP: Refactor F/B

Compare with previous version

added 1 commit <ul><li>a3ce0b1c - WIP: Refactor F/B</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60369&start_sha=a659b450db38c8a748737738b94d548de5373f1e)
Author
Member

resolved all threads

resolved all threads
Author
Member

marked this merge request as ready

marked this merge request as **ready**
Owner

Please add a screenshot and fix lint

Please add a screenshot and fix lint
Author
Member

added 1 commit

Compare with previous version

added 1 commit <ul><li>1f1f6a3c - Refactor F/B</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60676&start_sha=a3ce0b1ca6211c608ecd041d088a289d405c680f)
Author
Member

added 22 commits

  • 1f1f6a3c...39061bcd - 12 earlier commits
  • 9c03eee2 - Simplify availability events get_objects logic
  • b9d4957d - Change type checking
  • 890079ac - Refactor filters
  • ee6d8bdd - Fix typo
  • 78966589 - Add docstrings
  • 9aa94da0 - Use BadRequest
  • 35a974b5 - Reformat
  • 5ccb5d9a - Use more efficient filter mechanism
  • 29b380b8 - Merge branch '928-add-frontend-for-free-busy-model' into 1231-free-busy-overview
  • ed2ea7fd - Revert "Remove leftovers from changes related to f/b overview/aggregation"

Compare with previous version

added 22 commits <ul><li>1f1f6a3c...39061bcd - 12 earlier commits</li><li>9c03eee2 - Simplify availability events get_objects logic</li><li>b9d4957d - Change type checking</li><li>890079ac - Refactor filters</li><li>ee6d8bdd - Fix typo</li><li>78966589 - Add docstrings</li><li>9aa94da0 - Use BadRequest</li><li>35a974b5 - Reformat</li><li>5ccb5d9a - Use more efficient filter mechanism</li><li>29b380b8 - Merge branch &#39;928-add-frontend-for-free-busy-model&#39; into 1231-free-busy-overview</li><li>ed2ea7fd - Revert &quot;Remove leftovers from changes related to f/b overview/aggregation&quot;</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60678&start_sha=1f1f6a3c03ea04cc1337c6520b87ef516dfa22d4)
Author
Member

added 2 commits

  • 50843940 - Remove duplicated FreeBusy class
  • cc0b387f - Make availability event filters more efficient

Compare with previous version

added 2 commits <ul><li>50843940 - Remove duplicated FreeBusy class</li><li>cc0b387f - Make availability event filters more efficient</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60679&start_sha=ed2ea7fdd788c358602f2978be4c9213b9183837)
Author
Member

resolved all threads

resolved all threads
Author
Member

changed the description

changed the description
Author
Member

added 2 commits

Compare with previous version

added 2 commits <ul><li>e61e44fe - Reformat</li><li>e5f9e2f2 - Add changelog</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60681&start_sha=cc0b387fe130fdb2155efa7b5a009d297152413b)
Author
Member

added 1 commit

  • ad828e56 - Fix availability event get_availabilities mechanism

Compare with previous version

added 1 commit <ul><li>ad828e56 - Fix availability event get_availabilities mechanism</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60683&start_sha=e5f9e2f2cb22ffd2dced671f110f6defb988e2eb)
Author
Member

added 1 commit

  • aa8362fc - Disable start-with-first-time on f/b overview

Compare with previous version

added 1 commit <ul><li>aa8362fc - Disable start-with-first-time on f/b overview</li></ul> [Compare with previous version](/AlekSIS/official/AlekSIS-Core/-/merge_requests/1797/diffs?diff_id=60685&start_sha=ad828e5632c1757c0428a6db2a848f099f133bbb)
Owner

mentioned in commit 87f6fe0637

mentioned in commit 87f6fe06374872903e2eef95412c611da45c1551
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aleksis/AlekSIS-Core!3442
No description provided.