Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||||
ID | ||||||||||||
0015100 | ||||||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
feature request | [Openbravo ERP] 01. General setup | major | always | 2010-11-02 16:08 | 2011-08-22 10:06 | |||||||
Reporter | dalsasua | View Status | public | |||||||||
Assigned To | jonalegriaesarte | |||||||||||
Priority | urgent | Resolution | open | Fixed in Version | ||||||||
Status | scheduled | Fix in branch | Fixed in SCM revision | |||||||||
Projection | none | ETA | none | Target Version | ||||||||
OS | Linux 32 bit | Database | Oracle | Java version | 1.6.0_14 | |||||||
OS Version | Ubuntu 9.04 | Database version | 11.1.0.6.0 SE | Ant version | 1.7.1 | |||||||
Product Version | pi | SCM revision | ||||||||||
Review Assigned To | ||||||||||||
Web browser | ||||||||||||
Modules | Core | |||||||||||
Regression level | ||||||||||||
Regression date | ||||||||||||
Regression introduced in release | ||||||||||||
Regression introduced by commit | ||||||||||||
Triggers an Emergency Pack | No | |||||||||||
Summary | 0015100: Initial Setup Data dataset must be allowed to be included more than once in a client | |||||||||||
Description | Nowadays, the Initial Setup Data dataset can only be applied to one organization of the same client. The reason is that GL_Category table has got a unique constraint on ad_client_id and name columns. Is it possible to include ad_org_id in that constraint?? | |||||||||||
Proposed Solution | Divide current dataset into two different ones: - At a system level the document categories. - At a client level the current one, excluding the document categories. | |||||||||||
Tags | No tags attached. | |||||||||||
Attached Files | diff [^] (127,389 bytes) 2011-08-22 10:05 [Show Content] [Hide Content]comparing with https://code.openbravo.com/erp/devel/pi searching for changes changeset: 12425:be7a11869d41 parent: 12339:4e790673106e user: David Alsasua <david.alsasua@openbravo.com> date: Tue May 31 22:10:04 2011 +0200 summary: Fixes issue 15100. diff --git a/referencedata/standard/Initial_Setup.xml b/referencedata/standard/Initial_Setup.xml --- a/referencedata/standard/Initial_Setup.xml +++ b/referencedata/standard/Initial_Setup.xml @@ -162,150 +162,6 @@ <default>true</default> <language id="192" entity-name="ADLanguage" identifier="English (USA)"/> </EmailTemplate> - <FinancialMgmtGLCategory id="102C08DF5D4341D5B7FDF758632503D2" identifier="AR Invoice"> - <id>102C08DF5D4341D5B7FDF758632503D2</id> - <active>true</active> - <name>AR Invoice</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="160C37CC0D36480E8B91B015FAC747DC" identifier="Material Management"> - <id>160C37CC0D36480E8B91B015FAC747DC</id> - <active>true</active> - <name>Material Management</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="3005499D637B41AF86222E4BDA29D415" identifier="Movement"> - <id>3005499D637B41AF86222E4BDA29D415</id> - <active>true</active> - <name>Movement</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="37501231BC434F2DB0BF5F706CEBCC1F" identifier="Production"> - <id>37501231BC434F2DB0BF5F706CEBCC1F</id> - <active>true</active> - <name>Production</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="47D760C2B9C942EA86D47E6422C3BF9C" identifier="Manual"> - <id>47D760C2B9C942EA86D47E6422C3BF9C</id> - <active>true</active> - <name>Manual</name> - <description xsi:nil="true"/> - <categoryType>M</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="5106A21601924DA9996DC40C34954F8A" identifier="Inventory"> - <id>5106A21601924DA9996DC40C34954F8A</id> - <active>true</active> - <name>Inventory</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="745A2B441A2644DF934D1B1E462292E9" identifier="None"> - <id>745A2B441A2644DF934D1B1E462292E9</id> - <active>true</active> - <name>None</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="82B88F71CF71401584FC1DFEFD9EB33D" identifier="MatchInv"> - <id>82B88F71CF71401584FC1DFEFD9EB33D</id> - <active>true</active> - <name>MatchInv</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="844F34E0FA4045C6A3D00B6D4D53107B" identifier="Settlement"> - <id>844F34E0FA4045C6A3D00B6D4D53107B</id> - <active>true</active> - <name>Settlement</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="A431AFE1356141728139523053B672C4" identifier="AP Invoice"> - <id>A431AFE1356141728139523053B672C4</id> - <active>true</active> - <name>AP Invoice</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="AAB8DB8C913E4AA0A651A5C0DC061C1A" identifier="Bank Statement"> - <id>AAB8DB8C913E4AA0A651A5C0DC061C1A</id> - <active>true</active> - <name>Bank Statement</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="C79381E3F81140DBAAD73E6B0CD74901" identifier="AP Payment"> - <id>C79381E3F81140DBAAD73E6B0CD74901</id> - <active>true</active> - <name>AP Payment</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="D6A6F219061F4C34B87E1CC4DD6797F3" identifier="Cash"> - <id>D6A6F219061F4C34B87E1CC4DD6797F3</id> - <active>true</active> - <name>Cash</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="E8752D97421B434F8355331B680DC652" identifier="AR Receipt"> - <id>E8752D97421B434F8355331B680DC652</id> - <active>true</active> - <name>AR Receipt</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="FA9102F37B904275A3CCD9935D69ED51" identifier="MatchPO"> - <id>FA9102F37B904275A3CCD9935D69ED51</id> - <active>true</active> - <name>MatchPO</name> - <description xsi:nil="true"/> - <categoryType>D</categoryType> - <default>false</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> - <FinancialMgmtGLCategory id="FC670B83E59C4E7CBD6B999D3F28B251" identifier="Standard"> - <id>FC670B83E59C4E7CBD6B999D3F28B251</id> - <active>true</active> - <name>Standard</name> - <description xsi:nil="true"/> - <categoryType>M</categoryType> - <default>true</default> - <documentCategory inactive="true" xsi:nil="true"/> - </FinancialMgmtGLCategory> <ADPreference id="AAEF5567618F49FE8BA729E550614AA0" identifier="C_DocTypeTarget_ID - "> <id>AAEF5567618F49FE8BA729E550614AA0</id> <active>true</active> @@ -334,7 +190,7 @@ <documentTypeForInvoice id="0" entity-name="DocumentType" identifier="** New **"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="81F0991C4D884F82AF34E6CD72C0BFEC" entity-name="ADSequence" identifier="Quotation"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -380,7 +236,7 @@ <documentTypeForInvoice id="0" entity-name="DocumentType" identifier="** New **"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="8547DE01C56D4C67A28F37AA5E72046D" entity-name="ADSequence" identifier="Proposal"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -403,7 +259,7 @@ <documentTypeForInvoice id="40EE9B1CD3B345FABEFDA62B407B407F" entity-name="DocumentType" identifier="AR Invoice"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="6D3C7477332F47CD8A0F6A5C4805EBD4" entity-name="ADSequence" identifier="Prepay Order"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -449,7 +305,7 @@ <documentTypeForInvoice id="40EE9B1CD3B345FABEFDA62B407B407F" entity-name="DocumentType" identifier="AR Invoice"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="A6A631F13B004AB8AD39573E95EE992E" entity-name="ADSequence" identifier="Return Material"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -564,7 +420,7 @@ <documentTypeForInvoice id="40EE9B1CD3B345FABEFDA62B407B407F" entity-name="DocumentType" identifier="AR Invoice"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="FFB42B38D6A34634B534AB499B13644C" entity-name="ADSequence" identifier="POS Order"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -702,7 +558,7 @@ <documentTypeForInvoice id="0" entity-name="DocumentType" identifier="** New **"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="74C3CC2BCDDA45F5BBFE8DF603728749" entity-name="ADSequence" identifier="Purchase Requisition"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -725,7 +581,7 @@ <documentTypeForInvoice id="40EE9B1CD3B345FABEFDA62B407B407F" entity-name="DocumentType" identifier="AR Invoice"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="F6907986413D46C4BE3E27174895CC48" entity-name="ADSequence" identifier="Warehouse Order"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> @@ -748,7 +604,7 @@ <documentTypeForInvoice id="0" entity-name="DocumentType" identifier="** New **"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="AE79ADF07A5E4E6E9C5367505C1C3463" entity-name="ADSequence" identifier="Purchase Order"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>true</default> <numberOfCopies>0</numberOfCopies> @@ -955,7 +811,7 @@ <documentTypeForInvoice id="40EE9B1CD3B345FABEFDA62B407B407F" entity-name="DocumentType" identifier="AR Invoice"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="0FBF9530BC584A6E9415F7AD01A23201" entity-name="ADSequence" identifier="Standard Order"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>true</default> <numberOfCopies>0</numberOfCopies> @@ -1001,7 +857,7 @@ <documentTypeForInvoice id="40EE9B1CD3B345FABEFDA62B407B407F" entity-name="DocumentType" identifier="AR Invoice"/> <sequencedDocument>true</sequencedDocument> <documentSequence id="F4F629F131124F198601A47F5FEDF53A" entity-name="ADSequence" identifier="Credit Order"/> - <gLCategory id="745A2B441A2644DF934D1B1E462292E9" entity-name="FinancialMgmtGLCategory" identifier="None"/> + <gLCategory id="0" entity-name="FinancialMgmtGLCategory" identifier="None"/> <comments xsi:nil="true"/> <default>false</default> <numberOfCopies>0</numberOfCopies> diff --git a/src-db/database/sourcedata/referencedData/GL_CATEGORY.xml b/src-db/database/sourcedata/referencedData/GL_CATEGORY.xml --- a/src-db/database/sourcedata/referencedData/GL_CATEGORY.xml +++ b/src-db/database/sourcedata/referencedData/GL_CATEGORY.xml @@ -5,13 +5,237 @@ <!--0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> <!--0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--0--> <CREATED><![CDATA[2011-02-22 17:06:39.0]]></CREATED> +<!--0--> <CREATED><![CDATA[2011-05-22 03:34:04.0]]></CREATED> <!--0--> <CREATEDBY><![CDATA[0]]></CREATEDBY> -<!--0--> <UPDATED><![CDATA[2011-02-22 17:06:39.0]]></UPDATED> +<!--0--> <UPDATED><![CDATA[2011-05-22 03:34:04.0]]></UPDATED> <!--0--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> <!--0--> <NAME><![CDATA[None]]></NAME> <!--0--> <CATEGORYTYPE><![CDATA[M]]></CATEGORYTYPE> <!--0--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> <!--0--></GL_CATEGORY> +<!--0881F8B0B3134347AD537E83E737B9EF--><GL_CATEGORY> +<!--0881F8B0B3134347AD537E83E737B9EF--> <GL_CATEGORY_ID><![CDATA[0881F8B0B3134347AD537E83E737B9EF]]></GL_CATEGORY_ID> +<!--0881F8B0B3134347AD537E83E737B9EF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--0881F8B0B3134347AD537E83E737B9EF--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--0881F8B0B3134347AD537E83E737B9EF--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--0881F8B0B3134347AD537E83E737B9EF--> <CREATED><![CDATA[2011-05-22 03:48:28.0]]></CREATED> +<!--0881F8B0B3134347AD537E83E737B9EF--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--0881F8B0B3134347AD537E83E737B9EF--> <UPDATED><![CDATA[2011-05-22 03:48:28.0]]></UPDATED> +<!--0881F8B0B3134347AD537E83E737B9EF--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--0881F8B0B3134347AD537E83E737B9EF--> <NAME><![CDATA[Financial]]></NAME> +<!--0881F8B0B3134347AD537E83E737B9EF--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--0881F8B0B3134347AD537E83E737B9EF--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--0881F8B0B3134347AD537E83E737B9EF--></GL_CATEGORY> + +<!--102C08DF5D4341D5B7FDF758632503D2--><GL_CATEGORY> +<!--102C08DF5D4341D5B7FDF758632503D2--> <GL_CATEGORY_ID><![CDATA[102C08DF5D4341D5B7FDF758632503D2]]></GL_CATEGORY_ID> +<!--102C08DF5D4341D5B7FDF758632503D2--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--102C08DF5D4341D5B7FDF758632503D2--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--102C08DF5D4341D5B7FDF758632503D2--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--102C08DF5D4341D5B7FDF758632503D2--> <CREATED><![CDATA[2011-05-22 03:48:27.0]]></CREATED> +<!--102C08DF5D4341D5B7FDF758632503D2--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--102C08DF5D4341D5B7FDF758632503D2--> <UPDATED><![CDATA[2011-05-22 03:48:27.0]]></UPDATED> +<!--102C08DF5D4341D5B7FDF758632503D2--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--102C08DF5D4341D5B7FDF758632503D2--> <NAME><![CDATA[AR Invoice]]></NAME> +<!--102C08DF5D4341D5B7FDF758632503D2--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--102C08DF5D4341D5B7FDF758632503D2--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--102C08DF5D4341D5B7FDF758632503D2--></GL_CATEGORY> + +<!--160C37CC0D36480E8B91B015FAC747DC--><GL_CATEGORY> +<!--160C37CC0D36480E8B91B015FAC747DC--> <GL_CATEGORY_ID><![CDATA[160C37CC0D36480E8B91B015FAC747DC]]></GL_CATEGORY_ID> +<!--160C37CC0D36480E8B91B015FAC747DC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--160C37CC0D36480E8B91B015FAC747DC--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--160C37CC0D36480E8B91B015FAC747DC--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--160C37CC0D36480E8B91B015FAC747DC--> <CREATED><![CDATA[2011-05-22 03:48:27.0]]></CREATED> +<!--160C37CC0D36480E8B91B015FAC747DC--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--160C37CC0D36480E8B91B015FAC747DC--> <UPDATED><![CDATA[2011-05-22 03:48:27.0]]></UPDATED> +<!--160C37CC0D36480E8B91B015FAC747DC--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--160C37CC0D36480E8B91B015FAC747DC--> <NAME><![CDATA[Material Management]]></NAME> +<!--160C37CC0D36480E8B91B015FAC747DC--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--160C37CC0D36480E8B91B015FAC747DC--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--160C37CC0D36480E8B91B015FAC747DC--></GL_CATEGORY> + +<!--3005499D637B41AF86222E4BDA29D415--><GL_CATEGORY> +<!--3005499D637B41AF86222E4BDA29D415--> <GL_CATEGORY_ID><![CDATA[3005499D637B41AF86222E4BDA29D415]]></GL_CATEGORY_ID> +<!--3005499D637B41AF86222E4BDA29D415--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--3005499D637B41AF86222E4BDA29D415--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--3005499D637B41AF86222E4BDA29D415--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--3005499D637B41AF86222E4BDA29D415--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--3005499D637B41AF86222E4BDA29D415--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--3005499D637B41AF86222E4BDA29D415--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--3005499D637B41AF86222E4BDA29D415--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--3005499D637B41AF86222E4BDA29D415--> <NAME><![CDATA[Movement]]></NAME> +<!--3005499D637B41AF86222E4BDA29D415--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--3005499D637B41AF86222E4BDA29D415--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--3005499D637B41AF86222E4BDA29D415--></GL_CATEGORY> + +<!--37501231BC434F2DB0BF5F706CEBCC1F--><GL_CATEGORY> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <GL_CATEGORY_ID><![CDATA[37501231BC434F2DB0BF5F706CEBCC1F]]></GL_CATEGORY_ID> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <NAME><![CDATA[Production]]></NAME> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--37501231BC434F2DB0BF5F706CEBCC1F--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--37501231BC434F2DB0BF5F706CEBCC1F--></GL_CATEGORY> + +<!--47D760C2B9C942EA86D47E6422C3BF9C--><GL_CATEGORY> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <GL_CATEGORY_ID><![CDATA[47D760C2B9C942EA86D47E6422C3BF9C]]></GL_CATEGORY_ID> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <NAME><![CDATA[Manual]]></NAME> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <CATEGORYTYPE><![CDATA[M]]></CATEGORYTYPE> +<!--47D760C2B9C942EA86D47E6422C3BF9C--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--47D760C2B9C942EA86D47E6422C3BF9C--></GL_CATEGORY> + +<!--5106A21601924DA9996DC40C34954F8A--><GL_CATEGORY> +<!--5106A21601924DA9996DC40C34954F8A--> <GL_CATEGORY_ID><![CDATA[5106A21601924DA9996DC40C34954F8A]]></GL_CATEGORY_ID> +<!--5106A21601924DA9996DC40C34954F8A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--5106A21601924DA9996DC40C34954F8A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--5106A21601924DA9996DC40C34954F8A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--5106A21601924DA9996DC40C34954F8A--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--5106A21601924DA9996DC40C34954F8A--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--5106A21601924DA9996DC40C34954F8A--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--5106A21601924DA9996DC40C34954F8A--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--5106A21601924DA9996DC40C34954F8A--> <NAME><![CDATA[Inventory]]></NAME> +<!--5106A21601924DA9996DC40C34954F8A--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--5106A21601924DA9996DC40C34954F8A--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--5106A21601924DA9996DC40C34954F8A--></GL_CATEGORY> + +<!--82B88F71CF71401584FC1DFEFD9EB33D--><GL_CATEGORY> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <GL_CATEGORY_ID><![CDATA[82B88F71CF71401584FC1DFEFD9EB33D]]></GL_CATEGORY_ID> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <NAME><![CDATA[MatchInv]]></NAME> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--82B88F71CF71401584FC1DFEFD9EB33D--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--82B88F71CF71401584FC1DFEFD9EB33D--></GL_CATEGORY> + +<!--844F34E0FA4045C6A3D00B6D4D53107B--><GL_CATEGORY> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <GL_CATEGORY_ID><![CDATA[844F34E0FA4045C6A3D00B6D4D53107B]]></GL_CATEGORY_ID> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <CREATED><![CDATA[2011-05-22 03:48:37.0]]></CREATED> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <UPDATED><![CDATA[2011-05-22 03:48:37.0]]></UPDATED> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <NAME><![CDATA[Settlement]]></NAME> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--844F34E0FA4045C6A3D00B6D4D53107B--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--844F34E0FA4045C6A3D00B6D4D53107B--></GL_CATEGORY> + +<!--A431AFE1356141728139523053B672C4--><GL_CATEGORY> +<!--A431AFE1356141728139523053B672C4--> <GL_CATEGORY_ID><![CDATA[A431AFE1356141728139523053B672C4]]></GL_CATEGORY_ID> +<!--A431AFE1356141728139523053B672C4--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A431AFE1356141728139523053B672C4--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A431AFE1356141728139523053B672C4--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A431AFE1356141728139523053B672C4--> <CREATED><![CDATA[2011-05-22 03:48:28.0]]></CREATED> +<!--A431AFE1356141728139523053B672C4--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--A431AFE1356141728139523053B672C4--> <UPDATED><![CDATA[2011-05-22 03:48:28.0]]></UPDATED> +<!--A431AFE1356141728139523053B672C4--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--A431AFE1356141728139523053B672C4--> <NAME><![CDATA[AP Invoice]]></NAME> +<!--A431AFE1356141728139523053B672C4--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--A431AFE1356141728139523053B672C4--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--A431AFE1356141728139523053B672C4--></GL_CATEGORY> + +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--><GL_CATEGORY> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <GL_CATEGORY_ID><![CDATA[AAB8DB8C913E4AA0A651A5C0DC061C1A]]></GL_CATEGORY_ID> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <CREATED><![CDATA[2011-05-22 03:48:37.0]]></CREATED> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <UPDATED><![CDATA[2011-05-22 03:48:37.0]]></UPDATED> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <NAME><![CDATA[Bank Statement]]></NAME> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--AAB8DB8C913E4AA0A651A5C0DC061C1A--></GL_CATEGORY> + +<!--C79381E3F81140DBAAD73E6B0CD74901--><GL_CATEGORY> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <GL_CATEGORY_ID><![CDATA[C79381E3F81140DBAAD73E6B0CD74901]]></GL_CATEGORY_ID> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <CREATED><![CDATA[2011-05-22 03:48:27.0]]></CREATED> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <UPDATED><![CDATA[2011-05-22 03:48:27.0]]></UPDATED> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <NAME><![CDATA[AP Payment]]></NAME> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--C79381E3F81140DBAAD73E6B0CD74901--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--C79381E3F81140DBAAD73E6B0CD74901--></GL_CATEGORY> + +<!--D6A6F219061F4C34B87E1CC4DD6797F3--><GL_CATEGORY> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <GL_CATEGORY_ID><![CDATA[D6A6F219061F4C34B87E1CC4DD6797F3]]></GL_CATEGORY_ID> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <CREATED><![CDATA[2011-05-22 03:48:37.0]]></CREATED> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <UPDATED><![CDATA[2011-05-22 03:48:37.0]]></UPDATED> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <NAME><![CDATA[Cash]]></NAME> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--D6A6F219061F4C34B87E1CC4DD6797F3--></GL_CATEGORY> + +<!--E8752D97421B434F8355331B680DC652--><GL_CATEGORY> +<!--E8752D97421B434F8355331B680DC652--> <GL_CATEGORY_ID><![CDATA[E8752D97421B434F8355331B680DC652]]></GL_CATEGORY_ID> +<!--E8752D97421B434F8355331B680DC652--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--E8752D97421B434F8355331B680DC652--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--E8752D97421B434F8355331B680DC652--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--E8752D97421B434F8355331B680DC652--> <CREATED><![CDATA[2011-05-22 03:48:27.0]]></CREATED> +<!--E8752D97421B434F8355331B680DC652--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--E8752D97421B434F8355331B680DC652--> <UPDATED><![CDATA[2011-05-22 03:48:27.0]]></UPDATED> +<!--E8752D97421B434F8355331B680DC652--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--E8752D97421B434F8355331B680DC652--> <NAME><![CDATA[AR Receipt]]></NAME> +<!--E8752D97421B434F8355331B680DC652--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--E8752D97421B434F8355331B680DC652--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--E8752D97421B434F8355331B680DC652--></GL_CATEGORY> + +<!--FA9102F37B904275A3CCD9935D69ED51--><GL_CATEGORY> +<!--FA9102F37B904275A3CCD9935D69ED51--> <GL_CATEGORY_ID><![CDATA[FA9102F37B904275A3CCD9935D69ED51]]></GL_CATEGORY_ID> +<!--FA9102F37B904275A3CCD9935D69ED51--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--FA9102F37B904275A3CCD9935D69ED51--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--FA9102F37B904275A3CCD9935D69ED51--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--FA9102F37B904275A3CCD9935D69ED51--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--FA9102F37B904275A3CCD9935D69ED51--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--FA9102F37B904275A3CCD9935D69ED51--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--FA9102F37B904275A3CCD9935D69ED51--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--FA9102F37B904275A3CCD9935D69ED51--> <NAME><![CDATA[MatchPO]]></NAME> +<!--FA9102F37B904275A3CCD9935D69ED51--> <CATEGORYTYPE><![CDATA[D]]></CATEGORYTYPE> +<!--FA9102F37B904275A3CCD9935D69ED51--> <ISDEFAULT><![CDATA[N]]></ISDEFAULT> +<!--FA9102F37B904275A3CCD9935D69ED51--></GL_CATEGORY> + +<!--FC670B83E59C4E7CBD6B999D3F28B251--><GL_CATEGORY> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <GL_CATEGORY_ID><![CDATA[FC670B83E59C4E7CBD6B999D3F28B251]]></GL_CATEGORY_ID> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <CREATED><![CDATA[2011-05-22 03:48:34.0]]></CREATED> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <CREATEDBY><![CDATA[0]]></CREATEDBY> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <UPDATED><![CDATA[2011-05-22 03:48:34.0]]></UPDATED> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <UPDATEDBY><![CDATA[0]]></UPDATEDBY> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <NAME><![CDATA[Standard]]></NAME> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <CATEGORYTYPE><![CDATA[M]]></CATEGORYTYPE> +<!--FC670B83E59C4E7CBD6B999D3F28B251--> <ISDEFAULT><![CDATA[Y]]></ISDEFAULT> +<!--FC670B83E59C4E7CBD6B999D3F28B251--></GL_CATEGORY> + </data> diff --git a/src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel.class b/src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel.class new file mode 100644 index 0000000000000000000000000000000000000000..8f77b34199832ccdbbb27f3984139f860e8c3cd1 GIT binary patch literal 4638 zc$}?Q_jepu75>I5Gg_}xHkN}R36nx17g^Jb>^PpX<CsXcVhJ0kkc@W6(pc-6Wp-Bf zh8hShlmMXxLJP$tGzWrG975>j7yca1;czhb&8`*6QaEWkNAvEx@AmTE-GBV|g_i&* z_<ITauvo&aXz(~yLLU}+Bqa=BQ9vr7$-wsu$ON<m<O13PmIRy@a7I8!zykt4AmD=n zJ|y770zM+(qXHfj@G$`&7x0jPPYC#=fKLhdw1CeDcv!$^1$<7x=b7LyY{nz_;%0ma zUuK_2d3=STzgoiA@O2*FC}E7*@fcgbDd1adeViHjZAS4O0pA^>^?L%oFW?CV{y@MF zdHjg^^J5-odHjUK;NCci^L-rpMz<g3(C?-7h{NTRaS|PBpPGxZ*>J8wn95{Y3mZqn zEN1&2vOiylTO91kG@Bn!n^7{Cg-hx9Tsv;mm%>I|5A!%p#t%$-VIIw=Ssb;Te5TXN zqf?X7Qq<VPfsf8awRX-ljBcMi87_t6?L2ObPsXjhIBrCzq9o^V>l;<#hj~bn`ok={ ziNn6T->jTQl#m?mAcsvc0sX`mGPuryR5;KGllk$PJd2ZgV%WOMtAlxzg?XA0nj@Eo zSJ79`)S@P{fX+76njCgsVkpxy7q+5tFHMrD#z?2LbSbV!Ox$3UWog!0ky)s7vMlWM zBH4E;B%xQWI=ww?Elh<?I@`83xt-?41aIF+*xvPC?%TtvV4dg<C^zQaGLwh3MdB#* z7Pa{#bsRMtkEf{adE7yT%VB6Ho=?KOosn%fudA0=F|0I`wzFCk#LT1XUNyhF8FLx8 zVSgDv#m^{K8~D!Q%5`3H5M@d6B+CzUUsE;N*IhI415>vQRnaBYSI7wGh<GqrO5<8o z#?SE!#$-sIYI>gJtA=JtRm-(ySCaL>@l4J1J+femOr@kW#Hla|=X;$Xs*<E@w(T3L z>1whQScak~Rn7Gs#r8E>=O9d_ODoi-F3E~2yB^sVD84JXfgYHW;Z<GFlLNAi>Zsl> zDvIbywMmvKuI<^HQgtlD*UYM+DT=4MflX!&k~QtHLA1Io8ID4Z$hM;Sj&0k9?`h<g zX6ssDIg~MSn(Rok4v|}mYgvIQd-Si7r<N9YvL93f->$l<>NCT`ytY6*j9SwIRjW#Y zqe+_X8II~pl1tY3x++Vi%Q73~`Na!DbTpNMQI%EQkTuy<ELpX6MU`~bHB80RSQ4f$ zCV|mAuI0OyXUl3;a~#PrblK4<9iC*!o=nDH=7!0lNVS<?)Zv-7YROeKuw?SUcOAz! z)vDo2o^NWlBzJX8hn*h1Z#YJv$Tmp~GzyDrnN`{IG~YK&+YD58<5Cq7Wz{lu#kWmO zkzJN3OVxFivSwIhkfHZV=txwH;wF<EI5t&XKqX*HnqumX>Uq9xtGaL4RbMAd_#&3m zhZ(VFn38L$Ro(Wqs_D7D;Zm}EHBc;9VZ;J?nbgCqUdAtRj>pqw{0hIO?knRN{HBa$ zJj>yVOZ%&g=kPp_7s@z~7dc#g>AA};*C^vS=Xlx{YhfZLX)cD%W}_prw?mwo7U!Z` z*ltB)hq_dZlNQ-gi^LOQ+-T8O48>*^jlFU~Pl&S%Q5K2O8EVItcwkcO^>at;y%jC7 z9-W}~t1gD5OKcS_E;foD7x&I(`(~Nuc9Y~q;_0~25W{+1Y^A3n@xb_sIJzD-;$NdY zP1dk<#ITV?VZ9^PXvw<<%&cN3p9w?Gwg`&ER!Axn_DN3^vS?xWIH@(-bz&#?dr_JY z%lIu`;&6PoINgZo84$CmV2$%#WIN*{yNEVP#ah~E#4U;yd6zE~B1w9S0$Ds4ugI;X z#IqD-jCOY!zr)LA{2qTO<B#|ghbP~{oH=U}wGg&QM3nS=s9#J=MBN$Z?7pMMZZ}2t z<h7z)JWce>fS7F03tz<=ZIZl*UY%m|XWYqQ|8CJaK^JBb=3NEZYOQO-8m&mDy6?%M z*K?h1Oko*+Ve;cuv2W!pc138jcs@?ZW=8%N<>KPwvvx8l<FEJ|2lEXMFdWAIKWEXc zM_2ar{J-W2gl3=hQx1i5KFT*D9;3JW^-MQ?%{JY6*66AS{_xyMBHObbvwb~^o~*^F zLp4Ru_nN7JP;B~GgP^-GUU6XC8uC@+8&7p|C_0lDgY#W<jVHxs>*$8+`{tS4n>Vn3 zL-IXuVnpR|L-%&-;#X)p$Ef~hs6-FZKZhfuuOk7kWsGA%7^EhRk~+)p1_bL+z1M*p z7V@-<x-^0-Q*<BQ(Ns?xMUWJabX`8uZQ0fF;qb^??&+KT2~p}^UP+ONa;=x2?soG6 zT}O?m%BFb^x2*Peb|Fhov-x<>x*tloo_^Eq1N++qj?J+2b!azED@W_Vj%UF=T^zgg z9W0PH!lQ4wO8_5LS~&zbKvcxs*N1*=CRBUJGB!<~N8j;h(LZ$_1GEkv8msUXVHrcm z#ww-C<}OgKZ0Q1*RW9!WS5&U-0+q^DU0`cvxC?BnT-^oURvGC6Z?C+g3tUsVwhLTW zd1n_8E7x~{8!9(;ftxDtDu89&{5)>qFwsBK|2#%HJcbt;w4KAt*fBA%b7Wv_WMCOP zY4;p<J%*jT&SQ*R*j*W4hO}}<a7CuiGL&Vg$Iha)mQ$M;92uP8NBEZvq0bl^9vT*& zz~K>ocu1Kjt%%e~!bs^E7)+dbseG$<YO~G6E6N@k;?7<;clN^mUFRnHcZ~EeWA8ai z#pB!}*T5c1154TxuBGoSl&Vo|!FCK|C$7UT!i+(}ZrGG<m!LZ!V-^bTg^Cl<kV3~9 z7<dpS9)^WSiSlvmrFr63{FAEYU#M~dZs%^mK`x|q9!I#7m?6!xT!Qx$Me+d3bbcFd z$3c|1GVaE^Ne|CmiKCdr6a;Q7W^jn0A(C|;4%6u%X?P0LxRWeCOC!Z096>)x<cV^Y ze4@hY72N>WBt1vT<1O3*j^VvjfWzGVIF7r}N4kJ*gz28$vvPJXoxP9F?!n*%QZT^d zJ|6e;2zku$r~&`MVIK7hxCW(5&IrweerHA;)&2#tYd!P7vB}{ne)C1sERbz+0iFCG DpS~C! diff --git a/src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/GLCategoriesAtSystemLevelData.class b/src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/GLCategoriesAtSystemLevelData.class new file mode 100644 index 0000000000000000000000000000000000000000..bc8cfa01a15425a83a243d52859bbee03ad0c197 GIT binary patch literal 7026 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 diff --git a/src-util/buildvalidation/build/javasqlc/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevelData.java b/src-util/buildvalidation/build/javasqlc/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevelData.java new file mode 100644 --- /dev/null +++ b/src-util/buildvalidation/build/javasqlc/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevelData.java @@ -0,0 +1,171 @@ +//Sqlc generated V1.O00-1 +package org.openbravo.buildvalidation; + +import java.sql.*; + +import org.apache.log4j.Logger; + +import javax.servlet.ServletException; + +import org.openbravo.data.FieldProvider; +import org.openbravo.database.ConnectionProvider; +import org.openbravo.data.UtilSql; +import java.util.*; + +class GLCategoriesAtSystemLevelData implements FieldProvider { +static Logger log4j = Logger.getLogger(GLCategoriesAtSystemLevelData.class); + private String InitRecordNumber="0"; + public String countglcategories; + public String clientname; + public String categoryname; + + public String getInitRecordNumber() { + return InitRecordNumber; + } + + public String getField(String fieldName) { + if (fieldName.equalsIgnoreCase("countglcategories")) + return countglcategories; + else if (fieldName.equalsIgnoreCase("clientname")) + return clientname; + else if (fieldName.equalsIgnoreCase("categoryname")) + return categoryname; + else { + log4j.debug("Field does not exist: " + fieldName); + return null; + } + } + + public static boolean select(ConnectionProvider connectionProvider) throws ServletException { + String strSql = ""; + strSql = strSql + + " select '' as countGLCategories, '' as clientname, '' as categoryname from gl_category"; + + ResultSet result; + boolean boolReturn = true; + PreparedStatement st = null; + + try { + st = connectionProvider.getPreparedStatement(strSql); + + result = st.executeQuery(); + if(result.next()) { + boolReturn = !UtilSql.getValue(result, "countglcategories").equals("0"); + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(boolReturn); + } + + public static boolean existsSystemGLCategoryWithSameName(ConnectionProvider connectionProvider, String id, String name) throws ServletException { + String strSql = ""; + strSql = strSql + + " select count(*) as countGLCategories" + + " from gl_category" + + " where ad_client_id='0'" + + " and gl_category_id <> ?" + + " and name = ?"; + + ResultSet result; + boolean boolReturn = true; + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, id); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, name); + + result = st.executeQuery(); + if(result.next()) { + boolReturn = !UtilSql.getValue(result, "countglcategories").equals("0"); + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(boolReturn); + } + + public static GLCategoriesAtSystemLevelData[] existsRenamedGLCategories(ConnectionProvider connectionProvider, String id, String name) throws ServletException { + return existsRenamedGLCategories(connectionProvider, id, name, 0, 0); + } + + public static GLCategoriesAtSystemLevelData[] existsRenamedGLCategories(ConnectionProvider connectionProvider, String id, String name, int firstRegister, int numberRegisters) throws ServletException { + String strSql = ""; + strSql = strSql + + " select ad_client.name as clientname, gl_category.name as categoryname" + + " from gl_category left join ad_client on gl_category.ad_client_id = ad_client.ad_client_id" + + " where gl_category.gl_category_id = ?" + + " and gl_category.name <> ?"; + + ResultSet result; + Vector<java.lang.Object> vector = new Vector<java.lang.Object>(0); + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, id); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, name); + + result = st.executeQuery(); + long countRecord = 0; + long countRecordSkip = 1; + boolean continueResult = true; + while(countRecordSkip < firstRegister && continueResult) { + continueResult = result.next(); + countRecordSkip++; + } + while(continueResult && result.next()) { + countRecord++; + GLCategoriesAtSystemLevelData objectGLCategoriesAtSystemLevelData = new GLCategoriesAtSystemLevelData(); + objectGLCategoriesAtSystemLevelData.clientname = UtilSql.getValue(result, "clientname"); + objectGLCategoriesAtSystemLevelData.categoryname = UtilSql.getValue(result, "categoryname"); + objectGLCategoriesAtSystemLevelData.InitRecordNumber = Integer.toString(firstRegister); + vector.addElement(objectGLCategoriesAtSystemLevelData); + if (countRecord >= numberRegisters && numberRegisters != 0) { + continueResult = false; + } + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + GLCategoriesAtSystemLevelData objectGLCategoriesAtSystemLevelData[] = new GLCategoriesAtSystemLevelData[vector.size()]; + vector.copyInto(objectGLCategoriesAtSystemLevelData); + return(objectGLCategoriesAtSystemLevelData); + } +} diff --git a/src-util/buildvalidation/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel.java b/src-util/buildvalidation/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel.java new file mode 100644 --- /dev/null +++ b/src-util/buildvalidation/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel.java @@ -0,0 +1,88 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ + */ +package org.openbravo.buildvalidation; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import org.openbravo.database.ConnectionProvider; + +/** + * Related to issue https://issues.openbravo.com/view.php?id=15100 Checks that the user has not + * defined any gl_category at System level (in except of the one with gl_category_id='0', and name + * 'None'), and that, if the Initial_Setup dataset was applied, the name of the GL Categories added + * in that dataset where not modified. This validation is a pre-requisite for the module script + * named UpdateClientGLCategory. If this two checks are met, then the module script will be able to + * move the GL Categories from the client to which the module was applied, to System + */ +public class GLCategoriesAtSystemLevel extends BuildValidation { + + @Override + public List<String> execute() { + ConnectionProvider cp = getConnectionProvider(); + ArrayList<String> errors = new ArrayList<String>(); + HashMap<String, String> map = new HashMap<String, String>(); + + map.put("102C08DF5D4341D5B7FDF758632503D2", "AR Invoice"); + map.put("160C37CC0D36480E8B91B015FAC747DC", "Material Management"); + map.put("3005499D637B41AF86222E4BDA29D415", "Movement"); + map.put("37501231BC434F2DB0BF5F706CEBCC1F", "Production"); + map.put("47D760C2B9C942EA86D47E6422C3BF9C", "Manual"); + map.put("5106A21601924DA9996DC40C34954F8A", "Inventory"); + map.put("82B88F71CF71401584FC1DFEFD9EB33D", "MatchInv"); + map.put("844F34E0FA4045C6A3D00B6D4D53107B", "Settlement"); + map.put("A431AFE1356141728139523053B672C4", "AP Invoice"); + map.put("AAB8DB8C913E4AA0A651A5C0DC061C1A", "Bank Statement"); + map.put("C79381E3F81140DBAAD73E6B0CD74901", "AP Payment"); + map.put("D6A6F219061F4C34B87E1CC4DD6797F3", "Cash"); + map.put("E8752D97421B434F8355331B680DC652", "AR Receipt"); + map.put("FA9102F37B904275A3CCD9935D69ED51", "MatchPO"); + map.put("FC670B83E59C4E7CBD6B999D3F28B251", "Standard"); + + try { + for (String id : map.keySet()) + if (GLCategoriesAtSystemLevelData.existsSystemGLCategoryWithSameName(cp, id, map.get(id))) + errors + .add("You can not apply this MP because your instance fails in a pre-validation: There exists GL Category elements defined at a system level. <br>" + + "This update will add some G/L Categories at a system level. " + + "There exists one G/L Category already created at System level that uses the same name of one of the included in this MP: " + + map.get(id) + + ". Please rename it, so there is no collision with the ones provided in this core version."); + else { + GLCategoriesAtSystemLevelData[] data = GLCategoriesAtSystemLevelData + .existsRenamedGLCategories(cp, id, map.get(id)); + + for (GLCategoriesAtSystemLevelData element : data) + errors + .add("You can not apply this MP because your instance fails in a pre-validation: A GL Category has been renamed. <br>" + + "The Initial Setup dataset was applied to the client named " + + element.clientname + + ". After that, the GL Category included in the dataset and named " + + map.get(id) + + " has been renamed to " + + element.categoryname + + ". Please restore the original name, so there is no collision with the ones provided in this core version."); + } + return errors; + } catch (Exception e) { + return handleError(e); + } + } +} diff --git a/src-util/buildvalidation/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel_data.xsql b/src-util/buildvalidation/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel_data.xsql new file mode 100644 --- /dev/null +++ b/src-util/buildvalidation/src/org/openbravo/buildvalidation/GLCategoriesAtSystemLevel_data.xsql @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ +--> + +<SqlClass name="GLCategoriesAtSystemLevelData" package="org.openbravo.buildvalidation"> + <SqlMethod name="select" type="preparedStatement" return="boolean" default="true"> + <Sql><![CDATA[ + select '' as countGLCategories, '' as clientname, '' as categoryname from gl_category + ]]> + </Sql> + </SqlMethod> + <SqlMethod name="existsSystemGLCategoryWithSameName" type="preparedStatement" return="boolean" default="true"> + <Sql><![CDATA[ + select count(*) as countGLCategories + from gl_category + where ad_client_id='0' + and gl_category_id <> ? + and name = ? + ]]> + </Sql> + <Parameter name="id"/> + <Parameter name="name"/> + </SqlMethod> +</SqlClass> \ No newline at end of file diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateClientGLCategory$glCategory.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateClientGLCategory$glCategory.class new file mode 100644 index 0000000000000000000000000000000000000000..3e6e443077b48d4bd16484ff6d98b372f46218f3 GIT binary patch literal 895 zc$}qD%Wl&^6g}fOapStwE#;9GXrL)--G_PYsJaOPAw{rg>3-r2?o`e=8atJ`>5~6p zVIi^L1NbP!y;e{cuxYX7b00Hv?>X1=^Vjzu0AAo}8y?nt%;5oh4;daYtTS{yJn^t0 z;OLRS^59IK%Q%xJjgLyJP5N5EHFB&3f<%@o&F#hU#e~APF5alma+;L_t@2bCy=MY1 z2f0n-e4@<I%JV!P=c8$+ip1(k8Go9Ls6s!}%9QU0{aH0?&^pjYmxltETQ@lWH|3jU zwogcEKOd2{#ep{J!*o1U_E-)x#e>NcnVm?hIi4k5mM!3?*&i}ArT4}t+s|ZCC|Wzb zzM$S!Ihu`sluvD<-fC{R_U{w>tR=uLECvYC3($riV4fjhSb*<gQ{do#xCn$-Bl|c! zQwja}#uiWQ`L*lfF<remx}Ht?h%NY;pV?q$7ubd&>!L`|8)AuYnW8Un&?4K7b}ESI z8=PpjLL=I%;6@#{LNn?#E404S9tXDxSL^-T)GeZlJCxf+2YXn@K2~VuRn4V~JGftW j@7BDW+GA#o+GB2R?J>J1t#|4UtGGwjCw3lby9@CfbCBJ} diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateClientGLCategory.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateClientGLCategory.class new file mode 100644 index 0000000000000000000000000000000000000000..0f6c842cba3f9c837912bec242ddee3ad9be82fb GIT binary patch literal 4520 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 diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateClientGLCategoryData.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateClientGLCategoryData.class new file mode 100644 index 0000000000000000000000000000000000000000..b113e2f85cfa1a021e5877f4ab4adddab4832e84 GIT binary patch literal 9204 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 ImAKvV|3m@si2wiq diff --git a/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/UpdateClientGLCategoryData.java b/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/UpdateClientGLCategoryData.java new file mode 100644 --- /dev/null +++ b/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/UpdateClientGLCategoryData.java @@ -0,0 +1,222 @@ +//Sqlc generated V1.O00-1 +package org.openbravo.modulescript; + +import java.sql.*; + +import org.apache.log4j.Logger; + +import javax.servlet.ServletException; + +import org.openbravo.data.FieldProvider; +import org.openbravo.database.ConnectionProvider; +import org.openbravo.data.UtilSql; +import java.util.*; + +class UpdateClientGLCategoryData implements FieldProvider { +static Logger log4j = Logger.getLogger(UpdateClientGLCategoryData.class); + private String InitRecordNumber="0"; + public String clientname; + public String categoryname; + public String glCategoryId; + + public String getInitRecordNumber() { + return InitRecordNumber; + } + + public String getField(String fieldName) { + if (fieldName.equalsIgnoreCase("clientname")) + return clientname; + else if (fieldName.equalsIgnoreCase("categoryname")) + return categoryname; + else if (fieldName.equalsIgnoreCase("gl_category_id") || fieldName.equals("glCategoryId")) + return glCategoryId; + else { + log4j.debug("Field does not exist: " + fieldName); + return null; + } + } + + public static UpdateClientGLCategoryData[] existsRenamedGLCategories(ConnectionProvider connectionProvider, String id, String name) throws ServletException { + return existsRenamedGLCategories(connectionProvider, id, name, 0, 0); + } + + public static UpdateClientGLCategoryData[] existsRenamedGLCategories(ConnectionProvider connectionProvider, String id, String name, int firstRegister, int numberRegisters) throws ServletException { + String strSql = ""; + strSql = strSql + + " select ad_client.name as clientname, gl_category.name as categoryname, '' as gl_category_id" + + " from gl_category left join ad_client on gl_category.ad_client_id = ad_client.ad_client_id" + + " where gl_category.gl_category_id = ?" + + " and gl_category.name <> ?"; + + ResultSet result; + Vector<java.lang.Object> vector = new Vector<java.lang.Object>(0); + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, id); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, name); + + result = st.executeQuery(); + long countRecord = 0; + long countRecordSkip = 1; + boolean continueResult = true; + while(countRecordSkip < firstRegister && continueResult) { + continueResult = result.next(); + countRecordSkip++; + } + while(continueResult && result.next()) { + countRecord++; + UpdateClientGLCategoryData objectUpdateClientGLCategoryData = new UpdateClientGLCategoryData(); + objectUpdateClientGLCategoryData.clientname = UtilSql.getValue(result, "clientname"); + objectUpdateClientGLCategoryData.categoryname = UtilSql.getValue(result, "categoryname"); + objectUpdateClientGLCategoryData.glCategoryId = UtilSql.getValue(result, "gl_category_id"); + objectUpdateClientGLCategoryData.InitRecordNumber = Integer.toString(firstRegister); + vector.addElement(objectUpdateClientGLCategoryData); + if (countRecord >= numberRegisters && numberRegisters != 0) { + continueResult = false; + } + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + UpdateClientGLCategoryData objectUpdateClientGLCategoryData[] = new UpdateClientGLCategoryData[vector.size()]; + vector.copyInto(objectUpdateClientGLCategoryData); + return(objectUpdateClientGLCategoryData); + } + + public static UpdateClientGLCategoryData[] selectExistingGLCategories(ConnectionProvider connectionProvider) throws ServletException { + return selectExistingGLCategories(connectionProvider, 0, 0); + } + + public static UpdateClientGLCategoryData[] selectExistingGLCategories(ConnectionProvider connectionProvider, int firstRegister, int numberRegisters) throws ServletException { + String strSql = ""; + strSql = strSql + + " select gl_category_id" + + " from gl_category" + + " where ad_client_id='0'"; + + ResultSet result; + Vector<java.lang.Object> vector = new Vector<java.lang.Object>(0); + PreparedStatement st = null; + + try { + st = connectionProvider.getPreparedStatement(strSql); + + result = st.executeQuery(); + long countRecord = 0; + long countRecordSkip = 1; + boolean continueResult = true; + while(countRecordSkip < firstRegister && continueResult) { + continueResult = result.next(); + countRecordSkip++; + } + while(continueResult && result.next()) { + countRecord++; + UpdateClientGLCategoryData objectUpdateClientGLCategoryData = new UpdateClientGLCategoryData(); + objectUpdateClientGLCategoryData.glCategoryId = UtilSql.getValue(result, "gl_category_id"); + objectUpdateClientGLCategoryData.InitRecordNumber = Integer.toString(firstRegister); + vector.addElement(objectUpdateClientGLCategoryData); + if (countRecord >= numberRegisters && numberRegisters != 0) { + continueResult = false; + } + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + UpdateClientGLCategoryData objectUpdateClientGLCategoryData[] = new UpdateClientGLCategoryData[vector.size()]; + vector.copyInto(objectUpdateClientGLCategoryData); + return(objectUpdateClientGLCategoryData); + } + + public static int update(ConnectionProvider connectionProvider) throws ServletException { + String strSql = ""; + strSql = strSql + + " update gl_category" + + " set ad_client_id='0'" + + " where gl_category_id in ('102C08DF5D4341D5B7FDF758632503D2','160C37CC0D36480E8B91B015FAC747DC','3005499D637B41AF86222E4BDA29D415'," + + " '37501231BC434F2DB0BF5F706CEBCC1F','47D760C2B9C942EA86D47E6422C3BF9C','5106A21601924DA9996DC40C34954F8A'," + + " '82B88F71CF71401584FC1DFEFD9EB33D','844F34E0FA4045C6A3D00B6D4D53107B','A431AFE1356141728139523053B672C4'," + + " 'AAB8DB8C913E4AA0A651A5C0DC061C1A','C79381E3F81140DBAAD73E6B0CD74901','D6A6F219061F4C34B87E1CC4DD6797F3'," + + " 'E8752D97421B434F8355331B680DC652','FA9102F37B904275A3CCD9935D69ED51','FC670B83E59C4E7CBD6B999D3F28B251')"; + + int updateCount = 0; + PreparedStatement st = null; + + try { + st = connectionProvider.getPreparedStatement(strSql); + + updateCount = st.executeUpdate(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(updateCount); + } + + public static int insert(ConnectionProvider connectionProvider, String id, String name, String categoryType, String isDefault) throws ServletException { + String strSql = ""; + strSql = strSql + + " insert into gl_category(gl_category_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, description, categorytype, isdefault, docbasetype)" + + " values (?, '0', '0', 'Y', now(), '100', now(), '100', ?, null, ?, ?, null)"; + + int updateCount = 0; + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, id); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, name); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, categoryType); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, isDefault); + + updateCount = st.executeUpdate(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(updateCount); + } +} diff --git a/src-util/modulescript/src/org/openbravo/modulescript/UpdateClientGLCategory.java b/src-util/modulescript/src/org/openbravo/modulescript/UpdateClientGLCategory.java new file mode 100644 --- /dev/null +++ b/src-util/modulescript/src/org/openbravo/modulescript/UpdateClientGLCategory.java @@ -0,0 +1,105 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ + */ +package org.openbravo.modulescript; + +import org.apache.log4j.Logger; +import org.openbravo.database.ConnectionProvider; +import org.openbravo.modulescript.ModuleScript; + +/** + * Updates those GL Category elements inserted through the Initial Setup dataset to + * ad_client_id='0', while fixing the issue https://issues.openbravo.com/view.php?id=15100. In order + * to ensure that this module script is executed correctly, the build validation + * GLCategoriesAtSystemLevel must be met + */ +public class UpdateClientGLCategory extends ModuleScript { + + private static final Logger log4j = Logger.getLogger(UpdateClientGLCategory.class); + + public class glCategory { + String id; + String name; + String categoryType; + String isDefault; + + public glCategory(String id, String name, String categoryType, String isDefault) { + this.id = id; + this.name = name; + this.categoryType = categoryType; + this.isDefault = isDefault; + } + } + + private final glCategory[] glCategories = { + new glCategory("C79381E3F81140DBAAD73E6B0CD74901", "AP Payment", "D", "N"), + new glCategory("160C37CC0D36480E8B91B015FAC747DC", "Material Management", "D", "N"), + new glCategory("A431AFE1356141728139523053B672C4", "AP Invoice", "D", "N"), + new glCategory("4028E6113045578D0130455BF156000A", "Settlement 2", "D", "N"), + new glCategory("4028E6113045578D0130455BCFEA0007", "kk", "D", "N"), + new glCategory("102C08DF5D4341D5B7FDF758632503D2", "AR Invoice", "D", "N"), + new glCategory("E8752D97421B434F8355331B680DC652", "AR Receipt", "D", "N"), + new glCategory("37501231BC434F2DB0BF5F706CEBCC1F", "Production", "D", "N"), + new glCategory("D6A6F219061F4C34B87E1CC4DD6797F3", "Cash", "D", "N"), + new glCategory("FC670B83E59C4E7CBD6B999D3F28B251", "Standard", "M", "Y"), + new glCategory("FA9102F37B904275A3CCD9935D69ED51", "MatchPO", "D", "N"), + new glCategory("5106A21601924DA9996DC40C34954F8A", "Inventory", "D", "N"), + new glCategory("AAB8DB8C913E4AA0A651A5C0DC061C1A", "Bank Statement", "D", "N"), + new glCategory("82B88F71CF71401584FC1DFEFD9EB33D", "MatchInv", "D", "N"), + new glCategory("47D760C2B9C942EA86D47E6422C3BF9C", "Manual", "M", "N"), + new glCategory("3005499D637B41AF86222E4BDA29D415", "Movement", "D", "N"), + new glCategory("844F34E0FA4045C6A3D00B6D4D53107B", "Settlement", "D", "N") }; + + @Override + public void execute() { + try { + ConnectionProvider cp = getConnectionProvider(); + // All GL Categories are moved to System level + Integer numRowsUpdated = 0; + numRowsUpdated = UpdateClientGLCategoryData.update(cp); + if (numRowsUpdated != 0) + log4j.debug("Updated " + numRowsUpdated + + " GL Category elements due to the UpdateClientGLCategory module script execution."); + else + log4j.debug("No rows updated due to the UpdateClientGLCategory module script execution."); + + // All the GL Categories at System Level are retrieved + UpdateClientGLCategoryData[] dataInDb = UpdateClientGLCategoryData + .selectExistingGLCategories(cp); + for (int indGLCats = 0; indGLCats < glCategories.length; indGLCats++) { + boolean present = false; + for (int indInDb = 0; indInDb < dataInDb.length; indInDb++) { + if (dataInDb[indInDb].glCategoryId.equals(glCategories[indGLCats].id)) + present = true; + } + if (!present) { + log4j.debug("G/L Category " + glCategories[indGLCats].name + " will be inserted."); + int rowsInserted = UpdateClientGLCategoryData.insert(cp, glCategories[indGLCats].id, + glCategories[indGLCats].name, glCategories[indGLCats].categoryType, + glCategories[indGLCats].isDefault); + if (rowsInserted == 1) + log4j.debug("Inserted Correctly"); + else + log4j.error("Couldn't insert correctly G/L Category" + glCategories[indGLCats].name); + } + } + } catch (Exception e) { + handleError(e); + } + } +} \ No newline at end of file diff --git a/src-util/modulescript/src/org/openbravo/modulescript/UpdateClientGLCategory_data.xsql b/src-util/modulescript/src/org/openbravo/modulescript/UpdateClientGLCategory_data.xsql new file mode 100644 --- /dev/null +++ b/src-util/modulescript/src/org/openbravo/modulescript/UpdateClientGLCategory_data.xsql @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ +--> +<SqlClass name="UpdateClientGLCategoryData" package="org.openbravo.modulescript"> + <SqlMethod name="existsRenamedGLCategories" type="preparedStatement" return="multiple"> + <Sql><![CDATA[ + select ad_client.name as clientname, gl_category.name as categoryname, '' as gl_category_id + from gl_category left join ad_client on gl_category.ad_client_id = ad_client.ad_client_id + where gl_category.gl_category_id = ? + and gl_category.name <> ? + ]]> + </Sql> + <Parameter name="id"/> + <Parameter name="name"/> + </SqlMethod> + <SqlMethod name="selectExistingGLCategories" type="preparedStatement" return="multiple"> + <Sql><![CDATA[ + select gl_category_id + from gl_category + where ad_client_id='0' + ]]> + </Sql> + </SqlMethod> + <SqlMethod name="update" type="preparedStatement" return="rowCount"> + <SqlMethodComment></SqlMethodComment> + <Sql> + <![CDATA[ + update gl_category + set ad_client_id='0' + where gl_category_id in ('102C08DF5D4341D5B7FDF758632503D2','160C37CC0D36480E8B91B015FAC747DC','3005499D637B41AF86222E4BDA29D415', + '37501231BC434F2DB0BF5F706CEBCC1F','47D760C2B9C942EA86D47E6422C3BF9C','5106A21601924DA9996DC40C34954F8A', + '82B88F71CF71401584FC1DFEFD9EB33D','844F34E0FA4045C6A3D00B6D4D53107B','A431AFE1356141728139523053B672C4', + 'AAB8DB8C913E4AA0A651A5C0DC061C1A','C79381E3F81140DBAAD73E6B0CD74901','D6A6F219061F4C34B87E1CC4DD6797F3', + 'E8752D97421B434F8355331B680DC652','FA9102F37B904275A3CCD9935D69ED51','FC670B83E59C4E7CBD6B999D3F28B251') + ]]> + </Sql> + </SqlMethod> + <SqlMethod name="insert" type="preparedStatement" return="rowCount"> + <SqlMethodComment></SqlMethodComment> + <Sql> + <![CDATA[ + insert into gl_category(gl_category_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, name, description, categorytype, isdefault, docbasetype) + values (?, '0', '0', 'Y', now(), '100', now(), '100', ?, null, ?, ?, null) + ]]> + </Sql> + <Parameter name="id"/> + <Parameter name="name"/> + <Parameter name="categoryType"/> + <Parameter name="isDefault"/> + </SqlMethod> +</SqlClass> \ No newline at end of file changeset: 12580:ddd020560847 tag: tip parent: 12425:be7a11869d41 user: David Alsasua <david.alsasua@openbravo.com> date: Thu Jun 16 14:13:06 2011 +0200 summary: Fixes issue 15054. diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDataset.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDataset.class new file mode 100644 index 0000000000000000000000000000000000000000..a6c286740d892c16c2ae163df34ece1c7f85b179 GIT binary patch literal 11683 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 diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDatasetData.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDatasetData.class new file mode 100644 index 0000000000000000000000000000000000000000..b0696219b48afd5e916ed9b0b533f16b9edf6bd5 GIT binary patch literal 9169 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 DmFx$C diff --git a/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/ApplyInitialSetupDatasetData.java b/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/ApplyInitialSetupDatasetData.java new file mode 100644 --- /dev/null +++ b/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/ApplyInitialSetupDatasetData.java @@ -0,0 +1,225 @@ +//Sqlc generated V1.O00-1 +package org.openbravo.modulescript; + +import java.sql.*; + +import org.apache.log4j.Logger; + +import javax.servlet.ServletException; + +import org.openbravo.data.FieldProvider; +import org.openbravo.database.ConnectionProvider; +import org.openbravo.data.UtilSql; +import java.util.*; + +class ApplyInitialSetupDatasetData implements FieldProvider { +static Logger log4j = Logger.getLogger(ApplyInitialSetupDatasetData.class); + private String InitRecordNumber="0"; + public String name; + public String adClientId; + public String versionapplied; + public String diffcreated; + public String id; + + public String getInitRecordNumber() { + return InitRecordNumber; + } + + public String getField(String fieldName) { + if (fieldName.equalsIgnoreCase("name")) + return name; + else if (fieldName.equalsIgnoreCase("ad_client_id") || fieldName.equals("adClientId")) + return adClientId; + else if (fieldName.equalsIgnoreCase("versionapplied")) + return versionapplied; + else if (fieldName.equalsIgnoreCase("diffcreated")) + return diffcreated; + else if (fieldName.equalsIgnoreCase("id")) + return id; + else { + log4j.debug("Field does not exist: " + fieldName); + return null; + } + } + + public static ApplyInitialSetupDatasetData[] select(ConnectionProvider connectionProvider) throws ServletException { + return select(connectionProvider, 0, 0); + } + + public static ApplyInitialSetupDatasetData[] select(ConnectionProvider connectionProvider, int firstRegister, int numberRegisters) throws ServletException { + String strSql = ""; + strSql = strSql + + " select c.name, c.ad_client_id, coalesce(cm.version,om.version) as versionApplied," + + " to_number((select coalesce(min(dt.created),now()) from c_doctype dt where dt.ad_client_id=c.ad_client_id) - c.created) as diffCreated," + + " '' as id" + + " from ad_client c" + + " left join ad_clientmodule cm on c.ad_client_id=cm.ad_client_id and cm.ad_module_id='0'" + + " left join ad_orgmodule om on c.ad_client_id=om.ad_client_id and om.ad_module_id='0'" + + " order by c.name"; + + ResultSet result; + Vector<java.lang.Object> vector = new Vector<java.lang.Object>(0); + PreparedStatement st = null; + + try { + st = connectionProvider.getPreparedStatement(strSql); + + result = st.executeQuery(); + long countRecord = 0; + long countRecordSkip = 1; + boolean continueResult = true; + while(countRecordSkip < firstRegister && continueResult) { + continueResult = result.next(); + countRecordSkip++; + } + while(continueResult && result.next()) { + countRecord++; + ApplyInitialSetupDatasetData objectApplyInitialSetupDatasetData = new ApplyInitialSetupDatasetData(); + objectApplyInitialSetupDatasetData.name = UtilSql.getValue(result, "name"); + objectApplyInitialSetupDatasetData.adClientId = UtilSql.getValue(result, "ad_client_id"); + objectApplyInitialSetupDatasetData.versionapplied = UtilSql.getValue(result, "versionapplied"); + objectApplyInitialSetupDatasetData.diffcreated = UtilSql.getValue(result, "diffcreated"); + objectApplyInitialSetupDatasetData.id = UtilSql.getValue(result, "id"); + objectApplyInitialSetupDatasetData.InitRecordNumber = Integer.toString(firstRegister); + vector.addElement(objectApplyInitialSetupDatasetData); + if (countRecord >= numberRegisters && numberRegisters != 0) { + continueResult = false; + } + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + ApplyInitialSetupDatasetData objectApplyInitialSetupDatasetData[] = new ApplyInitialSetupDatasetData[vector.size()]; + vector.copyInto(objectApplyInitialSetupDatasetData); + return(objectApplyInitialSetupDatasetData); + } + + public static String existingId(ConnectionProvider connectionProvider, String tablename, String columnname, String value, String client) throws ServletException { + String strSql = ""; + strSql = strSql + + " SELECT "; + strSql = strSql + ((tablename==null || tablename.equals(""))?"":tablename); + strSql = strSql + + "_ID as id" + + " FROM "; + strSql = strSql + ((tablename==null || tablename.equals(""))?"":tablename); + strSql = strSql + + " WHERE "; + strSql = strSql + ((columnname==null || columnname.equals(""))?"":columnname); + strSql = strSql + + " = ?" + + " AND AD_CLIENT_ID = ?"; + + ResultSet result; + String strReturn = ""; + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + if (tablename != null && !(tablename.equals(""))) { + } + if (tablename != null && !(tablename.equals(""))) { + } + if (columnname != null && !(columnname.equals(""))) { + } + iParameter++; UtilSql.setValue(st, iParameter, 12, null, value); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, client); + + result = st.executeQuery(); + if(result.next()) { + strReturn = UtilSql.getValue(result, "id"); + } + result.close(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(strReturn); + } + + public static int insertRefDataLoaded(ConnectionProvider connectionProvider, String clientId, String genericId, String specificId, String tableId) throws ServletException { + String strSql = ""; + strSql = strSql + + " INSERT INTO AD_REF_DATA_LOADED (ad_ref_data_loaded_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, generic_id, specific_id, ad_table_id)" + + " VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', ?, ?, ?)"; + + int updateCount = 0; + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, clientId); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, genericId); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, specificId); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, tableId); + + updateCount = st.executeUpdate(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(updateCount); + } + + public static int insertClientModule(ConnectionProvider connectionProvider, String clientId) throws ServletException { + String strSql = ""; + strSql = strSql + + " INSERT INTO AD_CLIENTMODULE (ad_clientmodule_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, version)" + + " VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', (select version from ad_module where ad_module_id='0'))"; + + int updateCount = 0; + PreparedStatement st = null; + + int iParameter = 0; + try { + st = connectionProvider.getPreparedStatement(strSql); + iParameter++; UtilSql.setValue(st, iParameter, 12, null, clientId); + + updateCount = st.executeUpdate(); + } catch(SQLException e){ + log4j.error("SQL error in query: " + strSql + "Exception:"+ e); + throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage()); + } catch(Exception ex){ + log4j.error("Exception in query: " + strSql + "Exception:"+ ex); + throw new ServletException("@CODE=@" + ex.getMessage()); + } finally { + try { + connectionProvider.releasePreparedStatement(st); + } catch(Exception ignore){ + ignore.printStackTrace(); + } + } + return(updateCount); + } +} diff --git a/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset.java b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset.java new file mode 100644 --- /dev/null +++ b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset.java @@ -0,0 +1,260 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ + */ +package org.openbravo.modulescript; + +import java.math.BigDecimal; +import org.apache.log4j.Logger; +import org.openbravo.database.ConnectionProvider; +import org.openbravo.modulescript.ModuleScript; + +public class ApplyInitialSetupDataset extends ModuleScript { + + private static final Logger log4j = Logger.getLogger(UpdateClientGLCategory.class); + + public void execute() { + try { + ConnectionProvider cp = getConnectionProvider(); + + ApplyInitialSetupDatasetData data[] = ApplyInitialSetupDatasetData.select(cp); + for (int indClients = 0; indClients < data.length; indClients++) { + BigDecimal bdDiffCreated = BigDecimal.TEN; + if (data[indClients].diffcreated != null) + bdDiffCreated = new BigDecimal(data[indClients].diffcreated); + boolean boDocTypesCreatedWithClient = bdDiffCreated.compareTo(new BigDecimal("0.01")) <= 0; + boolean boModuleNotApplied = data[indClients].versionapplied == null + || "".equals(data[indClients].versionapplied); + if (boModuleNotApplied && boDocTypesCreatedWithClient) { + for (int indDBElements = 0; indDBElements < directElements.length; indDBElements++) { + String existingId = ApplyInitialSetupDatasetData.existingId(cp, + directElements[indDBElements].table, directElements[indDBElements].column, + directElements[indDBElements].value, data[indClients].adClientId); + if (existingId != null && !"".equals(existingId)) + ApplyInitialSetupDatasetData.insertRefDataLoaded(cp, data[indClients].adClientId, + directElements[indDBElements].id, existingId, + directElements[indDBElements].tableId); + } + ApplyInitialSetupDatasetData.insertClientModule(cp, data[indClients].adClientId); + } + } + } catch (Exception e) { + handleError(e); + } + } + + public class DBInsert { + public DBInsert(String table, String tableId, String id, String column, String value) { + this.table = table; + this.tableId = tableId; + this.id = id; + this.column = column; + this.value = value; + } + + String table; + String tableId; + String id; + String column; + String value; + } + + DBInsert[] directElements = { + new DBInsert("GL_Category", "218", "102C08DF5D4341D5B7FDF758632503D2", "Name", "AR Invoice"), + new DBInsert("GL_Category", "218", "160C37CC0D36480E8B91B015FAC747DC", "Name", + "Material Management"), + new DBInsert("GL_Category", "218", "3005499D637B41AF86222E4BDA29D415", "Name", "Movement"), + new DBInsert("GL_Category", "218", "37501231BC434F2DB0BF5F706CEBCC1F", "Name", "Production"), + new DBInsert("GL_Category", "218", "47D760C2B9C942EA86D47E6422C3BF9C", "Name", "Manual"), + new DBInsert("GL_Category", "218", "5106A21601924DA9996DC40C34954F8A", "Name", "Inventory"), + new DBInsert("GL_Category", "218", "745A2B441A2644DF934D1B1E462292E9", "Name", "None"), + new DBInsert("GL_Category", "218", "82B88F71CF71401584FC1DFEFD9EB33D", "Name", "MatchInv"), + new DBInsert("GL_Category", "218", "844F34E0FA4045C6A3D00B6D4D53107B", "Name", "Settlement"), + new DBInsert("GL_Category", "218", "A431AFE1356141728139523053B672C4", "Name", "AP Invoice"), + new DBInsert("GL_Category", "218", "AAB8DB8C913E4AA0A651A5C0DC061C1A", "Name", + "Bank Statement"), + new DBInsert("GL_Category", "218", "C79381E3F81140DBAAD73E6B0CD74901", "Name", "AP Payment"), + new DBInsert("GL_Category", "218", "D6A6F219061F4C34B87E1CC4DD6797F3", "Name", "Cash"), + new DBInsert("GL_Category", "218", "E8752D97421B434F8355331B680DC652", "Name", "AR Receipt"), + new DBInsert("GL_Category", "218", "FA9102F37B904275A3CCD9935D69ED51", "Name", "MatchPO"), + new DBInsert("GL_Category", "218", "FC670B83E59C4E7CBD6B999D3F28B251", "Name", "Standard"), + new DBInsert("AD_Sequence", "115", "01A4350CC9044517BA7B1B05EEF065FF", "Name", + "MM Shipment Indirect"), + new DBInsert("AD_Sequence", "115", "0FBF9530BC584A6E9415F7AD01A23201", "Name", + "Standard Order"), + new DBInsert("AD_Sequence", "115", "267B166C6F4B49E893CF6276EE396E7D", "Name", "Production"), + new DBInsert("AD_Sequence", "115", "2D47C580583242259DF1FFEA4D914A94", "Name", "MM Shipment"), + new DBInsert("AD_Sequence", "115", "31A0AE4B070A49EAA5D755D33D7B9C8C", "Name", + "Reversed Sales Invoice"), + new DBInsert("AD_Sequence", "115", "4D72691638A24A0194882A302FCF9494", "Name", "AP Payment"), + new DBInsert("AD_Sequence", "115", "6D3C7477332F47CD8A0F6A5C4805EBD4", "Name", "Prepay Order"), + new DBInsert("AD_Sequence", "115", "74C3CC2BCDDA45F5BBFE8DF603728749", "Name", + "Purchase Requisition"), + new DBInsert("AD_Sequence", "115", "7C2F74C43970423E890C8892C43673E9", "Name", "Settlement"), + new DBInsert("AD_Sequence", "115", "81EEB6FAFE5D4E6B9389CAAC6297495B", "Name", + "Physical Inventory"), + new DBInsert("AD_Sequence", "115", "81F0991C4D884F82AF34E6CD72C0BFEC", "Name", "Quotation"), + new DBInsert("AD_Sequence", "115", "8547DE01C56D4C67A28F37AA5E72046D", "Name", "Proposal"), + new DBInsert("AD_Sequence", "115", "8CA21B8285CC4C4E8DCAD896DB03213E", "Name", "Cash Journal"), + new DBInsert("AD_Sequence", "115", "949C664EE54A4AA5B23CE288E1677916", "Name", + "Bank Statement"), + new DBInsert("AD_Sequence", "115", "A55E308B07EF453B87ED12516E3C9F7D", "Name", + "Matched Invoices"), + new DBInsert("AD_Sequence", "115", "A6A631F13B004AB8AD39573E95EE992E", "Name", + "Return Material"), + new DBInsert("AD_Sequence", "115", "A7C5B67A2BB244A19F475160A5AFCE5E", "Name", + "Inventory Move"), + new DBInsert("AD_Sequence", "115", "AE79ADF07A5E4E6E9C5367505C1C3463", "Name", + "Purchase Order"), + new DBInsert("AD_Sequence", "115", "B277787F93854F888B32177DCF14C43D", "Name", + "Reversed Purchase Invoice"), + new DBInsert("AD_Sequence", "115", "B380E35582BD4D1A930146F1BA72C03F", "Name", "GL Journal"), + new DBInsert("AD_Sequence", "115", "B74E4F916A4B4A67BA572CAE835B4049", "Name", + "AR Credit Memo"), + new DBInsert("AD_Sequence", "115", "BCF68C60AFAE45358B7D78FCAB3EB783", "Name", + "Matched Purchase Orders"), + new DBInsert("AD_Sequence", "115", "C114BA11CB23468B86887B3619AA52CC", "Name", "Depreciation"), + new DBInsert("AD_Sequence", "115", "CF53CE0FBB6B4FBB89C4939E191AFFD4", "Name", + "Manual Settlement"), + new DBInsert("AD_Sequence", "115", "EC5B218F09F44618B98FA0D233E3DC70", "Name", "AR Invoice"), + new DBInsert("AD_Sequence", "115", "F3659AAEFC2741F788BB474159616023", "Name", "AR Receipt"), + new DBInsert("AD_Sequence", "115", "F4F629F131124F198601A47F5FEDF53A", "Name", "Credit Order"), + new DBInsert("AD_Sequence", "115", "F6907986413D46C4BE3E27174895CC48", "Name", + "Warehouse Order"), + new DBInsert("AD_Sequence", "115", "FE1DFB9999224BE7B1B84B9E5D4CDA0B", "Name", + "Debt Payment Management"), + new DBInsert("AD_Sequence", "115", "FFB42B38D6A34634B534AB499B13644C", "Name", "POS Order"), + new DBInsert("C_DocType", "217", "0A1D4A2DB7144D81A821E31A9B332ACB", "Name", "Quotation"), + new DBInsert("C_DocType", "217", "0CD50184705A42CCBECA4EC967646440", "Name", "MM Shipment"), + new DBInsert("C_DocType", "217", "15C8DCE82DA841968ABCD614FED68576", "Name", "Proposal"), + new DBInsert("C_DocType", "217", "15F495A6290040F194A9AA4622FE0C01", "Name", "Prepay Order"), + new DBInsert("C_DocType", "217", "2030AD7DD4284E2B936E261662EF735A", "Name", "MM Receipt"), + new DBInsert("C_DocType", "217", "2D7C15F0F44E4F289A729415EFD700C1", "Name", + "Return Material"), + new DBInsert("C_DocType", "217", "3DDDC41E36534A79B7CC1B725472882D", "Name", "Inventory Move"), + new DBInsert("C_DocType", "217", "40EE9B1CD3B345FABEFDA62B407B407F", "Name", "AR Invoice"), + new DBInsert("C_DocType", "217", "42B7DE94BC324C3F9CC0934375E90FFF", "Name", "AP CreditMemo"), + new DBInsert("C_DocType", "217", "51005B2C07EB41C5A2E7C25A4640ACD7", "Name", "GL Journal"), + new DBInsert("C_DocType", "217", "511A9371A0F74195AA3F6D66C722729D", "Name", "POS Order"), + new DBInsert("C_DocType", "217", "5C6E02993E9B4FCA81C07955EF676C62", "Name", "AP Invoice"), + new DBInsert("C_DocType", "217", "5EA6556D24034412B5F26F6BA7245318", "Name", + "Matched Invoices"), + new DBInsert("C_DocType", "217", "6543EB94DC664371BAF61B8E8AC121F3", "Name", "Bank Statement"), + new DBInsert("C_DocType", "217", "67C3266D11A04078B7A14AC21E91C711", "Name", + "Reversed Sales Invoice"), + new DBInsert("C_DocType", "217", "6B13D02AD3C44C4CB0CFBD1288E0CB10", "Name", + "Physical Inventory"), + new DBInsert("C_DocType", "217", "6F3BBCA488F6474A806C59FD1137CBF5", "Name", + "Purchase Requisition"), + new DBInsert("C_DocType", "217", "76E7C671FCE34556908E563F825C2937", "Name", + "Warehouse Order"), + new DBInsert("C_DocType", "217", "808F8818F724497D94282AC83493F394", "Name", "Purchase Order"), + new DBInsert("C_DocType", "217", "857F464FDEE34F6DB5AEC50981419FBF", "Name", "Settlement"), + new DBInsert("C_DocType", "217", "8F343D831EA6434D9720FECAF5FB957E", "Name", + "Debt Payment Management"), + new DBInsert("C_DocType", "217", "9883CB89E41E496D987D8838C3CE0DC7", "Name", + "Matched Purchase Orders"), + new DBInsert("C_DocType", "217", "A0C72093D5614867906A6E878F96FBBD", "Name", "Depreciation"), + new DBInsert("C_DocType", "217", "A58B8296E0ED42E386468D4527DE8F30", "Name", "Cash Journal"), + new DBInsert("C_DocType", "217", "AFFD4594FB734E9682D5769669A9D471", "Name", + "Reversed Purchase Invoice"), + new DBInsert("C_DocType", "217", "B476CFAE109047DEB5BC9AC80A03297A", "Name", "AR Credit Memo"), + new DBInsert("C_DocType", "217", "B968C737ED3E4C808E425A72CC445DFE", "Name", + "Manual Settlement"), + new DBInsert("C_DocType", "217", "CB6EEA256BBC41109911215C5A14D39B", "Name", "Standard Order"), + new DBInsert("C_DocType", "217", "D132517AE775435B8EB2832CC61FCAB1", "Name", "AR Receipt"), + new DBInsert("C_DocType", "217", "E7F4802D902A42A59143DCCBEDE4DE85", "Name", "Credit Order"), + new DBInsert("C_DocType", "217", "EC0B46C525A0417DA286823864620991", "Name", "Production"), + new DBInsert("C_DocType", "217", "ED1E059C9CF54062BA43B79F3EB89C77", "Name", "AP Payment"), + new DBInsert("C_DocType", "217", "F8CC92C7234644DEAD9F63174F45B2BF", "Name", + "MM Shipment Indirect"), + new DBInsert("AD_Preference", "195", "AAEF5567618F49FE8BA729E550614AA0", "Attribute", + "C_DocTypeTarget_ID"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "02376C41DA824413A9BE649443924C03", + "Name", "Purchase Order Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "11DD7B13EAC94215B6F8F735BBED4D55", + "Name", "Quotation Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "4F23CD7CD64D468EA4753C0C7B09FD53", + "Name", "Return Material Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "70AEA0C77DB743A4A89058BFE091FEEA", + "Name", "Standard order report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "8E2539C66CFB43F79613217E35CC5D14", + "Name", "AR Receipt Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "9FB97CCA66EA49F29A0EF5080E2AFF29", + "Name", "AR Credit Memo Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "A16BD46A069F4502BDDFD9A555AEAA48", + "Name", "AR Invoice Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "A76CE6794C2E467394C21675524DBA9C", + "Name", "Proposal Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "AF10A903167240F883C7EE7A3325981D", + "Name", "POS Order Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "B1DF02E45C4946C7BB1D45C065C49577", + "Name", "AP Credit Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "B94A012B25FB4C319804BED013BD584B", + "Name", "Prepay Order Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "BC7220FEA2F44F9C9FB6619FC58B6944", + "Name", "MM Receipt Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "C6A6AF1CA3C94B3899CAEC27EE427402", + "Name", "MM Shipment Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "C76E1DE89DA04BF6B6FAEDDA0216EE7A", + "Name", "Warehouse Order Memo Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "D9BB431F120746C8A84266CA42D02029", + "Name", "On Credit Order Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "E5901A1122F641089417A08A7317764C", + "Name", "AP Invoice Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "E87E9B580A024383B2E79BD768288899", + "Name", "MM Shipment Indirect Report template"), + new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "FA45DFAC61A542658CC02B64E476F4C0", + "Name", "AP Payment Report template") }; + DBInsert[] indirectElements = { + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "0680791915544EDAA32727AD21542EE3", null, + "AR Receipt Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A238C7BE040007F010129BA", null, + "AR Invoice Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A298C7BE040007F010129BA", null, + "AR Credit Memo Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A2E8C7BE040007F010129BA", null, + "MM Shipment Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A318C7BE040007F010129BA", null, + "MM Shipment Indirect Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A348C7BE040007F010129BA", null, + "MM Receipt Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A378C7BE040007F010129BA", null, + "AP Invoice Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A3A8C7BE040007F010129BA", null, + "AP Credit Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A3F8C7BE040007F010129BA", null, + "Purchase Order Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A5A8C7BE040007F010129BA", null, + "Quotation Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A5D8C7BE040007F010129BA", null, + "Proposal Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A608C7BE040007F010129BA", null, + "Prepay Order Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A638C7BE040007F010129BA", null, + "Return Material Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A668C7BE040007F010129BA", null, + "Standard order report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A698C7BE040007F010129BA", null, + "On Credit Order Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A6C8C7BE040007F010129BA", null, + "Warehouse Order Memo Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A6F8C7BE040007F010129BA", null, + "POS Order Report template"), + new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "E8CBFC5AD3784396BC2D14CD1A104316", null, + "AP Payment Report template") }; +} \ No newline at end of file diff --git a/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset_data.xsql b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset_data.xsql new file mode 100644 --- /dev/null +++ b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset_data.xsql @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2011 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ +--> +<SqlClass name="ApplyInitialSetupDatasetData" package="org.openbravo.modulescript"> + <SqlMethod name="select" type="preparedStatement" return="multiple"> + <Sql><![CDATA[ + select c.name, c.ad_client_id, coalesce(cm.version,om.version) as versionApplied, + to_number((select coalesce(min(dt.created),now()) from c_doctype dt where dt.ad_client_id=c.ad_client_id) - c.created) as diffCreated, + '' as id + from ad_client c + left join ad_clientmodule cm on c.ad_client_id=cm.ad_client_id and cm.ad_module_id='0' + left join ad_orgmodule om on c.ad_client_id=om.ad_client_id and om.ad_module_id='0' + order by c.name + ]]> + </Sql> + </SqlMethod> + <SqlMethod name="existingId" type="preparedStatement" return="String" default=""> + <Sql><![CDATA[ + SELECT C_DOCTYPE_ID as id + FROM C_DOCTYPE + WHERE NAME = ? + AND AD_CLIENT_ID = ? + ]]> + </Sql> + <Parameter name="tablename" optional="true" type="replace" after="SELECT " text="C_DOCTYPE"/> + <Parameter name="tablename" optional="true" type="replace" after="FROM " text="C_DOCTYPE "/> + <Parameter name="columnname" optional="true" type="replace" after="WHERE " text="NAME"/> + <Parameter name="value"/> + <Parameter name="client"/> + </SqlMethod> + <SqlMethod name="insertRefDataLoaded" type="preparedStatement" return="rowCount"> + <SqlMethodComment></SqlMethodComment> + <Sql> + INSERT INTO AD_REF_DATA_LOADED (ad_ref_data_loaded_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, generic_id, specific_id, ad_table_id) + VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', ?, ?, ?) + </Sql> + <Parameter name="clientId"/> + <Parameter name="genericId"/> + <Parameter name="specificId"/> + <Parameter name="tableId"/> + </SqlMethod> + <SqlMethod name="insertClientModule" type="preparedStatement" return="rowCount"> + <SqlMethodComment></SqlMethodComment> + <Sql> + INSERT INTO AD_CLIENTMODULE (ad_clientmodule_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, version) + VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', (select version from ad_module where ad_module_id='0')) + </Sql> + <Parameter name="clientId"/> + </SqlMethod> +</SqlClass> \ No newline at end of file | |||||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | ||||||||
|
Notes | |
(0040374) dalsasua (reporter) 2011-08-22 10:06 |
Attached a diff with proposed solution. Compilation fails due to a check in the import.sample.data, due to the sub-classes in the module scripts and/or build validations. |
Issue History | |||
Date Modified | Username | Field | Change |
2010-11-02 16:08 | dalsasua | New Issue | |
2010-11-02 16:08 | dalsasua | Assigned To | => eduardo_Argal |
2010-11-02 16:08 | dalsasua | Relationship added | related to 0015054 |
2010-11-08 18:51 | dalsasua | Status | new => scheduled |
2010-11-08 18:51 | dalsasua | Assigned To | eduardo_Argal => dalsasua |
2010-11-08 18:51 | dalsasua | fix_in_branch | => pi |
2010-11-08 18:52 | dalsasua | fix_in_branch | pi => |
2010-11-08 18:52 | dalsasua | Proposed Solution updated | |
2011-07-20 18:17 | dalsasua | Assigned To | dalsasua => jonalegriaesarte |
2011-08-22 10:05 | dalsasua | File Added: diff | |
2011-08-22 10:06 | dalsasua | Note Added: 0040374 |
Copyright © 2000 - 2009 MantisBT Group |