<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">

	<grid name="timesheet-line-project-grid" title="Log Times" model="com.axelor.apps.hr.db.TimesheetLine" editable="true"
	onNew="action-hr-default-timesheet-line-project,action-timesheet-line-record-to-invoice-parent,action-timesheet-line-default-project" orderBy="-date">
		<field name="user" form-view="user-form" grid-view="user-grid"/>
		<field name="teamTask"/>
		<field name="date" />
		<field name="product" requiredIf="toInvoice" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
		<field name="hoursDuration" width="62%" min="0.01"/>
		<field name="durationForCustomer" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
		<field name="toInvoice" if-module="axelor-business-project"  if="__config__.app.isApp('business-project')" />
		<field name="enableEditor" hidden="true" />
		<field name="invoiced" />
		<field name="project" hidden="true" />
		<button name="updateToInvoiceBtn" title="Update to invoice" readonlyIf="invoiced" icon="fa-check-circle" onClick="action-timesheet-line-method-update-to-invoice" />
	</grid>
	
	<grid name="timesheet-line-teamtask-grid" title="Log Times" model="com.axelor.apps.hr.db.TimesheetLine" editable="true"
	onNew="action-hr-default-timesheet-line-project,action-timesheet-line-record-to-invoice-parent,action-timesheet-line-default-project" orderBy="-date">
		<field name="user" form-view="user-form" grid-view="user-grid"/>
		<field name="date" />
		<field name="product" requiredIf="toInvoice" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
		<field name="hoursDuration" width="62%" min="0.01"/>
		<field name="durationForCustomer" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
		<field name="toInvoice" if-module="axelor-business-project"  if="__config__.app.isApp('business-project')" />
		<field name="enableEditor" hidden="true" />
		<field name="invoiced" />
		<field name="project" hidden="true" />
		<button name="updateToInvoiceBtn" title="Update to invoice" readonlyIf="invoiced" icon="fa-check-circle" onClick="action-timesheet-line-method-update-to-invoice" />
	</grid>
	
	<grid name="timesheet-line-timesheet-grid" title="Timesheet Lines" model="com.axelor.apps.hr.db.TimesheetLine" editable="true" 
	onNew="action-hr-default-timesheet-line-timesheet" orderBy="date" >
		<hilite color="danger" if="$moment(date).diff($get('timesheet.fromDate'),'days') &lt; 0 || $moment(date).diff($get('timesheet.toDate'), 'days') &gt; 0"/>
		<field name="timesheet.fromDate" hidden="true" />
		<field name="timesheet.toDate" hidden="true" />
	    <field name="sequence" if="__config__.app.getApp('timesheet').displayTimesheetLineNumber" width="90"/>
		<field name="project" width="200" onChange="action-timesheet-line-group-project-onchange" requiredIf="toInvoice" onSelect="action-timesheet-line-attrs-domain-project" form-view="project-form" grid-view="project-grid"/>
		<field name="teamTask" width="200" form-view="team-task-form" grid-view="team-task-grid" onSelect="action-timesheet-line-attrs-domain-team-task" onChange="action-timesheet-line-method-set-default-to-invoice"/>
		<field name="date" width="100" onChange="action-timesheet-line-validate-date"/>
		<field name="product" requiredIf="toInvoice" width="200" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
		<field name="duration" width="100" onChange="action-timesheet-line-method-set-stored-duration" aggregate="sum" min="0.01"/>
		<field name="hoursDuration" hidden="true" />
		<field name="toInvoice" width="100" if-module="axelor-business-project"  if="__config__.app.isApp('business-project')" />
		<field name="enableEditor" hidden="true" />
		<field name="comments" width="400"/>
		<field name="user" form-view="user-form" grid-view="user-grid" hidden="true"/>
	</grid>

	<grid name="timesheet-line-grid" title="Timesheet Lines" model="com.axelor.apps.hr.db.TimesheetLine" canNew="false">
		<field name="timesheet.company"/>
		<field name="timesheet" grid-view="timesheet-grid" form-view="timesheet-form"/>
		<field name="timesheet.user"/>
		<field name="project"/>
		<field name="date"/>
		<field name="product"/>
		<field name="duration"/>
		<field name="hoursDuration"/>
		<field name="durationForCustomer"/>
		<field name="toInvoice"/>
		<field name="enableEditor"/>
		<field name="comments" />
		<field name="timesheet.statusSelect"/>
	</grid>

	<grid name="timesheet-line-timesheet-project-grid" title="Timesheet Lines" model="com.axelor.apps.hr.db.TimesheetLine" editable="true" 
	onNew="action-hr-default-timesheet-line-timesheet" orderBy="date" >
		<field name="user" form-view="user-form" grid-view="user-grid"/>
		<field name="project" onChange="action-timesheet-line-group-project-onchange" requiredIf="toInvoice" onSelect="action-timesheet-line-attrs-domain-project" form-view="project-form" grid-view="project-grid"/>
		<field name="date" onChange="action-timesheet-line-validate-date"/>
		<field name="product" requiredIf="toInvoice" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
		<field name="duration" width="62%" onChange="action-timesheet-line-method-set-stored-duration" aggregate="sum" min="0.01"/>
		<field name="durationForCustomer" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
		<field name="hoursDuration" hidden="true" />
		<field name="timesheet" grid-view="timesheet-grid" form-view="timesheet-form"/>
		<field name="toInvoice" if-module="axelor-business-project"  if="__config__.app.isApp('business-project')" />
		<field name="enableEditor" hidden="true" />
		<field name="comments" />
	</grid>

	<grid name="timesheet-line-timesheet-readonly-grid" title="Timesheet Lines" model="com.axelor.apps.hr.db.TimesheetLine" 
	onNew="action-hr-default-timesheet-line-timesheet" orderBy="date">
		<hilite color="danger" if="$moment(date).diff($get('timesheet.fromDate'),'days') &lt; 0 || $moment(date).diff($get('timesheet.toDate'), 'days') &gt; 0"/>
		<field name="timesheet.fromDate" hidden="true" />
		<field name="timesheet.toDate" hidden="true" />
	    <field name="sequence" if="__config__.app.getApp('timesheet').displayTimesheetLineNumber" width="90"/>
		<field name="project" onChange="action-timesheet-line-group-project-onchange" requiredIf="toInvoice" onSelect="action-timesheet-line-attrs-domain-project" form-view="project-form" grid-view="project-grid"/>
		<field name="teamTask" width="200" form-view="team-task-form" grid-view="team-task-grid" onSelect="action-timesheet-line-attrs-domain-team-task" onChange="action-timesheet-line-method-set-default-to-invoice"/>
		<field name="date" width="85%" onChange="action-timesheet-line-validate-date"/>
		<field name="product" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
		<field name="duration" width="62%" onChange="action-timesheet-line-method-set-stored-duration" aggregate="sum" min="0.01"/>
		<field name="hoursDuration" hidden="true" />
		<field name="toInvoice" width="88%" if-module="axelor-business-project" if="__config__.app.isApp('business-project')" />
		<field name="comments" />
		<field name="enableEditor" hidden="true" />
		<field name="user" form-view="user-form" grid-view="user-grid" hidden="true"/>
	</grid>

	<form name="timesheet-line-project-form" title="Log Time" model="com.axelor.apps.hr.db.TimesheetLine" 
	onNew="action-hr-default-timesheet-line-project,action-timesheet-line-attrs-set-duration-label,action-timesheet-line-record-to-invoice-parent"
	onLoad="action-timesheet-line-attrs-set-duration-label,action-timesheet-line-attrs-set-visible-duration-title" width="large">
		<panel name="overviewPanel" title="Overview">
			<field name="user" form-view="user-form" grid-view="user-grid" canNew="false" canEdit="false" canView="false"/>
			<field name="date" />
			<field name="product" requiredIf="toInvoice" canEdit="false" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
			<field name="duration" width="62%" colSpan="3" onChange="action-timesheet-line-method-set-stored-duration" min="0.01"/>
			<label name="durationLabel" colSpan="3"/>
			<field name="durationForCustomer" colSpan="3" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
    		<label name="durationLabel" colSpan="1" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
			<field name="hoursDuration" hidden="true" />
			<field name="timesheet" grid-view="timesheet-grid" form-view="timesheet-form"/>
			<field name="toInvoice" if-module="axelor-business-project" if="__config__.app.isApp('business-project')" />
			<field name="enableEditor" />
			<field name="comments" />
		</panel>
	</form>
	
	<form name="timesheet-line-timesheet-form" title="Timesheet Line" model="com.axelor.apps.hr.db.TimesheetLine" 
	onNew="action-hr-default-timesheet-line-timesheet,action-timesheet-line-attrs-set-duration-label,action-timesheet-line-attrs-title-project"
	onLoad="action-timesheet-line-attrs-set-duration-label,action-timesheet-line-attrs-set-visible-duration-title,action-timesheet-line-attrs-title-project" width="large">
		<panel name="overviewPanel" title="Overview">
			<field name="project" onChange="action-timesheet-line-group-project-onchange" onSelect="action-timesheet-line-attrs-domain-project" form-view="project-form" grid-view="project-grid"/>
			<field name="teamTask" form-view="team-task-form" grid-view="team-task-grid" onSelect="action-timesheet-line-attrs-domain-team-task" onChange="action-timesheet-line-method-set-default-to-invoice"/>
			<field name="date" />
			<field name="product" requiredIf="toInvoice" canEdit="false" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
			<field name="duration" width="62%" colSpan="3" onChange="action-timesheet-line-method-set-stored-duration" min="0.01"/>
			<label name="durationLabel" colSpan="3"/>
    		<field name="durationForCustomer" colSpan="3" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
    		<label name="durationLabel" colSpan="1" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
			<field name="hoursDuration" hidden="true" />
			<field name="toInvoice" if-module="axelor-business-project" if="__config__.app.isApp('business-project')" />
			<field name="enableEditor" />
			<field name="comments" />
			<field name="user" form-view="user-form" grid-view="user-grid" hidden="true" canNew="false" canEdit="false" canView="false"/>
		</panel>
	</form>

	<form name="timesheet-line-form" title="Timesheet Line" model="com.axelor.apps.hr.db.TimesheetLine" canNew="false"
	onLoad="action-timesheet-line-attrs-set-duration-label,action-timesheet-line-attrs-set-visible-duration-title,action-timesheet-line-attrs-title-project"
	onSave="action-timesheet-line-method-update-operation-order">
		<panel name="mainPanel">
			<field name="timesheet.company"/>
			<field name="timesheet" grid-view="timesheet-grid" form-view="timesheet-form"/>
			<field name="timesheet.user"/>
			<field name="timesheet.statusSelect"/>
		</panel>
		<panel-include view="timesheet-line-timesheet-form"/>
	</form>

	<form name="timesheet-line-timesheet-project-form" title="Timesheet Line" model="com.axelor.apps.hr.db.TimesheetLine"
	onNew="action-hr-default-timesheet-line-timesheet,action-timesheet-line-attrs-set-duration-label,action-timesheet-line-attrs-title-project"
	onLoad="action-timesheet-line-group-onload" width="large">
		<panel name="overviewPanel" title="Overview">
			<field name="project" onChange="action-timesheet-line-group-project-onchange" onSelect="action-timesheet-line-attrs-domain-project" form-view="project-form" grid-view="project-grid"/>
			<field name="teamTask"/>
			<field name="date" />
			<field name="product" canEdit="false" requiredIf="toInvoice" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
			<field name="hoursDuration" width="62%" colSpan="2" min="0.01"/>
			<label name="durationLabel" colSpan="4"/>
			<field name="durationForCustomer" colSpan="3" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
    		<label name="durationLabel" colSpan="1" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
			<field name="timesheet" grid-view="timesheet-grid" form-view="timesheet-form"/>
			<field name="toInvoice" if-module="axelor-business-project" if="__config__.app.isApp('business-project')" />
			<field name="comments" />
			<field name="enableEditor" />
			<field name="hoursDuration" hidden="true" />
			<field name="user"  form-view="user-form" grid-view="user-grid" hidden="true" canNew="false" canEdit="false" canView="false"/>
		</panel>
	</form>
	
	<form model="com.axelor.apps.hr.db.TimesheetLine" title="Timesheet Line" name="timesheet-line-timesheet-teamtask-form" onNew="action-team-task-attrs-default-timesheet-line,action-timesheet-line-method-set-timesheet" onSave="action-team-task-validate-check-timesheet-line-date">
		<panel name="overviewPanel" title="Overview">
			<field name="project" readonly="true" form-view="project-form" grid-view="project-grid"/>
			<field name="teamTask" form-view="team-task-form" grid-view="team-task-grid" readonly="true"/>
			<field name="date" onChange="action-timesheet-line-method-set-timesheet"/>
			<field name="product" requiredIf="toInvoice" canEdit="false" onSelect="action-hr-timesheet-line-attrs-domain-product" widget="SuggestBox" form-view="product-activity-form" grid-view="product-activity-grid"/>
			<field name="duration" width="62%" colSpan="3" onChange="action-timesheet-line-method-set-stored-duration" min="0.01"/>
			<label name="durationLabel" colSpan="3"/>	
			<field name="durationForCustomer" colSpan="5" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>
    		<label name="durationLabel" colSpan="1" if-module="axelor-business-project" if="__config__.app.isApp('business-project')"/>	
    		<field name="user" readonly="false" onSelect="action-timesheet-line-attrs-domain-user" form-view="user-form" grid-view="user-grid" canNew="false" canEdit="false" canView="false"/>	
			<field name="toInvoice" if-module="axelor-business-project" if="__config__.app.isApp('business-project')" />
			<field name="timesheet" form-view="timesheet-form" />
			<field name="enableEditor" />
			<field name="comments" />
			<field name="hoursDuration" hidden="true" />
		</panel>
	</form>

	<action-group name="action-timesheet-line-group-project-onchange">
		<action name="action-timesheet-line-method-set-default-to-invoice" if="__config__.app.isApp('business-project')"/>
