Instead of passing querying for the root element again by its ID
which changed in this issue, use the already existing root element
at the beginning of this Mustache JS code. It also makes maintenance
simpler in the future.
* Store the view mode of the calendar in the calendar_information
object.
* Let the month exporter handle the production of context data by
moving 'viewingmonth', 'showviewselector', and 'viewinginblock'
inside it.
* Set the proper calendar view mode in the core_calendar/month_detailed
template.
* Pass the calendar view mode to the
core_calendar_get_calendar_monthly_view WS function.
Done by:
* Designating instance IDs for each month_exporter instances and
assigning these instance IDs in templates.
* Adding the instance ID as an optional parameter for the
core_calendar_renderer::course_filter_selector() to generate
course filters with unique element IDs.
This commit does few things:
1) Removes .path-calendar specificity styles from full view can
work on the Dashboard.
2) The new event button colour has been changed to btn-primary.
3) CSS fix to make the calendar controls inline on small block.
Converted the Calendar URL string to a read-only text input containing
the calendar URL. Pressing the "Copy URL" button will copy the calendar
URL to the clipboard.
Fixed Behat tests as well for the export feature. With the calendar URL
in a text input that clips the whole URL, the `preset_what` URL
parameter cannot be seen by the "I should see" step. Worked around
this by checking that the actual value attribute of the calendar URL
text input contains the preset_what parameter.
Plus: Deprecate the calendarurl string. It will be replaced by a new
lang string that does not contain the actual calendar URL.
Also removed the scope attribute from the mini-calendar table
because according to https://www.w3.org/TR/WCAG20-TECHS/H63.html
it was not needed:
Note 1: For simple tables that have the headers in the first row
or column then it is sufficient to simply use the TH elements without
scope.
* Move 'calendareventtype' property to event_exporter_base and
rename it to 'normalisedeventtype'
* Add a 'normalisedeventtypetext' property to event_exporter_base
for displaying the human-friendly text for the normalised
event type.
* Clean up calendareventtype from other exporter/template locations
* Fix template names.
When clicking on an event in the month view, a modal opens with
information about it. That modal did previously only show the start time
of the event. It now also shows the end (if the event has one).
During the calendar work, we have added the feature of
drag and drop activity event or "action events".
The problem at that time was, action events could not be
editable through the calendar UI, but should be allowed
to drag and drop. So, we couldn't use the return of
calendar_edit_event_allowed() because it can return true
(in case of teachers, that have permission to change the
activity) and the attribute isactionevent was created to
control on the UI if the user is viewing an action event.
So what my patch does is just add the check if we are
viewing an action event, and in this case, it won't display
the cog to edit that event.