{% extends 'base.html' %} {% block title %}Site customization{% endblock %} {% block content %}

Customizations

You can customize portions of {{ site_title }} to suit your organization's needs.

Email addresses

{% csrf_token %}
User feedback from the Feedback page is sent to this email address.
Safety suggestions and observations are sent to this email address.
Alerts about user activities that could constitute 'abuse' are sent to this email address. Examples include missed reservations and unauthorized tool access.
The main point of contact for users to obtain {{ facility_name }} information. Automated emails sent from {{ site_title }} are typically 'from' this address.

Application settings

{% csrf_token %}


The name of the facility to use in all templates.
The name of the site to use in all templates/headers.
The django template used for rendering project selection when enabling tools and making reservations. The context variable project is provided.

Calendar settings

{% csrf_token %}
The time the day starts in the calendar view (24h format).
days
The maximum number of days a recurring scheduled outage can be set in advance.
The following settings allow to customize the date format in the different calendar views. See FullCalendar documentation for more information on the syntax.
The column date format for the day view.
The column date format for the week view.
The column date format for the month view.


Status dashboard settings

{% csrf_token %}
Area occupancy

Staff status


The date format to use in the status dashboard staff tab. See Django date formats for details.

Interlock settings

{% csrf_token %}
The message to display when a tool interlock command fails.
The message to display when a door interlock command fails.

User requests settings

{% csrf_token %}
The title for the buddy request tab of the user requests page.
The description/instructions to display on the buddy board page.
The title for the access request tab of the user requests page.
The description/instructions to display on the access requests page.
users
The minimum number of users (creator included) needed for an access request to be valid.
requests
The maximum number of requests to display in each section (approved, denied, expired). Leave blank for all.
The email(s) to notify for weekend access. A comma-separated list can be used.
at
:00 hrs
The cutoff day and hour after which an email is sent if there is no approved weekend access for the week (in 24hrs format). If left blank the "no weekend access" will NOT be sent.

Login banner

The login banner is an informational message displayed underneath the username and password text boxes on the login page. You can customize this to convey rules for {{ site_title }} users at your organization.

{% include 'customizations/customizations_upload.html' with element=login_banner name='login banner' %}

Introduction for "Safety suggestions and observations" page

What would you like everyone to know about safety policy and procedures? This introduction will be presented at the top of the safety page. You can use HTML to modify the look of the text.

{% include 'customizations/customizations_upload.html' with element=safety_introduction name='safety introduction' %}

"{{ facility_name }} rules tutorial" page

The facility rules tutorial is an opportunity to provide new users with a tutorial to your lab operating procedures and rules.
The HTML you upload is rendered with the Django template engine. You can use JavaScript (including jQuery) within the page.

  • The form should include {% templatetag openblock %} csrf_token {% templatetag closeblock %} inside the form tags.
  • Completion of the HTML form should be POSTed to "{% templatetag openblock %} url 'facility_rules' {% templatetag closeblock %}" (exactly as is).

Upon completion, the user's "training required" attribute is set to false, and they are able to make reservations and control tools.

{% include 'customizations/customizations_upload.html' with element=facility_rules_tutorial name='facility rules tutorial' hide_content=True %}

"{{ facility_name }} failed login" message

This message is displayed after authentication when either no matching username could be found in the database or if that user has been deactivated.
The HTML you upload is rendered with the Django template engine. You can use JavaScript (including jQuery) within the message.

{% include 'customizations/customizations_upload.html' with element=authorization_failed name='authorization failed' button_name='Upload failed login page' %}

"Jumbotron" watermark

This image is displayed as background for the Jumbotron. It is set as a full background screen, so your image needs to take that into account.
The image you upload should be a valid image file (recommended size is 1500x1000).

{% include 'customizations/customizations_upload.html' with element=jumbotron_watermark name='jumbotron watermark' extension='png' %}

Access request notification email

This email is sent to the person who created the request when an access request is created or updated. The other users present on the request as well as the facility managers are cc'ed.

The following context variables are provided when the email is rendered:

  • template_color - the color: green if approved, red if denied, blue otherwise
  • access_request - the user's access request that was created or updated
  • status - the status of the request: received, updated, approved or denied
  • access_requests_url - the URL to the access requests page
{% include 'customizations/customizations_upload.html' with element=access_request_notification_email name='access request notification email' %}

