Basic Laurentian University branding: colours and logos
authorDan Scott <dscott@laurentian.ca>
Tue, 31 Jul 2012 18:53:48 +0000 (14:53 -0400)
committerDan Scott <dscott@laurentian.ca>
Thu, 31 May 2018 20:21:28 +0000 (16:21 -0400)
Required some wrestling with the default stylesheet but otherwise we
appear to be good.

Phone notifications for holds do not happen. Hide any mention of phone
numbers or widgets for changing phone numbers.

We also do not want to enable users to update their username, password, or
email address.

Override style.css in a separate stylesheet

One more HTTP request, but much simpler tracking of HEAD stylesheet
changes.

Customize login form for Laurentian LDAP login

Set ou_email_host via a hidden form variable.

Provide more rational inline help for OSUL login form.

Link to the OSUL password reset form on login failure

Avoid the "place holds on available" lists hole by ripping out the option
entirely, naturally.

Turn on Google Book Previews

Hide the display of 659 fields in Laurentian records. They appear to
have been used for some sort of identifiers, not genres, and are
meaningless to users.

Remove the "Stay logged in" checkbox until we uncover the actual problem
with logging in via LDAP and persistence.

Enable Google Analytics in Laurentian skin

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Open-ILS/src/templates_laurentian/opac/css/style_overrides.css.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/config.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/css/colors.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/css/fonts.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/footer.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/homesearch.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/login/form.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/topnav_links.tt2 [new file with mode: 0644]
Open-ILS/src/templates_laurentian/opac/parts/topnav_logo.tt2 [new file with mode: 0644]
Open-ILS/web/images/lul_logo.png [new file with mode: 0644]
Open-ILS/web/images/lul_logo_small.png [new file with mode: 0644]

