From 4cf43cd78655cf28bd9dcbc9425d8aca0c001a14 Mon Sep 17 00:00:00 2001
From: Nick Clemens <nick@bywatersolutions.com>
Date: Fri, 23 Jun 2017 14:11:44 +0000
Subject: [PATCH] Bug 18577 - Importing a batch using a framework not fully set
 up causes and endless loop

To test:
1 - Create a new framework - don't set it up
2 - Stage some records for import
3 - Manage the import, note your new framwork is in the list
4 - Apply patch
5 - Reload the page
6 - Note the framework is no longer an option

Followed test plan,  worked as intended
Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
---
 Koha/Schema/Result/BiblioFramework.pm | 6 ++++++
 tools/manage-marc-import.pl           | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Koha/Schema/Result/BiblioFramework.pm b/Koha/Schema/Result/BiblioFramework.pm
index 36c223b..3e7b70d 100644
--- a/Koha/Schema/Result/BiblioFramework.pm
+++ b/Koha/Schema/Result/BiblioFramework.pm
@@ -62,6 +62,12 @@ __PACKAGE__->set_primary_key("frameworkcode");
 # Created by DBIx::Class::Schema::Loader v0.07025 @ 2013-10-14 20:56:21
 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KY1w7J/5cBsz9VV7QEBKPw
 
+__PACKAGE__->has_many(
+    "marc_tag_structure",
+    "Koha::Schema::Result::MarcTagStructure",
+    { "foreign.frameworkcode" => "self.frameworkcode"},
+    { cascade_copy => 0, cascade_delete => 0 },
+);
 
 # You can replace this text with custom content, and it will be preserved on regeneration
 1;
diff --git a/tools/manage-marc-import.pl b/tools/manage-marc-import.pl
index 892ffe8..55707aa 100755
--- a/tools/manage-marc-import.pl
+++ b/tools/manage-marc-import.pl
@@ -63,7 +63,7 @@ my %cookies = parse CGI::Cookie($cookie);
 our $sessionID = $cookies{'CGISESSID'}->value;
 our $dbh = C4::Context->dbh;
 
-my $frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] });
+my $frameworks = Koha::BiblioFrameworks->search({ tagfield => { 'not' => undef } }, { join => 'marc_tag_structure', group_by=>'frameworkcode',order_by => ['frameworktext'] });
 $template->param( frameworks => $frameworks );
 
 if ($op eq "create_labels") {
-- 
2.1.4