Reporting Functionality - Filter by Client
[habeas.git] / src / habeas / MainFrame.java
index 865a403..ec3ce33 100644 (file)
@@ -5,11 +5,11 @@
  */
 package habeas;
 
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import java.util.ArrayList;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.filechooser.FileFilter;
+import javax.swing.filechooser.FileNameExtensionFilter;
 
 /**
  *
@@ -39,6 +39,10 @@ public class MainFrame extends javax.swing.JFrame {
         menuLawyerNotices = new javax.swing.JMenu();
         menuCreateNotice = new javax.swing.JMenuItem();
         menuManageNotices = new javax.swing.JMenuItem();
+        jSeparator1 = new javax.swing.JPopupMenu.Separator();
+        menuGenerateRaisedBills = new javax.swing.JMenuItem();
+        menuNoticesReports = new javax.swing.JMenu();
+        menuAwaitingPayment = new javax.swing.JMenuItem();
         menuSettings = new javax.swing.JMenu();
         menuDatabaseSettings = new javax.swing.JMenuItem();
         menuStationery = new javax.swing.JMenuItem();
@@ -81,6 +85,30 @@ public class MainFrame extends javax.swing.JFrame {
             }
         });
         menuLawyerNotices.add(menuManageNotices);
+        menuLawyerNotices.add(jSeparator1);
+
+        menuGenerateRaisedBills.setMnemonic('G');
+        menuGenerateRaisedBills.setText("Generate Raised Bills...");
+        menuGenerateRaisedBills.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                menuGenerateRaisedBillsActionPerformed(evt);
+            }
+        });
+        menuLawyerNotices.add(menuGenerateRaisedBills);
+
+        menuNoticesReports.setMnemonic('r');
+        menuNoticesReports.setText("Reports");
+
+        menuAwaitingPayment.setMnemonic('a');
+        menuAwaitingPayment.setText("Bills awaiting payment...");
+        menuAwaitingPayment.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                menuAwaitingPaymentActionPerformed(evt);
+            }
+        });
+        menuNoticesReports.add(menuAwaitingPayment);
+
+        menuLawyerNotices.add(menuNoticesReports);
 
         jMenuBar1.add(menuLawyerNotices);
 
@@ -153,6 +181,28 @@ public class MainFrame extends javax.swing.JFrame {
         frm.setVisible(true);
     }//GEN-LAST:event_menuStationeryActionPerformed
 
+    private void menuGenerateRaisedBillsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_menuGenerateRaisedBillsActionPerformed
+        // TODO add your handling code here:
+        GenerateRaisedBillsDialog frm = new GenerateRaisedBillsDialog(this, true);
+        frm.setVisible(true);
+
+    }//GEN-LAST:event_menuGenerateRaisedBillsActionPerformed
+
+    private void menuAwaitingPaymentActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_menuAwaitingPaymentActionPerformed
+        // TODO add your handling code here:
+        NoticesReportViewDialog frm = new NoticesReportViewDialog(this, false);
+        String [] cols = {"Reference Number", "Description", "Bill Date", "Bill Amount", "Client"};
+        ArrayList<Object> data = Utility.getPendingPaymentBills (-1);
+        if (data == null) {
+            JOptionPane.showMessageDialog(this, ERROR_DISPLAYING_REPORT);
+            return;
+        }
+        frm.setupReportTable(REPORT_TITLE_BILLS_AWAITING_PAYMENT, cols, data);
+        frm.setVisible(true);
+    }//GEN-LAST:event_menuAwaitingPaymentActionPerformed
+    private static final String ERROR_DISPLAYING_REPORT = "Error displaying report";
+    private static final String REPORT_TITLE_BILLS_AWAITING_PAYMENT = "Bills Awaiting Payment";
+
     /**
      * @param args the command line arguments
      */
@@ -190,12 +240,16 @@ public class MainFrame extends javax.swing.JFrame {
 
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JMenuBar jMenuBar1;
+    private javax.swing.JPopupMenu.Separator jSeparator1;
+    private javax.swing.JMenuItem menuAwaitingPayment;
     private javax.swing.JMenuItem menuClientMaster;
     private javax.swing.JMenuItem menuCreateNotice;
     private javax.swing.JMenuItem menuDatabaseSettings;
+    private javax.swing.JMenuItem menuGenerateRaisedBills;
     private javax.swing.JMenu menuLawyerNotices;
     private javax.swing.JMenuItem menuManageNotices;
     private javax.swing.JMenu menuMaster;
+    private javax.swing.JMenu menuNoticesReports;
     private javax.swing.JMenu menuSettings;
     private javax.swing.JMenuItem menuStationery;
     // End of variables declaration//GEN-END:variables