The course reserves entry form should not be shown if there are no
DEPARTMENT authorized values, since this prevents the form from being
submitted. This patch replaces the form with an error message when no
DEPARTMENT authorized values are found.

Also corrected:

- Corrected grid structure for more standard display
- Converted labels with no corresponding inputs to <span class="label">
- Closed unclosed tags
- Corrected incorrect capitalization

This patch contains whitespace changes, so please ignore whitespace when
examining changes.

To test, delete any DEPARTMENT authorized values, if present. Create a
new course in Course Reserves. You should see a warning that no
DEPARTMENT values were found.

If you are logged in with the correct permission, the warning should
contain a link to the correct authorized value page. If you do no, the
warning should refer the problem to an administrator.

After creating one or more DEPARTMENT values, the form should display
and submit correctly.
---
 .../prog/en/modules/course_reserves/course.tt      |  343 ++++++++++----------
 1 file changed, 175 insertions(+), 168 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course.tt 
b/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course.tt
index 85817ed..8e6a60d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course.tt
@@ -2,71 +2,75 @@
 <title>Koha &rsaquo; Course reserves &rsaquo; [% IF course_name %] Edit [% 
course_name %] [% ELSE %] New course [% END %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
 
-<script type="text/javascript">
-//<![CDATA[
+[% IF ( departments ) %]
 
-    function Check(f) {
-        var _alertString = "";
+    <script type="text/javascript">
+    //<![CDATA[
 
-        if( ! $("#department").val() ) {
-            _alertString += _("- You must choose a department") + "\n";
-        }
+        function Check(f) {
+            var _alertString = "";
 
-        if( ! $("#course_number").val() ) {
-            _alertString += _("- You must choose a course number") + "\n";
-        }
+            if( ! $("#department").val() ) {
+                _alertString += _("- You must choose a department") + "\n";
+            }
 
-        if( ! $("#course_name").val() ) {
-            _alertString += _("- You must add a course name") + "\n";
-        }
+            if( ! $("#course_number").val() ) {
+                _alertString += _("- You must choose a course number") + "\n";
+            }
 
-        if ( _alertString.length ) {
-            var alertHeader;
-            alertHeader = _("Form not submitted because of the following 
problem(s)");
-            alertHeader += 
"\n------------------------------------------------------------------------------------\n\n";
+            if( ! $("#course_name").val() ) {
+                _alertString += _("- You must add a course name") + "\n";
+            }
 
-            alert( alertHeader + _alertString );
-        } else {
-            f.submit();
-        }
-    }
+            if ( _alertString.length ) {
+                var alertHeader;
+                alertHeader = _("Form not submitted because of the following 
problem(s)");
+                alertHeader += 
"\n------------------------------------------------------------------------------------\n\n";
 
-//]]>
-</script>
-
-<script type="text/javascript">
-//<![CDATA[
-$(document).ready(function(){
-    $( "#find_instructor" ).autocomplete({
-        source: "/cgi-bin/koha/circ/ysearch.pl",
-        minLength: 3,
-        select: function( event, ui ) {
-            AddInstructor( ui.item.firstname + " " + ui.item.surname, 
ui.item.cardnumber );
-            return false;
+                alert( alertHeader + _alertString );
+            } else {
+                f.submit();
+            }
         }
-    })
-    .data( "autocomplete" )._renderItem = function( ul, item ) {
-        return $( "<li></li>" )
-        .data( "item.autocomplete", item )
-        .append( "<a>" + item.surname + ", " + item.firstname + " (" + 
item.cardnumber + ") <small>" + item.address + " " + item.city + " " + 
item.zipcode + " " + item.country + "</small></a>" )
-        .appendTo( ul );
-    };
-
-});
 
-function AddInstructor( name, cardnumber ) {
-    div = "<div id='borrower_" + cardnumber + "'>" + name + " ( <a href='#' 
onclick='RemoveInstructor(" + cardnumber + ");return false;'> Remove </a> ) 
<input type='hidden' name='instructors' value='" + cardnumber + "' /></div>";
-    $('#instructors').append( div );
+    //]]>
+    </script>
+
+    <script type="text/javascript">
+    //<![CDATA[
+    $(document).ready(function(){
+        $( "#find_instructor" ).autocomplete({
+            source: "/cgi-bin/koha/circ/ysearch.pl",
+            minLength: 3,
+            select: function( event, ui ) {
+                AddInstructor( ui.item.firstname + " " + ui.item.surname, 
ui.item.cardnumber );
+                return false;
+            }
+        })
+        .data( "autocomplete" )._renderItem = function( ul, item ) {
+            return $( "<li></li>" )
+            .data( "item.autocomplete", item )
+            .append( "<a>" + item.surname + ", " + item.firstname + " (" + 
item.cardnumber + ") <small>" + item.address + " " + item.city + " " + 
item.zipcode + " " + item.country + "</small></a>" )
+            .appendTo( ul );
+        };
+
+    });
+
+    function AddInstructor( name, cardnumber ) {
+        div = "<div id='borrower_" + cardnumber + "'>" + name + " ( <a 
href='#' onclick='RemoveInstructor(" + cardnumber + ");return false;'> Remove 
</a> ) <input type='hidden' name='instructors' value='" + cardnumber + "' 
/></div>";
+        $('#instructors').append( div );
+
+        $('#find_instructor').val('').focus();
+    }
 
-    $('#find_instructor').val('').focus();
-}
+    function RemoveInstructor( cardnumber ) {
+        $( '#borrower_' + cardnumber ).remove();
+    }
 
-function RemoveInstructor( cardnumber ) {
-    $( '#borrower_' + cardnumber ).remove();
-}
+    //]]>
+    </script>
 
-//]]>
-</script>
+[% END %]
 
 </head>
 
@@ -77,128 +81,131 @@ function RemoveInstructor( cardnumber ) {
 
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a 
href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> 
&rsaquo; [% IF course_name %] Edit <i>[% course_name %]</i> [% ELSE %] New 
course [% END %]</div>
 
-<div id="doc2" class="yui-t7">
-    <div id="bd">
-        <div id="yui-main">
-            <div class="yui-b">
-                <div class="yui-g">
-                    <div class="yui-u first">
-                        <form method="post" 
action="/cgi-bin/koha/course_reserves/mod_course.pl">
-                            [% IF course_id %]<input type="hidden" 
name="course_id" value="[% course_id %]" />[% END %]
-                            <fieldset class="rows">
-                                <legend>[% IF course_id %] Edit [% ELSE %] 
Create [% END %] course</legend>
-                                <ol>
-                                    <li>
-                                        <label class="required" 
for="department">Department:</label>
-                                        [% IF departments %]
-                                            <select id="department" 
name="department">
-                                                <option value="">Select A 
Department</option>
-
-                                                [% FOREACH d IN departments %]
-                                                    [% IF d.authorised_value 
== department %]
-                                                        <option value="[% 
d.authorised_value %]" selected="selected">[% d.lib %]</option>
-                                                    [% ELSE %]
-                                                        <option value="[% 
d.authorised_value %]">[% d.lib %]</option>
-                                                    [% END %]
-                                                [% END %]
-                                            </select>
+[% IF ( departments ) %]
+
+    <div id="doc" class="yui-t7">
+        <div id="bd">
+            <form method="post" 
action="/cgi-bin/koha/course_reserves/mod_course.pl">
+                [% IF course_id %]<input type="hidden" name="course_id" 
value="[% course_id %]" />[% END %]
+                <fieldset class="rows">
+                    <legend>[% IF course_id %] Edit [% ELSE %] Create [% END 
%] course</legend>
+                    <ol>
+                        <li>
+                            <label class="required" 
for="department">Department:</label>
+                            <select id="department" name="department">
+                                <option value="">Select a department</option>
+
+                                [% FOREACH d IN departments %]
+                                    [% IF d.authorised_value == department %]
+                                        <option value="[% d.authorised_value 
%]" selected="selected">[% d.lib %]</option>
+                                    [% ELSE %]
+                                        <option value="[% d.authorised_value 
%]">[% d.lib %]</option>
+                                    [% END %]
+                                [% END %]
+                            </select>
+                        </li>
+
+                        <li>
+                            <label class="required" for="course_number">Course 
number:</label>
+                            <input id="course_number" name="course_number" 
type="text" value="[% course_number %]" />
+                        </li>
+
+                        <li>
+                            <label for="section">Section:</label>
+                            <input id="section" name="section" type="text" 
value="[% section %]"/>
+                        </li>
+
+                        <li>
+                            <label class="required" for="course_name">Course 
name:</label>
+                            <input id="course_name" name="course_name" 
type="text" value="[% course_name %]" />
+                        </li>
+
+                        <li>
+                            [% IF terms %]
+                                <label for="term">Term:</label>
+                                <select id="term" name="term">
+                                    <option value=""></option>
+
+                                    [% FOREACH t IN terms %]
+                                        [% IF t.authorised_value == term %]
+                                            <option value="[% 
t.authorised_value %]" selected="selected">[% t.lib %]</option>
                                         [% ELSE %]
