TavernerPOS - Source Code
Clone:
git clone http://www.librarysmith.co.uk/tavernerPOS
viewgit/viewgit/inc/functions.php:49 Function create_function() is deprecated [8192]Automatically save ticket (unless empty) on logout. Re-open users last open ticket on login. For busy bars where users are sharing a terminal.
diff --git a/src/com/floreantpos/main/Application.java b/src/com/floreantpos/main/Application.java
old mode 100644
new mode 100755
index 90abb1d..d4875d8
--- a/src/com/floreantpos/main/Application.java
+++ b/src/com/floreantpos/main/Application.java
@@ -407,12 +407,19 @@ public class Application {
}
else {
rootView.showView(SwitchboardView.getInstance());
+ SwitchboardView.getInstance().loadPreviousOpenTicket();
}
}
public void doLogout() {
currentShift = null;
setCurrentUser(null);
+
+ RootView rootView = getRootView();
+ if (rootView.hasView(OrderView.VIEW_NAME)) {
+ if (rootView.getOrderView().isVisible()) rootView.getOrderView().ticketView.doJustSaveOrder(null);
+ }
+
RootView.getInstance().showView(LoginView.VIEW_NAME);
}
diff --git a/src/com/floreantpos/ui/TicketListView.java b/src/com/floreantpos/ui/TicketListView.java
index 9236bce..b58f229 100755
--- a/src/com/floreantpos/ui/TicketListView.java
+++ b/src/com/floreantpos/ui/TicketListView.java
@@ -272,6 +272,18 @@ public class TicketListView extends JPanel implements ITicketList {
return tickets;
}
+
+ public Ticket getAllOpenTicketsWithUser(User user) {
+
+ List<Ticket> listTicker = TicketDAO.getInstance().findOpenTicketsForUser(user);
+ Ticket ticket;
+ ticket=null;
+ if (listTicker.size()>0) {
+ ticket=listTicker.get(listTicker.size()-1);
+ }
+ return(ticket);
+ }
+
private class TicketListTable extends JXTable {
public TicketListTable() {
diff --git a/src/com/floreantpos/ui/ticket/TicketViewerTableModel.java b/src/com/floreantpos/ui/ticket/TicketViewerTableModel.java
old mode 100644
new mode 100755
index 7aecb97..82fdf09
--- a/src/com/floreantpos/ui/ticket/TicketViewerTableModel.java
+++ b/src/com/floreantpos/ui/ticket/TicketViewerTableModel.java
@@ -166,6 +166,7 @@ public class TicketViewerTableModel extends AbstractTableModel {
}
return false;
}
+
public void removeModifier(TicketItem parent, TicketItemModifier modifierToDelete) {
TicketItemModifierGroup ticketItemModifierGroup = modifierToDelete.getParent();
diff --git a/src/com/floreantpos/ui/views/SwitchboardView.java b/src/com/floreantpos/ui/views/SwitchboardView.java
old mode 100644
new mode 100755
index 4376866..0f5c926
--- a/src/com/floreantpos/ui/views/SwitchboardView.java
+++ b/src/com/floreantpos/ui/views/SwitchboardView.java
@@ -488,7 +488,7 @@ public class SwitchboardView extends ViewPanel implements ActionListener, ITicke
}
}
- private void editTicket(Ticket ticket) {
+ public void editTicket(Ticket ticket) {
if (ticket.isPaid()) {
POSMessageDialog.showMessage(this, Messages.getString("SwitchboardView.14")); //$NON-NLS-1$
return;
@@ -500,6 +500,12 @@ public class SwitchboardView extends ViewPanel implements ActionListener, ITicke
RootView.getInstance().showView(OrderView.VIEW_NAME);
}
+ public void loadPreviousOpenTicket() {
+ User user = Application.getCurrentUser();
+ Ticket ticket=ticketList.getAllOpenTicketsWithUser(user);
+ if (ticket!=null) editTicket(ticket);
+ }
+
private void doCreateNewTicket(final OrderType ticketType) {
try {
OrderServiceExtension orderService = new DefaultOrderServiceExtension();
@@ -722,6 +728,9 @@ public class SwitchboardView extends ViewPanel implements ActionListener, ITicke
public String getViewName() {
return VIEW_NAME;
}
+
+
+
@Override
public void ticketListUpdated() {
diff --git a/src/com/floreantpos/ui/views/order/OrderView.java b/src/com/floreantpos/ui/views/order/OrderView.java
old mode 100644
new mode 100755
index 9fcad1e..5909695
--- a/src/com/floreantpos/ui/views/order/OrderView.java
+++ b/src/com/floreantpos/ui/views/order/OrderView.java
@@ -101,7 +101,7 @@ public class OrderView extends ViewPanel {
private com.floreantpos.swing.TransparentPanel jPanel1;
private com.floreantpos.swing.TransparentPanel midContainer;
private TicketView.ExtraTicketActionPanel othersView;
- private com.floreantpos.ui.views.order.TicketView ticketView;
+ public com.floreantpos.ui.views.order.TicketView ticketView;
// End of variables declaration//GEN-END:variables
private CardLayout cardLayout;
diff --git a/src/com/floreantpos/ui/views/order/TicketView.java b/src/com/floreantpos/ui/views/order/TicketView.java
old mode 100644
new mode 100755
index 78b5449..ccc4094
--- a/src/com/floreantpos/ui/views/order/TicketView.java
+++ b/src/com/floreantpos/ui/views/order/TicketView.java
@@ -6,10 +6,12 @@
package com.floreantpos.ui.views.order;
+import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
+import java.awt.event.FocusEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
@@ -81,6 +83,7 @@ public class TicketView extends JPanel {
public final static String VIEW_NAME = "TICKET_VIEW"; //$NON-NLS-1$
+
public TicketView() {
initComponents();
}
@@ -92,7 +95,10 @@ public class TicketView extends JPanel {
*/
// <editor-fold defaultstate="collapsed"
// desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
+ private void initComponents() {
+
+
+
titledBorder.setTitleJustification(TitledBorder.CENTER);
setBorder(border);
setLayout(new java.awt.BorderLayout(5, 5));
@@ -157,6 +163,8 @@ public class TicketView extends JPanel {
getExtraActionPanel().updateView(null);
setPreferredSize(new java.awt.Dimension(480, 463));
+
+
}// </editor-fold>//GEN-END:initComponents
@@ -358,6 +366,38 @@ public class TicketView extends JPanel {
POSMessageDialog.showError(Application.getPosWindow(), POSConstants.ERROR_MESSAGE, e);
}
}// GEN-LAST:event_doFinishOrder
+
+
+ public synchronized void doJustSaveOrder(java.awt.event.ActionEvent evt) {
+ try {
+
+ if (ticket.getTicketItems() != null && ticket.getTicketItems().size() > 0) {
+ updateModel();
+
+
+
+ TicketDAO ticketDAO = TicketDAO.getInstance();
+
+ if (ticket.getId() == null) {
+ // save ticket first. ticket needs to save so that it
+ // contains an id.
+ OrderController.saveOrder(ticket);
+ ticketDAO.refresh(ticket);
+ }
+
+ OrderController.saveOrder(ticket);
+ }
+
+ } catch (StaleObjectStateException e) {
+ POSMessageDialog.showError(Application.getPosWindow(), Messages.getString("TicketView.22")); //$NON-NLS-1$
+ return;
+ } catch (PosException x) {
+ POSMessageDialog.showError(x.getMessage());
+ } catch (Exception e) {
+ POSMessageDialog.showError(Application.getPosWindow(), POSConstants.ERROR_MESSAGE, e);
+ }
+ }
+
private void closeView(boolean orderCanceled) {
if (TerminalConfig.isCashierMode()) {
@@ -1003,4 +1043,22 @@ public class TicketView extends JPanel {
itemSelectionListener.itemSelected(menuItem);
}
}
+
+ @Override
+ public void processFocusEvent(FocusEvent event) {
+
+ String action = "";
+ switch (event.getID()) {
+ case FocusEvent.FOCUS_GAINED:
+ action="GOT FOCUS";
+ break;
+ case FocusEvent.FOCUS_LOST:
+ action="LOST FOCUS";
+ break;
+ }
+
+
+
+ }
}
+
- Details
- Last Updated: Monday, 04 April 2016 02:04
- Hits: 35073097