Modified: ofbiz/branches/jackrabbit20100709/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml (original) +++ ofbiz/branches/jackrabbit20100709/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml Mon Nov 28 08:04:21 2011 @@ -707,24 +707,8 @@ <set field="highInfo.createdDate" from-field="project.createdDate"/> <set field="highInfo.parentProjectId" from-field="project.workEffortParentId"/> <!-- loop through the related phases and tasks --> - <get-related value-field="project" relation-name="ChildWorkEffort" list="phases"/> - <if-not-empty field="phases"> - <iterate entry="phase" list="phases"> - <get-related value-field="phase" relation-name="ChildWorkEffort" list="tasks"/> - <if-not-empty field="tasks"> - <iterate entry="lowInfo" list="tasks"> - <if-compare field="lowInfo.currentStatusId" value="PTS_COMPLETED" operator="not-equals"> - <if-compare field="lowInfo.currentStatusId" value="PTS_CANCELLED" operator="not-equals"> - <set field="allTaskStatus" value="notComplete"/> - </if-compare> - </if-compare> - <call-simple-method method-name="combineInfo"/> - <call-simple-method method-name="getHours" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/> - </iterate> - </if-not-empty> - </iterate> - </if-not-empty> - + <call-simple-method method-name="combineInfo"/> + <!-- get e-mail address --> <entity-and list="emailAddresses" entity-name="WorkEffortContactMechView"> <field-map field-name="workEffortId" from-field="highInfo.projectId"/> @@ -799,18 +783,7 @@ <set field="highInfo.scopeEnumId" from-field="phase.scopeEnumId"/> <!-- loop through the related tasks and combine information --> - <get-related value-field="phase" relation-name="ChildWorkEffort" list="tasks"/> - <if-not-empty field="tasks"> - <iterate entry="lowInfo" list="tasks"> - <if-compare field="lowInfo.currentStatusId" value="PTS_COMPLETED" operator="not-equals"> - <if-compare field="lowInfo.currentStatusId" value="PTS_CANCELLED" operator="not-equals"> - <set field="allTaskStatus" value="notComplete"/> - </if-compare> - </if-compare> - <call-simple-method method-name="combineInfo"/> - <call-simple-method method-name="getHours" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/> - </iterate> - </if-not-empty> + <call-simple-method method-name="combineInfo"/> <!-- merge estimated and actual dates --> <call-simple-method method-name="createDates"/> @@ -894,8 +867,6 @@ <set field="highInfo.scopeEnumId" from-field="lowInfo.scopeEnumId"/> <set field="highInfo.workEffortParentId" from-field="lowInfo.workEffortParentId"/> <call-simple-method method-name="combineInfo"/> - <call-simple-method method-name="getHours" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/> - <set field="highInfo.currentStatusId" from-field="lowInfo.currentStatusId"/> <field-to-result field="highInfo" result-name="taskInfo"/> </simple-method> @@ -1017,7 +988,255 @@ </simple-method> <!-- Internal functions --> + <simple-method method-name="combineStatusInfo" short-description="combine lower level status"> + <!-- the status for a project or phase is + IN_PROGRESS if at least one task still in progress + COMPLETED if all task are either completed or cancelled + CREATED if other conditions does not apply + For a task the status is + IN_PROGRESS if it has at least one resource and at least a time entry + ASSIGNED if it has at least one resource but no time entry associated + --> + <entity-count count-field="tasksCount" entity-name="ProjectPhaseTaskAssignmentView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + </entity-count> + <log level="info" message="related tasks count ====> ${tasksCount}"/> + <entity-count count-field="completedTasks" entity-name="ProjectPhaseTaskAssignmentView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + <having-condition-list combine="or"> + <condition-expr field-name="taskStatusId" operator="equals" value="PTS_COMPLETED"/> + <condition-expr field-name="taskStatusId" operator="equals" value="PTS_CANCELLED"/> + </having-condition-list> + </entity-count> + <log level="info" message="related completed tasks count ====> ${completedTasks}"/> + <entity-count count-field="assignedTasks" entity-name="ProjectPhaseTaskAssignmentView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + <having-condition-list combine="and"> + <condition-expr field-name="entriesCount" value="0"/> + <condition-expr field-name="resourceCount" operator="greater-equals" value="1"/> + <condition-expr field-name="taskStatusId" operator="not-equals" value="PTS_COMPLETED"/> + <condition-expr field-name="taskStatusId" operator="not-equals" value="PTS_CANCELLED"/> + </having-condition-list> + </entity-count> + <log level="info" message="related assigned tasks count ====> ${assignedTasks}"/> + <entity-count count-field="inprogressTasks" entity-name="ProjectPhaseTaskAssignmentView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + <having-condition-list combine="and"> + <condition-expr field-name="entriesCount" operator="greater-equals" value="1"/> + <condition-expr field-name="resourceCount" operator="greater-equals" value="1"/> + <condition-expr field-name="taskStatusId" operator="not-equals" value="PTS_COMPLETED"/> + <condition-expr field-name="taskStatusId" operator="not-equals" value="PTS_CANCELLED"/> + </having-condition-list> + </entity-count> + <log level="info" message="related in progress tasks count ====> ${inprogressTasks}"/> + <if> + <condition> + <or> + <if-compare operator="greater" field="inprogressTasks" type="Long" value="0"/> + <if-compare operator="greater" field="assignedTasks" type="Long" value="0"/> + </or> + </condition> + <then> + <set field="highInfo.currentStatusId" value="PTS_CREATED_IP"/> + </then> + <else> + <if> + <condition> + <if-compare-field operator="equals" field="completedTasks" to-field="tasksCount"/> + </condition> + <then> + <set field="highInfo.currentStatusId" value="PTS_COMPLETED"/> + </then> + <else> + <set field="highInfo.currentStatusId" value="PTS_CREATED"/> + </else> + </if> + </else> + </if> + </simple-method> + + <simple-method method-name="combineDatesAndPlannedHoursInfo" short-description="combine lower level start end dates and planned hours for a project, phase or task"> + <entity-condition entity-name="ProjectPhaseTaskSummaryView" list="summaryInfos"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + <select-field field-name="projectId"/> + <select-field field-name="estimatedStartDate"/> + <select-field field-name="actualEntryStartDate"/> + <select-field field-name="actualStartDate"/> + <select-field field-name="estimatedCompletionDate"/> + <select-field field-name="actualCompletionDate"/> + <select-field field-name="actualEntryCompletionDate"/> + <select-field field-name="plannedHours"/> + <select-field field-name="priority"/> + </entity-condition> + + <first-from-list entry="summaryInfo" list="summaryInfos"/> + <set field="highInfo.estimatedStartDate" from-field="summaryInfo.estimatedStartDate"/> + <set field="highInfo.estimatedCompletionDate" from-field="summaryInfo.estimatedCompletionDate"/> + <set field="highInfo.actualStartDate" from-field="summaryInfo.actualStartDate"/> + <set field="highInfo.actualCompletionDate" from-field="summaryInfo.actualCompletionDate"/> + <set field="highInfo.priority" from-field="summaryInfo.priority"/> + <set field="highInfo.plannedHours" from-field="summaryInfo.plannedHours"/> + <!-- update actual start date by the min date form sub tasks associated entries + (if before actualStartDate field) --> + <if-not-empty field="summaryInfo.actualEntryStartDate"> + <if> + <condition> + <or> + <if-empty field="highInfo.actualStartDate"/> + <if-compare-field field="highInfo.actualStartDate" operator="greater" type="Timestamp" to-field="summaryInfo.actualEntryStartDate"/> + </or> + </condition> + <then> + <set field="highInfo.actualStartDate" from-field="summaryInfo.actualEntryStartDate"/> + </then> + </if> + </if-not-empty> + <!-- update actual completion date by the max date form sub tasks associated entries + (if after actualCompletionDate field) --> + <if-not-empty field="summaryInfo.actualEntryCompletionDate"> + <if> + <condition> + <or> + <if-empty field="highInfo.actualCompletionDate"/> + <if-compare-field field="highInfo.actualCompletionDate" operator="less" type="Timestamp" to-field="summaryInfo.actualEntryCompletionDate"/> + </or> + </condition> + <then> + <set field="highInfo.actualCompletionDate" from-field="summaryInfo.actualEntryCompletionDate"/> + </then> + </if> + </if-not-empty> + </simple-method> + <simple-method method-name="combineInfo" short-description="combine lower level status, dates of tasks."> + <call-simple-method method-name="combineStatusInfo"/> + <call-simple-method method-name="combineDatesAndPlannedHoursInfo"/> + <call-simple-method method-name="combineActualHours"/> + </simple-method> + <simple-method method-name="combineActualHours" short-description="combine lower level Actual hours info."> + <!-- + -to calculate actual hours : the declared number of hours in time entry should be multiplied by the + max percentage declared in PartyRate if a valid party rate can be found for the party associated to a + the timesheet associated to this time entry and has the same rateType as this timeEntry + -actualHoursOriginal is the total of hours in time entries without application of percentage declared in partyRate + --> + + <!-- I- get timeEntries for which there is no rate (originalHours)--> + <entity-condition list="notRatedValues" entity-name="ProjectPhaseTaskActualNotRatedHoursView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + <select-field field-name="totalOriginalHours"/> + </entity-condition> + <first-from-list entry="notRatedValue" list="notRatedValues"/> + <set field="originalHours" from-field="notRatedValue.totalOriginalHours" type="Double"/> + + <!-- II- get total for timeEntries having a partyRate that should be applied + before applying rate (totalOriginalHours) + after applying rate (totalRatedHours)--> + <entity-condition list="ratedValues" entity-name="ProjectPhaseTaskActualRatedHoursView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + </condition-list> + <select-field field-name="totalOriginalHours"/> + <select-field field-name="totalRatedHours"/> + </entity-condition> + <first-from-list list="ratedValues" entry="ratedValue"/> + <call-object-method method-name="getDouble" obj-field="ratedValue" ret-field="actualHours"> + <string value="totalRatedHours"/> + </call-object-method> + + <if-empty field="actualHours"> + <set field="actualHours" from-field="originalHours"/> + <else> + <calculate field="actualHours" type="Double"> + <calcop operator="add" field="originalHours"> + <calcop operator="get" field="actualHours"/> + </calcop> + </calculate> + </else> + </if-empty> + + <if-empty field="originalHours"> + <set field="originalActualHours" from-field="ratedValue.totalOriginalHours" type="Double"/> + <else> + <calculate field="originalActualHours" type="Double"> + <calcop operator="add" field="originalHours"> + <calcop operator="get" field="ratedValue.totalOriginalHours"/> + </calcop> + </calculate> + </else> + </if-empty> + + <set field="highInfo.originalActualHours" from-field="originalActualHours"/> + <set field="highInfo.actualHours" from-field="actualHours"/> + <!-- do the same but for non-billed hours --> + <!-- first get not rated hours --> + <entity-condition list="notRatedValues" entity-name="ProjectPhaseTaskActualNotRatedHoursView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + <condition-expr field-name="invoiceId" from-field="nullField"/> + </condition-list> + <select-field field-name="totalOriginalHours"/> + </entity-condition> + <first-from-list entry="notRatedValue" list="notRatedValues"/> + <set field="actualNonBilledHours" from-field="notRatedValue.totalOriginalHours" type="Double"/> + <!-- second get non billed for entries having an invoiceId --> + <entity-condition list="ratedValues" entity-name="ProjectPhaseTaskActualRatedHoursView"> + <condition-list> + <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/> + <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/> + <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/> + <condition-expr field-name="invoiceId" from-field="nullField"/> + </condition-list> + <select-field field-name="totalOriginalHours"/> + <select-field field-name="totalRatedHours"/> + </entity-condition> + <first-from-list list="ratedValues" entry="ratedValue"/> + <call-object-method method-name="getDouble" obj-field="ratedValue" ret-field="actualHours"> + <string value="totalOriginalHours"/> + </call-object-method> + + <if-not-empty field="actualNonBilledHours"> + <calculate field="actualNonBilledHours" type="Double"> + <calcop operator="get" field="actualNonBilledHours"> + <calcop operator="add" field="actualHours"/> + </calcop> + </calculate> + <else> + <set field="actualNonBilledHours" from-field="totalOriginalHours" type="Double"/> + </else> + </if-not-empty> + <set field="highInfo.actualNonBilledHours" from-field="actualNonBilledHours" type="Double"/> + </simple-method> + + <simple-method method-name="combineInfoOld" short-description="combine lower level status, dates of tasks."> <!-- in/output highInfo infoMap --> <!-- input lowInfo info map --> <!-- set the dates from the lower level tasks --> Modified: ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/config/scrumUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/config/scrumUiLabels.xml?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/config/scrumUiLabels.xml (original) +++ ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/config/scrumUiLabels.xml Mon Nov 28 08:04:21 2011 @@ -671,6 +671,9 @@ <property key="ScrumMoveToUnplannedSprint"> <value xml:lang="en">Move to unplanned sprint</value> </property> + <property key="ScrumMyProfile"> + <value xml:lang="en">My Profile</value> + </property> <property key="ScrumMyWork"> <value xml:lang="en">My Work</value> </property> Modified: ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/CommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/CommonScreens.xml?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/CommonScreens.xml (original) +++ ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/CommonScreens.xml Mon Nov 28 08:04:21 2011 @@ -324,7 +324,7 @@ <screen name="CommonPartyDecorator"> <section> <actions> - <set field="headerItem" value="ProjectMember"/> + <set field="headerItem" value="myProfile"/> <set field="partyId" from-field="parameters.partyId"/> <entity-one entity-name="Party" value-field="party"/> <entity-one entity-name="Person" value-field="lookupPerson"/> Modified: ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceForms.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceForms.xml?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceForms.xml (original) +++ ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceForms.xml Mon Nov 28 08:04:21 2011 @@ -160,25 +160,25 @@ </field> </form> <form name="ListPreference" type="multi" target="updatePreference?partyId=${parameters.partyId}" list-name="userPreferenceList" - odd-row-style="alternate-row" default-table-style="basic-table hover-bar" separate-columns="true" use-row-submit="true" > + odd-row-style="alternate-row" default-table-style="basic-table hover-bar" separate-columns="true"> <row-actions> <service service-name="getUserPreference" result-map="values"> <field-map field-name="userPrefTypeId" from-field="enumId"/> </service> - <set field="userPrefValue" from-field="values.userPrefValue"/> + <set field="userPrefValue" from-field="values.userPrefValue" default-value="Y"/> <entity-and entity-name="UserLogin" list="userLogins"> <field-map field-name="partyId" from-field="parameters.partyId"/> + <field-map field-name="userLoginId" from-field="userLogin.userLoginId"/> </entity-and> <set field="userLoginId" from-field="userLogins[0].userLoginId"/> </row-actions> - <field name="_rowSubmit"><hidden value="Y"/></field> <field name="enumId" parameter-name="userPrefTypeId"><hidden value="${enumId}"/></field> <field name="enumTypeId" parameter-name="userPrefGroupTypeId"><hidden value="${enumTypeId}"/></field> <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field> <field name="partyId"><hidden value="${parameters.partyId}"/></field> <field name="userLoginId"><hidden/></field> <field name="userPrefValue" title="Enable"> - <drop-down> + <drop-down allow-empty="false" no-current-selected-key="Y"> <option key="N" description="No"/> <option key="Y" description="Yes"/> </drop-down> @@ -186,6 +186,7 @@ <field name="submit" title="${uiLabelMap.CommonSubmit}"><submit/></field> </form> <form name="ListPreferenceNoAction" extends="ListPreference"> + <field name="userPrefValue" title="Enable"><display/></field> <field name="submit"><hidden/></field> </form> <form name="FindPartyRevision" type="single" target="findPartyRevision"> Modified: ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceScreens.xml?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceScreens.xml (original) +++ ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/ResourceScreens.xml Mon Nov 28 08:04:21 2011 @@ -209,12 +209,14 @@ under the License. <section> <actions> <set field="titleProperty" value="PageTitleViewPartyPreferences"/> - <set field="headerItem" value="projectMember"/> <set field="tabButtonItem" value="preferences"/> <set field="partyId" from-field="parameters.partyId"/> - <entity-and entity-name="Enumeration" list="userPreferenceList"> - <field-map field-name="enumTypeId" value="SCRUM_PREFERENCE"/> + <entity-and entity-name="UserLogin" list="userLogins"> + <field-map field-name="partyId" from-field="parameters.partyId"/> + <field-map field-name="userLoginId" from-field="userLogin.userLoginId"/> </entity-and> + <set field="userLoginId" from-field="userLogins[0].userLoginId"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/ListScrumPreferenceSecurityGroup.groovy"/> </actions> <widgets> <decorator-screen name="CommonPartyDecorator" location="${parameters.mainDecoratorLocation}"> @@ -223,12 +225,12 @@ under the License. <condition> <and> <not><if-empty field="partyId"></if-empty></not> - <if-service-permission service-name="scrumPermissionCheck" main-action="CREATE" resource-description="MEMBER"/> + <!-- <if-service-permission service-name="scrumPermissionCheck" main-action="CREATE" resource-description="BACKLOG"/> --> <if-compare-field field="partyId" operator="equals" to-field="userLogin.partyId"/> </and> </condition> <widgets> - <screenlet title="${uiLabelMap.CommonPreferences}" > + <screenlet title="${uiLabelMap.CommonPreferences} : ${userLoginId}" > <include-form name="ListPreference" location="component://scrum/widget/ResourceForms.xml"/> </screenlet> </widgets> Modified: ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/scrumMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/scrumMenus.xml?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/scrumMenus.xml (original) +++ ofbiz/branches/jackrabbit20100709/specialpurpose/scrum/widget/scrumMenus.xml Mon Nov 28 08:04:21 2011 @@ -54,6 +54,11 @@ </condition> <link target="adminScrum"/> </menu-item> + <menu-item name="myProfile" title="${uiLabelMap.ScrumMyProfile}"> + <link target="viewprofile"> + <parameter param-name="partyId" from-field="userLogin.partyId"/> + </link> + </menu-item> </menu> <menu name="ScrumAdminSubMenu" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> @@ -721,32 +726,52 @@ </link> </menu-item> <menu-item name="preferences" title="${uiLabelMap.CommonPreferences}"> + <condition> + <and> + <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="BACKLOG"/> + <if-compare-field field="userLogin.partyId" operator="equals" to-field="partyId"/> + </and> + </condition> <link target="Preferences"> <parameter param-name="partyId"/> </link> </menu-item> - <menu-item name="viewroles" title="${uiLabelMap.PartyRoles}"> + <condition> + <if-has-permission permission="SCRUM" action="_ADMIN"/> + </condition> <link target="viewroles"> <parameter param-name="partyId"/> </link> </menu-item> <menu-item name="listResourcesProject" title="${uiLabelMap.ScrumProjects}"> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="BACKLOG"/> + </condition> <link target="listResourcesProject"> <parameter param-name="partyId"/> </link> </menu-item> <menu-item name="listResourcesTask" title="${uiLabelMap.ScrumTasks}"> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="TASK"/> + </condition> <link target="listResourcesTask"> <parameter param-name="partyId"/> </link> </menu-item> <menu-item name="EditPartyRates" title="${uiLabelMap.CommonRates}"> + <condition> + <if-has-permission permission="SCRUM" action="_ADMIN"/> + </condition> <link target="EditPartyRates"> <parameter param-name="partyId"/> </link> </menu-item> <menu-item name="findPartyRevision" title="${uiLabelMap.ScrumRevisions}"> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="TASK"/> + </condition> <link target="findPartyRevision"> <parameter param-name="partyId"/> </link> @@ -873,7 +898,7 @@ <if-has-permission permission="SCRUM" action="_ADMIN"/> </and> </condition> - <link target="setTaskStatus"> + <link target="setTaskStatus"> <parameter param-name="workEffortId" from-field="parameters.taskId"/> <parameter param-name="taskId" from-field="parameters.taskId"/> <parameter param-name="currentStatusId" value="STS_CANCELLED"/> Modified: ofbiz/branches/jackrabbit20100709/themes/bizznesstime/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/bizznesstime/includes/header.ftl?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/bizznesstime/includes/header.ftl (original) +++ ofbiz/branches/jackrabbit20100709/themes/bizznesstime/includes/header.ftl Mon Nov 28 08:04:21 2011 @@ -99,6 +99,13 @@ under the License. <script src="<@ofbizContentUrl>${StringUtil.wrapString(javaScript)}</@ofbizContentUrl>" type="text/javascript"></script> </#list> </#if> + <#if layoutSettings.WEB_ANALYTICS?has_content> + <script language="JavaScript" type="text/javascript"> + <#list layoutSettings.WEB_ANALYTICS as webAnalyticsConfig> + ${StringUtil.wrapString(webAnalyticsConfig.webAnalyticsCode?if_exists)} + </#list> + </script> + </#if> </head> <#if layoutSettings.headerImageLinkUrl?exists> <#assign logoLinkURL = "${layoutSettings.headerImageLinkUrl}"> Modified: ofbiz/branches/jackrabbit20100709/themes/bluelight/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/bluelight/includes/header.ftl?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/bluelight/includes/header.ftl (original) +++ ofbiz/branches/jackrabbit20100709/themes/bluelight/includes/header.ftl Mon Nov 28 08:04:21 2011 @@ -80,6 +80,13 @@ under the License. ${extraHead} </#list> </#if> + <#if layoutSettings.WEB_ANALYTICS?has_content> + <script language="JavaScript" type="text/javascript"> + <#list layoutSettings.WEB_ANALYTICS as webAnalyticsConfig> + ${StringUtil.wrapString(webAnalyticsConfig.webAnalyticsCode?if_exists)} + </#list> + </script> + </#if> </head> <#if layoutSettings.headerImageLinkUrl?exists> <#assign logoLinkURL = "${layoutSettings.headerImageLinkUrl}"> Modified: ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/includes/header.ftl?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/includes/header.ftl (original) +++ ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/includes/header.ftl Mon Nov 28 08:04:21 2011 @@ -80,6 +80,13 @@ under the License. ${extraHead} </#list> </#if> + <#if layoutSettings.WEB_ANALYTICS?has_content> + <script language="JavaScript" type="text/javascript"> + <#list layoutSettings.WEB_ANALYTICS as webAnalyticsConfig> + ${StringUtil.wrapString(webAnalyticsConfig.webAnalyticsCode?if_exists)} + </#list> + </script> + </#if> </head> <#if layoutSettings.headerImageLinkUrl?exists> <#assign logoLinkURL = "${layoutSettings.headerImageLinkUrl}"> Modified: ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css (original) +++ ofbiz/branches/jackrabbit20100709/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css Mon Nov 28 08:04:21 2011 @@ -940,7 +940,7 @@ height:50px; } #org-logo-area { -width:260px; +width:auto; height:50px; } Modified: ofbiz/branches/jackrabbit20100709/themes/flatgrey/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/flatgrey/includes/header.ftl?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/flatgrey/includes/header.ftl (original) +++ ofbiz/branches/jackrabbit20100709/themes/flatgrey/includes/header.ftl Mon Nov 28 08:04:21 2011 @@ -77,6 +77,13 @@ under the License. </#list> </#if> <#if lastParameters?exists><#assign parametersURL = "&" + lastParameters></#if> + <#if layoutSettings.WEB_ANALYTICS?has_content> + <script language="JavaScript" type="text/javascript"> + <#list layoutSettings.WEB_ANALYTICS as webAnalyticsConfig> + ${StringUtil.wrapString(webAnalyticsConfig.webAnalyticsCode?if_exists)} + </#list> + </script> + </#if> </head> <#if layoutSettings.headerImageLinkUrl?exists> <#assign logoLinkURL = "${layoutSettings.headerImageLinkUrl}"> @@ -110,29 +117,43 @@ under the License. <li class="logo-area"><a href="<@ofbizUrl>${logoLinkURL}</@ofbizUrl>"><img alt="${layoutSettings.companyName}" src="<@ofbizContentUrl>${StringUtil.wrapString(headerImageUrl)}</@ofbizContentUrl>"/></a></li> </#if> </#if> - <#if userLogin?exists> - <#if layoutSettings.topLines?has_content> - <#list layoutSettings.topLines as topLine> - <#if topLine.text?exists> - <li>${topLine.text}<a href="${StringUtil.wrapString(topLine.url?if_exists)}&externalLoginKey=${externalLoginKey}">${topLine.urlText?if_exists}</a></li> - <#elseif topLine.dropDownList?exists> - <li><#include "component://common/webcommon/includes/insertDropDown.ftl"/></li> + <#if layoutSettings.middleTopMessage1?has_content && layoutSettings.middleTopMessage1 != " "> + <li> + <div class="last-system-msg"> + <center>${layoutSettings.middleTopHeader?if_exists}</center> + <a href="${layoutSettings.middleTopLink1?if_exists}">${layoutSettings.middleTopMessage1?if_exists}</a><br/> + <a href="${layoutSettings.middleTopLink2?if_exists}">${layoutSettings.middleTopMessage2?if_exists}</a><br/> + <a href="${layoutSettings.middleTopLink3?if_exists}">${layoutSettings.middleTopMessage3?if_exists}</a> + </div> + </li> + </#if> + <li class="preference-area"> + <ul> + <#if userLogin?exists> + <#if layoutSettings.topLines?has_content> + <#list layoutSettings.topLines as topLine> + <#if topLine.text?exists> + <li>${topLine.text}<a href="${StringUtil.wrapString(topLine.url?if_exists)}&externalLoginKey=${externalLoginKey}">${topLine.urlText?if_exists}</a></li> + <#elseif topLine.dropDownList?exists> + <li><#include "component://common/webcommon/includes/insertDropDown.ftl"/></li> + <#else> + <li>${topLine?if_exists}</li> + </#if> + </#list> <#else> - <li>${topLine?if_exists}</li> + <li>${userLogin.userLoginId}</li> </#if> - </#list> - <#else> - <li>${userLogin.userLoginId}</li> - </#if> - <li><a href="<@ofbizUrl>logout</@ofbizUrl>">${uiLabelMap.CommonLogout}</a></li> - <#else/> - <li>${uiLabelMap.CommonWelcome}! <a href="<@ofbizUrl>${checkLoginUrl}</@ofbizUrl>">${uiLabelMap.CommonLogin}</a></li> - </#if> - <#---if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists && helpTopic?exists--> - <#if parameters.componentName?exists && requestAttributes._CURRENT_VIEW_?exists && helpTopic?exists> - <#include "component://common/webcommon/includes/helplink.ftl" /> - <li><a <#if pageAvail?has_content>class="alert"</#if> href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></li> - </#if> + <li><a href="<@ofbizUrl>logout</@ofbizUrl>">${uiLabelMap.CommonLogout}</a></li> + <#else/> + <li>${uiLabelMap.CommonWelcome}! <a href="<@ofbizUrl>${checkLoginUrl}</@ofbizUrl>">${uiLabelMap.CommonLogin}</a></li> + </#if> + <#---if webSiteId?exists && requestAttributes._CURRENT_VIEW_?exists && helpTopic?exists--> + <#if parameters.componentName?exists && requestAttributes._CURRENT_VIEW_?exists && helpTopic?exists> + <#include "component://common/webcommon/includes/helplink.ftl" /> + <li><a <#if pageAvail?has_content>class="alert"</#if> href="javascript:lookup_popup2('showHelp?helpTopic=${helpTopic}&portalPageId=${parameters.portalPageId?if_exists}','help' ,500,500);">${uiLabelMap.CommonHelp}</a></li> + </#if> + </ul> + </li> </ul> </div> <#--<br class="clear" />--> Modified: ofbiz/branches/jackrabbit20100709/themes/flatgrey/webapp/flatgrey/maincss.css URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/flatgrey/webapp/flatgrey/maincss.css?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/flatgrey/webapp/flatgrey/maincss.css (original) +++ ofbiz/branches/jackrabbit20100709/themes/flatgrey/webapp/flatgrey/maincss.css Mon Nov 28 08:04:21 2011 @@ -259,7 +259,7 @@ color: #ccc; font-size: 1em; font-weight: normal; min-height: 26px; /* Setting must be in px */ -height: 2.6em; +height: auto; overflow: auto; } @@ -273,6 +273,16 @@ color: #ccc; font-weight: normal; } +.last-system-msg{ +color: #FFFFFF; +font-size: 0.9em; +padding-left:10px; +} + +.preference-area{ +float: right !important; +} + #masthead ul .logo-area { padding: 0.1em 0.8em; } @@ -282,7 +292,7 @@ padding: 0.1em 0.8em; } #masthead ul .org-logo-area img{ -width: 50px; +width: auto; height: 22px; } Modified: ofbiz/branches/jackrabbit20100709/themes/tomahawk/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/tomahawk/includes/header.ftl?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/tomahawk/includes/header.ftl (original) +++ ofbiz/branches/jackrabbit20100709/themes/tomahawk/includes/header.ftl Mon Nov 28 08:04:21 2011 @@ -80,6 +80,13 @@ under the License. ${extraHead} </#list> </#if> + <#if layoutSettings.WEB_ANALYTICS?has_content> + <script language="JavaScript" type="text/javascript"> + <#list layoutSettings.WEB_ANALYTICS as webAnalyticsConfig> + ${StringUtil.wrapString(webAnalyticsConfig.webAnalyticsCode?if_exists)} + </#list> + </script> + </#if> </head> <#if layoutSettings.headerImageLinkUrl?exists> <#assign logoLinkURL = "${layoutSettings.headerImageLinkUrl}"> Modified: ofbiz/branches/jackrabbit20100709/themes/tomahawk/webapp/tomahawk/css/style.css URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/themes/tomahawk/webapp/tomahawk/css/style.css?rev=1207005&r1=1207004&r2=1207005&view=diff ============================================================================== --- ofbiz/branches/jackrabbit20100709/themes/tomahawk/webapp/tomahawk/css/style.css (original) +++ ofbiz/branches/jackrabbit20100709/themes/tomahawk/webapp/tomahawk/css/style.css Mon Nov 28 08:04:21 2011 @@ -957,7 +957,7 @@ height:100%; } #org-logo-area { -width:385px; +width:auto; height:50px; } @@ -2137,7 +2137,7 @@ display: none; #masthead ul li.last-system-msg{ color:#FFFFFF; padding-left:10px; -float: right; +float: left; margin-right: 20px; } |
Free forum by Nabble | Edit this page |