-                                            <span id="department">No 
DEPARTMENT authorised values found! Please create one or more authorised values 
with the category DEPARTMENT.</span>
+                                            <option value="[% 
t.authorised_value %]">[% t.lib %]</option>
                                         [% END %]
-                                    </li>
-
-                                    <li>
-                                        <label class="required" 
for="course_number">Course number:</label>
-                                        <input id="course_number" 
name="course_number" type="text" value="[% course_number %]" />
-                                    </li>
-
-                                    <li>
-                                        <label for="section">Section:</label>
-                                        <input id="section" name="section" 
type="text" value="[% section %]"/>
-                                    </li>
-
-                                    <li>
-                                        <label class="required" 
for="course_name">Course name:</label>
-                                        <input id="course_name" 
name="course_name" type="text" value="[% course_name %]" />
-                                    </li>
-
-                                    <li>
-                                        <label for="term">Term:</label>
-                                        [% IF terms %]
-                                            <select id="term" name="term">
-                                                <option value=""></option>
-
-                                                [% FOREACH t IN terms %]
-                                                    [% IF t.authorised_value 
== term %]
-                                                        <option value="[% 
t.authorised_value %]" selected="selected">[% t.lib %]</option>
-                                                    [% ELSE %]
-                                                        <option value="[% 
t.authorised_value %]">[% t.lib %]</option>
-                                                    [% END %]
-                                                [% END %]
-                                            </select>
-                                        [% ELSE %]
-                                            <span id="term">No TERM authorised 
values found! Please create one or more authorised values with the category 
TERM.</span>
-                                        [% END %]
-                                    </li>
-
-                                    <li>
-                                        <label 
for="instructors">Instructors:</label>
-
-                                        <fieldset>
-                                             <div id="instructors">
-                                                 [% FOREACH i IN instructors %]
-                                                     <div id="borrower_[% 
i.cardnumber %]">
-                                                         [% i.surname %], [% 
i.firstname %] ( <a href='#' onclick='RemoveInstructor( [% i.cardnumber %] );'> 
Remove </a> )
-                                                         <input type='hidden' 
name='instructors' value='[% i.cardnumber %]' />
-                                                     </div>
-                                                 [% END %]
-                                             </div>
-
-                                        </fieldset>
-
-                                        <fieldset>
-                                            <label 
for="find_instructor">Instructor search:</label>
-                                            <input autocomplete="off" 
id="find_instructor" type="text" style="width:150px" class="noEnterSubmit"/>
-                                            <div 
id="find_instructor_container"></div>
-                                        </fieldset>
-                                    <li>
-                                        <label for="staff_note">Staff 
note:</label>
-                                        <textarea name="staff_note" 
id="staff_note">[% staff_note %]</textarea>
-                                    </li>
-
-                                    <li>
-                                        <label for="public_note">Public 
note:</label>
-                                        <textarea name="public_note" 
id="public_note">[% public_note %]</textarea>
-                                    </li>
-
-                                    <li>
-                                        <label for="students_count">Number of 
students:</label>
-                                        <input id="students_count" 
name="students_count" type="text" value="[% students_count %]" />
-                                    </li>
-
-                                    <li>
-                                        <label for="enabled">Enabled?</label>
-                                        [% IF enabled == 'no' %]
-                                            <input type="checkbox" 
name="enabled" id="enabled" />
-                                        [% ELSE %]
-                                            <input type="checkbox" 
name="enabled" id="enabled" checked="checked" />
-                                        [% END %]
-                                    </li>
-                                </ol>
+                                    [% END %]
+                                </select>
+                            [% ELSE %]
+                                <span class="label">Term: </span>
+                                <span id="term">No TERM authorised values 
found! Please create one or more authorised values with the category 
TERM.</span>
+                            [% END %]
+                        </li>
+
+                        <li>
+                            <span class="label">Instructors:</span>
+
+                            <fieldset>
+                                 <div id="instructors">
+                                     [% FOREACH i IN instructors %]
+                                         <div id="borrower_[% i.cardnumber %]">
+                                             [% i.surname %], [% i.firstname 
%] ( <a href='#' onclick='RemoveInstructor( [% i.cardnumber %] );'> Remove </a> 
)
+                                             <input type='hidden' 
name='instructors' value='[% i.cardnumber %]' />
+                                         </div>
+                                     [% END %]
+                                 </div>
                             </fieldset>
 
