|
Adding OpenUI Admin Extensions to cus.mv
|
|
| 1. | Download your Merchant2/4.13/features/cus/cus.mv
|
| 2. | Save a copy of the file BEFORE you edit it (just in case you need to undo your changes)
|
| 3. | Open the original file in a text editor (or notepad.exe)
|
| 4. | Search for <MvFUNCTION NAME = "Action_Customer_Insert"> (around line 111)
|
| 5. | Search for the first <MvELSE> following the above line (around line 142), and replace this line with the following text:
|
|
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
| </MvIF>
|
| <MvASSIGN NAME = "g.XMOD_Action" VALUE = "{ 'HOOKFLAGS' }">
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst() }">
|
| <MvWHILE EXPR = "{ l.found }">
|
| <MvASSIGN NAME = "g.XMOD_Return" VALUE = "">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.trash" VALUE = "{ Module_API_Version() }">
|
| <MvIF EXPR = "{ 'CUSTOMER' CIN g.XMOD_Return }">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.ok" VALUE = "{ Module_Customer_Update(Customers.d.id) }">
|
| <MvIF EXPR = "{ NOT l.ok }">
|
| <MvWHILESTOP>
|
| </MvIF>
|
| </MvIF>
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext() }">
|
| </MvWHILE>
|
|
|
| <MvIF EXPR = "{ l.ok }">
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****
|
| <MvELSE>
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
|
|
| 6. | Search for <MvFUNCTION NAME = "Action_Customer_Update"> (around line 181)
|
| 7. | Search for the second <MvIF EXPR = "{ l.ok }"> following the above line (around line 215), and insert the following text immediately before:
|
|
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
| <MvIF EXPR = "{ l.ok }">
|
| <MvASSIGN NAME = "g.XMOD_Action" VALUE = "{ 'HOOKFLAGS' }">
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst() }">
|
| <MvWHILE EXPR = "{ l.found }">
|
| <MvASSIGN NAME = "g.XMOD_Return" VALUE = "">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.trash" VALUE = "{ Module_API_Version() }">
|
| <MvIF EXPR = "{ 'CUSTOMER' CIN g.XMOD_Return }">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.ok" VALUE = "{ Module_Customer_Update(Customers.d.id) }">
|
| <MvIF EXPR = "{ NOT l.ok }">
|
| <MvWHILESTOP>
|
| </MvIF>
|
| </MvIF>
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext() }">
|
| </MvWHILE>
|
| </MvIF>
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
|
|
| 8. | Search for <MvDO FILE = "{ g.Module_Feature_CUS_DB }" NAME = "l.ok" VALUE = "{ Customer_Delete( l.id ) }"> (around line 267)
|
| 9. | Immediately prior to this line, insert the following text:
|
|
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
| <MvIF EXPR = "{ l.ok }">
|
| <MvASSIGN NAME = "g.XMOD_Action" VALUE = "{ 'HOOKFLAGS' }">
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst() }">
|
| <MvWHILE EXPR = "{ l.found }">
|
| <MvASSIGN NAME = "g.XMOD_Return" VALUE = "">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.trash" VALUE = "{ Module_API_Version() }">
|
| <MvIF EXPR = "{ 'CUSTOMER' CIN g.XMOD_Return }">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.ok" VALUE = "{ Module_Customer_Delete(Customers.d.id) }">
|
| <MvIF EXPR = "{ NOT l.ok }">
|
| <MvWHILESTOP>
|
| </MvIF>
|
| </MvIF>
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext() }">
|
| </MvWHILE>
|
| </MvIF>
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
|
|
| 10. | Search for <MvDO FILE = "{ g.Module_Admin }" NAME = "l.draw_tabs" VALUE = "{ DrawTabs( 'IDEN', l.tab_list ) }"> (around line 1906)
|
| 11. | Immediately prior to this line, insert the following text:
|
|
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
| <MvASSIGN NAME = "g.XMOD_Action" VALUE = "{ 'HOOKFLAGS' }">
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst() }">
|
| <MvWHILE EXPR = "{ l.found }">
|
| <MvASSIGN NAME = "g.XMOD_Return" VALUE = "">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.trash" VALUE = "{ Module_API_Version() }">
|
| <MvIF EXPR = "{ 'CUSTOMER' CIN g.XMOD_Return }">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.module_tabs" VALUE = "{ Module_Customer_Tabs( Customers.d.id ) }">
|
| <MvIF EXPR = "{ len(l.module_tabs) }">
|
| <MvASSIGN NAME = "l.tab_list" VALUE = "{ l.tab_list $ ',' $ l.module_tabs }">
|
| </MvIF>
|
| </MvIF>
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext() }">
|
| </MvWHILE>
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
|
|
| 12. | Skip two lines, then insert the following text:
|
|
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
| <MvASSIGN NAME = "g.XMOD_Action" VALUE = "{ 'HOOKFLAGS' }">
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst() }">
|
| <MvWHILE EXPR = "{ l.found }">
|
| <MvASSIGN NAME = "g.XMOD_Return" VALUE = "">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.trash" VALUE = "{ Module_API_Version() }">
|
| <MvIF EXPR = "{ 'CUSTOMER' CIN g.XMOD_Return }">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.ok" VALUE = "{ Module_Customer_Content( g.Tab, g.Load_Fields, Customers.d.id ) }">
|
| <MvIF EXPR = "{ NOT l.ok }">
|
| <MvWHILESTOP>
|
| </MvIF>
|
| </MvIF>
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext() }">
|
| </MvWHILE>
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
|
|
| 13. | Search for <MvFUNCTION NAME = "FieldError" PARAMETERS = "tab, field, message" STANDARDOUTPUTLEVEL = ""> (around line 3436)
|
| 14. | Go back 3 lines, and immediately prior to the line <MvFUNCTIONRETURN VALUE = 1> (about line 3433), insert the following text:
|
|
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
| <MvASSIGN NAME = "g.XMOD_Action" VALUE = "{ 'HOOKFLAGS' }">
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindFirst() }">
|
| <MvWHILE EXPR = "{ l.found }">
|
| <MvASSIGN NAME = "g.XMOD_Return" VALUE = "">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.trash" VALUE = "{ Module_API_Version() }">
|
| <MvIF EXPR = "{ 'CUSTOMER' CIN g.XMOD_Return }">
|
| <MvDO FILE = "{ g.Module_Root $ Modules.d.module }" NAME = "l.ok" VALUE = "{ Module_Customer_Validate() }">
|
| <MvIF EXPR = "{ NOT l.ok }">
|
| <MvFUNCTIONRETURN VALUE = "{ l.ok }">
|
| </MvIF>
|
| </MvIF>
|
| <MvDO FILE = "{ g.Module_Library_DB }" NAME = "l.found" VALUE = "{ StoreModule_FindNext() }">
|
| </MvWHILE>
|
| <MvCOMMENT>**** 3rd Party CUSTOMER Modification ****</MvCOMMENT>
|
|
|
| 15. | Save the changes
|
| 16. | Upload the file back to the original subdirectory, replacing the existing file
|