Cancellation email

This email is sent to a user when a staff member cancels the user's reservation. The following context variables are provided when the email is rendered:

  • reservation - the user's reservation that was cancelled
  • staff_member - the user object of the staff member who cancelled the reservation
  • reason - the reason the staff member provided for cancelling the reservation
{% include 'customizations/customizations_upload.html' with element=cancellation_email name='cancellation email' %}

Counter threshold reached email

This email is sent to the counter's warning email when the value of an counter reaches the warning threshold. The following context variables are provided when the email is rendered:

  • counter - the counter which value reached the warning threshold
{% include 'customizations/customizations_upload.html' with element=counter_threshold_reached_email name='counter threshold reached email' %}

Feedback email

This email is sent when a user submits feedback. The feedback email address (at the top of this page) must also be configured for users to be able to do this. The following context variables are provided when the email is rendered:

  • contents - the user's feedback
  • user - the user object of the user who submitted the feedback
{% include 'customizations/customizations_upload.html' with element=feedback_email name='feedback email' %}

Generic email

A generic email that can be sent to qualified tool users, members of an account, or members of a project. Send these using the email broadcast page. The following context variables are provided when the email is rendered:

  • title - the user specified title of the email
  • greeting - a greeting to the recipients of the email
  • contents - the body of the email
  • template_color - the color to emphasize
{% include 'customizations/customizations_upload.html' with element=generic_email name='generic email' %}

Missed reservation email

This email is sent when a user misses a reservation. If a tool is not used for an amount of time after the user's reservation has begun, it is marked as missed and removed from the calendar. The following context variables are provided when the email is rendered:

  • reservation - the reservation that the user missed
{% include 'customizations/customizations_upload.html' with element=missed_reservation_email name='missed reservation email' %}

Facility rules tutorial email

This email is sent when a user completes the facility rules tutorial. It can contain a free-response answer (quiz question). If you do not upload a template then no notification email is sent to staff when a user completes the training tutorial. The following context variables are provided when the email is rendered:

  • user - the user's model instance
  • making_reservations_rule_summary - a free-response answer provided by the user. Normally, this is provided by the user to summarize their understanding of the {{ facility_name }} rules and proceedures.
{% include 'customizations/customizations_upload.html' with element=facility_rules_tutorial_email name='facility rules tutorial email' %}

New task email

This email is sent when a new maintenance task is created for a tool. The following context variables are provided when the email is rendered:

  • user - the user who created the task
  • task - the task information
  • tool - the tool that the task is associated with
  • tool_control_absolute_url - the URL of the tool control page for the tool
  • template_color - an HTML color code indicating the severity of the problem. Orange for warning, red for shutdown.
{% include 'customizations/customizations_upload.html' with element=new_task_email name='new task email' %}

Out of time reservation email

This email is sent when a user is still logged in an area but his reservation expired. A grace period can be set when configuring the area. The following context variables are provided when the email is rendered:

  • reservation - the reservation that the user is out of time on
{% include 'customizations/customizations_upload.html' with element=out_of_time_reservation_email name='out of time reservation email' %}

Reorder supplies reminder email

This email is sent to the item's reminder email when the quantity of an item falls below the reminder threshold and should be reordered. The following context variables are provided when the email is rendered:

  • item - the item which quantity fell below the reminder threshold
{% include 'customizations/customizations_upload.html' with element=reorder_supplies_reminder_email name='reorder supplies reminder email' %}

Reservation ending reminder email

This email is sent to a user that is logged in an area 30 and 15 minutes before their area reservation ends. The following context variables are provided when the email is rendered:

  • reservation - the user's reservation ending
{% include 'customizations/customizations_upload.html' with element=reservation_ending_reminder_email name='reservation ending reminder email' %}

Reservation reminder email

This email is sent to a user two hours before their tool/area reservation begins. The reservation warning email must also exist for this email to be sent. The following context variables are provided when the email is rendered:

  • reservation - the user's upcoming reservation
{% include 'customizations/customizations_upload.html' with element=reservation_reminder_email name='reservation reminder email' %}

Reservation warning email

