[ 
https://issues.apache.org/jira/browse/OFBIZ-1141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacques Le Roux closed OFBIZ-1141.
----------------------------------

       Resolution: Incomplete
    Fix Version/s: SVN trunk
         Assignee: Jacques Le Roux

Seems incomplete to me. Please reopen if you thing otherwise...

> More user friendly error messages
> ---------------------------------
>
>                 Key: OFBIZ-1141
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-1141
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: accounting, framework
>    Affects Versions: SVN trunk, Release Branch 4.0
>            Reporter: Wickersheimer Jeremy
>            Assignee: Jacques Le Roux
>            Priority: Minor
>             Fix For: SVN trunk
>
>         Attachments: ofbiz-1141-example1.patch, ofbiz-1141-example2.patch, 
> ofbiz-1141-example3.patch
>
>
> A lot of error messages in Ofbiz are "cryptic" for normal users. For example 
> sometimes a user would trigger a database foreign key violation and as a 
> result will have a quite big error message thrown at him.
> This would happen for example when you create an Agreement then gives both a 
> Party Id To and a Role Type Id To that doesn't  match. 
> In that case the error is something like:
> ERROR: Could not complete the Create an Agreement 
> [file:/home/jeremy/bertelsmann/dgerp/applications/accounting/script/org/ofbiz/accounting/agreement/AgreementServices.xml#createAgreement]
>  process [problem creating the newEntity value: Exception while inserting the 
> following entity: 
> [GenericEntity:Agreement][agreementDate,null()][agreementId,10076(java.lang.String)][agreementTypeId,null()][createdStamp,2007-07-12
>  12:33:38.285(java.sql.Timestamp)][createdTxStamp,2007-07-12 
> 12:33:38.283(java.sql.Timestamp)][defaultCurrencyUomId,null()][description,null()][fromDate,2007-07-12
>  
> 12:33:38.285(java.sql.Timestamp)][fromPartyClassGroupId,null()][lastUpdatedStamp,2007-07-12
>  12:33:38.285(java.sql.Timestamp)][lastUpdatedTxStamp,2007-07-12 
> 12:33:38.283(java.sql.Timestamp)][partyIdFrom,null()][partyIdTo,Admin(java.lang.String)][productId,null()][roleTypeIdFrom,null()][roleTypeIdTo,PERSON_ROLE(java.lang.String)][statusId,null()][textData,null()][thruDate,null()][toPartyClassGroupId,null()]
>  (while inserting: 
> [GenericEntity:Agreement][agreementDate,null()][agreementId,10076(java.lang.String)][agreementTypeId,null()][createdStamp,2007-07-12
>  12:33:38.285(java.sql.Timestamp)][createdTxStamp,2007-07-12 
> 12:33:38.283(java.sql.Timestamp)][defaultCurrencyUomId,null()][description,null()][fromDate,2007-07-12
>  
> 12:33:38.285(java.sql.Timestamp)][fromPartyClassGroupId,null()][lastUpdatedStamp,2007-07-12
>  12:33:38.285(java.sql.Timestamp)][lastUpdatedTxStamp,2007-07-12 
> 12:33:38.283(java.sql.Timestamp)][partyIdFrom,null()][partyIdTo,Admin(java.lang.String)][productId,null()][roleTypeIdFrom,null()][roleTypeIdTo,PERSON_ROLE(java.lang.String)][statusId,null()][textData,null()][thruDate,null()][toPartyClassGroupId,null()]
>  (SQL Exception while executing the following:INSERT INTO public.AGREEMENT 
> (AGREEMENT_ID, PRODUCT_ID, PARTY_ID_FROM, PARTY_ID_TO, ROLE_TYPE_ID_FROM, 
> ROLE_TYPE_ID_TO, AGREEMENT_TYPE_ID, AGREEMENT_DATE, FROM_DATE, THRU_DATE, 
> DESCRIPTION, TEXT_DATA, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, 
> CREATED_STAMP, CREATED_TX_STAMP, STATUS_ID, DEFAULT_CURRENCY_UOM_ID, 
> FROM_PARTY_CLASS_GROUP_ID, TO_PARTY_CLASS_GROUP_ID) VALUES (?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) (ERROR: insert or update on table 
> "agreement" violates foreign key constraint "agrmnt_tprtyrle"
> Detail: Key (party_id_to,role_type_id_to)=(Admin,PERSON_ROLE) is not present 
> in table "party_role".)))]
> It is fine for a developer who can understand that, but not for a user.
> I agree that with some hacking or better design in the forms it would be 
> possible to avoid that kind of error, but the idea would be to be able to 
> catch that and replace the error we something more understandable, for 
> example:
> ERROR: the "Party Id To" doesn't have the "Role Type To Id" you entered.
> Or better:
> ERROR: the "Party Id To: Admin" doesn't have the "Role Type To Id: Person". 
> Possible values for the Role Type are : "..."
> I know that such a feature cannot be implemented in the framework directly 
> because errors are context sensitive, so it would have to be done in the 
> Service XML definition.
> Perhaps some new methods could be added in simple-methods to make that task 
> easier ?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to