use estimed_unit_price directly on the lineitem in JEDI creation. strip protocol...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 13 May 2010 19:05:09 +0000 (19:05 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 13 May 2010 19:05:09 +0000 (19:05 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@16429 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Acq/EDI.pm
Open-ILS/src/perlmods/OpenILS/Utils/RemoteAccount.pm
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/0262.data.acq.jedi_template.sql [new file with mode: 0644]

index 1e303a3..f4fa24b 100644 (file)
@@ -264,9 +264,10 @@ sub field_map {
         $args{remote_path} = $vendor->in_dir;    # override "path" with "in_dir"
     }
     my $host = $args{remote_host} || '';
-    ($host =~ /^(S?FTP):/i    and $args{type} = uc($1)) or
-    ($host =~ /^(SSH|SCP):/i  and $args{type} = 'SCP' ) ;
-     $host =~ /:(\d+)$/       and $args{port} = $1;
+    ($host =~ s/^(S?FTP)://i    and $args{type} = uc($1)) or
+    ($host =~ s/^(SSH|SCP)://i  and $args{type} = 'SCP' ) ;
+     $host =~ s/:(\d+)$//       and $args{port} = $1;
+     ($args{remote_host} = $host) =~ s#/+##;
     $verbose and $logger->warn("field_map: " . Dumper(\%args));
     return %args;
 }
index 89596ac..fb08723 100644 (file)
@@ -498,8 +498,9 @@ sub _uftp {
         $self->{$_} or last;
         push @login_args, $self->{$_};
     }
-    eval { $ftp->login(@login_args) };
-    if ($@) {
+    my $login_ok = 0;
+    eval { $login_ok = $ftp->login(@login_args) };
+    if ($@ or !$login_ok) {
         $logger->error($self->_error("failed login to", $self->remote_host,  "w/ args(" . join(',', @login_args) . ") : $@"));
         return;
     }
index 25ad274..ed8d02d 100644 (file)
@@ -65,7 +65,7 @@ CREATE TABLE config.upgrade_log (
     install_date    TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
 );
 
-INSERT INTO config.upgrade_log (version) VALUES ('0261'); -- miker
+INSERT INTO config.upgrade_log (version) VALUES ('0262'); -- berick
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
index f4b5e6e..a6e928d 100644 (file)
@@ -4737,7 +4737,7 @@ $$[%- USE date -%]
                 {"id-qualifier":"SA","id":"[% li.id %]"},
                 {"id-qualifier":"IB","id":"[% helpers.get_li_attr('isbn', li.attributes) %]"}
             ],
-            "price":[% helpers.get_li_attr('estimated_price', '', li.attributes) %],
+            "price":[% li.estimated_unit_price || '0.00' %],
             "desc":[
                 {"BTI":"[% helpers.get_li_attr('title',     '', li.attributes) %]"}, 
                 {"BPU":"[% helpers.get_li_attr('publisher', '', li.attributes) %]"},
diff --git a/Open-ILS/src/sql/Pg/upgrade/0262.data.acq.jedi_template.sql b/Open-ILS/src/sql/Pg/upgrade/0262.data.acq.jedi_template.sql
new file mode 100644 (file)
index 0000000..99dcaee
--- /dev/null
@@ -0,0 +1,48 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('0262');
+
+UPDATE action_trigger.event_definition SET template =
+$$[%- USE date -%]
+[%# start JEDI document -%]
+[%- BLOCK big_block -%]
+["order", {
+    "po_number":[% target.id %],
+    "date":"[% date.format(date.now, '%Y%m%d') %]",
+    "buyer":[
+        {"id":"[% target.ordering_agency.mailing_address.san %]",
+         "reference":{"API":"[% target.ordering_agency.mailing_address.san %]"}}
+    ],
+    "vendor":[ 
+        "[% target.provider.san %]", // [% target.provider.name %] ([% target.provider.id %])
+        {"id-qualifier":"91", "reference":{"IA":"[% target.provider.id %]"}, "id":"[% target.provider.san %]"}
+    ],
+    "currency":"[% target.provider.currency_type %]",
+    "items":[
+        [% FOR li IN target.lineitems %]
+        {
+            "identifiers":[
+                {"id-qualifier":"SA","id":"[% li.id %]"},
+                {"id-qualifier":"IB","id":"[% helpers.get_li_attr('isbn', li.attributes) %]"}
+            ],
+            "price":[% li.estimated_unit_price || '0.00' %],
+            "desc":[
+                {"BTI":"[% helpers.get_li_attr('title',     '', li.attributes) %]"}, 
+                {"BPU":"[% helpers.get_li_attr('publisher', '', li.attributes) %]"},
+                {"BPD":"[% helpers.get_li_attr('pubdate',   '', li.attributes) %]"},
+                {"BPH":"[% helpers.get_li_attr('pagination','', li.attributes) %]"}
+            ],
+            "quantity":[% li.lineitem_details.size %]
+            [%-# TODO: lineitem details (later) -%]
+        }[% UNLESS loop.last %],[% END -%]
+        [%- END %]
+    ],
+    "line_items":[% target.lineitems.size %]
+}]
+[% END %]
+[% tempo = PROCESS big_block; helpers.escape_json(tempo) %]
+$$
+WHERE id = 23;
+
+COMMIT;
+