This is an automated email from the ASF dual-hosted git repository.

jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git


The following commit(s) were added to refs/heads/trunk by this push:
     new a2b992265 Improved: Project - MainActionMenu (OFBIZ-12484) (#75)
a2b992265 is described below

commit a2b992265d983c62d6064023575d1f94438deda4
Author: Pierre Smits <pierre.sm...@somonar.com>
AuthorDate: Fri Apr 12 18:01:00 2024 +0200

    Improved: Project - MainActionMenu (OFBIZ-12484) (#75)
    
    * Improved: Project - MainActionMenu (OFBIZ-12484)
    
    Currently the create buttons for the main objects of the project mgt plugin 
 are located within the find and other widgets/templates of those objects.
    In order to improve the usability of OFBiz (and thus the appeal of it for 
adopters and users) these create buttons/links/etc. should be in a main action 
menu visible at all times when a user is working within the component.
    
    modified:
    ProjectMenus.xml - added MainActionMenu for users with CREATE permission in 
the component
    CommonScreens.xml - added MainActionMenu as an 'include-menu' ref in 
various common decorator screens.
    additional cleaning.
    
    * Update CommonScreens.xml
    
    Let in place 2 removed comments in. The 2nd is present in 21 other 
CommonScreens.xml!
    
    ---------
    
    Co-authored-by: Jacques Le Roux <jacques.le.r...@les7arts.com>
---
 projectmgr/widget/CommonScreens.xml | 53 +++++++++++++++++++------------------
 projectmgr/widget/ProjectMenus.xml  | 14 +++++++---
 2 files changed, 38 insertions(+), 29 deletions(-)

diff --git a/projectmgr/widget/CommonScreens.xml 
b/projectmgr/widget/CommonScreens.xml
index fb05c427c..394ba3f05 100644
--- a/projectmgr/widget/CommonScreens.xml
+++ b/projectmgr/widget/CommonScreens.xml
@@ -17,7 +17,6 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
-
 <screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xmlns="http://ofbiz.apache.org/Widget-Screen"; 
xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen 
http://ofbiz.apache.org/dtds/widget-screen.xsd";>
     <screen name="main-decorator">
@@ -32,14 +31,14 @@ under the License.
                 <property-map resource="CommonUiLabels" map-name="uiLabelMap" 
global="true"/>
                 <property-map resource="EcommerceUiLabels" 
map-name="uiLabelMap" global="true"/>
 
-                <!-- The two default (global) stylesheets are added to the list
+                    <!-- The two default (global) stylesheets are added to the 
list
                      of stylesheets to the first and second position -->
-
+                    
                 <set field="layoutSettings.companyName" 
from-field="uiLabelMap.ProjectMgrCompanyName" global="true"/>
                 <set field="layoutSettings.companySubtitle" 
from-field="uiLabelMap.ProjectMgrCompanySubtitle" global="true"/>
                 <!-- layoutSettings.headerImageUrl can be used to specify an 
application specific logo; if not set,
                      then the global layoutSettings.commonHeaderImageUrl 
(specified in GlobalDecorator) will be used. -->
-                <!--<set field="layoutSettings.headerImageUrl" 
value="/images/ofbiz_logo.png" global="true"/>-->
+                <!--<set field="layoutSettings.headerImageUrl" 
value="/images/ofbiz_logo.png" global="true"/>-->                    
                 <set field="layoutSettings.styleSheets[]" 
value="/projectmgr/static/projectmgr.css" global="true"/>
                 <set field="activeApp" value="projectmgr" global="true"/>
                 <set field="applicationMenuName" value="ProjectMgrAppBar" 
global="true"/>
@@ -66,6 +65,7 @@ under the License.
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
                         <section>
                             <condition>
                                 <and>
@@ -74,7 +74,9 @@ under the License.
                                 </and>
                             </condition>
                             <widgets>
+                                <label style="h1" text="${uiLabelMap.Project}: 
${project.workEffortId}"/>
                                 <include-menu name="ProjectTabBar" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                                <include-menu name="ProjectButtonBar" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
                             </widgets>
                         </section>
                     </decorator-section>
@@ -91,12 +93,8 @@ under the License.
                                         </not>
                                     </condition>
                                     <widgets>
-                                        <include-menu name="ProjectButtonBar" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
-                                        <container style="clear"/>
-                                        <label style="h1" 
text="${uiLabelMap.ProjectMgrProjectCurrent}: 
${project.workEffortName}[${project.workEffortId}]"/>
                                     </widgets>
                                  </section>
-
                                 <decorator-section-include name="body"/>
                             </widgets>
                             <fail-widgets>
@@ -118,6 +116,7 @@ under the License.
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
                         <section>
                             <condition>
                                 <and>
@@ -126,7 +125,9 @@ under the License.
                                 </and>
                             </condition>
                             <widgets>
+                                <label style="h1" 
text="${uiLabelMap.WorkEffortTask}: ${workEffort.workEffortId}"/>
                                 <include-menu name="TaskTabBar" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                                <include-menu name="TaskSubTabBar" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
                             </widgets>
                         </section>
                     </decorator-section>
@@ -136,21 +137,6 @@ under the License.
                                 <if-has-permission permission="PROJECTMGR" 
action="_VIEW"/>
                             </condition>
                             <widgets>
-                                <section>
-                                    <condition>
-                                        <not><if-empty 
field="workEffort"/></not>
-                                    </condition>
-                                    <widgets>
-                                        <include-menu name="TaskSubTabBar" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
-                                        <container style="clear"/>
-                                        <label style="h1" 
text="${uiLabelMap.ProjectMgrTaskCurrent}: ${workEffort.workEffortName} 
[${workEffort.workEffortId}]"/>
-                                        <label style="h1" 
text="${uiLabelMap.ProjectMgrPhaseName}: ${phaseName}"/>
-                                        <container style="h1">
-                                            <label 
text="${uiLabelMap.ProjectMgrProjectName}: ${projectName}"/>
-                                            <link text="[${projectId}]" 
target="projectView"><parameter param-name="projectId"/></link>
-                                        </container>
-                                    </widgets>
-                                </section>
                                 <decorator-section-include name="body"/>
                             </widgets>
                             <fail-widgets>
@@ -170,6 +156,9 @@ under the License.
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                    </decorator-section>
                     <decorator-section name="body">
                         <section>
                             <condition>
@@ -195,6 +184,9 @@ under the License.
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                    </decorator-section>
                     <decorator-section name="body">
                         <section>
                             <!-- do check for PartyAbility, _VIEW permission 
-->
@@ -226,6 +218,9 @@ under the License.
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                    </decorator-section>
                     <decorator-section name="body">
                         <section>
                             <condition>
@@ -289,6 +284,9 @@ under the License.
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                    </decorator-section>
                     <decorator-section name="body">
                         <section>
                             <condition>
@@ -366,7 +364,6 @@ under the License.
                                                     <label style="h1" 
text="${uiLabelMap.PartyNewUser}"/>
                                                 </fail-widgets>
                                             </section>
-
                                             <label style="h1" 
text="[${partyId}]"/>
                                         </container>
                                     </widgets>
@@ -386,6 +383,9 @@ under the License.
         <section>
             <widgets>
                 <decorator-screen name="CommonRequestDecorator" 
location="component://order/widget/ordermgr/CommonScreens.xml">
+                    <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                    </decorator-section>
                     <decorator-section name="body">
                         <decorator-section-include name="body"/>
                     </decorator-section>
@@ -393,7 +393,6 @@ under the License.
             </widgets>
         </section>
     </screen>
-
     <screen name="GlobalHRSettingsDecorator">
         <section>
             <actions>
@@ -401,6 +400,9 @@ under the License.
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="pre-body">
+                        <include-menu name="MainActionMenu" 
location="component://projectmgr/widget/ProjectMenus.xml"/>
+                    </decorator-section>
                     <decorator-section name="body">
                         <decorator-section-include name="body"/>
                     </decorator-section>
@@ -408,5 +410,4 @@ under the License.
             </widgets>
         </section>
     </screen>
-
 </screens>
diff --git a/projectmgr/widget/ProjectMenus.xml 
b/projectmgr/widget/ProjectMenus.xml
index ea9ebe8b4..0a0b3f163 100644
--- a/projectmgr/widget/ProjectMenus.xml
+++ b/projectmgr/widget/ProjectMenus.xml
@@ -17,14 +17,12 @@
     specific language governing permissions and limitations
     under the License.
 -->
-
 <menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xmlns="http://ofbiz.apache.org/Widget-Menu"; 
xsi:schemaLocation="http://ofbiz.apache.org/Widget-Menu 
http://ofbiz.apache.org/dtds/widget-menu.xsd";>
     <menu name="ProjectMgrAppBar" title="${uiLabelMap.ProjectMgr}" 
extends="CommonAppBarMenu" 
extends-resource="component://common/widget/CommonMenus.xml">
-
+        <menu-item name="projects" 
title="${uiLabelMap.WorkEffortProjects}"><link 
target="FindProject"/></menu-item>
         <menu-item name="mytasks" 
title="${uiLabelMap.WorkEffortMyTasks}"><link target="MyTasks"/></menu-item>
         <menu-item name="mytime" 
title="${uiLabelMap.WorkEffortTimesheetMyTime}"><link 
target="MyTimesheet"/></menu-item>
-        <menu-item name="projects" 
title="${uiLabelMap.WorkEffortProjects}"><link 
target="FindProject"/></menu-item>
         <menu-item name="task" title="${uiLabelMap.ProjectMgrTasks}">
             <condition>
                 <if-has-permission permission="PROJECTMGR_ADMIN"/>
@@ -57,6 +55,16 @@
             <link target="requestlist"/>
         </menu-item>
     </menu>
+    <menu name="MainActionMenu" menu-container-style="button-bar 
button-style-2" default-selected-style="selected">
+        <menu-item name="NewProject" 
title="${uiLabelMap.ProjectMgrNewProject}">
+            <condition>
+                <and>
+                    <if-has-permission permission="PROJECTMGR" 
action="_CREATE"/>
+                </and>
+            </condition>
+            <link target="EditProject"/>
+        </menu-item>
+    </menu>
     <menu name="ProjectTabBar" extends="CommonTabBarMenu" 
extends-resource="component://common/widget/CommonMenus.xml">
         <actions>
             <set field="projectId" from-field="parameters.projectId" 
default-value="${parameters.workEffortId}"/>

Reply via email to