Bug 22318: Example implementation: OpacNavRight system preference
[koha-equinox.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-main.tt
index e60087b..b48e922 100644 (file)
@@ -1,8 +1,12 @@
+[% USE raw %]
 [% USE Koha %]
+[% USE KohaDates %]
 [% USE Branches %]
+[% USE Categories %]
 [% USE Price %]
+[% USE KohaNews %]
 [% INCLUDE 'doc-head-open.inc' %]
-<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog</title>
+<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
 [% INCLUDE 'doc-head-close.inc' %]
 [% BLOCK cssinclude %][% END %]
 </head>
 
 <div class="main">
     <ul class="breadcrumb">
-        <li><a href="#">Home</a></li>
+        <li><a href="/cgi-bin/koha/opac-main.pl">Home</a>
+        [% IF news_item %]
+            <span class="divider">&rsaquo;</span></li>
+            <li>[% news_item.title | html %]</li>
+        [% END %]
+        </li>
     </ul>
 
     [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
         </div>
     [% END %]
 
-    [% IF ( OpacNav ||  OpacNavBottom  ) %]
+    [% IF ( OpacNav ||  OpacNavBottom  ) && (Koha.Preference( 'opacuserlogin' ) == 1 || OpacNavRight) %]
         <div class="span7">
-    [% ELSE %]
+    [% ELSIF (Koha.Preference( 'opacuserlogin' ) == 1 || OpacNavRight) %]
         <div class="span9">
+    [% ELSIF ( OpacNav ||  OpacNavBottom  ) %]
+        <div class="span10">
+    [% ELSE %]
+        <div class="span12">
     [% END %]
-            [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
+
+        [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
+            [% UNLESS news_item %]
                 <form id="news-branch-select" class="form-inline" name="news-branch-select" method="get" action="/cgi-bin/koha/opac-main.pl">
-                <label for="news-branch">Display news for: </label>
-                <select id="news-branch" name="branch">
-                [% IF ( branchcode == "" ) %]
-                <option value="" selected="selected">system-wide only</option>
-                [% ELSE %]
-                <option value=""         >system-wide only</option>
-                [% END %]
-                [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %]
-                </select>
+                    <label for="news-branch">Display news for: </label>
+                    <select id="news-branch" name="branch">
+                        [% IF ( branchcode == "" ) %]
+                            <option value="" selected="selected">System-wide only</option>
+                        [% ELSE %]
+                            <option value="">System-wide only</option>
+                        [% END %]
+                        [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %]
+                    </select>
                 </form>
             [% END %]
+        [% END %]
 
-        [% IF ( koha_news_count ) %]
+        [% IF ( koha_news ) %]
+
+            [% IF single_news_error %]
+
+                <div class="alert alert-error">
+                    This news item does not exist.
+                </div>
 
-            <div id="news" class="newscontainer">
-                [% SET newsdisp = ( Koha.Preference('NewsAuthorDisplay') ) %]
-                [% FOREACH koha_new IN koha_news %]
-                    <div class="newsitem">
-                        <a name="newsitem[% koha_new.idnew %]"></a><h4 class="newsheader">[% koha_new.title %]</h4>
-                        <div class="newsbody">[% koha_new.content %]</div>
-                        <div class="newsfooter">(published on [% koha_new.newdate %][% IF ( (newsdisp == 'opac' || newsdisp == 'both') && koha_new.borrowernumber ) %] by <span class="newsauthor_title">[% koha_new.author_title %] </span>[% koha_new.author_firstname %] [% koha_new.author_surname %][% END %])</div>
-                    </div>
-                [% END %]
-            </div>
-            <div id="rssnews-container">
-                <!-- Logged in users have a branch code or it could be explicitly set -->
-                <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-news-rss.pl?branchcode=[% branchcode %]"><img src="[% interface %]/[% theme %]/images/feed-icon-16x16.png"></a>
-                [% IF Branches.all.size == 1 %]
-                    [% IF branchcode %]
-                        RSS feed for [% Branches.GetName( branchcode ) %] library news.
-                    [% ELSE %]
-                        RSS feed for library news.
-                    [% END %]
-                [% ELSE %]
-                    [% IF branchcode %]
-                        RSS feed for [% Branches.GetName( branchcode ) %] and system-wide library news.
-                    [% ELSE %]
-                        RSS feed for system-wide library news.
-                    [% END %]
-                [% END %]
-            </div>
             [% ELSE %]
-                [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
-                    <div id="news" class="newscontainer">
+
+                <div id="news" class="newscontainer">
+                    [% SET newsdisp = ( Koha.Preference('NewsAuthorDisplay') ) %]
+                    [% FOREACH koha_new IN koha_news %]
                         <div class="newsitem">
-                            <div class="newsbody">No news to display.</div>
-                            <div class="newsfooter"></div>
+                            <h4 class="newsheader">
+                                [% IF ( news_item ) %]
+                                    [% koha_new.title | html %]
+                                [% ELSE %]
+                                    <a name="newsitem[% koha_new.idnew | html %]" href="/cgi-bin/koha/opac-main.pl?news_id=[% koha_new.idnew | uri %]">[% koha_new.title | html %]</a>
+                                [% END %]
+                            </h4>
+                            <div class="newsbody">[% koha_new.content | $raw %]</div>
+                            <div class="newsfooter">
+                                Published on [% koha_new.timestamp | $KohaDates with_hours = 1 %]
+                                [% IF ( (newsdisp == 'opac' || newsdisp == 'both') && koha_new.borrowernumber ) %]
+                                    by <span class="newsauthor_title">[% koha_new.author_title | html %] </span>[% koha_new.author_firstname | html %] [% koha_new.author_surname | html %]
+                                [% END %]
+                                [% IF ( news_item ) %]
+                                    &bull; <a href="/cgi-bin/koha/opac-main.pl">Show all news</a>
+                                [% END %]
+                            </div>
                         </div>
+
+                    [% END %]
+                    [% UNLESS news_item %]
+                        <div id="rssnews-container">
+                            <!-- Logged in users have a branch code or it could be explicitly set -->
+                            <a href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-news-rss.pl?branchcode=[% branchcode | uri %]">
+                                <i class="fa fa-rss"></i>
+                                [% IF Branches.all.size == 1 %]
+                                    [% IF branchcode %]
+                                        RSS feed for [% Branches.GetName( branchcode ) | html %] library news
+                                    [% ELSE %]
+                                        RSS feed for library news
+                                    [% END %]
+                                [% ELSE %]
+                                    [% IF branchcode %]
+                                        RSS feed for [% Branches.GetName( branchcode ) | html %] and system-wide library news
+                                    [% ELSE %]
+                                        RSS feed for system-wide library news
+                                    [% END %]
+                                [% END %]
+                            </a>
+                        </div>
+                    [% END %]
+                </div>
+
+            [% END # /IF single_news_error %]
+
+        [% ELSE %] <!-- koha news -->
+            [% IF Koha.Preference( 'OpacNewsLibrarySelect' ) %]
+                <div id="news" class="newscontainer">
+                    <div class="newsitem">
+                        <div class="newsbody">No news to display.</div>
+                        <div class="newsfooter"></div>
                     </div>
-                [% END %]
+                </div>
             [% END %]
 
-        [% IF ( display_daily_quote && daily_quote ) %]
-            <div id="daily-quote">
-                <h3>Quote of the Day</h3>
-                <div>
-                    <span id="daily-quote-text">[% daily_quote.text %]</span><span id="daily-quote-sep"> ~ </span><span id="daily-quote-source">[% daily_quote.source %]</span>
+        [% END # IF koha_news %]
+
+        [% UNLESS news_item # Don't show under single news item %]
+            [% IF ( display_daily_quote && daily_quote ) %]
+                <div id="daily-quote">
+                    <h3>Quote of the day</h3>
+                    <div>
+                        <span id="daily-quote-text">[% daily_quote.text | html %]</span><span id="daily-quote-sep"> ~ </span><span id="daily-quote-source">[% daily_quote.source | html %]</span>
+                    </div>
                 </div>
-            </div>
+            [% END %]
+
+            [% IF ( OpacMainUserBlock ) %]<div id="opacmainuserblock">[% OpacMainUserBlock | $raw %]</div>[% END %]
         [% END %]
 
-        [% IF ( OpacMainUserBlock ) %]<div id="opacmainuserblock">[% OpacMainUserBlock %]</div>[% END %]
         </div> <!-- / .span 7/9 -->
 
         [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) || OpacNavRight ) %]
                     [% UNLESS ( loggedinusername ) %]
                         [% UNLESS ( casAuthentication || shibbolethAuthentication ) %]
                             <div id="login">
-                                <form action="/cgi-bin/koha/opac-user.pl" method="post" name="auth" id="auth">
+                                <form action="/cgi-bin/koha/opac-user.pl" method="post" name="auth" id="auth" autocomplete="off">
                                     <input type="hidden" name="koha_login_context" value="opac" />
                                     <fieldset class="brief">
                                         <legend>Log in to your account:</legend>
                                         <label for="userid">Login:</label><input type="text" id="userid" name="userid" />
                                         <label for="password">Password:</label><input type="password" id="password" name="password" />
-                                    <fieldset class="action">
-                                        <input type="submit" value="Log in" class="btn" />
-                                    </fieldset>
-                                    [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]<div id="patronregistration"><p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p></div>[% END %]
+                                        <fieldset class="action">
+                                            <input type="submit" value="Log in" class="btn" />
+                                        </fieldset>
+                                        [% IF Koha.Preference( 'OpacLoginInstructions' ) %]
+                                            <div id="nologininstructions-main" class="nologininstructions">
+                                                [% Koha.Preference( 'OpacLoginInstructions' ) | $raw %]
+                                            </div>
+                                        [% END %]
+                                        [% IF Koha.Preference('OpacPasswordChange') && Categories.can_any_reset_password %]
+                                            <div id="forgotpassword-main" class="forgotpassword">
+                                                <p><a href="/cgi-bin/koha/opac-password-recovery.pl">Forgot your password?</a></p>
+                                            </div>
+                                        [% END %]
+                                        [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]
+                                            <div id="patronregistration-main" class="patronregistration">
+                                                <p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p>
+                                            </div>
+                                        [% END %]
                                     </fieldset>
-                                [% IF Koha.Preference('OpacPasswordChange') && Koha.Preference('OpacResetPassword') %]
-                                    <div id="forgotpassword">
-                                        <a href="/cgi-bin/koha/opac-password-recovery.pl">Forgot your password?</a>
-                                    </div>
-                                [% END %]
-                                [% IF Koha.Preference( 'NoLoginInstructions' ) %]
-                                    <div id="nologininstructions-main">
-                                        [% Koha.Preference( 'NoLoginInstructions' ) %]
-                                    </div>
-                                [% END %]
                                 </form>
                             </div> <!-- /#login -->
                         [% END # /casAuthentication %]
                     [% ELSE %]
-                        [% IF Koha.Preference('OPACUserSummary') %]
+                        [% IF Koha.Preference('OPACUserSummary') && dashboard_info %]
                             <div id="user_summary">
-                                <h1>Welcome, <a href="/cgi-bin/koha/opac-user.pl"><span class="loggedinusername">[% USER_INFO.title %] [% USER_INFO.firstname %] [% USER_INFO.surname %]</span></a></h1>
+                                <h3>Welcome, <a href="/cgi-bin/koha/opac-user.pl"><span class="loggedinusername">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</span></a></h3>
                                 <ul id="user_summary_shortcuts">
                                     [% IF checkouts && checkouts > 0 %]
-                                        <li><a href="/cgi-bin/koha/opac-user.pl">[% checkouts %] checkout(s)</a></li>
+                                        <li><a href="/cgi-bin/koha/opac-user.pl#opac-user-checkouts"><span class="user_checkouts_count count_label">[% checkouts | html %]</span> checkout(s)</a></li>
                                     [% END %]
                                     [% IF overdues && overdues > 0 %]
-                                        <li><a href="/cgi-bin/koha/opac-user.pl">[% overdues %] overdue(s)</a></li>
+                                        <li><a href="/cgi-bin/koha/opac-user.pl#opac-user-overdues"><span class="user_overdues_count count_label">[% overdues | html %]</span> overdue(s)</a></li>
                                     [% END %]
                                     [% IF holds_pending && holds_pending > 0 %]
-                                        <li><a href="/cgi-bin/koha/opac-user.pl">[% holds_pending %] hold(s) pending</a></li>
+                                        <li><a href="/cgi-bin/koha/opac-user.pl#opac-user-holds"><span class="user_holds_pending_count count_label">[% holds_pending | html %]</span> hold(s) pending</a></li>
                                     [% END %]
                                     [% IF holds_waiting && holds_waiting > 0 %]
-                                        <li><a href="/cgi-bin/koha/opac-user.pl">[% holds_waiting %] hold(s) waiting</a></li>
+                                        <li><a href="/cgi-bin/koha/opac-user.pl#opac-user-holds"><span class="user_holds_waiting_count count_label">[% holds_waiting | html %]</span> hold(s) waiting</a></li>
                                     [% END %]
                                     [% IF total_owing && total_owing > 0 %]
-                                        <li><a href="/cgi-bin/koha/opac-account.pl">[% total_owing | $Price %] due</a></li>
+                                        <li><a href="/cgi-bin/koha/opac-account.pl"><span class="user_fines_count count_label">[% total_owing | $Price with_symbol => 1 %]</span> due in fines and charges</a></li>
                                     [% END %]
                                 </ul>
                             </div>
                         [% END %]
                     [% END # /loggedinusername %]
                 [% END # /opacuserlogin %]
-                [% IF ( OpacNavRight ) %]
-                    <div id="opacnavright">
-                        [% OpacNavRight %]
-                    </div>
-                [% END # /OpacNavRight %]
+                [% PROCESS koha_news_block news => KohaNews.get( location => "OpacNavRight", lang => news_lang, library => branchcode ) %]
             </div> <!-- / .span3 -->
         [% END # /opacuserlogin || OpacNavRight %]