<!-- 		<action name="action-hr-timesheet-line-record-empty-product"/> -->
	</action-group>
	
	<action-group name="action-timesheet-line-group-onload">
		<action name="action-timesheet-line-attrs-set-duration-label"/>
		<action name="action-timesheet-line-attrs-set-visible-duration-title"/>
		<action name="action-timesheet-line-attrs-title-project"/>
		<action name="action-timesheet-line-atts-overview-readonly"/>
	</action-group>
	
	<action-attrs name="action-team-task-attrs-default-timesheet-line">
		<attribute name="value" expr="#{__date__}" for="date"/>
		<attribute name="value" for="teamTask" expr="eval: _teamTask" if="_teamTask != null"/>
		<attribute name="value" for="project" expr="eval: _project" if="_project != null"/>
		<attribute name="value" for="user" expr="eval: _user" if="_user != null"/>
		<attribute name="value" for="product" expr="eval:__user__.employee?.product"/>
		<attribute name="value" expr="eval: _invoicingType == 1 ? true : false" for="toInvoice"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-atts-overview-readonly">
		<attribute name="readonly" for="overviewPanel" expr="_projectIds != null"/>
	</action-attrs>
	
	<action-attrs name="action-hr-timesheet-line-attrs-domain-product">
		<attribute name="domain" for="product" expr="eval:project == null || project?.productSet.empty ? &quot;self.isActivity = true&quot; : &quot;self.isActivity = true AND EXISTS(SELECT p FROM Project p WHERE p = :project AND self MEMBER OF p.productSet)&quot;"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-attrs-domain-project">
		<attribute name="domain" for="project" expr="eval: &quot; ${__user__.id} MEMBER OF self.membersUserSet OR self.assignedTo.id = ${__user__.id} &quot;"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-attrs-domain-user">
		<attribute name="domain" expr="eval: (project?.membersUserSet != null &amp;&amp; project?.membersUserSet?.size() &gt; 0) ? &quot;self.id IN(${project?.membersUserSet?.collect{it.id}?.join(',')})&quot; : &quot;self.id IN (null)&quot;" for="user"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-attrs-domain-team-task">
		<attribute name="domain" for="teamTask" expr="eval: &quot; self.project.id = ${project?.id} &quot;"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-attrs-title-project">
		<attribute name="title" for="project" expr="eval: __config__.app.getApp('project').getProjectLabel()" if="__config__.app.isApp('project') &amp;&amp; !com.google.common.base.Strings.isNullOrEmpty(__config__.app.getApp('project').getProjectLabel())"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-attrs-set-duration-label">
	    <attribute name="title" for="durationLabel" expr="eval: __parent__?.timeLoggingPreferenceSelect == 'days' ? com.axelor.i18n.I18n.get('Days') : __parent__?.timeLoggingPreferenceSelect == 'minutes' ? com.axelor.i18n.I18n.get('Minutes') : com.axelor.i18n.I18n.get('Hours')"/>
	</action-attrs>
	
	<action-attrs name="action-timesheet-line-attrs-set-visible-duration-title">
	    <attribute name="title" for="durationLabel" expr="eval: __parent__?.timeLoggingPreferenceSelect == 'days' ? com.axelor.i18n.I18n.get('Days') : __parent__?.timeLoggingPreferenceSelect == 'minutes' ? com.axelor.i18n.I18n.get('Minutes') : com.axelor.i18n.I18n.get('Hours')" />
	</action-attrs>
	
	<action-record name="action-hr-default-timesheet-line-project" model="com.axelor.apps.hr.db.TimesheetLine">
	    <field name="user" expr="eval:__user__" />
	    <field name="product" expr="eval:__user__.employee?.product" />
	</action-record>
	
	<action-record name="action-hr-default-timesheet-line-timesheet" model="com.axelor.apps.hr.db.TimesheetLine">
	    <field name="user" expr="eval:__parent__.user" />
	    <field name="product" expr="call:com.axelor.apps.hr.service.user.UserHrService:getTimesheetProduct(__repo__(User).find(__parent__.user.id))" if="__parent__.user != null"/>
	</action-record>
	
    <action-record name="action-timesheet-line-record-to-invoice-parent" model="com.axelor.apps.hr.db.TimesheetLine">
        <field name="toInvoice" 
        	expr="eval: _parent?.project?.isInvoicingTimesheet || _parent?.parentProject?.parentProject?.isInvoicingTimesheet"
            if="__config__.app.isApp('business-project')"/>
    </action-record>
	
	<action-record name="action-hr-timesheet-line-record-empty-product" model="com.axelor.apps.hr.db.TimesheetLine">
		<field name="product" expr="eval:null" if="!project?.productSet?.contains(product)"/>
	</action-record>

	<action-record name="action-timesheet-line-editor-record-get-default" model="com.axelor.apps.hr.db.TimesheetLine">
		<field name="product" expr="call:com.axelor.apps.hr.service.user.UserHrService:getTimesheetProduct(user)"/>
	</action-record>
	
	<action-validate name="action-timesheet-line-validate-date">
		<error message="This date is invalid. It must be included in the timesheet's period." if="date != null &amp;&amp; (date &lt; __parent__.fromDate || ( __parent__.toDate != null &amp;&amp; date &gt; __parent__.toDate))" action="action-timesheet-line-null-date"/>
	</action-validate>
	
	<action-validate name="action-team-task-validate-check-timesheet-line-date">
		<alert message="Line will be attached to a subsequent timesheet" if="date &lt; timesheet.fromDate"/>
	</action-validate>
	
	<action-record name="action-timesheet-line-null-date" model="com.axelor.apps.hr.db.TimesheetLine">
		<field name="date" expr="eval: null"/>
	</action-record>
	
	<action-record name="action-timesheet-line-default-project" model="com.axelor.apps.hr.db.TimesheetLine">
		<field name="project" expr="eval: __parent__"/>
	</action-record>
	
	<action-method name="action-timesheet-line-method-set-timesheet">
		<call class="com.axelor.apps.hr.web.timesheet.TimesheetLineController" method="setTimesheet"/>
	</action-method>
	
	<action-method name="action-timesheet-line-method-update-to-invoice">
		<call class="com.axelor.apps.hr.web.timesheet.TimesheetLineController" method="updateToInvoice"/>
	</action-method>

	<action-method name="action-timesheet-line-method-set-stored-duration" model="com.axelor.apps.hr.db.TimesheetLine">
        <call class="com.axelor.apps.hr.web.timesheet.TimesheetLineController" method="setStoredDuration"/>
	</action-method>
	
	<action-method name="action-timesheet-line-method-set-duration" model="com.axelor.apps.hr.db.TimesheetLine">
        <call class="com.axelor.apps.hr.web.timesheet.TimesheetLineController" method="setDuration"/>
	</action-method>
	
	<action-view name="action-team-task-view-time-spent" model="com.axelor.apps.hr.db.TimesheetLine" title="Timesheet Line Form">
  		<view name="timesheet-line-timesheet-teamtask-form" type="form"/>
  		<view-param name="popup" value="reload"/>
  		<view-param name="show-toolbar" value="false"/>
  		<view-param name="forceEdit" value="true"/>
  		<view-param name="forceTitle" value="true"/>
  		<context name="_teamTask" expr="eval: __self__"/>
  		<context name="_project" expr="eval: project"/>
  		<context name="_user" expr="eval: assignedTo"/>
  		<context name="_company" expr="eval: project.company"/>
		<context name="_invoicingType" expr="eval: invoicingType"/>
	</action-view>
	
	<action-view name="action-project-dashlet-validated-timeshet-lines" model="com.axelor.apps.hr.db.TimesheetLine" title="Validated Timesheet lines">
		<view type="grid" name="timesheet-line-project-grid"/>
		<view type="form" name="timesheet-line-timesheet-project-form"/>
		<view-param name="popup" value="true"/>
		<domain>self.timesheet.statusSelect = 3 and self.project.id in (:_projectIds)</domain>
		<context if="id == null" name="_projectIds" expr="eval:[0]" />
  		<context if="id != null &amp;&amp; !isShowPhasesElements" name="_projectIds" expr="eval:[id]"/>
  		<context if="id != null &amp;&amp; isShowPhasesElements" name="_projectIds" expr="eval:[id] + childProjectList.collect{it->it.id}"/>
	</action-view>
	
	<action-view name="action-project-dashlet-project-waiting-timeshet-lines" model="com.axelor.apps.hr.db.TimesheetLine" title="Waiting Timesheet lines">
		<view type="grid" name="timesheet-line-project-grid"/>
		<view type="form" name="timesheet-line-timesheet-project-form"/>
		<view-param name="popup" value="true"/>
		<domain>self.timesheet.statusSelect &lt; 3 and self.project.id in (:_projectIds)</domain>
		<context if="id == null" name="_projectIds" expr="eval:[0]" />
  		<context if="id != null &amp;&amp; !isShowPhasesElements" name="_projectIds" expr="eval:[id]"/>
  		<context if="id != null &amp;&amp; isShowPhasesElements" name="_projectIds" expr="eval:[id] + childProjectList.collect{it->it.id}"/>
	</action-view>
	
	<action-view name="action-teamtask-dashlet-validated-timeshet-lines" model="com.axelor.apps.hr.db.TimesheetLine" title="Validated Timesheet lines">
		<view type="grid" name="timesheet-line-teamtask-grid"/>
		<view type="form" name="timesheet-line-timesheet-teamtask-form"/>
		<view-param name="popup" value="true"/>
		<domain>self.timesheet.statusSelect = 3 and self.teamTask = :id</domain>
	</action-view>
	
	<action-view name="action-teamtask-dashlet-waiting-timeshet-lines" model="com.axelor.apps.hr.db.TimesheetLine" title="Waiting Timesheet lines">
		<view type="grid" name="timesheet-line-teamtask-grid"/>
		<view type="form" name="timesheet-line-timesheet-teamtask-form"/>
		<view-param name="popup" value="true"/>
		<domain>self.timesheet.statusSelect &lt; 3 and self.teamTask = :id</domain>
	</action-view>

</object-views>
