Author: hansbak
Date: Tue Nov 3 03:59:01 2009 New Revision: 832294 URL: http://svn.apache.org/viewvc?rev=832294&view=rev Log: Jira issue: https://issues.apache.org/jira/browse/OFBIZ-3128 1. New SFA Account/contact/lead find/list screens replacing ftl/partysearch with form/performfind. 2. SFA now compatible with the party manager with the 'all' option still have the previous 'my' option 3. added new widget property: 'text find' to set the default here and not in the xsl 4. added 'container' as a field to the form in order to insert forms dynamically with an ajax request 5. fix bug for using radio field. 6. Implemented comments on this jira issue including using the find decorator Contribution by Chattree, an employee of Antwebsystems Co.Ltd. Modified: ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml ofbiz/trunk/applications/marketing/widget/sfa/AccountScreens.xml ofbiz/trunk/applications/marketing/widget/sfa/ContactScreens.xml ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml ofbiz/trunk/applications/marketing/widget/sfa/forms/AccountForms.xml ofbiz/trunk/applications/marketing/widget/sfa/forms/ContactForms.xml ofbiz/trunk/applications/marketing/widget/sfa/forms/LeadForms.xml ofbiz/trunk/applications/party/entitydef/entitymodel.xml ofbiz/trunk/applications/party/servicedef/services.xml ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml ofbiz/trunk/framework/widget/config/widget.properties ofbiz/trunk/framework/widget/dtd/widget-form.xsd ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormStringRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlFormRenderer.java ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Modified: ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml (original) +++ ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml Tue Nov 3 03:59:01 2009 @@ -510,6 +510,15 @@ <value xml:lang="fr">Rechercher les comptes de ventes</value> <value xml:lang="it">Ricerca utenze SFA</value> <value xml:lang="zh">æ¥æ¾éå®ç®¡çè´¦æ·</value> + <value xml:lang="th">à¸à¹à¸à¸«à¸² Account</value> + </property> + <property key="MarketingFindContacts"> + <value xml:lang="en">Find SFA Contacts</value> + <value xml:lang="th">à¸à¹à¸à¸«à¸² Contact</value> + </property> + <property key="MarketingFindLeads"> + <value xml:lang="en">Find SFA Leads</value> + <value xml:lang="th">à¸à¹à¸à¸«à¸² Lead</value> </property> <property key="MarketingMainPage"> <value xml:lang="de">Haupt</value> @@ -1701,6 +1710,10 @@ <value xml:lang="th">วิà¸à¸µà¸à¸²à¸£à¸à¸´à¸à¸à¹à¸</value> <value xml:lang="zh">ä¼å 使ç¨çèç³»æ¹å¼</value> </property> + <property key="SfaAssignToMe"> + <value xml:lang="en">Assign To Me</value> + <value xml:lang="th">à¸à¸³à¸«à¸à¸à¹à¸«à¹à¸à¸±à¸</value> + </property> <property key="SfaAcccounts"> <value xml:lang="en">Accounts</value> <value xml:lang="fr">Comptes</value> @@ -1715,6 +1728,14 @@ <value xml:lang="it">Nome utente</value> <value xml:lang="zh">è´¦æ·å称</value> </property> + <property key="SfaAllAccounts"> + <value xml:lang="en">All Accounts</value> + <value xml:lang="th">Account à¸à¸±à¹à¸à¸«à¸¡à¸</value> + </property> + <property key="SfaMyAccounts"> + <value xml:lang="en">My Accounts</value> + <value xml:lang="th">Account à¸à¸à¸à¸à¸±à¸</value> + </property> <property key="SfaAddSalesForecastDetail"> <value xml:lang="en">Add Sales Forcast Detail</value> <value xml:lang="fr">Ajouter le détail de la prévision de ventes</value> @@ -1793,6 +1814,14 @@ <value xml:lang="it">Contatti</value> <value xml:lang="zh">èç³»</value> </property> + <property key="SfaAllContacts"> + <value xml:lang="en">All Contacts</value> + <value xml:lang="th">Contact à¸à¸±à¹à¸à¸«à¸¡à¸</value> + </property> + <property key="SfaMyContacts"> + <value xml:lang="en">My Contacts</value> + <value xml:lang="th">Contact à¸à¸à¸à¸à¸±à¸</value> + </property> <property key="SfaConvertLead"> <value xml:lang="en">Convert Lead</value> <value xml:lang="es">Convertir lead</value> @@ -1936,6 +1965,14 @@ <value xml:lang="it">Leads</value> <value xml:lang="zh">线索</value> </property> + <property key="SfaAllLeads"> + <value xml:lang="en">All Leads</value> + <value xml:lang="th">Lead à¸à¸±à¹à¸à¸«à¸¡à¸</value> + </property> + <property key="SfaMyLeads"> + <value xml:lang="en">My Leads</value> + <value xml:lang="th">Lead à¸à¸à¸à¸à¸±à¸</value> + </property> <property key="SfaListSalesForecastDetail"> <value xml:lang="en">List Sales Forecast Details</value> <value xml:lang="fr">Liste des détails de prévision de ventes</value> Modified: ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml Tue Nov 3 03:59:01 2009 @@ -59,7 +59,7 @@ <!-- Account Entry Requests --> <request-map uri="FindAccounts"> <security https="true" auth="true"/> - <response name="success" type="view" value="FindAccounts"/> + <response name="success" type="view" value="FindAccounts" save-home-view="true"/> </request-map> <request-map uri="NewAccount"> <security https="true" auth="true"/> @@ -75,11 +75,15 @@ <security https="true" auth="true"/> <response name="success" type="view" value="AssignAccountToMe"/> </request-map> + <request-map uri="ContactMechTypeOnly"> + <security https="true" auth="true"/> + <response name="success" type="view" value="ContactMechTypeOnly"/> + </request-map> <!-- Lead Requests --> <request-map uri="FindLeads"> <security https="true" auth="true"/> - <response name="success" type="view" value="FindLeads"/> + <response name="success" type="view" value="FindLeads" save-home-view="true"/> </request-map> <request-map uri="NewLead"> <security https="true" auth="true"/> @@ -144,7 +148,7 @@ <!-- Contact Requests --> <request-map uri="FindContacts"> <security https="true" auth="true"/> - <response name="success" type="view" value="FindContacts"/> + <response name="success" type="view" value="FindContacts" save-home-view="true"/> </request-map> <request-map uri="NewContact"> <security https="true" auth="true"/> @@ -252,6 +256,7 @@ <view-map name="FindAccounts" type="screen" page="component://marketing/widget/sfa/AccountScreens.xml#FindAccounts"/> <view-map name="NewAccount" type="screen" page="component://marketing/widget/sfa/AccountScreens.xml#NewAccount"/> <view-map name="AssignAccountToMe" type="screen" page="component://marketing/widget/sfa/AccountScreens.xml#AssignAccountToMe"/> + <view-map name="ContactMechTypeOnly" type="screen" page="component://marketing/widget/sfa/AccountScreens.xml#ContactMechTypeOnly"/> <view-map name="FindLeads" type="screen" page="component://marketing/widget/sfa/LeadScreens.xml#FindLeads"/> <view-map name="NewLead" type="screen" page="component://marketing/widget/sfa/LeadScreens.xml#NewLead"/> Modified: ofbiz/trunk/applications/marketing/widget/sfa/AccountScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/AccountScreens.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/AccountScreens.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/AccountScreens.xml Tue Nov 3 03:59:01 2009 @@ -24,7 +24,6 @@ <section> <actions> <set field="titleProperty" value="MarketingFindAccounts"/> - <set field="partyRelationshipTypeId" value="ACCOUNT"/> <set field="currentUrl" value="FindAccounts"/> <set field="headerItem" value="Accounts"/> </actions> @@ -32,19 +31,38 @@ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> <section> - <actions> - <service service-name="findParty" auto-field-map="true"/> - </actions> <widgets> <include-menu name="AccountSubTabBar" location="component://marketing/widget/sfa/SfaMenus.xml"/> <section> <widgets> - <platform-specific> - <html> - <html-template location="component://marketing/webapp/sfa/party/findSfaParty.ftl"/> - <html-template location="component://marketing/webapp/sfa/account/ListAccounts.ftl"/> - </html> - </platform-specific> + <container style="no-clear"> + <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml"> + <decorator-section name="search-options"> + <include-menu name="AccountFindTabBar" location="component://marketing/widget/sfa/SfaMenus.xml"/> + <include-form name="FindAccounts" location="component://marketing/widget/sfa/forms/AccountForms.xml"/> + </decorator-section> + <decorator-section name="search-results"> + <section> + <condition> + <or> + <if-empty field="parameters.all"/> + <if-compare field="parameters.all" operator="equals" value="true"/> + </or> + </condition> + <widgets> + <!-- list all accounts --> + <label style="h1" text="${uiLabelMap.SfaAllAccounts}"/> + <include-form name="ListAccounts" location="component://marketing/widget/sfa/forms/AccountForms.xml"/> + </widgets> + <fail-widgets> + <!-- list my accounts --> + <label style="h1" text="${uiLabelMap.SfaMyAccounts}"/> + <include-form name="ListMyAccounts" location="component://marketing/widget/sfa/forms/AccountForms.xml"/> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </container> </widgets> </section> </widgets> @@ -99,4 +117,105 @@ </widgets> </section> </screen> + <screen name="ContactMechTypeOnly"> + <section> + <actions> + <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/> + </actions> + <widgets> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="ELECTRONIC_ADDRESS"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="POSTAL_ADDRESS"/> + </condition> + <widgets> + <section> + <actions> + <entity-condition list="states" entity-name="Geo"> + <condition-list combine="or"> + <condition-expr field-name="geoTypeId" value="STATE"/> + <condition-expr field-name="geoTypeId" value="PROVINCE"/> + <condition-expr field-name="geoTypeId" value="TERRITORY"/> + </condition-list> + <order-by field-name="geoName"/> + </entity-condition> + <entity-condition list="countries" entity-name="Geo"> + <condition-list combine="or"> + <condition-expr field-name="geoTypeId" value="COUNTRY"/> + </condition-list> + <order-by field-name="geoName"/> + </entity-condition> + </actions> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindPostalAddress"/> + </widgets> + </section> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="TELECOM_NUMBER"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindTelecomNumber"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="EMAIL_ADDRESS"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="IP_ADDRESS"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="DOMAIN_NAME"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="WEB_ADDRESS"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="INTERNAL_PARTYID"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + <section> + <condition> + <if-compare field="parameters.contactMechTypeId" operator="equals" value="LDAP_ADDRESS"/> + </condition> + <widgets> + <include-form location="component://marketing/widget/sfa/forms/AccountForms.xml" name="FindInfoStringContactMech"/> + </widgets> + </section> + </widgets> + </section> + </screen> </screens> \ No newline at end of file Modified: ofbiz/trunk/applications/marketing/widget/sfa/ContactScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/ContactScreens.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/ContactScreens.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/ContactScreens.xml Tue Nov 3 03:59:01 2009 @@ -23,26 +23,44 @@ <screen name="FindContacts"> <section> <actions> - <set field="partyRelationshipTypeId" value="CONTACT_REL"/> - <set field="roleTypeId" value="CONTACT"/> - <set field="partyTypeId" value="PERSON"/> + <set field="titleProperty" value="MarketingFindContacts"/> + <set field="currentUrl" value="FindContacts"/> <set field="headerItem" value="Contacts"/> </actions> <widgets> <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> <section> - <actions> - <service service-name="findParty" auto-field-map="true"/> - </actions> <widgets> <include-menu name="ContactSubTabBar" location="component://marketing/widget/sfa/SfaMenus.xml"/> - <platform-specific> - <html> - <html-template location="component://marketing/webapp/sfa/party/findContactParty.ftl"/> - <html-template location="component://marketing/webapp/sfa/contact/ListContacts.ftl"/> - </html> - </platform-specific> + <container style="no-clear"> + <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml"> + <decorator-section name="search-options"> + <include-menu name="ContactFindTabBar" location="component://marketing/widget/sfa/SfaMenus.xml"/> + <include-form name="FindContacts" location="component://marketing/widget/sfa/forms/ContactForms.xml"/> + </decorator-section> + <decorator-section name="search-results"> + <section> + <condition> + <or> + <if-empty field="parameters.all"/> + <if-compare field="parameters.all" operator="equals" value="true"/> + </or> + </condition> + <widgets> + <!-- list all contacts --> + <label style="h1" text="${uiLabelMap.SfaAllContacts}"/> + <include-form name="ListContacts" location="component://marketing/widget/sfa/forms/ContactForms.xml"/> + </widgets> + <fail-widgets> + <!-- list my contacts --> + <label style="h1" text="${uiLabelMap.SfaMyContacts}"/> + <include-form name="ListMyContacts" location="component://marketing/widget/sfa/forms/ContactForms.xml"/> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </container> </widgets> </section> </decorator-section> Modified: ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml Tue Nov 3 03:59:01 2009 @@ -23,11 +23,9 @@ <screen name="FindLeads"> <section> <actions> - <set field="partyRelationshipTypeId" value="LEAD_OWNER"/> - <set field="partyTypeId" value="ANY"/> + <set field="titleProperty" value="MarketingFindLeads"/> <set field="currentUrl" value="FindLeads"/> <set field="headerItem" value="Leads"/> - <service service-name="findParty" auto-field-map="true"/> </actions> <widgets> <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> @@ -36,12 +34,32 @@ <widgets> <include-menu name="LeadSubTabBar" location="component://marketing/widget/sfa/SfaMenus.xml"/> <container style="no-clear"> - <platform-specific> - <html> - <html-template location="component://marketing/webapp/sfa/party/findSfaParty.ftl"/> - <html-template location="component://marketing/webapp/sfa/lead/ListLeads.ftl"/> - </html> - </platform-specific> + <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml"> + <decorator-section name="search-options"> + <include-menu name="LeadFindTabBar" location="component://marketing/widget/sfa/SfaMenus.xml"/> + <include-form name="FindLeads" location="component://marketing/widget/sfa/forms/LeadForms.xml"/> + </decorator-section> + <decorator-section name="search-results"> + <section> + <condition> + <or> + <if-empty field="parameters.all"/> + <if-compare field="parameters.all" operator="equals" value="true"/> + </or> + </condition> + <widgets> + <!-- list all leads --> + <label style="h1" text="${uiLabelMap.SfaAllLeads}"/> + <include-form name="ListLeads" location="component://marketing/widget/sfa/forms/LeadForms.xml"/> + </widgets> + <fail-widgets> + <!-- list my leads --> + <label style="h1" text="${uiLabelMap.SfaMyLeads}"/> + <include-form name="ListMyLeads" location="component://marketing/widget/sfa/forms/LeadForms.xml"/> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> </container> </widgets> </section> Modified: ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml Tue Nov 3 03:59:01 2009 @@ -72,9 +72,6 @@ <menu-item name="NewAccounts" title="${uiLabelMap.PageTitleCreateAccount}"> <link target="NewAccount"/> </menu-item> - <menu-item name="AssignAccountToMe" title="${uiLabelMap.PageTitleAssignAccountFromExisting}"> - <link target="AssignAccountToMe"/> - </menu-item> <menu-item name="ViewSfaCommEvent" title="${uiLabelMap.PartyCommunications}"> <condition> <not><if-empty field="partyId"/></not> @@ -85,6 +82,27 @@ </link> </menu-item> </menu> + <menu name="AccountFindTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> + <menu-item name="all" title="${uiLabelMap.SfaAllAccounts}"> + <condition> + <if-compare field="parameters.all" operator="equals" value="false"/> + </condition> + <link target="${parameters._LAST_VIEW_NAME_}"> + <parameter param-name="all" value="true"/> + </link> + </menu-item> + <menu-item name="my" title="${uiLabelMap.SfaMyAccounts}"> + <condition> + <or> + <if-compare field="parameters.all" operator="equals" value="true"/> + <if-empty field="parameters.all"/> + </or> + </condition> + <link target="${parameters._LAST_VIEW_NAME_}"> + <parameter param-name="all" value="false"/> + </link> + </menu-item> + </menu> <menu name="LeadTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> <menu-item name="profile" title="${uiLabelMap.PartyProfile}"> @@ -121,9 +139,6 @@ <menu-item name="NewLeadFromVCard" title="${uiLabelMap.PageTitleCreateLeadFromVCard}"> <link target="NewLeadFromVCard"/> </menu-item> - <menu-item name="AssignLeadToMe" title="${uiLabelMap.PageTitleAssignLeadFromExisting}"> - <link target="AssignLeadToMe"/> - </menu-item> <menu-item name="ViewSfaCommEvent" title="${uiLabelMap.PartyCommunications}"> <condition> <not><if-empty field="partyId"/></not> @@ -134,6 +149,28 @@ </link> </menu-item> </menu> + + <menu name="LeadFindTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> + <menu-item name="all" title="${uiLabelMap.SfaAllLeads}"> + <condition> + <if-compare field="parameters.all" operator="equals" value="false"/> + </condition> + <link target="${parameters._LAST_VIEW_NAME_}"> + <parameter param-name="all" value="true"/> + </link> + </menu-item> + <menu-item name="my" title="${uiLabelMap.SfaMyLeads}"> + <condition> + <or> + <if-compare field="parameters.all" operator="equals" value="true"/> + <if-empty field="parameters.all"/> + </or> + </condition> + <link target="${parameters._LAST_VIEW_NAME_}"> + <parameter param-name="all" value="false"/> + </link> + </menu-item> + </menu> <menu name="ContactTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> <menu-item name="profile" title="${uiLabelMap.PartyProfile}"> @@ -163,6 +200,27 @@ </link> </menu-item> </menu> + <menu name="ContactFindTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> + <menu-item name="all" title="${uiLabelMap.SfaAllContacts}"> + <condition> + <if-compare field="parameters.all" operator="equals" value="false"/> + </condition> + <link target="${parameters._LAST_VIEW_NAME_}"> + <parameter param-name="all" value="true"/> + </link> + </menu-item> + <menu-item name="my" title="${uiLabelMap.SfaMyContacts}"> + <condition> + <or> + <if-compare field="parameters.all" operator="equals" value="true"/> + <if-empty field="parameters.all"/> + </or> + </condition> + <link target="${parameters._LAST_VIEW_NAME_}"> + <parameter param-name="all" value="false"/> + </link> + </menu-item> + </menu> <menu name="SalesForecastTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> <menu-item name="EditSalesForecast" title="${uiLabelMap.SfaSalesForecast}"> <link target="EditSalesForecast"> Modified: ofbiz/trunk/applications/marketing/widget/sfa/forms/AccountForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/forms/AccountForms.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/forms/AccountForms.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/forms/AccountForms.xml Tue Nov 3 03:59:01 2009 @@ -75,5 +75,132 @@ <field name="partyId" parameter-name="partyIdTo"><lookup target-form-name="LookupAccount"/></field> <field name="assign"><submit/></field> </form> + + <form name="FindAccounts" id="FindAccounts" target="FindAccounts" title="" type="single" default-map-name="parameters" + header-row-style="header-row" default-table-style="basic-table"> + <field name="all"><hidden/></field> + <field name="partyId" title="${uiLabelMap.PartyPartyId}"><text-find/></field> + <field name="groupName" title="${uiLabelMap.PartyPartyGroupName}"><text-find/></field> + <field name="contactMechTypeId" event="onchange" action="javascript:ajaxUpdateAreas('contactMechContainer,ContactMechTypeOnly,contactMechTypeId=' + this.value);"> + <drop-down> + <option key="" description="${uiLabelMap.CommonNone}"/> + <entity-options entity-name="ContactMechType" key-field-name="contactMechTypeId" description="${description}"/> + </drop-down> + </field> + <field name="contactMechContainer" id-name="contactMechContainer" title=" "><container/></field> + <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> + <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"> + <submit button-type="button"/> + </field> + </form> + <form name="ListAccounts" type="list" paginate-target="FindAccounts" list-name="listIt" + odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar" separate-columns="true"> + <actions> + <set field="roleTypeIdFrom" value="OWNER"/> + <set field="roleTypeIdTo" value="ACCOUNT"/> + <set field="partyRelationshipTypeId" value="ACCOUNT"/> + <set field="parameters.roleTypeId" from-field="roleTypeIdTo"/> + <set field="fieldList" value="${groovy:["partyId","roleTypeId"]}" type="List"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="PartyRoleAndContactMechDetail"/> + <field-map field-name="orderBy" value="partyId"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <row-actions> + <entity-one entity-name="Party" value-field="party"> + <field-map field-name="partyId"/> + </entity-one> + <set field="partyType" default-value="${groovy:party.getRelatedOne("PartyType").get("description", locale)}"/> + <set field="partyName" value="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(party, true)}"/> + <set field="partyStatusId" from-field="party.statusId"/> + <entity-and entity-name="PartyRelationship" list="existRelationships" filter-by-date="true"> + <field-map field-name="roleTypeIdTo"/> + <field-map field-name="partyRelationshipTypeId"/> + <field-map field-name="partyIdFrom" from-field="userLogin.partyId"/> + <field-map field-name="partyIdTo" from-field="partyId"/> + </entity-and> + <set field="existRelationship" from-field="existRelationships[0]"/> + </row-actions> + <field name="partyId" title="${uiLabelMap.PartyPartyId}"> + <hyperlink target="viewprofile" description="${partyId}"> + <parameter param-name="partyId"/> + </hyperlink> + </field> + <field name="partyName" title="${uiLabelMap.PartyName}"> + <hyperlink target="viewprofile" description="${partyName}"> + <parameter param-name="partyId"/> + </hyperlink> + </field> + <field name="partyType" title="${uiLabelMap.PartyType}"> + <display description="${partyType}"/> + </field> + <field name="assignToMe" use-when="existRelationship==null&&!"false".equals(parameters.get("all"))" + title="${uiLabelMap.SfaAssignToMe}" widget-style="buttontext"> + <hyperlink target="createPartyRelationshipAndRole" description="${uiLabelMap.SfaAssignToMe}"> + <parameter param-name="partyId" from-field="userLogin.partyId"/> + <parameter param-name="roleTypeId" from-field="roleTypeIdFrom"/> + <parameter param-name="roleTypeIdFrom"/> + <parameter param-name="roleTypeIdTo"/> + <parameter param-name="partyRelationshipTypeId"/> + <parameter param-name="partyIdTo" from-field="partyId"/> + </hyperlink> + </field> + </form> + <form name="ListMyAccounts" extends="ListAccounts"> + <actions> + <set field="parameters.partyIdFrom" from-field="userLogin.partyId"/> + <set field="parameters.roleTypeIdFrom" value="OWNER"/> + <set field="parameters.roleTypeIdTo" value="ACCOUNT"/> + <set field="parameters.partyRelationshipTypeId" value="ACCOUNT"/> + <set field="fieldList" value="${groovy:["partyIdFrom","partyId"]}" type="List"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="PartyRelationshipAndContactMechDetail"/> + <field-map field-name="orderBy" value="partyId"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="assignToMe"><hidden/></field> + </form> + <form name="FindPostalAddress" type="single"> + <field name="paToName" title="${uiLabelMap.PartyAddrToName}"><text-find/></field> + <field name="paAttnName" title="${uiLabelMap.PartyAddrAttnName}"><text-find/></field> + <field name="paAddress1" title="${uiLabelMap.FormFieldTitle_paAddress1}"><text-find/></field> + <field name="paAddress2" title="${uiLabelMap.FormFieldTitle_paAddress2}"><text-find/></field> + <field name="paCity" title="${uiLabelMap.PartyCity}"><text-find/></field> + <field name="paStateProvinceGeoId" title="${uiLabelMap.FormFieldTitle_stateProvince}"> + <drop-down allow-empty="true"> + <list-options key-name="geoId" description="${geoName}" list-name="states"/> + </drop-down> + </field> + <field name="paPostalCode"><text-find/></field> + <field name="paCountryGeoId" title="${uiLabelMap.PartyCountry}"> + <drop-down allow-empty="true"> + <list-options key-name="geoId" description="${geoName}" list-name="countries"/> + </drop-down> + </field> + </form> + <form name="FindTelecomNumber" type="single"> + <field name="tnCountryCode" title="${uiLabelMap.PartyCountryCode}"><text-find/></field> + <field name="tnAreaCode" title="${uiLabelMap.PartyAreaCode}"><text-find/></field> + <field name="tnContactNumber" title="${uiLabelMap.PartyContactNumber}"><text-find/></field> + <field name="tnExtension" title="${uiLabelMap.PartyExtension}"><text-find/></field> + </form> + <form name="FindInfoStringContactMech" type="single"> + <actions> + <entity-one entity-name="ContactMechType" value-field="contactMechType"> + <field-map field-name="contactMechTypeId" from-field="parameters.contactMechTypeId"/> + </entity-one> + </actions> + <field name="infoString" title="${contactMechType.description}"><text-find/></field> + </form> </forms> \ No newline at end of file Modified: ofbiz/trunk/applications/marketing/widget/sfa/forms/ContactForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/forms/ContactForms.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/forms/ContactForms.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/forms/ContactForms.xml Tue Nov 3 03:59:01 2009 @@ -21,31 +21,67 @@ <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> - <form name="ListContacts" type="list" list-name="partyList" list-entry-name="partyRow" paginate-target="FindContact" - odd-row-style="alternate-row" default-table-style="basic-table hover-bar" separate-columns="true"> - <row-actions> - <entity-one entity-name="Person" value-field="person"> - <field-map field-name="partyId" from-field="partyRow.partyId"/> - </entity-one> - <entity-one entity-name="PartyType" value-field="partyType"> - <field-map field-name="partyTypeId" from-field="partyRow.partyTypeId"/> - </entity-one> - </row-actions> - <field name="partyId" title="${uiLabelMap.PartyPartyId}"> - <hyperlink target="viewprofile" description="${partyRow.partyId}"> - <parameter param-name="partyId" from-field="partyRow.partyId"/> - </hyperlink> - </field> - <field name="partyName" title="${uiLabelMap.PartyName}"> - <hyperlink target="viewprofile" description="${person.lastName}, ${person.firstName}"> - <parameter param-name="partyId" from-field="partyRow.partyId"/> - </hyperlink> - </field> + <form name="FindContacts" target="FindContacts" extends="FindAccounts" extends-resource="component://marketing/widget/sfa/forms/AccountForms.xml"> + <field name="groupName"><hidden/></field> + <field name="firstName" title="${uiLabelMap.PartyFirstName}"><text-find/></field> + <field name="lastName" title="${uiLabelMap.PartyLastName}"><text-find/></field> + <sort-order> + <sort-field name="partyId"/> + <sort-field name="firstName"/> + <sort-field name="lastName"/> + <sort-field name="contactMechTypeId"/> + <sort-field name="contactMechContainer"/> + <sort-field name="submitButton"/> + </sort-order> + </form> + <form name="ListContacts" paginate-target="FindContacts" + extends="ListAccounts" extends-resource="component://marketing/widget/sfa/forms/AccountForms.xml"> + <actions> + <set field="roleTypeIdFrom" value="ACCOUNT"/> + <set field="roleTypeIdTo" value="CONTACT"/> + <set field="partyRelationshipTypeId" value="EMPLOYMENT"/> + <set field="parameters.roleTypeId" from-field="roleTypeIdTo"/> + <set field="fieldList" value="${groovy:["partyId","roleTypeId"]}" type="List"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="PartyRoleAndContactMechDetail"/> + <field-map field-name="orderBy" value="partyId"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="partyType"><hidden/></field> <field name="export" title="${uiLabelMap.SfaVCard}"> <hyperlink target="createVCardFromContact" description="${uiLabelMap.SfaVCard}"> - <parameter param-name="partyId" from-field="partyRow.partyId"/> + <parameter param-name="partyId"/> </hyperlink> </field> + <sort-order> + <sort-field name="partyId"/> + <sort-field name="partyName"/> + <sort-field name="export"/> + <sort-field name="assignToMe"/> + </sort-order> + </form> + <form name="ListMyContacts" extends="ListContacts"> + <actions> + <set field="parameters.partyIdFrom" from-field="userLogin.partyId"/> + <set field="parameters.roleTypeIdTo" value="CONTACT"/> + <set field="parameters.partyRelationshipTypeId" value="EMPLOYMENT"/> + <set field="fieldList" value="${groovy:["partyIdFrom","partyId"]}" type="List"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="PartyRelationshipAndContactMechDetail"/> + <field-map field-name="orderBy" value="partyId"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="assignToMe"><hidden/></field> </form> <form name="NewContact" type="single" target="createContact" header-row-style="header-row" default-table-style="basic-table"> <field name="firstName" tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text/></field> Modified: ofbiz/trunk/applications/marketing/widget/sfa/forms/LeadForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/forms/LeadForms.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/marketing/widget/sfa/forms/LeadForms.xml (original) +++ ofbiz/trunk/applications/marketing/widget/sfa/forms/LeadForms.xml Tue Nov 3 03:59:01 2009 @@ -164,4 +164,64 @@ </form> + <form name="FindLeads" target="FindLeads" extends="FindAccounts" extends-resource="component://marketing/widget/sfa/forms/AccountForms.xml"> + <field name="firstName" title="${uiLabelMap.PartyFirstName}"><text-find/></field> + <field name="lastName" title="${uiLabelMap.PartyLastName}"><text-find/></field> + <sort-order> + <sort-field name="partyId"/> + <sort-field name="firstName"/> + <sort-field name="lastName"/> + <sort-field name="groupName"/> + <sort-field name="contactMechTypeId"/> + <sort-field name="contactMechContainer"/> + <sort-field name="submitButton"/> + </sort-order> + </form> + <form name="ListLeads" paginate-target="FindLeads" + extends="ListAccounts" extends-resource="component://marketing/widget/sfa/forms/AccountForms.xml"> + <actions> + <set field="roleTypeIdFrom" value="OWNER"/> + <set field="roleTypeIdTo" value="LEAD"/> + <set field="partyRelationshipTypeId" value="LEAD_OWNER"/> + <set field="parameters.roleTypeId" from-field="roleTypeIdTo"/> + <set field="fieldList" value="${groovy:["partyId","roleTypeId"]}" type="List"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="PartyRoleAndContactMechDetail"/> + <field-map field-name="orderBy" value="partyId"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="partyType"><hidden/></field> + <field name="partyStatusId" field-name="statusId" title="${uiLabelMap.CommonStatus}"> + <display-entity entity-name="StatusItem"/> + </field> + <sort-order> + <sort-field name="partyId"/> + <sort-field name="partyName"/> + <sort-field name="partyStatusId"/> + <sort-field name="assignToMe"/> + </sort-order> + </form> + <form name="ListMyLeads" extends="ListLeads"> + <actions> + <set field="parameters.partyIdFrom" from-field="userLogin.partyId"/> + <set field="parameters.roleTypeIdTo" value="LEAD"/> + <set field="parameters.partyRelationshipTypeId" value="LEAD_OWNER"/> + <set field="fieldList" value="${groovy:["partyIdFrom","partyId"]}" type="List"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="PartyRelationshipAndContactMechDetail"/> + <field-map field-name="orderBy" value="partyId"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="assignToMe"><hidden/></field> + </form> </forms> Modified: ofbiz/trunk/applications/party/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/entitydef/entitymodel.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/party/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/applications/party/entitydef/entitymodel.xml Tue Nov 3 03:59:01 2009 @@ -2365,6 +2365,15 @@ <key-map field-name="partyId"/> </relation> </view-entity> + <view-entity entity-name="PartyRelationshipAndContactMechDetail" package-name="org.ofbiz.party.party" title="Party Relationship And Contact Mech Details"> + <member-entity entity-alias="PTYREL" entity-name="PartyRelationshipAndDetail"/> + <member-entity entity-alias="PTYCM" entity-name="PartyAndContactMech"/> + <alias-all entity-alias="PTYREL"/> + <alias-all entity-alias="PTYCM"/> + <view-link entity-alias="PTYREL" rel-entity-alias="PTYCM" rel-optional="true"> + <key-map field-name="partyIdTo" rel-field-name="partyId"/> + </view-link> + </view-entity> <entity entity-name="PartyRole" package-name="org.ofbiz.party.party" title="Party Role Entity"> @@ -2480,6 +2489,15 @@ <key-map field-name="partyId"/> </view-link> </view-entity> + <view-entity entity-name="PartyRoleAndContactMechDetail" package-name="org.ofbiz.party.party" title="Party Role And Contact Mech Details"> + <member-entity entity-alias="PTYRL" entity-name="PartyRoleDetailAndPartyDetail"/> + <member-entity entity-alias="PTYCM" entity-name="PartyAndContactMech"/> + <alias-all entity-alias="PTYRL"/> + <alias-all entity-alias="PTYCM"/> + <view-link entity-alias="PTYRL" rel-entity-alias="PTYCM" rel-optional="true"> + <key-map field-name="partyId" rel-field-name="partyId"/> + </view-link> + </view-entity> <entity entity-name="PartyStatus" package-name="org.ofbiz.party.party" title="Tracks a history of the status of a Party"> Modified: ofbiz/trunk/applications/party/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/servicedef/services.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/party/servicedef/services.xml (original) +++ ofbiz/trunk/applications/party/servicedef/services.xml Tue Nov 3 03:59:01 2009 @@ -337,6 +337,14 @@ <override name="roleTypeIdFrom" optional="true"/> <override name="roleTypeIdTo" optional="true"/> </service> + + <service name="createPartyRelationshipAndRole" engine="group" auth="true"> + <description>Create party's role and party's relationship</description> + <group> + <invoke name="createPartyRole" result-to-context="true"/> + <invoke name="createPartyRelationship" result-to-context="true"/> + </group> + </service> <service name="createPartyRelationshipType" engine="java" default-entity-name="PartyRelationshipType" location="org.ofbiz.party.party.PartyRelationshipServices" invoke="createPartyRelationshipType" auth="true"> Modified: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml Tue Nov 3 03:59:01 2009 @@ -694,6 +694,12 @@ <response name="success" type="view-last" value="EditPartyRelationships"/> <response name="error" type="view" value="EditPartyRelationships"/> </request-map> + <request-map uri="createPartyRelationshipAndRole"> + <security https="true" auth="true"/> + <event type="service" path="" invoke="createPartyRelationshipAndRole"/> + <response name="success" type="request-redirect-noparam" value="backHome"/> + <response name="error" type="request-redirect-noparam" value="backHome"/> + </request-map> <request-map uri="createPartyRelationshipContactAccount"> <security https="true" auth="true"/> <event type="service" path="" invoke="createPartyRelationshipContactAccount"/> Modified: ofbiz/trunk/framework/widget/config/widget.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/config/widget.properties?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/config/widget.properties (original) +++ ofbiz/trunk/framework/widget/config/widget.properties Tue Nov 3 03:59:01 2009 @@ -26,6 +26,9 @@ # Default number of items to be displayed per page in a list form widget.form.defaultViewSize=20 +# Default text find field's option +widget.form.defaultTextFindOption=contains + # Controls the initial results display in Find screens. If set to Y, the # search result list will be populated when the Find screen first appears. # If set to N, the search result list will be empty when the Find screen Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original) +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Tue Nov 3 03:59:01 2009 @@ -557,6 +557,10 @@ </xs:simpleType> </xs:attribute> </xs:attributeGroup> + <xs:element name="container" substitutionGroup="AllFields"> + <xs:complexType> + </xs:complexType> + </xs:element> <xs:element name="date-find" substitutionGroup="AllFields"> <xs:complexType> <xs:attributeGroup ref="attlist.date-find"/> @@ -1083,7 +1087,7 @@ </xs:restriction> </xs:simpleType> </xs:attribute> - <xs:attribute name="default-option" default="like"> + <xs:attribute name="default-option"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="equals"/> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java Tue Nov 3 03:59:01 2009 @@ -31,6 +31,7 @@ import org.ofbiz.widget.form.ModelForm; import org.ofbiz.widget.form.ModelFormField; import org.ofbiz.widget.form.ModelFormField.CheckField; +import org.ofbiz.widget.form.ModelFormField.ContainerField; import org.ofbiz.widget.form.ModelFormField.DateFindField; import org.ofbiz.widget.form.ModelFormField.DateTimeField; import org.ofbiz.widget.form.ModelFormField.DisplayField; @@ -416,4 +417,7 @@ public void renderHyperlinkTitle(Appendable writer, Map<String, Object> context, ModelFormField modelFormField, String titleText) throws IOException { } + + public void renderContainerFindField(Appendable writer, Map<String, Object> context, ContainerField containerField) throws IOException { + } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormStringRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormStringRenderer.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormStringRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormStringRenderer.java Tue Nov 3 03:59:01 2009 @@ -90,6 +90,7 @@ public void renderPasswordField(Appendable writer, Map<String, Object> context, ModelFormField.PasswordField textField) throws IOException; public void renderImageField(Appendable writer, Map<String, Object> context, ModelFormField.ImageField textField) throws IOException; public void renderBanner(Appendable writer, Map<String, Object> context, ModelForm.Banner banner) throws IOException; + public void renderContainerFindField(Appendable writer, Map<String, Object> context, ModelFormField.ContainerField containerField) throws IOException; public void renderFieldGroupOpen(Appendable writer, Map<String, Object> context, ModelForm.FieldGroup fieldGroup) throws IOException; public void renderFieldGroupClose(Appendable writer, Map<String, Object> context, ModelForm.FieldGroup fieldGroup) throws IOException; } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Tue Nov 3 03:59:01 2009 @@ -53,6 +53,7 @@ import org.ofbiz.widget.ModelWidget; import org.ofbiz.widget.WidgetWorker; import org.ofbiz.widget.form.ModelFormField.CheckField; +import org.ofbiz.widget.form.ModelFormField.ContainerField; import org.ofbiz.widget.form.ModelFormField.DateFindField; import org.ofbiz.widget.form.ModelFormField.DateTimeField; import org.ofbiz.widget.form.ModelFormField.DisplayEntityField; @@ -951,8 +952,9 @@ if (items.length() >1) { items.append(","); } - items.append("{'value':'"); + items.append("{'key':'"); items.append(optionValue.getKey()); + items.append("', 'description':'" + optionValue.getDescription()); items.append("'}"); } items.append("]"); @@ -965,9 +967,9 @@ sr.append(className); sr.append("\" alert=\""); sr.append(alert); - sr.append(" currentValue=\""); + sr.append("\" currentValue=\""); sr.append(currentValue); - sr.append("\" noCurrentSelectedKey="); + sr.append("\" noCurrentSelectedKey=\""); sr.append(noCurrentSelectedKey); sr.append("\" name=\""); sr.append(name); @@ -1569,7 +1571,6 @@ String ignoreCase = UtilProperties.getMessage("conditional", "ignore_case", locale); boolean ignCase = textFindField.getIgnoreCase(); boolean hideIgnoreCase = textFindField.getHideIgnoreCase(); - StringWriter sr = new StringWriter(); sr.append("<@renderTextFindField "); sr.append(" name=\""); @@ -2842,4 +2843,21 @@ sr.append("\" />"); executeMacro(sr.toString()); } + + @Override + public void renderContainerFindField(Appendable writer, + Map<String, Object> context, ContainerField containerField) + throws IOException { + // TODO Auto-generated method stub + String id = ""; + if (UtilValidate.isNotEmpty(containerField.getId())) { + id = containerField.getId(); + } + StringWriter sr = new StringWriter(); + sr.append("<@renderContainerField "); + sr.append("id=\""); + sr.append(id); + sr.append("\" />"); + executeMacro(sr.toString()); + } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Tue Nov 3 03:59:01 2009 @@ -220,6 +220,8 @@ this.fieldInfo = new PasswordField(subElement, this); } else if ("image".equals(subElementName)) { this.fieldInfo = new ImageField(subElement, this); + } else if ("container".equals(subElementName)) { + this.fieldInfo = new ContainerField(subElement, this); } else if ("on-field-event-update-area".equals(subElementName)) { addOnEventUpdateArea(new UpdateArea(subElement)); } else { @@ -1438,6 +1440,7 @@ fieldTypeByName.put("password", Integer.valueOf(18)); fieldTypeByName.put("image", Integer.valueOf(19)); fieldTypeByName.put("display-entity", Integer.valueOf(20)); + fieldTypeByName.put("container", Integer.valueOf(21)); } protected int fieldType; @@ -3363,7 +3366,11 @@ this.ignoreCase = "true".equals(element.getAttribute("ignore-case")); this.hideIgnoreCase = "true".equals(element.getAttribute("hide-options")) || "ignore-case".equals(element.getAttribute("hide-options")) ? true : false; - this.defaultOption = element.getAttribute("default-option"); + if(element.hasAttribute("default-option")) { + this.defaultOption = element.getAttribute("default-option"); + } else { + this.defaultOption = UtilProperties.getPropertyValue("widget", "widget.form.defaultTextFindOption", "like"); + } this.hideOptions = "true".equals(element.getAttribute("hide-options")) || "options".equals(element.getAttribute("hide-options")) ? true : false; } @@ -3656,4 +3663,41 @@ } } + + public static class ContainerField extends FieldInfo { + protected String id; + + public ContainerField() { + super(); + // TODO Auto-generated constructor stub + } + + public ContainerField(Element element, ModelFormField modelFormField) { + super(element, modelFormField); + // TODO Auto-generated constructor stub + this.setId(modelFormField.getIdName()); + } + + public ContainerField(int fieldSource, int fieldType, + ModelFormField modelFormField) { + super(fieldSource, fieldType, modelFormField); + // TODO Auto-generated constructor stub + } + + @Override + public void renderFieldString(Appendable writer, + Map<String, Object> context, + FormStringRenderer formStringRenderer) throws IOException { + // TODO Auto-generated method stub + formStringRenderer.renderContainerFindField(writer, context, this); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java Tue Nov 3 03:59:01 2009 @@ -50,6 +50,7 @@ import org.ofbiz.widget.form.ModelForm; import org.ofbiz.widget.form.ModelFormField; import org.ofbiz.widget.form.ModelFormField.CheckField; +import org.ofbiz.widget.form.ModelFormField.ContainerField; import org.ofbiz.widget.form.ModelFormField.DateFindField; import org.ofbiz.widget.form.ModelFormField.DateTimeField; import org.ofbiz.widget.form.ModelFormField.DisplayEntityField; @@ -2882,6 +2883,14 @@ writer.append(titleText); } } + + public void renderContainerFindField(Appendable writer, Map<String, Object> context, ContainerField containerField) throws IOException { + String id = ""; + if (UtilValidate.isNotEmpty(containerField.getId())) { + id = containerField.getId(); + } + writer.append("<div id=\"" + id + "\"/>"); + } /** Create an ajaxXxxx JavaScript CSV string from a list of UpdateArea objects. See * <code>selectall.js</code>. Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextFormRenderer.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextFormRenderer.java Tue Nov 3 03:59:01 2009 @@ -31,6 +31,7 @@ import org.ofbiz.widget.form.ModelForm; import org.ofbiz.widget.form.ModelFormField; import org.ofbiz.widget.form.ModelFormField.CheckField; +import org.ofbiz.widget.form.ModelFormField.ContainerField; import org.ofbiz.widget.form.ModelFormField.DateFindField; import org.ofbiz.widget.form.ModelFormField.DateTimeField; import org.ofbiz.widget.form.ModelFormField.DisplayField; @@ -295,4 +296,7 @@ public void renderHyperlinkTitle(Appendable writer, Map<String, Object> context, ModelFormField modelFormField, String titleText) { } + + public void renderContainerFindField(Appendable writer, Map<String, Object> context, ContainerField containerField) throws IOException { + } } Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlFormRenderer.java?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlFormRenderer.java Tue Nov 3 03:59:01 2009 @@ -30,6 +30,7 @@ import org.ofbiz.widget.form.ModelForm; import org.ofbiz.widget.form.ModelFormField; import org.ofbiz.widget.form.ModelFormField.CheckField; +import org.ofbiz.widget.form.ModelFormField.ContainerField; import org.ofbiz.widget.form.ModelFormField.DateFindField; import org.ofbiz.widget.form.ModelFormField.DateTimeField; import org.ofbiz.widget.form.ModelFormField.DisplayField; @@ -335,4 +336,7 @@ public void renderHyperlinkTitle(Appendable writer, Map<String, Object> context, ModelFormField modelFormField, String titleText) throws IOException { } + + public void renderContainerFindField(Appendable writer, Map<String, Object> context, ContainerField containerField) throws IOException { + } } Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=832294&r1=832293&r2=832294&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Tue Nov 3 03:59:01 2009 @@ -456,6 +456,7 @@ <#if rightText?has_content><td align="right"><#if rightStyle?has_content><div class="${rightStyle}"></#if>${rightText}<#if rightStyle?has_content></div></#if></td><#rt/></#if> </tr> </table> </#macro> +<#macro renderContainerField id><div id="${id?if_exists}"/></#macro> <#macro renderFieldGroupOpen style id title collapsed collapsibleAreaId collapsible expandToolTip collapseToolTip> <#if style?has_content || id?has_content || title?has_content> <div class="fieldgroup<#if style?has_content> ${style}</#if>"<#if id?has_content> id="${id}"</#if>><div class="fieldgroup-title-bar"><table><tr><td class="collapse"><#rt/> |
Free forum by Nabble | Edit this page |