Author: jleroux
Date: Fri Oct  9 16:55:18 2009
New Revision: 823612

URL: http://svn.apache.org/viewvc?rev=823612&view=rev
Log:
I changed my mind and now accept also any person, even created out of the POS. 
The only constraint I keep : these persons must have a valid login

Modified:
    ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java
    ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java

Modified: ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java?rev=823612&r1=823611&r2=823612&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java 
(original)
+++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java Fri 
Oct  9 16:55:18 2009
@@ -1607,7 +1607,6 @@
             
andExprs.add(EntityCondition.makeCondition(EntityCondition.makeCondition("statusId",
 EntityOperator.EQUALS, null), EntityOperator.OR, 
EntityCondition.makeCondition("statusId", EntityOperator.NOT_EQUAL, 
"PARTY_DISABLED")));
             andExprs.add(EntityCondition.makeCondition("partyTypeId", 
EntityOperator.EQUALS, "PERSON")); // Only persons for now...
             andExprs.add(EntityCondition.makeCondition("userLoginId", 
EntityOperator.NOT_EQUAL, null)); // Should have a login
-            andExprs.add(EntityCondition.makeCondition("memberId", 
EntityOperator.NOT_EQUAL, null)); // Should have a card Id (we take into 
account only the person created here)
             if (UtilValidate.isNotEmpty(name)) {
                 andExprs.add(EntityCondition.makeCondition("lastName", 
EntityOperator.EQUALS, name));
             }
@@ -1786,7 +1785,7 @@
                 pos.showDialog("dialog/error/exception", e.getMessage());
                 return result;
             }
-            GenericValue partyLogin = userLogins.get(0); // We need at least a 
party's login, we are sure there is one as we keep only users with at least one 
login
+            GenericValue partyLogin = userLogins.get(0); // We need at least a 
party's login ...
             GenericValue  person = null;
             try {
                 person = session.getDelegator().findByPrimaryKey("Person", 
UtilMisc.toMap("partyId", partyId));
@@ -1911,8 +1910,9 @@
                     pos.showDialog("dialog/error/exception", e.getMessage());
                     return result;
                 }
-                GenericValue PartyTelecomNumber = PartyTelecomNumbers.get(0); 
// we suppose only one phone number (should be ok anyway because of the 
contactMechPurposeTypeId == "PHONE_HOME")
-                if (UtilValidate.isNotEmpty(PartyTelecomNumber)) { // Should 
not be needed but in case memberId has been used for another purpose avoid an 
NPE (we test memberId not null initially to keep  only POS created users)
+                
+                if (UtilValidate.isNotEmpty(PartyTelecomNumbers)) {            
     
+                    GenericValue PartyTelecomNumber = 
PartyTelecomNumbers.get(0); // we suppose only one phone number (should be ok 
anyway because of the contactMechPurposeTypeId == "PHONE_HOME")
                     String contactNumber = 
PartyTelecomNumber.getString("contactNumber");
                     if (!phone.equals(contactNumber)) {
                         String newContactMechId = 
PartyTelecomNumber.getString("contactMechId");
@@ -1936,6 +1936,24 @@
                             return result;
                         }
                     }
+                } else {
+                    // createPartyTelecomNumber
+                    svcCtx.clear();
+                    svcCtx.put("userLogin", partyLogin);
+                    svcCtx.put("contactNumber", phone);
+                    svcCtx.put("partyId", partyId);
+                    svcCtx.put("contactMechPurposeTypeId", "PHONE_HOME");
+                    try {
+                        svcRes = 
dispatcher.runSync("createPartyTelecomNumber", svcCtx);
+                    } catch (GenericServiceException e) {
+                        Debug.logError(e, module);
+                        pos.showDialog("dialog/error/exception", 
e.getMessage());
+                        return result;
+                    }
+                    if (ServiceUtil.isError(svcRes)) {
+                        pos.showDialog("dialog/error/exception", 
ServiceUtil.getErrorMessage(svcRes));
+                        return result;
+                    }
                 }
             }
         }

Modified: 
ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java?rev=823612&r1=823611&r2=823612&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java 
(original)
+++ ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java 
Fri Oct  9 16:55:18 2009
@@ -283,10 +283,14 @@
         String client = (String) clientListCombo.getSelectedItem();
         if (UtilValidate.isNotEmpty(client)) {
             String[] clientInfos = client.split(" \\| ");
-            if (clientInfos.length > 0) m_nameEdit.setText(clientInfos[0]);
-            if (clientInfos.length > 1) m_emailEdit.setText(clientInfos[1]);
-            if (clientInfos.length > 2) m_phoneEdit.setText(clientInfos[2]);
-            if (clientInfos.length > 3) m_cardEdit.setText(clientInfos[3]);
+            String name = clientInfos.length > 0 ? clientInfos[0] : "";
+            String email = clientInfos.length > 1 ? clientInfos[1] : "";
+            String phone = clientInfos.length > 2 ? clientInfos[2] : "";
+            String card = clientInfos.length > 3 ? clientInfos[3] : "";
+            m_nameEdit.setText(name);
+            m_emailEdit.setText(email);
+            m_phoneEdit.setText(phone);
+            m_cardEdit.setText(card);
             m_partyId = 
m_clientListBidingCombo.get(clientListCombo.getSelectedIndex());
         }
     }


Reply via email to