Bug 12365: Notes for rules
authorAleisha Amohia <aleishaamohia@hotmail.com>
Mon, 19 Jun 2017 19:47:52 +0000 (19:47 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Thu, 8 Nov 2018 11:43:11 +0000 (11:43 +0000)
This patch adds a note column to the circ and fine rules to act as a
description line for the rule.

To test:
1) Apply patch, update database (may have to also update schema)
2) Go to Admin -> Circ and fine rules
3) Scroll to the right, notice new Note column
4) Confirm it works to create a brand new rule with a Note
5) Confirm it works to modify an existing rule with a Note

Sponsored-by: Catalyst IT
Lee Jamison <ldjamison@marywood.edu> rescued this patch.
It is a clean re-build of attachments 61865 and 63902
to fix the merge conflict introduced during application of both
attachments.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: macon lauren KohaCon17 <caballeromaricon@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Koha/Schema/Result/Issuingrule.pm
admin/smart-rules.pl
installer/data/mysql/atomicupdate/bug_12365_-_add_note_column_to_issuingrules.perl [new file with mode: 0644]
installer/data/mysql/kohastructure.sql
koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt

index f1470b9..2a10924 100644 (file)
@@ -226,6 +226,12 @@ __PACKAGE__->table("issuingrules");
   extra: {list => ["no","yes","bib_only","item_only"]}
   is_nullable: 0
 
+=head2 note
+
+  data_type: 'varchar'
+  is_nullable: 1
+  size: 100
+
 =cut
 
 __PACKAGE__->add_columns(
@@ -309,6 +315,8 @@ __PACKAGE__->add_columns(
     extra => { list => ["no", "yes", "bib_only", "item_only"] },
     is_nullable => 0,
   },
+  "note",
+  { data_type => "varchar", is_nullable => 1, size => 100 },
 );
 
 =head1 PRIMARY KEY
index 4975254..fcb5b7e 100755 (executable)
@@ -185,6 +185,7 @@ elsif ($op eq 'add') {
     my $article_requests = $input->param('article_requests') || 'no';
     my $overduefinescap = $input->param('overduefinescap') || undef;
     my $cap_fine_to_replacement_price = $input->param('cap_fine_to_replacement_price') eq 'on';
+    my $note = $input->param('note');
     $debug and warn "Adding $br, $bor, $itemtype, $fine, $maxissueqty, $maxonsiteissueqty, $cap_fine_to_replacement_price";
 
     my $params = {
@@ -219,6 +220,7 @@ elsif ($op eq 'add') {
         overduefinescap               => $overduefinescap,
         cap_fine_to_replacement_price => $cap_fine_to_replacement_price,
         article_requests              => $article_requests,
+        note                          => $note,
     };
 
     my $issuingrule = Koha::IssuingRules->find({categorycode => $bor, itemtype => $itemtype, branchcode => $br});
diff --git a/installer/data/mysql/atomicupdate/bug_12365_-_add_note_column_to_issuingrules.perl b/installer/data/mysql/atomicupdate/bug_12365_-_add_note_column_to_issuingrules.perl
new file mode 100644 (file)
index 0000000..6b4d671
--- /dev/null
@@ -0,0 +1,9 @@
+$DBversion = 'XXX';
+if( CheckVersion( $DBversion ) ) {
+    unless( column_exists( 'issuingrules', 'note' ) ) {
+        $dbh->do(q|ALTER TABLE issuingrules ADD note varchar(100) default NULL AFTER article_requests|);
+    }
+
+    SetVersion( $DBversion );
+    print "Upgrade to $DBversion done (Bug 12365: Add column issuingrules.note)\n";
+}
index 44cb92a..e430f15 100644 (file)
@@ -877,6 +877,7 @@ CREATE TABLE `issuingrules` ( -- circulation and fine rules
   onshelfholds tinyint(1) NOT NULL default 0, -- allow holds for items that are on shelf
   opacitemholds char(1) NOT NULL default 'N', -- allow opac users to place specific items on hold
   article_requests enum('no','yes','bib_only','item_only') NOT NULL DEFAULT 'no', -- allow article requests to be placed,
+  `note` varchar(100) default NULL, -- description of rule, reason for setting rule
   PRIMARY KEY  (`branchcode`,`categorycode`,`itemtype`),
   KEY `categorycode` (`categorycode`),
   KEY `itemtype` (`itemtype`)
index 672a55f..d93013f 100644 (file)
@@ -97,6 +97,7 @@
                 <th>Item level holds</th>
                 <th>Article requests</th>
                 <th>Rental discount (%)</th>
+                <th>Note</th>
                 <th>Actions</th>
             </tr>
             </thead>
                                                                 <span>Item only</span>
                                                             [% END %]
                                                         </td>
-                                                       <td>[% rule.rentaldiscount | html %]</td>
+                                                        <td>[% rule.rentaldiscount | html %]</td>
+                                                        <td>[% rule.note | html %]</td>
                                                         <td class="actions">
                                                           <a href="#" class="editrule btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
                                                           <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&amp;itemtype=[% rule.itemtype | html %]&amp;categorycode=[% rule.categorycode | html %]&amp;branch=[% rule.current_branch | html %]"><i class="fa fa-trash"></i> Delete</a>
                         </select>
                     </td>
                     <td><input type="text" name="rentaldiscount" id="rentaldiscount" size="2" /></td>
+                    <td><input type="text" name="note" id="note" size="15" value=""></td>
                     <td class="actions">
                         <input type="hidden" name="branch" value="[% current_branch | html %]"/>
                         <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
                       <th>Item level holds</th>
                       <th>Article requests</th>
                       <th>Rental discount (%)</th>
+                      <th>Note</th>
                       <th>&nbsp;</th>
                     </tr>
                   </tfoot>