Bug 7736 [QA Followup] - Fix SQL, Add description field for Library EANs
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 11 Mar 2016 11:58:47 +0000 (11:58 +0000)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Fri, 1 Apr 2016 20:03:18 +0000 (20:03 +0000)
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Koha/Schema/Result/EdifactEan.pm
admin/edi_ean_accounts.pl
installer/data/mysql/atomicupdate/edifact.sql
installer/data/mysql/kohastructure.sql
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/edi_ean.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/edi_ean_accounts.tt

index a9e5011..96dd729 100644 (file)
@@ -26,10 +26,15 @@ __PACKAGE__->table("edifact_ean");
 =head2 ee_id
 
   data_type: 'integer'
-  extra: {unsigned => 1}
   is_auto_increment: 1
   is_nullable: 0
 
+=head2 description
+
+  data_type: 'varchar'
+  is_nullable: 1
+  size: 128
+
 =head2 branchcode
 
   data_type: 'varchar'
@@ -54,12 +59,9 @@ __PACKAGE__->table("edifact_ean");
 
 __PACKAGE__->add_columns(
   "ee_id",
-  {
-    data_type => "integer",
-    extra => { unsigned => 1 },
-    is_auto_increment => 1,
-    is_nullable => 0,
-  },
+  { data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
+  "description",
+  { data_type => "varchar", is_nullable => 1, size => 128 },
   "branchcode",
   { data_type => "varchar", is_foreign_key => 1, is_nullable => 0, size => 10 },
   "ean",
@@ -98,8 +100,8 @@ __PACKAGE__->belongs_to(
 );
 
 
-# Created by DBIx::Class::Schema::Loader v0.07042 @ 2015-06-12 10:22:04
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:WWcMBSXeuzgCPqM0KMxfBg
+# Created by DBIx::Class::Schema::Loader v0.07042 @ 2016-03-11 12:04:29
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wziFbge4g2Ek1lc8Anto+Q
 
 
 # You can replace this text with custom code or comments, and it will be preserved on regeneration
index e9bf1d7..4b32c69 100755 (executable)
@@ -118,6 +118,7 @@ sub addsubmit {
     my $new_ean = $schema->resultset('EdifactEan')->new(
         {
             branchcode        => $input->param('branchcode'),
+            description       => $input->param('description'),
             ean               => $input->param('ean'),
             id_code_qualifier => $input->param('id_code_qualifier'),
         }
@@ -127,6 +128,7 @@ sub addsubmit {
 }
 
 sub editsubmit {
+    warn "DESC: " . $input->param('description');
     $schema->resultset('EdifactEan')->search(
         {
             branchcode => $input->param('oldbranchcode'),
@@ -135,6 +137,7 @@ sub editsubmit {
       )->update_all(
         {
             branchcode        => $input->param('branchcode'),
+            description       => $input->param('description'),
             ean               => $input->param('ean'),
             id_code_qualifier => $input->param('id_code_qualifier'),
         }
index 25ffb07..62b29dd 100644 (file)
@@ -1,23 +1,23 @@
 -- Holds details for vendors supplying goods by EDI
 CREATE TABLE IF NOT EXISTS vendor_edi_accounts (
-  id int(11) NOT NULL auto_increment,
-  description text NOT NULL,
-  host varchar(40),
-  username varchar(40),
-  password varchar(40),
-  last_activity date,
-  vendor_id int(11) references aqbooksellers( id ),
-  download_directory text,
-  upload_directory text,
-  san varchar(20),
-  id_code_qualifier varchar(3) default '14',
-  transport varchar(6) default 'FTP',
-  quotes_enabled tinyint(1) not null default 0,
-  invoices_enabled tinyint(1) not null default 0,
-  orders_enabled tinyint(1) not null default 0,
-  responses_enabled tinyint(1) not null default 0,
-  auto_orders tinyint(1) not null default 0,
-  shipment_budget integer(11) references aqbudgets( budget_id ),
+  id INT(11) NOT NULL auto_increment,
+  description TEXT NOT NULL,
+  host VARCHAR(40),
+  username VARCHAR(40),
+  password VARCHAR(40),
+  last_activity DATE,
+  vendor_id INT(11) REFERENCES aqbooksellers( id ),
+  download_directory TEXT,
+  upload_directory TEXT,
+  san VARCHAR(20),
+  id_code_qualifier VARCHAR(3) default '14',
+  transport VARCHAR(6) default 'FTP',
+  quotes_enabled TINYINT(1) not null default 0,
+  invoices_enabled TINYINT(1) not null default 0,
+  orders_enabled TINYINT(1) not null default 0,
+  responses_enabled TINYINT(1) not null default 0,
+  auto_orders TINYINT(1) not null default 0,
+  shipment_budget INTEGER(11) REFERENCES aqbudgets( budget_id ),
   PRIMARY KEY  (id),
   KEY vendorid (vendor_id),
   KEY shipmentbudget (shipment_budget),
@@ -27,16 +27,16 @@ CREATE TABLE IF NOT EXISTS vendor_edi_accounts (
 
 -- Hold the actual edifact messages with links to associated baskets
 CREATE TABLE IF NOT EXISTS edifact_messages (
-  id int(11) NOT NULL auto_increment,
-  message_type varchar(10) NOT NULL,
-  transfer_date date,
-  vendor_id int(11) references aqbooksellers( id ),
-  edi_acct  integer references vendor_edi_accounts( id ),
-  status text,
-  basketno int(11) REFERENCES aqbasket( basketno),
-  raw_msg mediumtext,
-  filename text,
-  deleted boolean not null default 0,
+  id INT(11) NOT NULL auto_increment,
+  message_type VARCHAR(10) NOT NULL,
+  transfer_date DATE,
+  vendor_id INT(11) REFERENCES aqbooksellers( id ),
+  edi_acct  INTEGER REFERENCES vendor_edi_accounts( id ),
+  status TEXT,
+  basketno INT(11) REFERENCES aqbasket( basketno),
+  raw_msg MEDIUMTEXT,
+  filename TEXT,
+  deleted BOOLEAN NOT NULL DEFAULT 0,
   PRIMARY KEY  (id),
   KEY vendorid ( vendor_id),
   KEY ediacct (edi_acct),
@@ -54,19 +54,20 @@ ALTER TABLE aqinvoices ADD CONSTRAINT edifact_msg_fk FOREIGN KEY ( message_id )
 
 -- Hold the supplier ids from quotes for ordering
 -- although this is an EAN-13 article number the standard says 35 characters ???
-ALTER TABLE aqorders ADD COLUMN line_item_id varchar(35);
+ALTER TABLE aqorders ADD COLUMN line_item_id VARCHAR(35);
 
 -- The suppliers unique reference usually a quotation line number ('QLI')
 -- Otherwise Suppliers unique orderline reference ('SLI')
-ALTER TABLE aqorders ADD COLUMN suppliers_reference_number varchar(35);
-ALTER TABLE aqorders ADD COLUMN suppliers_reference_qualifier varchar(3);
+ALTER TABLE aqorders ADD COLUMN suppliers_reference_number VARCHAR(35);
+ALTER TABLE aqorders ADD COLUMN suppliers_reference_qualifier VARCHAR(3);
 ALTER TABLE aqorders ADD COLUMN suppliers_report text;
 
 -- hold the EAN/SAN used in ordering
 CREATE TABLE IF NOT EXISTS edifact_ean (
-  ee_id integer(11) unsigned not null auto_increment primary key,
+  ee_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+  description VARCHAR(128) NULL DEFAULT NULL,
   branchcode VARCHAR(10) NOT NULL REFERENCES branches (branchcode),
-  ean varchar(15) NOT NULL,
+  ean VARCHAR(15) NOT NULL,
   id_code_qualifier VARCHAR(3) NOT NULL DEFAULT '14',
   CONSTRAINT efk_branchcode FOREIGN KEY ( branchcode ) REFERENCES branches ( branchcode )
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
index cd2496e..9136847 100644 (file)
@@ -3179,24 +3179,24 @@ CREATE TABLE aqorders_transfers (
 
 DROP TABLE IF EXISTS vendor_edi_accounts;
 CREATE TABLE IF NOT EXISTS vendor_edi_accounts (
-  id int(11) NOT NULL auto_increment,
-  description text NOT NULL,
-  host varchar(40),
-  username varchar(40),
-  password varchar(40),
-  last_activity date,
-  vendor_id int(11) references aqbooksellers( id ),
-  download_directory text,
-  upload_directory text,
-  san varchar(20),
-  id_code_qualifier varchar(3) default '14',
-  transport varchar(6) default 'FTP',
-  quotes_enabled tinyint(1) not null default 0,
-  invoices_enabled tinyint(1) not null default 0,
-  orders_enabled tinyint(1) not null default 0,
-  responses_enabled tinyint(1) NOT NULL DEFAULT '0',
-  auto_orders tinyint(1) NOT NULL DEFAULT '0',
-  shipment_budget integer(11) references aqbudgets( budget_id ),
+  id INT(11) NOT NULL auto_increment,
+  description TEXT NOT NULL,
+  host VARCHAR(40),
+  username VARCHAR(40),
+  password VARCHAR(40),
+  last_activity DATE,
+  vendor_id INT(11) REFERENCES aqbooksellers( id ),
+  download_directory TEXT,
+  upload_directory TEXT,
+  san VARCHAR(20),
+  id_code_qualifier VARCHAR(3) default '14',
+  transport VARCHAR(6) default 'FTP',
+  quotes_enabled TINYINT(1) not null default 0,
+  invoices_enabled TINYINT(1) not null default 0,
+  orders_enabled TINYINT(1) not null default 0,
+  responses_enabled TINYINT(1) not null default 0,
+  auto_orders TINYINT(1) not null default 0,
+  shipment_budget INTEGER(11) REFERENCES aqbudgets( budget_id ),
   PRIMARY KEY  (id),
   KEY vendorid (vendor_id),
   KEY shipmentbudget (shipment_budget),
@@ -3210,16 +3210,16 @@ CREATE TABLE IF NOT EXISTS vendor_edi_accounts (
 
 DROP TABLE IF EXISTS edifact_messages;
 CREATE TABLE IF NOT EXISTS edifact_messages (
-  id int(11) NOT NULL auto_increment,
-  message_type varchar(10) NOT NULL,
-  transfer_date date,
-  vendor_id int(11) references aqbooksellers( id ),
-  edi_acct  integer references vendor_edi_accounts( id ),
-  status text,
-  basketno int(11) references aqbasket( basketno),
-  raw_msg mediumtext,
-  filename text,
-  deleted boolean not null default 0,
+  id INT(11) NOT NULL auto_increment,
+  message_type VARCHAR(10) NOT NULL,
+  transfer_date DATE,
+  vendor_id INT(11) REFERENCES aqbooksellers( id ),
+  edi_acct  INTEGER REFERENCES vendor_edi_accounts( id ),
+  status TEXT,
+  basketno INT(11) REFERENCES aqbasket( basketno),
+  raw_msg MEDIUMTEXT,
+  filename TEXT,
+  deleted BOOLEAN NOT NULL DEFAULT 0,
   PRIMARY KEY  (id),
   KEY vendorid ( vendor_id),
   KEY ediacct (edi_acct),
@@ -3714,11 +3714,11 @@ CREATE TABLE audio_alerts (
 
 DROP TABLE IF EXISTS edifact_ean;
 CREATE TABLE IF NOT EXISTS edifact_ean (
-  ee_id int(11) NOT NULL AUTO_INCREMENT,
-  branchcode varchar(10) not null references branches (branchcode),
-  ean varchar(15) NOT NULL,
-  id_code_qualifier varchar(3) NOT NULL default '14',
-  PRIMARY KEY (ee_id),
+  ee_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+  description VARCHAR(128) NULL DEFAULT NULL,
+  branchcode VARCHAR(10) NOT NULL REFERENCES branches (branchcode),
+  ean VARCHAR(15) NOT NULL,
+  id_code_qualifier VARCHAR(3) NOT NULL DEFAULT '14',
   CONSTRAINT efk_branchcode FOREIGN KEY ( branchcode ) REFERENCES branches ( branchcode )
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
index bd30e08..fdf5a31 100644 (file)
     <div id="yui-main">
     <div class="yui-b">
 
-    <h2>Identify the branch account submitting the EDI order</h2>
+    <h2>Select the library account submitting the EDI order</h2>
     <br />
     <form action="/cgi-bin/koha/acqui/basket.pl" method="get">
-         <p>Select ordering branch account: </p>
+         <p>Select ordering library account: </p>
          <select id="ean" name="ean">
              [% FOREACH eanacct IN eans %]
-             <option value="[% eanacct.ean %]">[% eanacct.branch.branchname %] ([% eanacct.ean %])</option>
+             <option value="[% eanacct.ean %]">[% eanacct.branch.branchname %] ([% eanacct.ean %]) [% IF eanacct.description %][[% eanacct.description %]][% END %]</option>
              [% END %]
         </select>
-        <br />
         <input type="hidden" id="basketno" value="[% basketno %]" name="basketno" />
         <input type="hidden" value="ediorder" name="op" />
-        <input type="submit" value="Send EDI order" />
+        <p>
+            <input type="submit" value="Send EDI order" />
+        </p>
     </form>
 </div>
 </div>
index 3191529..4aa2b2c 100644 (file)
@@ -52,8 +52,8 @@
 <form action="/cgi-bin/koha/admin/edi_ean_accounts.pl" name="Eanform" method="post">
   <input type="hidden" name="op" value="save" />
   [% IF ean %]
-      <input type="hidden" name="oldbranchcode" value="[% branchcode %]" />
-      <input type="hidden" name="oldean" value="[% ean %]" />
+      <input type="hidden" name="oldbranchcode" value="[% ean.branch.branchcode %]" />
+      <input type="hidden" name="oldean" value="[% ean.ean %]" />
   [% END %]
 
   <fieldset class="rows">
               </select>
           </li>
           <li>
+             <label for="description">Description: </label>
+             <input type="text" name="description" id="description" size="30" maxlength="64" value="[% ean.description %]" />
+          </li>
+          <li>
              <label for="ean">EAN: </label>
-             <input type="text" name="ean" id="ean`" size="20" maxlength="90" value="[% ean.ean %]" />
+             <input type="text" name="ean" id="ean" size="20" maxlength="90" value="[% ean.ean %]" />
           </li>
           <li>
              <label for="id_code_qualifier">Qualifier: </label>
     <table>
         <tr>
             <th>Library</th>
+            <th>Description</th>
             <th>EAN</th>
             <th>Qualifier</th>
             <th>Actions</th>
         [% FOREACH ean IN eans %]
             [% IF loop.even %]<tr>[% ELSE %]<tr class="highlight">[% END %]
                 <td>[% ean.branch.branchname %]</td>
+                <td>[% ean.description %]</td>
                 <td>[% ean.ean %]</td>
                 <td>
                  [% FOREACH qualifier IN code_qualifiers %]