Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1749248cf | |||
| a3e297fa61 | |||
| f0c670fd67 | |||
| a23631be46 | |||
| a86418b16d | |||
| 763c06f0c9 | |||
| 1b34fdabb0 | |||
| cab75818b7 | |||
| 5864c6373a | |||
| 0d6b0192d8 | |||
| bedf5b60ad | |||
| 3b0eccae9c | |||
| b8f22b9ae2 | |||
| cefebc3882 | |||
| bfaeedfa34 | |||
| 492990848b | |||
| 3637f8a352 | |||
| 160cd189c8 | |||
| 33c4c39082 | |||
| f5930ee93d | |||
| 83b5c421c2 | |||
| 5fed36a86c | |||
| 6f026636eb | |||
| 9095f02baf | |||
| e81ef4244a | |||
| bdeb625570 | |||
| d40880a7c2 | |||
| e136c11f27 | |||
| c8855c2a57 | |||
| 817168fc88 | |||
| 27ac3f6bb5 | |||
| d1fc482eb5 | |||
| 84c4b2b0b2 | |||
| e9fff7f4a3 | |||
| b7bef162df | |||
| 5b81989f2f | |||
| 90114551ff | |||
| 7a084e37a0 |
@@ -0,0 +1,18 @@
|
||||
name: Java CI with Maven
|
||||
|
||||
on: [workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK 11
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: '11'
|
||||
distribution: 'adopt'
|
||||
cache: maven
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<groupId>com.unicenta</groupId>
|
||||
<artifactId>unicentaopos</artifactId>
|
||||
<version>5.0.2-SNAPSHOT</version>
|
||||
<version>5.3</version>
|
||||
<packaging>jar</packaging>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -153,7 +153,7 @@
|
||||
<dependency>
|
||||
<groupId>org.jpos</groupId>
|
||||
<artifactId>jpos</artifactId>
|
||||
<version>2.0.10</version>
|
||||
<version>2.1.9</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
@@ -302,7 +302,7 @@
|
||||
<artifactId>reflections</artifactId>
|
||||
<version>0.9.12</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/de.sciss/weblaf -->
|
||||
<!-- https://mvnrepository.com/artifact/de.sciss/weblaf
|
||||
<dependency>
|
||||
<groupId>de.sciss</groupId>
|
||||
<artifactId>weblaf</artifactId>
|
||||
@@ -321,11 +321,26 @@
|
||||
<artifactId>slf4j-simple</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.unicenta</groupId>
|
||||
<artifactId>unicenta-plugins</artifactId>
|
||||
<version>1.2</version>
|
||||
<version>1.2.6</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>de.sciss</groupId>
|
||||
<artifactId>weblaf</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>de.sciss</groupId>
|
||||
<artifactId>weblaf-core</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>de.sciss</groupId>
|
||||
<artifactId>weblaf-ui</artifactId>
|
||||
</exclusion>
|
||||
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.gluonhq</groupId>
|
||||
@@ -386,10 +401,14 @@
|
||||
<version>9.4.1208</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>de.sciss</groupId>
|
||||
<groupId>com.weblookandfeel</groupId>
|
||||
<artifactId>weblaf-ui</artifactId>
|
||||
<version>2.1.3</version>
|
||||
<type>jar</type>
|
||||
<version>1.2.14</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.8.9</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/junit/junit -->
|
||||
<dependency>
|
||||
@@ -549,34 +568,27 @@
|
||||
<finalName>unicentaopos</finalName>
|
||||
</build>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>central</id>
|
||||
<url>https://repo1.maven.org/maven2/</url>
|
||||
<layout>default</layout>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>charm-glisten</id>
|
||||
<name>charm-glisten Repository</name>
|
||||
<url>https://nexus.gluonhq.com/nexus/content/repositories/releases/</url>
|
||||
<layout>default</layout>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>unicenta-repo</id>
|
||||
<url>https://repo.unicenta.org/maven2/</url>
|
||||
<layout>default</layout>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>central</id>
|
||||
<url>https://repo1.maven.org/maven2/</url>
|
||||
<layout>default</layout>
|
||||
</repository>
|
||||
<!--These are needed for Swing/Netbeans
|
||||
<repository>
|
||||
<id>netbeans</id>
|
||||
<name>NetBeans</name>
|
||||
<url>https://netbeans.apidesign.org/maven2/</url>
|
||||
</repository>-->
|
||||
<!--These are needed for Swing/Netbeans -->
|
||||
<repository>
|
||||
<id>flatlaf</id>
|
||||
<name>flatlaf</name>
|
||||
<url>https://dev.webswing.org/public/nexus/repository/webswing-3rd-parties//</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>unicenta-repo</id>
|
||||
<url>https://repo.unicenta.org/maven2/</url>
|
||||
<layout>default</layout>
|
||||
</repository>
|
||||
</repositories>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
|
||||
@@ -52,6 +52,7 @@ public class JPanelConfigPayment extends javax.swing.JPanel implements PanelConf
|
||||
initPayments("Not defined", new ConfigPaymentPanelEmpty());
|
||||
initPayments("external", new ConfigPaymentPanelEmpty());
|
||||
initPayments("PaymentSense", new ConfigPaymentPanelEmpty());
|
||||
initPayments("Teya", new ConfigPaymentPanelEmpty());
|
||||
|
||||
// Lector de tarjetas.
|
||||
jcboCardReader.addItem("Not defined");
|
||||
@@ -277,6 +278,12 @@ public class JPanelConfigPayment extends javax.swing.JPanel implements PanelConf
|
||||
emvConfigPanel.setVisible(Boolean.TRUE);
|
||||
jcboCardReader.setSelectedItem("EMV");
|
||||
jcboCardReader.setEnabled(Boolean.FALSE);
|
||||
|
||||
}
|
||||
else if (comboValue(jcboPaymentGateway.getSelectedItem()).equals("Teya")) {
|
||||
emvConfigPanel.setVisible(Boolean.FALSE);
|
||||
jcboCardReader.setSelectedItem("EMV");
|
||||
jcboCardReader.setEnabled(Boolean.FALSE);
|
||||
}
|
||||
else {
|
||||
emvConfigPanel.setVisible(Boolean.FALSE);
|
||||
|
||||
@@ -1961,7 +1961,7 @@ public class JPanelConfigPeripheral extends javax.swing.JPanel implements PanelC
|
||||
webSlider.setSnapToTicks(true);
|
||||
webSlider.setToolTipText("");
|
||||
webSlider.setValue(5);
|
||||
webSlider.setAnimated(false);
|
||||
//webSlider.setAnimated(false);
|
||||
webSlider.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
||||
webSlider.setPreferredSize(new java.awt.Dimension(270, 47));
|
||||
webSlider.addChangeListener(new javax.swing.event.ChangeListener() {
|
||||
|
||||
@@ -30,7 +30,7 @@ public class AppLocal {
|
||||
|
||||
public static final String APP_NAME = "uniCenta oPOS";
|
||||
public static final String APP_ID = "unicentaopos";
|
||||
public static final String APP_VERSION = "5.0.1";
|
||||
public static final String APP_VERSION = "5.3";
|
||||
|
||||
private static final LocaleResources m_resources;
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
package com.unicenta.pos.forms;
|
||||
|
||||
//import com.alee.extended.statusbar.WebMemoryBar;
|
||||
import com.dalsemi.onewire.OneWireAccessProvider;
|
||||
import com.dalsemi.onewire.OneWireException;
|
||||
import com.dalsemi.onewire.adapter.DSPortAdapter;
|
||||
@@ -194,8 +195,8 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
|
||||
initComponents();
|
||||
jScrollPane1.getVerticalScrollBar().setPreferredSize(new Dimension(30, 30));
|
||||
serverMonitor.setVisible(false);
|
||||
webMemoryBar1.setShowMaximumMemory(true);
|
||||
//serverMonitor.setVisible(false);
|
||||
//webMemoryBar1.setShowMaximumMemory(true);
|
||||
}
|
||||
|
||||
private DSPortAdapter m_oneWireAdapter;
|
||||
@@ -935,7 +936,7 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
}
|
||||
|
||||
private int getProgressBar() {
|
||||
int rate = serverMonitor.getValue();
|
||||
int rate = 1;
|
||||
return rate;
|
||||
}
|
||||
|
||||
@@ -944,7 +945,7 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
* This method is for the future. Connects and will include both servers + backup server
|
||||
* Tested locally on JG machine and unicenta-server
|
||||
*/
|
||||
serverMonitor.setString("Checking...");
|
||||
//serverMonitor.setString("Checking...");
|
||||
|
||||
InetAddress addr = InetAddress.getByName(AppLocal.getIntString("db.ip"));
|
||||
int port = 3306;
|
||||
@@ -953,8 +954,8 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
Socket sock = new Socket();
|
||||
try {
|
||||
sock.connect(sockaddr, 2000);
|
||||
serverMonitor.setString("Server is alive!");
|
||||
serverMonitor.setValue(0);
|
||||
//serverMonitor.setString("Server is alive!");
|
||||
//serverMonitor.setValue(0);
|
||||
return true;
|
||||
} catch (IOException ex) {
|
||||
log.error(ex.getMessage());
|
||||
@@ -991,8 +992,8 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
m_jPanelDown = new javax.swing.JPanel();
|
||||
panelTask = new javax.swing.JPanel();
|
||||
m_jHost = new javax.swing.JLabel();
|
||||
webMemoryBar1 = new com.alee.extended.statusbar.WebMemoryBar();
|
||||
serverMonitor = new com.alee.laf.progressbar.WebProgressBar();
|
||||
//webMemoryBar1 = new com.alee.extended.statusbar.WebMemoryBar();
|
||||
serverMonitor = null;
|
||||
jPanel3 = new javax.swing.JPanel();
|
||||
|
||||
setEnabled(false);
|
||||
@@ -1152,23 +1153,23 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
m_jHost.setText("*Hostname");
|
||||
panelTask.add(m_jHost);
|
||||
|
||||
webMemoryBar1.setBackground(new java.awt.Color(153, 153, 153));
|
||||
webMemoryBar1.setText("");
|
||||
webMemoryBar1.setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
|
||||
webMemoryBar1.setPreferredSize(new java.awt.Dimension(150, 30));
|
||||
webMemoryBar1.setUsedBorderColor(new java.awt.Color(0, 204, 204));
|
||||
webMemoryBar1.setUsedFillColor(new java.awt.Color(0, 204, 255));
|
||||
panelTask.add(webMemoryBar1);
|
||||
//webMemoryBar1.setBackground(new java.awt.Color(153, 153, 153));
|
||||
//webMemoryBar1.setText("");
|
||||
//webMemoryBar1.setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
|
||||
//webMemoryBar1.setPreferredSize(new java.awt.Dimension(150, 30));
|
||||
//webMemoryBar1.setUsedBorderColor(new java.awt.Color(0, 204, 204));
|
||||
//webMemoryBar1.setUsedFillColor(new java.awt.Color(0, 204, 255));
|
||||
//panelTask.add(webMemoryBar1);
|
||||
|
||||
serverMonitor.setToolTipText("");
|
||||
serverMonitor.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
||||
serverMonitor.setMaximumSize(new java.awt.Dimension(50, 18));
|
||||
serverMonitor.setPreferredSize(new java.awt.Dimension(150, 30));
|
||||
serverMonitor.setProgressBottomColor(new java.awt.Color(76, 197, 237));
|
||||
serverMonitor.setRound(2);
|
||||
serverMonitor.setString("Keep Alive");
|
||||
serverMonitor.setStringPainted(true);
|
||||
panelTask.add(serverMonitor);
|
||||
//serverMonitor.setToolTipText("");
|
||||
//serverMonitor.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
||||
//serverMonitor.setMaximumSize(new java.awt.Dimension(50, 18));
|
||||
//serverMonitor.setPreferredSize(new java.awt.Dimension(150, 30));
|
||||
//serverMonitor.setProgressBottomColor(new java.awt.Color(76, 197, 237));
|
||||
//serverMonitor.setRound(2);
|
||||
//serverMonitor.setString("Keep Alive");
|
||||
//serverMonitor.setStringPainted(true);
|
||||
//panelTask.add(serverMonitor);
|
||||
|
||||
m_jPanelDown.add(panelTask, java.awt.BorderLayout.LINE_START);
|
||||
m_jPanelDown.add(jPanel3, java.awt.BorderLayout.LINE_END);
|
||||
@@ -1212,6 +1213,6 @@ public class JRootApp extends JPanel implements AppView, DeviceMonitorEventListe
|
||||
private javax.swing.JPanel panelTask;
|
||||
private javax.swing.JLabel poweredby;
|
||||
private com.alee.laf.progressbar.WebProgressBar serverMonitor;
|
||||
private com.alee.extended.statusbar.WebMemoryBar webMemoryBar1;
|
||||
//private com.alee.extended.statusbar.WebMemoryBar webMemoryBar1;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
}
|
||||
@@ -487,7 +487,7 @@ public final class ProductsEditor extends javax.swing.JPanel implements EditorRe
|
||||
myprod[28] = m_UomModel.getSelectedKey();
|
||||
myprod[29] = Formats.TIMESTAMP.parseValue(m_jdate.getText());
|
||||
|
||||
myprod[30] = m_jInCatalog.isSelected();
|
||||
myprod [30] = m_jInCatalog.isSelected();
|
||||
myprod[31] = Formats.INT.parseValue(m_jCatalogOrder.getText());
|
||||
|
||||
if (m_jName.getText().contains("&")) {
|
||||
|
||||
@@ -39,6 +39,8 @@ public class PaymentGatewayFac {
|
||||
return new PaymentGatewayExt();
|
||||
case "PaymentSense":
|
||||
return new PaymentGatewayPaymentSense();
|
||||
case "Teya":
|
||||
return new PaymentGatewayTeya();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Slf4j
|
||||
public class PaymentGatewayPaymentSense implements PaymentGateway {
|
||||
@@ -34,13 +35,26 @@ public class PaymentGatewayPaymentSense implements PaymentGateway {
|
||||
public PaymentGatewayPaymentSense() {
|
||||
}
|
||||
|
||||
Window getPaymentWindow() {
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window.isActive()) {
|
||||
return window;
|
||||
Window getPaymentWindow(double amount) {
|
||||
if (amount > 0) {
|
||||
ArrayList<JPaymentSelectReceipt> paymentWindows = new ArrayList<>();
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window instanceof JPaymentSelectReceipt) {
|
||||
paymentWindows.add((JPaymentSelectReceipt) window);
|
||||
}
|
||||
}
|
||||
return paymentWindows.get(paymentWindows.size()-1);
|
||||
}
|
||||
return null;
|
||||
else {
|
||||
ArrayList<JPaymentSelectRefund> paymentWindows = new ArrayList<>();
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window instanceof JPaymentSelectRefund) {
|
||||
paymentWindows.add((JPaymentSelectRefund) window);
|
||||
}
|
||||
}
|
||||
return paymentWindows.get(paymentWindows.size()-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,7 +67,8 @@ public class PaymentGatewayPaymentSense implements PaymentGateway {
|
||||
int timer = 0;
|
||||
int timeout = 180;
|
||||
|
||||
new Application().paymentSenseTransaction(RoundUtils.round(payinfo.getTotal()), getPaymentWindow());
|
||||
double roundedValue = RoundUtils.round(payinfo.getTotal());
|
||||
new Application().paymentSenseTransaction(roundedValue, getPaymentWindow(roundedValue));
|
||||
|
||||
while (AppContext.getIsProcessing() == null || AppContext.getIsProcessing()) {
|
||||
try {
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
// uniCenta oPOS - Touch Friendly Point Of Sale
|
||||
// Copyright (c) 2009-2018 uniCenta & previous Openbravo POS works
|
||||
// https://unicenta.com
|
||||
//
|
||||
// This file is part of uniCenta oPOS
|
||||
//
|
||||
// uniCenta oPOS is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// uniCenta oPOS is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package com.unicenta.pos.payment;
|
||||
|
||||
import com.unicenta.plugins.Application;
|
||||
import com.unicenta.plugins.common.AppContext;
|
||||
import com.unicenta.pos.util.RoundUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Slf4j
|
||||
public class PaymentGatewayTeya implements PaymentGateway {
|
||||
|
||||
/** Creates a new instance of PaymentGatewayExt */
|
||||
public PaymentGatewayTeya() {
|
||||
}
|
||||
|
||||
Window getPaymentWindow(double amount) {
|
||||
if (amount > 0) {
|
||||
ArrayList<JPaymentSelectReceipt> paymentWindows = new ArrayList<>();
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window instanceof JPaymentSelectReceipt) {
|
||||
paymentWindows.add((JPaymentSelectReceipt) window);
|
||||
}
|
||||
}
|
||||
return paymentWindows.get(paymentWindows.size()-1);
|
||||
}
|
||||
else {
|
||||
ArrayList<JPaymentSelectRefund> paymentWindows = new ArrayList<>();
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window instanceof JPaymentSelectRefund) {
|
||||
paymentWindows.add((JPaymentSelectRefund) window);
|
||||
}
|
||||
}
|
||||
return paymentWindows.get(paymentWindows.size()-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param payinfo
|
||||
*/
|
||||
@Override
|
||||
public void execute(PaymentInfoMagcard payinfo) {
|
||||
|
||||
int timer = 0;
|
||||
int timeout = 150;
|
||||
|
||||
double roundedValue = RoundUtils.round(payinfo.getTotal());
|
||||
|
||||
new Application().teyaTransaction(roundedValue, getPaymentWindow(roundedValue), payinfo.getTransactionID());
|
||||
|
||||
while (AppContext.getTeyaPaymentResult() == null) {
|
||||
try {
|
||||
log.info("uniCenta-oPos: waiting for payment to complete ....");
|
||||
Thread.sleep(1000);
|
||||
timer += 1;
|
||||
if (timer > timeout) break;
|
||||
} catch (InterruptedException e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
if (AppContext.getTeyaPaymentResult().getStatus().equals("SUCCESSFUL")) {
|
||||
payinfo.setCardName("Teya");
|
||||
payinfo.setVerification("Chip and Pin");
|
||||
payinfo.setChipAndPin(true);
|
||||
payinfo.paymentOK(
|
||||
roundedValue > 0 ? AppContext.getTeyaPaymentResult().getReferenceId() : "",
|
||||
roundedValue > 0 ? AppContext.getTeyaPaymentResult().getGatewayPaymentId() : "",
|
||||
AppContext.getTeyaPaymentResult().getStatus()
|
||||
);
|
||||
}
|
||||
else {
|
||||
payinfo.paymentError("Transaction Error! Please try again", AppContext.getTeyaPaymentResult().getStatus());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -33,17 +33,17 @@ import com.unicenta.pos.sales.ReprintTicketInfo;
|
||||
import com.unicenta.pos.sales.SharedTicketInfo;
|
||||
import com.unicenta.pos.sales.TicketsEditor;
|
||||
import com.unicenta.pos.ticket.TicketInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JG uniCenta
|
||||
*/
|
||||
@Slf4j
|
||||
public class JTicketsBagShared extends JTicketsBag {
|
||||
|
||||
private String m_sCurrentTicket = null;
|
||||
@@ -76,6 +76,24 @@ public class JTicketsBagShared extends JTicketsBag {
|
||||
@Override
|
||||
public void activate() {
|
||||
|
||||
log.debug("Loading Sales screen! "+this.getClass());
|
||||
|
||||
SwingWorker<String, String> reloadLayaway = new SwingWorker<>() {
|
||||
@Override
|
||||
protected String doInBackground() throws Exception {
|
||||
while (true) {
|
||||
log.debug("refresh screen");
|
||||
updateCount();
|
||||
Thread.sleep(5000);
|
||||
}
|
||||
|
||||
//return null;
|
||||
}
|
||||
};
|
||||
|
||||
reloadLayaway.execute();
|
||||
|
||||
|
||||
m_sCurrentTicket = null;
|
||||
selectValidTicket();
|
||||
|
||||
@@ -362,9 +380,9 @@ public class JTicketsBagShared extends JTicketsBag {
|
||||
|| m_App.getAppUserView().getUser().hasPermission("sales.ViewSharedTicket")
|
||||
|| m_App.getAppUserView().getUser().hasPermission("sales.Override"))
|
||||
{
|
||||
List<SharedTicketInfo> l = dlReceipts.getSharedTicketList();
|
||||
List<SharedTicketInfo> sharedTicketList = dlReceipts.getSharedTicketList();
|
||||
JTicketsBagSharedList listDialog = JTicketsBagSharedList.newJDialog(JTicketsBagShared.this);
|
||||
String id = listDialog.showTicketsList(l, dlReceipts);
|
||||
String id = listDialog.showTicketsList(sharedTicketList, dlReceipts);
|
||||
|
||||
if (id != null) {
|
||||
saveCurrentTicket();
|
||||
|
||||
@@ -283,7 +283,7 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
try {
|
||||
txtOut.append("Adding Foreign Keys" + "\n");
|
||||
webPBar.setString("Adding Keys...");
|
||||
webPBar.setBgBottom(Color.MAGENTA);
|
||||
//webPBar.setBgBottom(Color.MAGENTA);
|
||||
BatchSentence bsentence = new BatchSentenceResource(session_target, targetFKadd);
|
||||
|
||||
java.util.List l = bsentence.list();
|
||||
@@ -2059,7 +2059,7 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
txtOut.append("Data Transfer Complete" + "\n");
|
||||
|
||||
webPBar.setString("Finished!");
|
||||
webPBar.setBgBottom(Color.GREEN);
|
||||
//webPBar.setBgBottom(Color.GREEN);
|
||||
jbtnTransfer.setEnabled(true);
|
||||
|
||||
JOptionPane.showMessageDialog(this
|
||||
@@ -2204,7 +2204,7 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
jlblDBSize = new javax.swing.JLabel();
|
||||
jtxtDbName = new com.alee.laf.text.WebTextField();
|
||||
jbtnTransfer = new javax.swing.JButton();
|
||||
webMemoryBar = new com.alee.extended.statusbar.WebMemoryBar();
|
||||
//webMemoryBar = new com.alee.extended.statusbar.WebMemoryBar();
|
||||
jLabel10 = new javax.swing.JLabel();
|
||||
jLabel15 = new javax.swing.JLabel();
|
||||
jbtnSet = new javax.swing.JButton();
|
||||
@@ -2352,9 +2352,9 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
});
|
||||
|
||||
webPBar.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
|
||||
webPBar.setHighlightDarkWhite(new java.awt.Color(204, 0, 0));
|
||||
//webPBar.setHighlightDarkWhite(new java.awt.Color(204, 0, 0));
|
||||
webPBar.setPreferredSize(new java.awt.Dimension(240, 30));
|
||||
webPBar.setProgressBottomColor(new java.awt.Color(0, 153, 255));
|
||||
//webPBar.setProgressBottomColor(new java.awt.Color(0, 153, 255));
|
||||
|
||||
jtxtDbServerPort.setForeground(new java.awt.Color(51, 51, 51));
|
||||
jtxtDbServerPort.setToolTipText(bundle.getString("tootltip.servernameport")); // NOI18N
|
||||
@@ -2450,13 +2450,13 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
}
|
||||
});
|
||||
|
||||
webMemoryBar.setBackground(new java.awt.Color(153, 153, 153));
|
||||
webMemoryBar.setText("Text");
|
||||
webMemoryBar.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
||||
webMemoryBar.setPreferredSize(new java.awt.Dimension(150, 30));
|
||||
webMemoryBar.setUsedBorderColor(new java.awt.Color(0, 204, 204));
|
||||
webMemoryBar.setUsedFillColor(new java.awt.Color(0, 204, 255));
|
||||
|
||||
//webMemoryBar.setBackground(new java.awt.Color(153, 153, 153));
|
||||
//webMemoryBar.setText("Text");
|
||||
//webMemoryBar.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
||||
//webMemoryBar.setPreferredSize(new java.awt.Dimension(150, 30));
|
||||
//webMemoryBar.setUsedBorderColor(new java.awt.Color(0, 204, 204));
|
||||
//webMemoryBar.setUsedFillColor(new java.awt.Color(0, 204, 255));
|
||||
//
|
||||
jLabel10.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
||||
jLabel10.setForeground(new java.awt.Color(102, 102, 102));
|
||||
jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
@@ -2531,7 +2531,7 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
.addComponent(jLabel15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(webMemoryBar, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(null, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)))
|
||||
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
||||
.addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
@@ -2550,7 +2550,7 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jCBSchema, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(webMemoryBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(null, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jtxtDbParams, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
@@ -3011,7 +3011,7 @@ public final class Transfer extends JPanel implements JPanelView {
|
||||
private com.alee.laf.text.WebPasswordField txtDbPass;
|
||||
private com.alee.laf.text.WebTextField txtDbUser;
|
||||
private javax.swing.JTextArea txtOut;
|
||||
private com.alee.extended.statusbar.WebMemoryBar webMemoryBar;
|
||||
//private com.alee.extended.statusbar.WebMemoryBar webMemoryBar;
|
||||
private com.alee.laf.progressbar.WebProgressBar webPBar;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
|
||||
@@ -1,7 +1 @@
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.Linediscount.txt} WHERE name = 'script.Linediscount';
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.Totaldiscount.txt} WHERE name = 'script.Totaldiscount';
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.multibuy.txt} WHERE name = 'script.multibuy';
|
||||
|
||||
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
|
||||
@@ -336,7 +336,7 @@ CREATE TABLE `products` (
|
||||
`stockunits` double NOT NULL default '0',
|
||||
`printto` varchar(255) default '1',
|
||||
`supplier` varchar(255) default NULL,
|
||||
`uom` varchar(255) default '0',
|
||||
`uom` varchar(255) default '0',
|
||||
`memodate` datetime default '2018-01-01 00:00:01',
|
||||
|
||||
PRIMARY KEY ( `id` ),
|
||||
|
||||
@@ -1,70 +1,2 @@
|
||||
-- CLEAR THE DECKS
|
||||
DELETE FROM sharedtickets;
|
||||
|
||||
-- Switch OFF table foreign key relationships
|
||||
set foreign_key_checks = 0;
|
||||
|
||||
-- RECREATE applications table
|
||||
DROP TABLE `applications`;
|
||||
CREATE TABLE IF NOT EXISTS `applications` (
|
||||
`id` varchar(255) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`version` varchar(255) NOT NULL,
|
||||
`instdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY ( `id` )
|
||||
) ENGINE = InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT = Compact;
|
||||
|
||||
|
||||
-- SYSTEM
|
||||
DELETE FROM resources WHERE name = 'script.posapps';
|
||||
|
||||
|
||||
DELETE FROM resources WHERE id = '0';
|
||||
DELETE FROM resources WHERE id = '00';
|
||||
INSERT INTO resources(id, name, restype, content) VALUES('00', 'Menu.Root', 0, $FILE{/com/unicenta/pos/templates/Menu.Root.txt});
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Ticket.Buttons.xml} WHERE name = 'Ticket.Buttons';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Printer.Ticket.xml} WHERE name = 'Printer.Ticket';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Ticket.Close.xml} WHERE name = 'Ticket.Close';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Cash.Close.xml} WHERE name = 'Cash.Close';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.created.xml} WHERE name = 'Customer.Created';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.deleted.xml} WHERE name = 'Customer.Deleted';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.updated.xml} WHERE name = 'Customer.Updated';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.Linediscount.txt} WHERE name = 'script.Linediscount';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.Totaldiscount.txt} WHERE name = 'script.Totaldiscount';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.multibuy.txt} WHERE name = 'script.multibuy';
|
||||
COMMIT;
|
||||
|
||||
-- ROLES
|
||||
DELETE FROM roles WHERE id = '0';
|
||||
INSERT INTO roles(id, name, permissions) VALUES('0', 'Administrator role', $FILE{/com/unicenta/pos/templates/Role.Administrator.xml} );
|
||||
DELETE FROM roles WHERE id = '1';
|
||||
INSERT INTO roles(id, name, permissions) VALUES('1', 'Manager role', $FILE{/com/unicenta/pos/templates/Role.Manager.xml} );
|
||||
DELETE FROM roles WHERE id = '2';
|
||||
INSERT INTO roles(id, name, permissions) VALUES('2', 'Employee role', $FILE{/com/unicenta/pos/templates/Role.Employee.xml} );
|
||||
|
||||
|
||||
-- Switch ON table foreign key relationships
|
||||
set foreign_key_checks = 1;
|
||||
|
||||
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, $APP_VERSION{});
|
||||
|
||||
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
|
||||
COMMIT;
|
||||
@@ -1,70 +1,2 @@
|
||||
-- CLEAR THE DECKS
|
||||
DELETE FROM sharedtickets;
|
||||
|
||||
-- Switch OFF table foreign key relationships
|
||||
set foreign_key_checks = 0;
|
||||
|
||||
-- RECREATE applications table
|
||||
DROP TABLE `applications`;
|
||||
CREATE TABLE IF NOT EXISTS `applications` (
|
||||
`id` varchar(255) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`version` varchar(255) NOT NULL,
|
||||
`instdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY ( `id` )
|
||||
) ENGINE = InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT = Compact;
|
||||
|
||||
|
||||
-- SYSTEM
|
||||
DELETE FROM resources WHERE name = 'script.posapps';
|
||||
|
||||
|
||||
DELETE FROM resources WHERE id = '0';
|
||||
DELETE FROM resources WHERE id = '00';
|
||||
INSERT INTO resources(id, name, restype, content) VALUES('00', 'Menu.Root', 0, $FILE{/com/unicenta/pos/templates/Menu.Root.txt});
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Ticket.Buttons.xml} WHERE name = 'Ticket.Buttons';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Printer.Ticket.xml} WHERE name = 'Printer.Ticket';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Ticket.Close.xml} WHERE name = 'Ticket.Close';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/Cash.Close.xml} WHERE name = 'Cash.Close';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.created.xml} WHERE name = 'Customer.Created';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.deleted.xml} WHERE name = 'Customer.Deleted';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/customer.updated.xml} WHERE name = 'Customer.Updated';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.Linediscount.txt} WHERE name = 'script.Linediscount';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.Totaldiscount.txt} WHERE name = 'script.Totaldiscount';
|
||||
COMMIT;
|
||||
|
||||
UPDATE resources SET content = $FILE{/com/unicenta/pos/templates/script.multibuy.txt} WHERE name = 'script.multibuy';
|
||||
COMMIT;
|
||||
|
||||
-- ROLES
|
||||
DELETE FROM roles WHERE id = '0';
|
||||
INSERT INTO roles(id, name, permissions) VALUES('0', 'Administrator role', $FILE{/com/unicenta/pos/templates/Role.Administrator.xml} );
|
||||
DELETE FROM roles WHERE id = '1';
|
||||
INSERT INTO roles(id, name, permissions) VALUES('1', 'Manager role', $FILE{/com/unicenta/pos/templates/Role.Manager.xml} );
|
||||
DELETE FROM roles WHERE id = '2';
|
||||
INSERT INTO roles(id, name, permissions) VALUES('2', 'Employee role', $FILE{/com/unicenta/pos/templates/Role.Employee.xml} );
|
||||
|
||||
|
||||
-- Switch ON table foreign key relationships
|
||||
set foreign_key_checks = 1;
|
||||
|
||||
INSERT INTO applications(id, name, version) VALUES($APP_ID{}, $APP_NAME{}, $APP_VERSION{});
|
||||
|
||||
UPDATE applications SET version = $APP_VERSION{} WHERE id = $APP_ID{};
|
||||
COMMIT;
|
||||
@@ -218,7 +218,6 @@
|
||||
<line><text>Tranx ID : </text><text>${paymentline.printTransactionID()}</text></line>
|
||||
<line><text>Auth Code : </text><text>${paymentline.printAuthorization()}</text></line>
|
||||
<line><text>Verified By : </text><text>${paymentline.printVerification()}</text></line>
|
||||
<line><text>Card # (last 4) : </text><text>${paymentline.printLastFourDigits()}</text></line>
|
||||
#end
|
||||
#if (!$paymentline.chipAndPin)
|
||||
<line size="1"><text align="center" length="42" bold="true">CARD SALE</text></line>
|
||||
|
||||
@@ -881,7 +881,7 @@ message.email=Desktop email app' not found
|
||||
message.emptycustomer=Customer cannot be empty
|
||||
message.emptynumber=Number cannot be empty
|
||||
message.enterbuyprice=Enter new Buy Price
|
||||
message.eolupdate=<html><center><h2>Version 5.0.1 Upgrade!</h2></br><h3>Your current database version is {0}</h3><br>For version 5.0 click <b>YES</b><br/><br/>For any other version click <b>NO</b> and get to 5.0 first<br><br/>
|
||||
message.eolupdate=<html><center><h2>Version 5.3 Upgrade!</h2></br><h3>Your current database version is {0}</h3><br>For version 5.2 click <b>YES</b><br/><br/>For any other version click <b>NO</b> and get to 5.2 first<br><br/>
|
||||
message.ibuttonassign=<html><center>Get the iButton ID<br>Place iButton onto the reader then click OK
|
||||
message.ibuttonnotassign=<html><center>The iButton used is not yet assigned to anyone
|
||||
message.ibuttonnotfound=No iButton adapter found. Key fobs will be disabled.
|
||||
|
||||
@@ -1190,4 +1190,4 @@ cboption.find=Buscar
|
||||
button.prodhtmldisplayFont=Tipo de fuente
|
||||
button.prodhtmldisplayImage=Imagen
|
||||
label.csvclear=Diario de importaci\u00f3n
|
||||
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 4.5 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
|
||||
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 5.2 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
|
||||
@@ -468,4 +468,4 @@ transpayment.ticket=Ticket
|
||||
transpayment.voucherin=Vales cobrados
|
||||
transpayment.voucherout=Vales emitidos
|
||||
Visor.Title=uniCenta oPOS
|
||||
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 4.5 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
|
||||
message.eolupdate=<html><center><h3>uniCenta oPOS Versi\u00f3n {0} detectada!</h3><h4>\u00a1Las actualizaciones de la versi\u00f3n est\u00e1n cambiando!</h4> Si su versi\u00f3n es 5.2 o posterior, elija <b>S\u00cd</b> para continuar.<br/><br/> Para versiones anteriores, haga clic en <b>NO</b> para abrir Opciones de configuraci\u00f3n ahora.<br/></br>Lea la Gu\u00eda de transferencia de datos de uniCenta oPOS
|
||||
@@ -911,7 +911,7 @@ message.transfermessage=Database overdracht
|
||||
message.transfernotsupported=Database overdrachtstype wordt niet ondersteund
|
||||
message.transfertitle=Database overdracht
|
||||
message.updatedatabase=<html><center><h3>uniCenta oPOS Version {0} database gedetecteerd!</h3> De database wordt automatisch geüpgraded.<br>GEGEVENS KUNNEN VERLOREN GAAN. MAAK EERST EEN BACKUP.<br><br>Wilt u doorgaan?
|
||||
message.eolupdate=<html><center><h3>uniCenta oPOS Version {0} gedetecteerd!</h3><h4>Versie-upgrades veranderen!</h4>Als je versie 4.5 of hoger is kies<b>YES</b>om door te gaan<br/><br/>Voor oudere versies kies<b>NO</b> Om nu de configuratie opties te openen!<br>Lees alstublieft de uniCenta oPOS Data Transfer Guide<br/><br/>
|
||||
message.eolupdate=<html><center><h3>uniCenta oPOS Version {0} gedetecteerd!</h3><h4>Versie-upgrades veranderen!</h4>Als je versie 5.2 of hoger is kies<b>YES</b>om door te gaan<br/><br/>Voor oudere versies kies<b>NO</b> Om nu de configuratie opties te openen!<br>Lees alstublieft de uniCenta oPOS Data Transfer Guide<br/><br/>
|
||||
message.URL=<html>Een webpagina laten zien in het hoofdscherm . vereist de volledige URL<br />Voor een lokaal bestand begin met - <b>file://</b><br/>Voor een extern bestand gebruik <b>http://</b><br/>
|
||||
message.uuidcopy=<html><center><h4>UUID is gekopieerd naar het klembord
|
||||
message.vipno=Klant is geen VIP
|
||||
|
||||
Reference in New Issue
Block a user