I need to create events that can't be seen by other users in detail, but it is important for the other users to see the events on the calendar for planning purposes. To see an example, go here to read about the way Outlook implements this feature and go here to see screenshots of how it looks when it is enabled. The way the calendars look in the second link is exactly what I am trying to accomplish.
There are several key factors:
My limited understanding is as follows:
Any advice would be greatly appreciated.
There are several key factors:
- A field must be added to events, e.g. "private" which is a boolean. The user will check the box in the "private" field to enable the feature.
- The detail of the record should not be visible when the event has been clicked.
- The name of the record should appear as 'Private' in the calendar.
- The record should not appear in lists.
- The permission for seeing private events should be limited to the assigned user and a specific team; e.g. "PrivateEventViewers". Regardless of other permission settings, no one else should be able to view the records other than administrators.
My limited understanding is as follows:
- The Select Builder should be used to intercept a request before it is processed by the ORM.
- If the "private" field is true and the query is for a list view, the record should not be included in the output unless the user has the correct permission.
- If the "private" field is true and the query is for a calendar view, the record should be included in the output and the name should be changed to "Private" unless the user has the correct permission.
- If the "private" field is set to false, the record should be treated as it normally would be.
Any advice would be greatly appreciated.
Comment