Hans,

Thank you very much for the replies.

I really liked the initial version, where all OFBiz users had a home page 
listing tasks, communications, etc. A generic OFBiz user also had a preferences 
page to configure the component. Is there any way we could bring those back?

It seems to me you could use permission services (or maybe a groovy script) to 
set context variables true/false, then control the display with those 
variables. So, a basic user would see some basic information, and other users 
would see additional information based upon their permissions/roles.

What do you think?

-Adrian


--- On Fri, 8/15/08, Hans Bakker <[EMAIL PROTECTED]> wrote:

> From: Hans Bakker <[EMAIL PROTECTED]>
> Subject: Re: svn commit: r685784 - in 
> /ofbiz/trunk/specialpurpose/mypage/widget: CommonScreens.xml MyPageForms.xml
> To: [email protected]
> Date: Friday, August 15, 2008, 6:12 PM
> (resend because of email problems)
> Hi Adrian,
> 
> the mypage component  is to show the information specific
> for an ofbiz
> user. Initailly for any userlogin without any required
> permissions. This
> was rather difficult because of the current permission
> system used
> througout the other components which blocked me from
> showing
> information.
> 
> Then i got the request of a customer if they could see the
> requests they
> send to us  together with the current status. This customer
> however is
> also a user of ofbiz but has completely different
> requirements.
> 
> >From another customer i have the request to be able to
> show information
> for vendors similar to resellers, they are also users of
> the system.
> 
> Because of his i introduced the permission groups in the
> mypage
> component:
> 
> MYPAGE_EMPLOYEE ; to show  information important for an
> employee,
> MYPAGE_CUSTOMER for a customer etc. it can easily be
> extended for other
> groups.
> 
> These permissiongoups contain the pernission of looking at
> the required
> screens in mypage and permissions needed for other
> components.
> 
> so it is not more restrictive, but more specific for the
> different
> groups of ofbiz users.
> 
> hope this helps,
> 
> Regards,
> 
> Hans
> On Thu, 2008-08-14 at 10:44 -0700, Adrian Crum wrote:
> > Hans,
> > 
> > I might be mistaken, but I thought the MyPage
> component was intended to 
> > be a "Home" page for OFBiz users. It seems
> to me you are making it more 
> > and more restrictive - so that now OFBiz users
> can't use it unless they 
> > have special permissions.
> > 
> > Could you let me know what the ultimate purpose of the
> MyPage component is?
> > 
> > -Adrian
> > 
> > [EMAIL PROTECTED] wrote:
> > > Author: hansbak
> > > Date: Wed Aug 13 23:22:58 2008
> > > New Revision: 685784
> > > 
> > > URL:
> http://svn.apache.org/viewvc?rev=685784&view=rev
> > > Log:
> > > corrected problem with decorator when a loginid
> has employee AND customer permissions
> > > 
> > > Modified:
> > >    
> ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
> > >    
> ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
> > > 
> > > Modified:
> ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml?rev=685784&r1=685783&r2=685784&view=diff
> > >
> ==============================================================================
> > > ---
> ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
> (original)
> > > +++
> ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
> Wed Aug 13 23:22:58 2008
> > > @@ -143,33 +143,44 @@
> > >   <screen name="main">
> > >           <section>
> > >                   <widgets>
> > > -                         <section>
> > > -                                 <condition>
> > > -                                         <if-has-permission
> permission="MYPAGE_EMPLOYEE" />
> > > -                                 </condition>
> > > -                                 <widgets>
> > > -                                         <include-screen
> name="mainEmployee" />
> > > -                                 </widgets>
> > > -                         </section>
> > > -                <section>
> > > -                    <condition>
> > > -                        <if-has-permission
> permission="MYPAGE_CUSTOMER" />
> > > -                    </condition>
> > > -                    <widgets>
> > > -                        <include-screen
> name="mainCustomer" />
> > > -                    </widgets>
> > > -                </section>
> > > -                <section>
> > > -                    <condition>
> > > -                        <and>
> > > -                           
> <not><if-has-permission
> permission="MYPAGE_CUSTOMER"/></not>
> > > -                           
> <not><if-has-permission
> permission="MYPAGE_EMPLOYEE"/></not>
> > > -                        </and>
> > > -                    </condition>
> > > -                    <widgets>
> > > -                        <include-screen
> name="mainNoAccess" />
> > > -                    </widgets>
> > > -                </section>
> > > +                     <decorator-screen
> name="main-decorator"
> > > +                   
> location="${parameters.mainDecoratorLocation}">
> > > +                    <decorator-section
> name="body">
> > > +                                         <section>
> > > +                                                 <condition>
> > > +                                                         
> > > <if-has-permission
> permission="MYPAGE_EMPLOYEE" />
> > > +                                                 </condition>
> > > +                                                 <actions>
> > > +                                                    <set 
> > > field="decorator"
> value="Y"/>
> > > +                                                 </actions>
> > > +                                                 <widgets>
> > > +                                                         <include-screen
> name="mainEmployee" />
> > > +                                                 </widgets>
> > > +                                         </section>
> > > +                         <section>
> > > +                             <condition>
> > > +                                 <if-has-permission
> permission="MYPAGE_CUSTOMER" />
> > > +                             </condition>
> > > +                             <actions>
> > > +                                <set
> field="decorator" value="Y"/>
> > > +                             </actions>
> > > +                             <widgets>
> > > +                                 <include-screen
> name="mainCustomer" />
> > > +                             </widgets>
> > > +                         </section>
> > > +                         <section>
> > > +                             <condition>
> > > +                                 <and>
> > > +                                    
> <not><if-has-permission
> permission="MYPAGE_CUSTOMER"/></not>
> > > +                                    
> <not><if-has-permission
> permission="MYPAGE_EMPLOYEE"/></not>
> > > +                                 </and>
> > > +                             </condition>
> > > +                             <widgets>
> > > +                                 <include-screen
> name="mainNoAccess" />
> > > +                             </widgets>
> > > +                         </section>
> > > +                   </decorator-section>
> > > +                </decorator-screen>
> > >                   </widgets>
> > >           </section>
> > >   </screen>
> > > @@ -201,74 +212,70 @@
> > >                  </entity-condition>
> > >              </actions>
> > >              <widgets>
> > > -                <decorator-screen
> name="main-decorator"
> > > -                   
> location="${parameters.mainDecoratorLocation}">
> > > -                    <decorator-section
> name="body">
> > > -                        <section>
> > > -                            <condition>
> > > -                               
> <not><if-empty
> field-name="custRequests"/></not>
> > > -                            </condition>
> > > -                            <widgets>
> > > -                                <screenlet
> title="${uiLabelMap.IncomingCustRequests}"
> navigation-form-name="ListRequestList" >
> > > -                                   
> <include-form name="ListRequestList"
> location="component://order/webapp/ordermgr/request/RequestForms.xml"/>
> > > -                               
> </screenlet>
> > > -                            </widgets>
> > > -                        </section>
> > > -                        <section>
> > > -                            <condition>
> > > -                                <if-compare
> field-name="preferences.userPrefMap.myCommunications"
> > > -                                   
> operator="equals" value="Y" />
> > > -                            </condition>
> > > -                            <widgets>
> > > -                               
> <include-screen name="MyCommunications"
> > > -                                   
> location="component://mypage/widget/MyPageScreens.xml"/>
> > > -                            </widgets>
> > > -                        </section>
> > > -                        <section>
> > > -                            <condition>
> > > -                                <if-compare
> field-name="preferences.userPrefMap.otherCommunications"
> > > -                                   
> operator="equals" value="Y" />
> > > -                            </condition>
> > > -                            <widgets>
> > > -                               
> <include-screen name="OtherCommunications"
> > > -                                   
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > -                            </widgets>
> > > -                        </section>
> > > -                        <section>
> > > -                            <condition>
> > > -                                <if-compare
> field-name="preferences.userPrefMap.myCompanyComms"
> > > -                                   
> operator="equals" value="Y" />
> > > -                            </condition>
> > > -                            <widgets>
> > > -                               
> <include-screen name="MyCompanyComms"
> > > -                                   
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > -                            </widgets>
> > > -                        </section>
> > > -                        <section>
> > > -                            <condition>
> > > -                                <if-compare
> field-name="preferences.userPrefMap.myTasks"
> > > -                                   
> operator="equals" value="Y" />
> > > -                            </condition>
> > > -                            <widgets>
> > > -                               
> <include-screen name="MyTasks"
> > > -                                   
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > -                            </widgets>
> > > -                        </section>
> > > -                        <section>
> > > -                            <condition>
> > > -                                <if-compare
> field-name="preferences.userPrefMap.myTimesheet"
> > > -                                   
> operator="equals" value="Y" />
> > > -                            </condition>
> > > -                            <widgets>
> > > -                               
> <include-screen name="MyTimesheet"
> > > -                                   
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > -                            </widgets>
> > > -                        </section>
> > > -                    </decorator-section>
> > > -                </decorator-screen>
> > > +                <section>
> > > +                    <condition>
> > > +                        <not><if-empty
> field-name="custRequests"/></not>
> > > +                    </condition>
> > > +                    <widgets>
> > > +                        <screenlet
> title="${uiLabelMap.IncomingCustRequests}"
> navigation-form-name="ListRequestList" >
> > > +                            <include-form
> name="ListRequestList"
> location="component://order/webapp/ordermgr/request/RequestForms.xml"/>
> > > +                        </screenlet>
> > > +                    </widgets>
> > > +                </section>
> > > +                <section>
> > > +                    <condition>
> > > +                        <if-compare
> field-name="preferences.userPrefMap.myCommunications"
> > > +                           
> operator="equals" value="Y" />
> > > +                    </condition>
> > > +                    <widgets>
> > > +                        <include-screen
> name="MyCommunications"
> > > +                           
> location="component://mypage/widget/MyPageScreens.xml"/>
> > > +                    </widgets>
> > > +                </section>
> > > +                <section>
> > > +                    <condition>
> > > +                        <if-compare
> field-name="preferences.userPrefMap.otherCommunications"
> > > +                           
> operator="equals" value="Y" />
> > > +                    </condition>
> > > +                    <widgets>
> > > +                        <include-screen
> name="OtherCommunications"
> > > +                           
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > +                    </widgets>
> > > +                </section>
> > > +                <section>
> > > +                    <condition>
> > > +                        <if-compare
> field-name="preferences.userPrefMap.myCompanyComms"
> > > +                           
> operator="equals" value="Y" />
> > > +                    </condition>
> > > +                    <widgets>
> > > +                        <include-screen
> name="MyCompanyComms"
> > > +                           
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > +                    </widgets>
> > > +                </section>
> > > +                <section>
> > > +                    <condition>
> > > +                        <if-compare
> field-name="preferences.userPrefMap.myTasks"
> > > +                           
> operator="equals" value="Y" />
> > > +                    </condition>
> > > +                    <widgets>
> > > +                        <include-screen
> name="MyTasks"
> > > +                           
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > +                    </widgets>
> > > +                </section>
> > > +                <section>
> > > +                    <condition>
> > > +                        <if-compare
> field-name="preferences.userPrefMap.myTimesheet"
> > > +                           
> operator="equals" value="Y" />
> > > +                    </condition>
> > > +                    <widgets>
> > > +                        <include-screen
> name="MyTimesheet"
> > > +                           
> location="component://mypage/widget/MyPageScreens.xml"
> />
> > > +                    </widgets>
> > > +                </section>
> > >              </widgets>
> > >          </section>
> > >      </screen>
> > > +    
> > >      <screen name="mainCustomer">
> > >          <section>
> > >              <actions>
> > > @@ -278,39 +285,30 @@
> > >                  </entity-and>
> > >              </actions>
> > >              <widgets>
> > > -                <decorator-screen
> name="main-decorator"
> > > -                   
> location="${parameters.mainDecoratorLocation}">
> > > -                    <decorator-section
> name="body">
> > > -                        <screenlet
> title="${uiLabelMap.MyCustRequests}"
> navigation-form-name="ListRequestList" >
> > > -                            <include-form
> name="ListCustRequests"
> location="component://mypage/widget/MyPageForms.xml"/>
> > > -                        </screenlet>
> > > -                    </decorator-section>
> > > -                </decorator-screen>
> > > +                <screenlet
> title="${uiLabelMap.MyCustRequests}"
> navigation-form-name="ListRequestList" >
> > > +                    <include-form
> name="ListCustRequests"
> location="component://mypage/widget/MyPageForms.xml"/>
> > > +                </screenlet>
> > >              </widgets>
> > >          </section>
> > >      </screen>
> > > +    
> > >      <screen name="mainNoAccess">
> > >          <section>
> > >              <widgets>
> > > -                <decorator-screen
> name="main-decorator"
> > > -                   
> location="${parameters.mainDecoratorLocation}">
> > > -                    <decorator-section
> name="body">
> > > -                        <screenlet
> title="${uiLabelMap.CommonNoAccess}"
> navigation-form-name="ListRequestList" >
> > > -                            <container>
> > > -                                <label
> style="h1"
> text="${uiLabelMap.MyPageNoAccess1}"></label>
> > > -                            </container>
> > > -                            <container>
> > > -                                <label
> style="h2"
> text="${uiLabelMap.MyPageNoAccess2}"></label>
> > > -                            </container>
> > > -                            <container>
> > > -                                <label
> style="h3"
> text="${uiLabelMap.MyPageNoAccess3}"></label>
> > > -                            </container>
> > > -                            <container>
> > > -                                <label
> style="h3"
> text="${uiLabelMap.MyPageNoAccess4}"></label>
> > > -                            </container>
> > > -                        </screenlet>
> > > -                    </decorator-section>
> > > -                </decorator-screen>
> > > +                <screenlet
> title="${uiLabelMap.CommonNoAccess}"
> navigation-form-name="ListRequestList" >
> > > +                    <container>
> > > +                        <label
> style="h1"
> text="${uiLabelMap.MyPageNoAccess1}"></label>
> > > +                    </container>
> > > +                    <container>
> > > +                        <label
> style="h2"
> text="${uiLabelMap.MyPageNoAccess2}"></label>
> > > +                    </container>
> > > +                    <container>
> > > +                        <label
> style="h3"
> text="${uiLabelMap.MyPageNoAccess3}"></label>
> > > +                    </container>
> > > +                    <container>
> > > +                        <label
> style="h3"
> text="${uiLabelMap.MyPageNoAccess4}"></label>
> > > +                    </container>
> > > +                </screenlet>
> > >              </widgets>
> > >          </section>
> > >      </screen>
> > > 
> > > Modified:
> ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml?rev=685784&r1=685783&r2=685784&view=diff
> > >
> ==============================================================================
> > > ---
> ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
> (original)
> > > +++
> ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml Wed
> Aug 13 23:22:58 2008
> > > @@ -131,17 +131,17 @@
> > >              <service
> service-name="getProjectTask"
> result-map-name="taskResult">
> > >                  <field-map
> field-name="taskId"
> env-name="workEffortId"/>
> > >              </service>
> > > -            <set field="task"
> from-field="taskResult.taskInfo"/>
> > >          </row-actions>
> > >          <field
> name="custRequestName"><hyperlink
> description="${custRequestName}
> [${custRequestId}]"
> target="ViewRequest?custRequestId=${custRequestId}"/></field>
> > >          <field name="description"
> title="${uiLabelMap.CommonDescription}"><display/></field>
> > >          <field name="createdDate"
> title="Date"><display
> type="date"/></field>
> > >          <field
> name="statusId"><display-entity
> entity-name="StatusItem"
> description="${description}"/></field>
> > > -        <field
> name="task.plannedStartDate"><display
> type="date"/></field>
> > > -        <field
> name="task.plannedEndDate"><display
> type="date"/></field>
> > > -        <field
> name="task.actualStartDate"><display
> type="date"/></field>
> > > -        <field
> name="task.actualEndDate"><display
> type="date"/></field>
> > > -        <field
> name="task.plannedHours"><display/></field>
> > > -        <field
> name="task.actualHours"><display/></field>
> > > +        <field
> name="currentStatusId"
> map-name="taskResult.taskInfo"><display-entity
> entity-name="StatusItem"
> key-field-name="statusId"/></field>
> > > +        <field
> name="estimatedStartDate"
> map-name="taskResult.taskInfo"><display
> type="date"/></field>
> > > +        <field
> name="estimatedCompletionDate"
> map-name="taskResult.taskInfo"><display
> type="date"/></field>
> > > +        <field
> name="actualStartDate"
> map-name="taskResult.taskInfo"><display
> type="date"/></field>
> > > +        <field
> name="actualCompletionDate"
> map-name="taskResult.taskInfo"><display
> type="date"/></field>
> > > +        <field name="plannedHours"
> map-name="taskResult.taskInfo"><display/></field>
> > > +        <field name="actualHours"
> map-name="taskResult.taskInfo"><display/></field>
> > >      </form>
> > >  </forms>
> > > \ No newline at end of file
> > > 
> > > 
> > >


      

Reply via email to