Invoice from LI seeds invoice data
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 9 May 2011 18:27:42 +0000 (18:27 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 9 May 2011 18:27:42 +0000 (18:27 +0000)
    * When creating a new invoice from a lineitem, seed the invoice with
        provider data from the lineitem.
    * Make money textbox's a little larger to accommodate larger sums
        without scrolling
    * Truncate long titles in lineitem summary view

git-svn-id: svn://svn.open-ils.org/ILS/trunk@20448 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/css/skin/default/acq.css
Open-ILS/web/js/dojo/openils/acq/Lineitem.js
Open-ILS/web/js/ui/default/acq/invoice/view.js
Open-ILS/web/templates/default/acq/invoice/view.tt2

index 664976e..7844e17 100644 (file)
@@ -214,6 +214,7 @@ span[name="notes_alert_flag"] {color: #c00;font-weight: bold;font-size: 110%;mar
 .acq-link-invoice-dialog td,.acq-link-invoice-dialog th {padding-top: 10px;}
 .acq-invoice-paid-col {background : #E0E0E0; text-align: center;}
 .acq-invoice-center-col { text-align: center; }
+.acq-invoice-money { width: 7em; }
 
 .acq-lineitem-summary { font-weight: bold; }
 .acq-lineitem-summary-extra { padding-left: 10px; }
index a52c6c7..4d0ec80 100644 (file)
@@ -181,7 +181,14 @@ openils.acq.Lineitem.fetchAndRender = function(liId, args, callback) {
                         liLink,
                         (po) ? 'foo' : '', // forces class='hiddenfoo' i.e. not hidden
                         (pl) ? 'foo' : '', // ditto
-                    ]
+                    ],
+                    function(str) {
+                        // prevent long titles from filling up the page
+                        var truncSize = 100;
+                        if(str.length > truncSize)
+                            str = str.substring(0, truncSize) + '...';
+                        return str;
+                    }
                 );
 
                 callback(lineitem, displayString);
index 38465b9..e7068b1 100644 (file)
@@ -133,9 +133,22 @@ function doAttachLi() {
 
     //var invoiceArgs = {provider : lineitem.provider(), shipper : lineitem.provider()}; 
     if(cgi.param('create')) {
-        var invoiceArgs = {};
-        invoicePane = drawInvoicePane(dojo.byId('acq-view-invoice-div'), null, invoiceArgs);
+
+        fieldmapper.standardRequest(
+            ['open-ils.acq', 'open-ils.acq.lineitem.retrieve.authoritative'],
+            {
+                params : [openils.User.authtoken, attachLi, {clear_marc:1}],
+                oncomplete : function(r) {
+                    var li = openils.Util.readResponse(r);
+                    invoicePane = drawInvoicePane(
+                        dojo.byId('acq-view-invoice-div'), null, 
+                        {provider : li.provider(), shipper : li.provider()}
+                    );
+                }
+            }
+        );
     }
+
     var entry = new fieldmapper.acqie();
     entry.id(virtualId--);
     entry.isnew(true);
@@ -283,7 +296,7 @@ function addInvoiceItem(item) {
             if(field == 'title' || field == 'author') {
                 //args = {style : 'width:10em'};
             } else if(field == 'cost_billed' || field == 'amount_paid') {
-                args = {required : true, style : 'width: 6em'};
+                args = {required : true, style : 'width: 8em'};
             }
             registerWidget(
                 item,
@@ -430,6 +443,7 @@ function addInvoiceEntry(entry) {
                 ['inv_item_count', 'phys_item_count', 'cost_billed', 'amount_paid'],
                 function(field) {
                     var dijitArgs = {required : true, constraints : {min: 0}, style : 'width:6em'};
+                    if(!field.match(/count/)) dijitArgs.style = 'width:9em';
                     if(entry.isnew() && field == 'phys_item_count') {
                         // by default, attempt to pay for all non-canceled and as-of-yet-un-invoiced items
                         var count = Number(li.order_summary().item_count() || 0) - 
index 526577c..05920f5 100644 (file)
@@ -90,7 +90,7 @@
             </tbody>
             <thead>
                 <tr>
-                    <th colspan='4'/>
+                    <th colspan='3'/>
                     <th class='acq-invoice-center-col' class='acq-invoice-billed-col'>Total</th>
                     <th class='acq-invoice-paid-col'>Total</th>
                     <th class='acq-invoice-center-col' class='acq-invoice-balance-col'>Balance</th>
@@ -98,7 +98,7 @@
             </thead>
             <tbody>
                 <tr>
-                    <td colspan='4' style='text-align:right;'>
+                    <td colspan='3' style='text-align:right;'>
                         <button jsId='invoiceSaveButton' class='hide-complete'
                             dojoType='dijit.form.Button' onclick='saveChanges();'>Save</button>
                         <button jsId='invoiceProrateButton' class='hide-complete'
                                 dojoType='dijit.form.Button' onclick='saveChanges(false, false, true);'>Reopen Invoice</button>
                         </span>
                     </td>
-                    <td class='acq-invoice-center-col'><div jsId='totalInvoicedBox' dojoType='dijit.form.CurrencyTextBox' style='width:6em;'/></td>
-                    <td class='acq-invoice-paid-col'><div jsId='totalPaidBox' dojoType='dijit.form.CurrencyTextBox' style='width:6em;'/></td>
-                    <td class='acq-invoice-center-col'><div jsId='balanceOwedBox' dojoType='dijit.form.CurrencyTextBox' style='width:6em;'/></td>
+                    <td class='acq-invoice-center-col'><div jsId='totalInvoicedBox' dojoType='dijit.form.CurrencyTextBox' style='width:9em;'/></td>
+                    <td class='acq-invoice-paid-col'><div jsId='totalPaidBox' dojoType='dijit.form.CurrencyTextBox' style='width:9em;'/></td>
+                    <td class='acq-invoice-center-col'><div jsId='balanceOwedBox' dojoType='dijit.form.CurrencyTextBox' style='width:9em;'/></td>
                 </tr>
             </tbody>
         </table>