diff --git a/Open-ILS/src/templates_laurentian/opac/css/style_overrides.css.tt2 b/Open-ILS/src/templates_laurentian/opac/css/style_overrides.css.tt2
new file mode 100644 (file)
index 0000000..5ce87e9
--- /dev/null
@@ -0,0 +1,38 @@
+[%- PROCESS "opac/parts/css/colors.tt2" %]
+
+#adv_search_tabs a.acct-tab-on, #acct_tabs a.acct-tab-on, #acct_fines_tabs a.acct-tab-on {
+    color: [% css_colors.primary %];
+}
+#acct_checked_tabs a, #acct_holds_tabs a, #acct_prefs_tabs a {
+    color: [% css_colors.text_invert %];
+}
+
+#acct_checked_tabs div.selected a, #acct_holds_tabs div.selected a, #acct_prefs_tabs div.selected a {
+    color: [% css_colors.text %];
+}
+
+#acct_checked_tabs, #acct_holds_tabs, #acct_prefs_tabs {
+    color: [% css_colors.text %];
+}
+
+#main-content .login_boxes {
+    color: [% css_colors.text %];
+}
+
+.result_metadata {
+    padding-right: inherit;
+}
+
+tr[name=results_pub_tr] strong {
+    display: inherit;
+}
+
+@media only screen and (min-width: 800px) {
+    .result_metadata {
+        width: inherit;
+    }
+
+    div.result_table_utils_cont {
+        float: right;
+    }
+}
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/config.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/config.tt2
new file mode 100644 (file)
index 0000000..93ee231
--- /dev/null
@@ -0,0 +1,268 @@
+[%
+
+##############################################################################
+# This file contains skin-level configuration settings.
+# Many of these settings will probably migrate into actor.org_unit_settings.
+##############################################################################
+
+##############################################################################
+# Holds blocking
+##############################################################################
+# Prevent the "Place hold" link from being displayed if a copy is available.
+# This is not perfect, given the umpteen different types of holds that are
+# possible, but addresses the major use case for libraries that don't want
+# to fetch copies from the shelves.
+ctx.holds_block.enabled = 'true';
+
+##############################################################################
+# RefWorks configuration
+##############################################################################
+# RefWorks is a Web-based citation manager
+ctx.refworks.enabled = 'false';
+
+# Base URL for RefWorks
+ctx.refworks.url = 'http://librweb.laurentian.ca/login?url=http://refworks.com';
+
+# Some sites have a hosted RefWorks instance at a different URL;
+# in addition, you might want to proxy access to RefWorks - for example:
+# ctx.refworks.url = 'http://librweb.laurentian.ca/login?url=http://refworks.scholarsportal.info';
+
+##############################################################################
+# OpenURL resolution
+##############################################################################
+# Evergreen provides the ability to point at an OpenURL resolver to find
+# electronic resources for a given ISSN or ISBN. Currently, only the SFX
+# resolver is supported.
+#
+# You must enable the open-ils.resolver instance in opensrf.xml to use
+# this feature.
+##############################################################################
+
+openurl.enabled = 'true';
+openurl.baseurl = 'http://sfx.scholarsportal.info/laurentian';
+
+##############################################################################
+# Google Analytics support
+##############################################################################
+# You can enable Google Analytics support in Evergreen by entering a
+# valid Google Analytics code and changing 'false' to 'true'
+##############################################################################
+google_analytics.enabled = 'false';
+google_analytics.code = 'UA-44360424-2';
+
+##############################################################################
+# Ebook API integration
+##############################################################################
+ebook_api.enabled = 'false';
+ebook_api.ebook_test.enabled = 'false';
+ebook_api.ebook_test.base_uris = [ 'http://example.com/ebookapi/t/' ];
+ebook_api.oneclickdigital.enabled = 'false';
+ebook_api.oneclickdigital.base_uris = [ 'http://example.oneclickdigital.com/Products/ProductDetail.aspx' ];
+ebook_api.overdrive.enabled = 'false';
+ebook_api.overdrive.base_uris = [ 'http://elm.lib.overdrive.com/' ];
+
+##############################################################################
+# Enable "Forgot your password?" prompt at login
+##############################################################################
+reset_password = 'false';
+
+##############################################################################
+# Hide various options from user preferences that you might not want to expose
+# if you rely on centralized authentication via open-ils.auth_proxy, like LDAP
+#
+# Username changes can be disabled by the opac.lock_usernames OU setting.
+##############################################################################
+disable_password_change = 'true';
+disable_email_change = 'true';
+
+##############################################################################
+# Some libraries do not do notifications by phone; if not true, then this
+# hides the user preference for phone notifications as well as the phone
+# notification portion of the hold dialogue
+##############################################################################
+allow_phone_notifications = 'false';
+
+##############################################################################
+# Format of parts selection on Place Holds screen
+# Set to true to use radio buttons for parts selection on the Place Holds
+# screen. The default behavior is to to display them in a select menu.
+#############################################################################
+enable.radio.parts = 'false';
+
+##############################################################################
+# Misc. UI Settings
+##############################################################################
+# Option for full details as a default, esp. impt. for e-content
+# that uses resolver plumbing. Valid values are 'true', 'false' and 'hide'.
+# Setting this to 'true' shows full details by default but allows the link
+# to appear for 'Show Fewer Details'. The 'hide' option shows full details
+# and also suppresses the link from displaying at all.
+show_more_details.default = 'hide';
+
+##############################################################################
+# Size of the jacket image to display on the record detail summary.
+# Sizes vary depending on added content provider.
+# Options are "small", "medium", and "large"
+record.summary.jacket_size = 'medium';
+
+##############################################################################
+# Define the order in which facets are displayed.  Only facets listed here
+# will be displayed.  To show all facets sorted by name, comment out this
+# setting.
+# facet.display = [] # show no facets
+facet.display = [
+    {facet_class => 'author',  facet_order => ['personal', 'corporate']},
+    {facet_class => 'subject', facet_order => ['topic']},
+    {facet_class => 'identifier', facet_order => ['genre']},
+    {facet_class => 'series',  facet_order => ['seriestitle']},
+    {facet_class => 'subject', facet_order => ['name', 'geographic']}
+];
+facet.default_display_count = 5;
+
+##############################################################################
+# Define the advanced search limiters and labels.
+# Each entry is put into a table cell.
+# adv_label is the (translated) label for the limiter
+# adv_attr is an array of possible limiters, the first one that has any
+#   values will be used
+# adv_filter is the same as adv_attr, but for search filter groups
+# adv_size lets you set the height of the adv_attr or adv_filter select box.
+# if adv_size < 1, the box height is set to the number of options in it.
+# adv_break will end the current row. If specified with a label/attr it
+#   will do so *after* that limiter.
+# adv_special will drop in a special entry:
+#   lib_selector will put the search library box (with limit to available)
+#   pub_year will put the publication year box
+#   sort_selector will put the sort results selector
+# id DOM id used for linking labels to form controls.  They are pinned
+#   here instead of auto-generated (from the attr type, for example)
+#   for consistency.
+
+search.adv_config = [
+    {adv_label => l("Item Type"), adv_attr => ["mattype", "item_type"], id => 'adv_selector_item_type'},
+    {adv_label => l("Item Form"), adv_attr => "item_form", id => 'adv_selector_item_form'},
+    {adv_label => l("Language"),  adv_attr => "item_lang", id => 'adv_selector_item_lang'},
+    {adv_label => l("Audience"),  adv_attr => ["audience_group", "audience"], id => 'adv_selector_audience', adv_break => 1},
+    {adv_label => l("Video Format"), adv_attr => "vr_format", id => 'adv_selector_video_format'},
+    {adv_label => l("Bib Level"), adv_attr => "bib_level", id => 'adv_selector_bib_level'},
+    {adv_label => l("Literary Form"), adv_attr => "lit_form", id => 'adv_selector_lit_form'},
+    {adv_label => l("Shelving Location"), adv_special => "copy_location", id => 'adv_copy_location_selector', js_only => 1, adv_break => 1},
+    {adv_label => l("Search Library"), adv_special => "lib_selector", id => 'adv_org_selector'},
+    {adv_label => l("Publication Year"), adv_special => "pub_year", id => 'adv_selector_pub_year'},
+    {adv_label => l("Sort Results"), adv_special => "sort_selector", id => 'adv_selector_sort_results'},
+];
+
+# Set the default height of the select boxes. Defaults to 4.
+#search.default_adv_select_height = 4;
+
+##############################################################################
+# For each search box the default "query type" value can be specified here
+# This is the actual backend value, not the label
+# Also note that including more than the row count entries won't add rows
+# The first entry should be used as a default for "basic" search as well
+
+search.default_qtypes = ['keyword','title','author'];
+
+##############################################################################
+# Basic Search Box definition
+# This allows selection of what, exactly, basic search uses for a selection
+# box. Previously it was hardcoded to use an attr box of mattype or item_type.
+#
+# type can be "attr" or "filter"
+# group is the attr or filter entries you want to check for
+# none_label is the label for the default nothing selected entry.
+
+search.basic_config = {
+    type => 'attr',
+    group => [ctx.get_cgf('opac.format_selector.attr').value, 'item_type'],
+    none_label => l("All Formats"),
+};
+
+# Make metarecord search the default.
+#search.metarecord_default = 1;
+
+# Disable search term highlighting
+#search.no_highlight = 1;
+
+##############################################################################
+# Show Google Book Previews
+# Set to 1 or 'true' to enable
+ctx.google_books_preview = 1;
+
+##############################################################################
+
+# Set a maintenance message to display in the catalogue
+#
+# ctx.maintenance_message = "The system will not be available February 29, 2104.";
+
+##############################################################################
+# Depth Button/Checkbox
+# Recommendation: Do not enable button for basic search without enabling the
+# checkbox for the results page
+ctx.depth_sel_checkbox = 0; # Results Page Checkbox Toggle
+ctx.depth_sel_button = 0; # Basic Search Submit Button
+ctx.depth_sel_depth = 1; # Depth to set to
+#ctx.depth_sel_button_label = l('All Libraries');
+#ctx.depth_sel_button_class = 'opac-button';
+#ctx.depth_sel_checkbox_label = l('Show Results from All Libraries');
+#ctx.depth_sel_tooltip = l('Select this option to expand your results to all libraries while retaining the priority of your selected library\'s holdings.');
+#ctx.depth_sel_resultshint = l('Showing results from all libraries');
+
+##############################################################################
+# Exclude Electronic Resources Checkbox
+# One setting for both the advanced search page and the results bar.
+# Off by default; set to 1 to display.
+ctx.exclude_electronic_checkbox = 0;
+
+##############################################################################
+# Metarecords configuration
+# metarecords.disabled = 1; # disable all metarecord access points
+##############################################################################
+
+##############################################################################
+# Local date format (uses POSIX strftime() formatting)
+# See http://www.template-toolkit.org/docs/modules/Template/Plugin/Date.html
+DATE_FORMAT = '%Y-%m-%d'; # for 2014-06-31 format
+##############################################################################
+
+##############################################################################
+# Local time format (uses POSIX strftime() formatting)
+# See http://www.template-toolkit.org/docs/modules/Template/Plugin/Date.html
+# TIME_FORMAT = '%H:%M:%S'; # for 16:32:32 (24 hour) format
+# TIME_FORMAT = '%H:%M'; # for 16:32 (24 hour) format
+##############################################################################
+
+##############################################################################
+# Obalkyknih.cz support
+##############################################################################
+# Obalkyknihy.cz is free Czech service providing added content and book covers
+# Set to 'true' to enable
+##############################################################################
+# obalkyknih_cz.enabled = 'false';
+
+##############################################################################
+# JQuery support
+##############################################################################
+# Include JQuery in the TPAC?
+# Set to a true value to enable
+##############################################################################
+# ctx.want_jquery = 1;
+
+##############################################################################
+# Browser cache-busting key
+##############################################################################
+# Links to assets like stylesheets, JavaScript, and images will have this
+# key appended so that browsers will be forced to request a new version.
+# Enables you to set a cache max-date of years.
+#
+# If unset, it falls back to eg_cache_hash (which is set every time you run
+# "autogen", which may or may not be when you change styles etc)
+##############################################################################
+# ctx.cache_key = '001'
+
+##############################################################################
+# Display of badge scores
+##############################################################################
+ctx.hide_badge_scores = 'false';
+
+%]
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/css/colors.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/css/colors.tt2
new file mode 100644 (file)
index 0000000..ddd26dd
--- /dev/null
@@ -0,0 +1,37 @@
+[%
+    css_colors = {
+
+        background = "#fff", # white
+        background_alert = "#ffcccc", # pink
+        background_invert = "#252525", # charcoal
+        text = "black", # black 
+        text_alert = "red", # red
+        text_attention = "#ffcc33", # pumpkin orange
+        text_badnews = "#f41d36", # cherry red
+        text_goodnews = "#1dd93c", # lime green
+        text_greatnews = "green", # green
+        text_invert = "#fff", # white
+        text_match = "#c00", # deep red
+        primary = "#003E7E", # dark blue
+        primary_fade = "#3076BF", # medium blue
+        primary_offset = "#5689BF", # light blue
+        control = "#003E7E", # lighter green
+        accent_light = "#ccc", #  grey (light)
+        accent_lighter = "#ddd", #  grey (lighter)
+        accent_lighter2 = "#d8d8d8", #  grey (lighter again)
+        accent_lightest = "#eee", #  grey (lightest)
+        accent_ultralight = "#f0f0f0", # ivory
+        accent_medium = "#999", # gun metal grey (medium)
+        accent_mediumdark = "#888", # gun metal grey (medium dark)
+        accent_dark = "#666", # gun metal grey (dark)
+        accent_darker = "#5689BF", # gun metal grey (darker)
+        border_standard = "#e9ebf3", # light grey-blue
+        border_dark = "black", # black
+        border_alert = "red", # red
+        button_text = "#fbf9f9", # off-white 
+        button_text_shadow = "#555555", # medium grey
+        table_heading = "#d8d8d8", # grey-blue
+        mobile_header_text = "#fff", # white
+    };
+    
+%]
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/css/fonts.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/css/fonts.tt2
new file mode 100644 (file)
index 0000000..728e2fd
--- /dev/null
@@ -0,0 +1,11 @@
+[%-
+    css_fonts = {
+        size_base = "15px",
+        size_small = "92%", # 11px
+        size_smaller = "83%", # 10px
+        size_smallest = "75%", # 9px
+        size_big = "110%", # 13.2px
+        size_bigger = "125%",
+        size_biggest = "150%"
+    }
+%]
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/footer.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/footer.tt2
new file mode 100644 (file)
index 0000000..83c084b
--- /dev/null
@@ -0,0 +1,36 @@
+<div id="footer-wrap">
+<div id="footer">
+    [% IF ctx.get_org_setting(
+        ctx.physical_loc || ctx.aou_tree.id, 'opac.allow_pending_user') %]
+    <a href="[% mkurl(ctx.opac_root _ '/register') %]">[% 
+        l('Request Library Card') %]</a> &nbsp;|&nbsp;
+    [% ELSE %]
+    <a href="[% l('http://laurentian.ca/library') %]">[% l('Library Home') %]</a> |
+    [% END %]
+    <a href="[% l('http://sfx.scholarsportal.info/laurentian/az') %]">[% l('Electronic Journals (A-Z)') %]</a> |
+    <a href="[% l('http://biblio.laurentian.ca/research/guides') %]">[% l('Databases') %]</a> |
+    <a href="[% l('http://biblio.laurentian.ca/research/guides/archives') %]">[% l('Archives') %]</a> |
+    <a href="[% l('http://biblio.laurentian.ca/reserves/') %]">[% l('Course Reserves') %]</a> &nbsp;|&nbsp;
+    <a href="[% l('https://biblio.laurentian.ca/research/contact-us') %]">[% l('Contact Us') %]</a>
+    [% IF ctx.timing %]
+    <div id="timing">
+        [% FOR event IN ctx.timing %]
+        At <span class="timing-time">[% event.0 | format("%0.4f") %]</span>:
+        <span class="timing-event">[% event.1 %]</span><br />
+        [% END %]
+    </div>
+    [% END %]
+    <div id="copyright_text" style="margin-top: 2em;">
+        [% l('Copyright &copy; 2006-[_1] Georgia Public Library Service, and others', date.format(date.now, '%Y')) %]
+    </div>
+    <div id="footer_logo">
+        [% l('Powered by') %]
+        <a href="http://evergreen-ils.org">
+            <img src="[% ctx.media_prefix %]/opac/images/eg_tiny_logo.png"
+                style="border:none; width: 94px; height: 16px;"
+                alt="[% l('Evergreen') %]"
+            />
+        </a>
+    </div>
+</div>
+</div>
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/homesearch.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/homesearch.tt2
new file mode 100644 (file)
index 0000000..69b23cb
--- /dev/null
@@ -0,0 +1,4 @@
+<div id="homesearch_main_logo">
+    <img src="[% ctx.media_prefix %]/images/lul_logo.png"
+        [% img_alt(l('Laurentian University Logo')) %]/>
+</div>
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/login/form.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/login/form.tt2
new file mode 100644 (file)
index 0000000..a5c37bf
--- /dev/null
@@ -0,0 +1,63 @@
+[% IF ctx.login_failed_event %]
+<div id='login-failed-message'>
+[%
+    IF ctx.login_failed_event.textcode == 'PATRON_CARD_INACTIVE';
+        l("The barcode used to login is marked as inactive.  Please contact your local library.");
+    ELSIF ctx.login_failed_event.textcode == 'PATRON_INACTIVE';
+        l("This account has been deactivated.  Please contact your local library.");
+    ELSE;
+        l("Login failed. The username or password provided was not valid. " _
+           "Passwords are case-sensitive.  Check your Caps-Lock key and try again or contact your local library.");
+        l(" Or <a href='https://passwordreset.laurentian.ca/'>reset your password</a>.");
+    END;
+%]
+</div>
+[% END %]
+
+<div id='login-form-box' class='login_boxes left_brain' style='float:left'>
+    <h1>[% l('Log in to Your Account') %]</h1>
+    [% l('Please enter the following information:') %]
+    <form method='post'>
+        <div style="float: left; padding-bottom: 10px; margin-right: 40px;">
+            <label for='username_field' class="lbl1" >[% l('Laurentian username') %]</label>
+            <div class="input_bg">
+                <input type='text' id="username_field" name="username" autofocus />
+            </div>
+            <div class="lbl2">[% l('Your username and password are the same as your Laurentian ID and Desire2Learn account.') %]</div>
+            <div class="lbl2" style="padding-top: 1em;">[% l('Examples: jx_smith, jsmith') %]</div>
+        </div>
+        <div style="float: left;">
+            <label for="password_field" class="lbl1" >[% l('Password') %]</label>
+            <div class="input_bg">
+                <input id="password_field" name="password" type="password" />
+            </div>
+            [% INCLUDE "opac/parts/login/password_hint.tt2" %]
+            [% IF reset_password == 'true' %]
+            <a href='https://passwordreset.laurentian.ca/'>[% l('Forgot your password?') %]</a>
+            [% END %]
+        </div>
+        <div style="clear: both; padding-top: 15px;">
+        [%
+            redirect = CGI.param('redirect_to');
+            # Don't use referer unless we got here from elsewhere within the TPAC
+            IF !redirect AND ctx.referer.match('^https?://' _ ctx.hostname _ ctx.opac_root);
+                redirect = ctx.referer;
+            END;
+            # If no redirect is offered or it's leading us back to the
+            # login form, redirect the user to My Account
+            IF !redirect OR redirect.match(ctx.path_info _ '$');
+                redirect = CGI.url('-full' => 1) _ '/opac/myopac/main';
+            END;
+                redirect = redirect  | replace('^http:', 'https:');
+            %]
+            <input type='hidden' name='redirect_to' value='[% redirect | html %]'/>
+            <input type='hidden' name='ou_email_host' value='laurentian.ca'/>
+            <input type="checkbox" name="persist" id="login_persist" /><label for="login_persist"> [% l('Stay logged in?') %]</label>
+            <input type="submit" value="[% l('Log in') %]" alt="[% l('Log in') %]" class="opac-button" />
+        </div>
+        <input id="client_tz_id" name="client_tz" type="hidden" />
+        <div style="float: right;">
+            <em>[%- l('Alumnus or reader?'); %]</em> <a href="https://www.concat.ca/eg/opac/myopac/main">[% l('Log in here!'); %]</a>
+        </div>
+    </form>
+</div>
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/topnav_links.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/topnav_links.tt2
new file mode 100644 (file)
index 0000000..5132cc9
--- /dev/null
@@ -0,0 +1,12 @@
+<div id="gold-links-holder">
+    <div id="gold-links">
+        <div id="header-links">
+            <a href="[% l('http://laurentian.ca/library') %]">[% l('Library Home') %]</a>
+            <a href="[% l('http://sfx.scholarsportal.info/laurentian/az') %]">[% l('Electronic Journals (A-Z)') %]</a>
+            <a href="[% l('http://biblio.laurentian.ca/research/guides') %]">[% l('Databases') %]</a>
+            <a href="[% l('http://biblio.laurentian.ca/research/guides/archives') %]">[% l('Archives') %]</a>
+            <a href="[% l('http://biblio.laurentian.ca/reserves/') %]">[% l('Course Reserves') %]</a>
+            <a href="[% l('https://biblio.laurentian.ca/research/contact-us') %]">[% l('Contact Us') %]</a>
+        </div>
+    </div>
+</div>
diff --git a/Open-ILS/src/templates_laurentian/opac/parts/topnav_logo.tt2 b/Open-ILS/src/templates_laurentian/opac/parts/topnav_logo.tt2
new file mode 100644 (file)
index 0000000..1aea2b4
--- /dev/null
@@ -0,0 +1,2 @@
+       <div id="topnav_logo"><a href="http://laurentian.ca" title="Laurentian University"><img alt="[% l('Laurentian University logo') %]" 
+            src="[% ctx.media_prefix %]/images/lul_logo_small.png" /></a></div>
diff --git a/Open-ILS/web/images/lul_logo.png b/Open-ILS/web/images/lul_logo.png
new file mode 100644 (file)
index 0000000..867951c
Binary files /dev/null and b/Open-ILS/web/images/lul_logo.png differ
diff --git a/Open-ILS/web/images/lul_logo_small.png b/Open-ILS/web/images/lul_logo_small.png
new file mode 100644 (file)
index 0000000..db617a8
Binary files /dev/null and b/Open-ILS/web/images/lul_logo_small.png differ