This email is sent to a user two hours before their tool/area reservation begins and maintenance may interfere with the upcoming reservation. The reservation reminder email must also exist for this email to be sent. The following context variables are provided when the email is rendered:

  • reservation - the user's upcoming reservation
  • fatal_error - boolean value that, when true, indicates that it will be impossible for the user to use the tool/access the area during their reservation (due to maintenance, outages or a missing required dependency)
  • template_color - an HTML color code indicating the severity of the problem. Orange for warning, red for shutdown.
{% include 'customizations/customizations_upload.html' with element=reservation_warning_email name='reservation warning email' %}

Safety issue email

This email is sent when a new maintenance task is created for a tool. The following context variables are provided when the email is rendered:

  • issue - the issue information
  • issue_absolute_url - the URL for the detailed view of the issue
{% include 'customizations/customizations_upload.html' with element=safety_issue_email name='safety issue email' %}

Staff charge reminder email

This email is periodically sent to remind staff that they are charging a user for staff time. The following context variables are provided when the email is rendered:

  • staff_charge - the staff charge that is in progress
{% include 'customizations/customizations_upload.html' with element=staff_charge_reminder_email name='staff charge reminder email' %}

Task status notification email

This email is sent when a tool task has be updated and set to a particular state. The following context variables are provided when the email is rendered:

  • template_color - the color to emphasize
  • title - a title indicating that the message is a task status notification
  • task - the task that was updated
  • status_message - the current status message for the task
  • notification_message - the notification message that is configured (via the admin site) for the status
  • tool_control_absolute_url - the URL of the tool control page for the task
{% include 'customizations/customizations_upload.html' with element=task_status_notification name='task status notification' %}

Unauthorized tool access email

This email is sent when a user tries to access a tool:

  • without being logged in to the area in which the tool resides (type 'area').
  • without having a current area reservation (type 'reservation')

The following context variables are provided when the email is rendered:

  • operator - the person who attempted to use the tool
  • tool - the tool that the user was denied access to
  • type - the type of abuse ('area' or 'reservation')
{% include 'customizations/customizations_upload.html' with element=unauthorized_tool_access_email name='unauthorized tool access email' %}

Usage reminder email

This email is periodically sent to remind a user that they have a tool enabled. The following context variables are provided when the email is rendered:

  • user - the user who is using a tool or logged in to an area
{% include 'customizations/customizations_upload.html' with element=usage_reminder_email name='usage reminder email' %}

User reservation created email

This email is sent to a user when the user creates a reservation and has opted to receive ics calendar notification in his preferences.
This is optional, the email will still be sent with only the calendar attachment if this is left blank.

The following context variables are provided when the email is rendered:

  • reservation - the user's reservation that was created
{% include 'customizations/customizations_upload.html' with element=reservation_created_user_email name='reservation created user email' %}

User reservation cancelled email

This email is sent to a user when the user cancels his own reservation and has opted to receive ics calendar notification in his preferences.
This is optional, the email will still be sent with only the calendar attachment if this is left blank.

The following context variables are provided when the email is rendered:

  • reservation - the user's reservation that was cancelled
{% include 'customizations/customizations_upload.html' with element=reservation_cancelled_user_email name='reservation cancelled user email' %}

Weekend access notification email

This email is sent to the weekend access notification email(s) as well as the facility manager(s) when:

  • there is at least one approved access request that includes weekend time during the current week. (The email is sent when the first weekend access request is approved).
  • there are no approved access requests that include weekend time during the current week. (the email is sent on the cutoff day at the cutoff hour provided in the user requests settings above).

The following context variables are provided when the email is rendered:

  • weekend_access - true/false, whether there are approved weekend access requests for the current week.
{% include 'customizations/customizations_upload.html' with element=weekend_access_email name='weekend access email' %}

Tool Rates

You can upload a json file to display tool rates. An example of a valid rates file can be found on Github.

It should be a JSON array of elements, and the following key/values are supported for each element:

  • item_id - the id of the tool or supply
  • table_id - the type of rate, one of "inventory_rate" (for supplies), "primetime_eq_hourly_rate" (for tool), "training_individual_hourly_rate" (for individual training rate), "training_group_hourly_rate" (for group training rate)
  • rate_class - the class, one of "full cost" or "cost shared"
  • rate - the rate amount
  • item - the name of the item (optional)
{% include 'customizations/customizations_upload.html' with element=rates name='rates' extension="json" %}
{% endblock %}