-                            <fieldset class="action">
-                                <input type="submit" 
onclick="Check(this.form); return false;" value="Save" class="submit" />
-
-                                <a 
href="/cgi-bin/koha/course_reserves/course-reserves.pl" 
class="cancel">Cancel</a>
+                            <fieldset>
+                                <label for="find_instructor">Instructor 
search:</label>
+                                <input autocomplete="off" id="find_instructor" 
type="text" style="width:150px" class="noEnterSubmit"/>
+                                <div id="find_instructor_container"></div>
                             </fieldset>
-
-                    </div>
-                </div>
-            </div>
+                        <li>
+                            <label for="staff_note">Staff note:</label>
+                            <textarea name="staff_note" id="staff_note">[% 
staff_note %]</textarea>
+                        </li>
+
+                        <li>
+                            <label for="public_note">Public note:</label>
+                            <textarea name="public_note" id="public_note">[% 
public_note %]</textarea>
+                        </li>
+
+                        <li>
+                            <label for="students_count">Number of 
students:</label>
+                            <input id="students_count" name="students_count" 
type="text" value="[% students_count %]" />
+                        </li>
+
+                        <li>
+                            <label for="enabled">Enabled?</label>
+                            [% IF enabled == 'no' %]
+                                <input type="checkbox" name="enabled" 
id="enabled" />
+                            [% ELSE %]
+                                <input type="checkbox" name="enabled" 
id="enabled" checked="checked" />
+                            [% END %]
+                        </li>
+                    </ol>
+                </fieldset>
+
+                <fieldset class="action">
+                    <input type="submit" onclick="Check(this.form); return 
false;" value="Save" class="submit" />
+
+                    <a href="/cgi-bin/koha/course_reserves/course-reserves.pl" 
class="cancel">Cancel</a>
+                </fieldset>
+            </form>
         </div>
-    </div>
+
+[% ELSE %]
+
+<div class="dialog alert">
+    <p>
+        No DEPARTMENT authorised values found!
+        [% IF ( CAN_user_parameters ) %]
+            Please <a 
href="/cgi-bin/koha/admin/authorised_values.pl?searchfield=DEPARTMENT">create 
one or more authorised values</a> with the category DEPARTMENT.
+        [% ELSE %]
+            An administrator must create one or more authorised values with 
the category DEPARTMENT.
+        [% END %]
+    </p>
 </div>
 
+[% END %]
 
 [% INCLUDE 'intranet-bottom.inc' %]
-- 
1.7.9.5
_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to