[MERGE]merge with parent branch and resolve conflicts
bzr revid: sgo@tinyerp.com-20120530130522-f8d6vem8wwlp0z4r
This commit is contained in:
@@ -58,91 +58,66 @@
|
||||
</xpath>
|
||||
<xpath expr='//separator[@name="description"]' position='before'>
|
||||
<separator colspan="4" string="Invoicing" name="invoicing"/>
|
||||
<!-- <group colspan="4">
|
||||
<group col="2" colspan="1" class="oe_form_group_label_border">
|
||||
<label string=" "/><label string=" "/>
|
||||
<field name="fix_price_invoices"/>
|
||||
<field name="invoice_on_timesheets"/>
|
||||
<field name="charge_expenses"/>
|
||||
</group>
|
||||
<group col="2" colspan="1">
|
||||
<label string="Est.Tot"/>
|
||||
<label string="Invoiced"/>
|
||||
<field name="amount_max" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/>
|
||||
<field name="ca_invoiced" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/>
|
||||
<field name="quantity_max" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
<field name="hours_qtt_invoiced" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
</group>
|
||||
<group col="2" colspan="1" class="oe_form_group_odd_border">
|
||||
<label string="Remaining"/>
|
||||
<label string="To Invoice"/>
|
||||
<field name="remaining_ca" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/>
|
||||
<field name="ca_to_invoice" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/>
|
||||
<field name="remaining_hours" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
<field name="hours_qtt_non_invoiced" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
</group>
|
||||
<group col="2" colspan="1">
|
||||
<label string=" "/><label string=" "/>
|
||||
<button name="%(action_sales_order_line)d" string="Sales" type="action" context="{'default_project_id': active_id,'search_default_project_id': active_id}" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/>
|
||||
<button name="%(sale.action_order_line_tree2)d" string="Lines To Invoice" type="action" context="{'default_project_id': active_id,'search_default_project_id': active_id}" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/>
|
||||
<button name="%(action_timesheet_lines_tree)d" string="Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
<button name="%(hr_timesheet_invoice.act_acc_analytic_acc_2_report_acc_analytic_line_to_invoice)d" string="Invoice Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/>
|
||||
|
||||
</group>
|
||||
</group> -->
|
||||
|
||||
<group colspan="4" name="contract_lines" class="oe_form_group_label_border">
|
||||
<table name="contract_data">
|
||||
<tr name="title" >
|
||||
<th ><div class="oe_field_label" ></div></th>
|
||||
<td><div></div></td>
|
||||
<th ><div class="oe_float_field_view" >Est. Total</div></th>
|
||||
<th ><div class="oe_field_view" >Invoiced</div></th>
|
||||
<th ><div class="oe_field_view" >Remaining</div></th>
|
||||
<th ><div class="oe_float_field_view" >Ready to Invoice</div></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><div class="oe_field_label">Fix price Invoices</div></th>
|
||||
<td><div><field name="fix_price_invoices" nolabel="1"/></div></td>
|
||||
<td><div class="oe_float_field_view"><field name="amount_max" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></div></td>
|
||||
<td><div class="oe_field_view"><field name="ca_invoiced" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></div></td>
|
||||
<td><div class="oe_field_view"><field name="remaining_ca" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></div></td>
|
||||
<td><div class="oe_float_field_view"><field name="ca_to_invoice" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></div></td>
|
||||
<td><button class="oe_title_button_right" name="%(action_sales_order_line)d" string="Sales" type="action" context="{'default_project_id': active_id,'search_default_project_id': active_id}" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
<td><button class="oe_title_button_left" name="%(sale.action_order_line_tree2)d" string="Lines To Invoice" type="action" context="{'default_project_id': active_id,'search_default_project_id': active_id}" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><div class="oe_field_label">Invoice on timesheet</div></th>
|
||||
<td><div><field name="invoice_on_timesheets" nolabel="1"/></div></td>
|
||||
<td><div class="oe_float_field_view" ><field name="quantity_max" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></div></td>
|
||||
<td><div class="oe_field_view" ><field name="hours_qtt_invoiced" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></div></td>
|
||||
<td><div class="oe_field_view" ><field name="remaining_hours" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></div></td>
|
||||
<td><div class="oe_float_field_view" ><field name="hours_qtt_non_invoiced" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></div></td>
|
||||
<td><button class="oe_title_button_right" name="%(account.action_account_tree1)d" string="Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
<td><button class="oe_title_button_left" name="%(hr_timesheet_invoice.act_acc_analytic_acc_2_report_acc_analytic_line_to_invoice)d" string="Invoice Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><div class="oe_field_label" >Charge Expenses</div></th>
|
||||
<td><div><field name="charge_expenses" nolabel="1"/></div></td>
|
||||
<td><div class="oe_float_field_view" ><field name="expense_max" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></div></td>
|
||||
<td><div class="oe_field_view" ><field name="expense_invoiced" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></div></td>
|
||||
<td><div class="oe_field_view" ><field name="remaining_expense" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></div></td>
|
||||
<td><div class="oe_float_field_view"><field name="expense_to_invoice" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></div></td>
|
||||
</tr>
|
||||
<tr name="total">
|
||||
<th><div class="oe_field_label" >Total</div></th>
|
||||
<td><div></div></td>
|
||||
<td><div class="oe_totals" ></div></td>
|
||||
<td><div class="oe_totals_view" ></div></td>
|
||||
<td><div class="oe_totals_view" ></div></td>
|
||||
<td><div class="oe_totals" ></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</group>
|
||||
<group colspan="4" class="oe_form_group_label_border">
|
||||
<field name="pricelist_id" />
|
||||
<field name="to_invoice" widget="selection" />
|
||||
</group>
|
||||
<group col="1" colspan="4">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<th class="oe_th_150px" height="20px"></th>
|
||||
<th width="10px"></th>
|
||||
<th class="oe_th_110px">Est.Tot</th>
|
||||
<th class="oe_th_110px">Invoiced</th>
|
||||
<th class="oe_th_110px">Remaining</th>
|
||||
<th class="oe_th_110px">Ready To Invoice</th>
|
||||
<th width="10px"></th>
|
||||
<th class="oe_th_150px"></th>
|
||||
<th class="oe_th_150px"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="oe_border_right">Fix Price Invoices</th>
|
||||
<td><field name="fix_price_invoices" nolabel="1"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="amount_max" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="ca_invoiced" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_right"><field name="remaining_ca" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="ca_to_invoice" nolabel="1" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
<td width="10px"></td>
|
||||
<td class="oe_th_150px"><button class= "oe_btn_width" name="%(action_sales_order_line)d" string="Sales" type="action" context="{'default_project_id': active_id,'search_default_project_id': active_id}" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
<td class="oe_th_150px"><button class= "oe_btn_width" name="%(sale.action_order_line_tree2)d" string="Lines To Invoice" type="action" context="{'default_project_id': active_id,'search_default_project_id': active_id}" attrs="{'invisible': [('fix_price_invoices','=',0)]}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="oe_border_right">Invoice On Timesheets</th>
|
||||
<td><field name="invoice_on_timesheets" nolabel="1"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="quantity_max" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="hours_qtt_invoiced" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_right"><field name="remaining_hours" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="hours_qtt_non_invoiced" nolabel="1" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
<td width="10px"></td>
|
||||
<td class="oe_th_150px"><button class= "oe_btn_width" name="%(action_timesheet_lines_tree)d" string="Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
<td class="oe_th_150px"><button class= "oe_btn_width" name="%(hr_timesheet_invoice.act_acc_analytic_acc_2_report_acc_analytic_line_to_invoice)d" string="Invoice Timesheets" type="action" attrs="{'invisible': [('invoice_on_timesheets','=',0)]}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="oe_border_right">Charge Expenses</th>
|
||||
<td><field name="charge_expenses" nolabel="1"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="expense_max" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="expense_invoiced" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_right"><field name="remaining_expense" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td class="oe_amount_center oe_th_110px"><field name="expense_to_invoice" nolabel="1" attrs="{'invisible': [('charge_expenses','=',0)]}"/></td>
|
||||
<td width="10px"></td>
|
||||
<td class="oe_th_150px">todo</td>
|
||||
<td class="oe_th_150px">todo</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="oe_border_right">Total</th>
|
||||
<td width="10px"></td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_top">todo</td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_top">todo</td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_right oe_border_top">todo</td>
|
||||
<td class="oe_amount_center oe_th_110px oe_border_top">todo</td>
|
||||
</tr>
|
||||
</table>
|
||||
</group>
|
||||
<group colspan="4" class="oe_form_group_label_border">
|
||||
<field name="pricelist_id" />
|
||||
<field name="to_invoice" widget="selection" />
|
||||
</group>
|
||||
</xpath>
|
||||
<!-- <notebook position="inside">
|
||||
<page string="Invoice Analysis">
|
||||
|
||||
@@ -1,34 +1,26 @@
|
||||
.oe_field_view {
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
.oe_th_80px{
|
||||
width:80px;
|
||||
text-align: center !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.oe_float_field_view {
|
||||
width: 110px;
|
||||
text-align: center;
|
||||
.oe_th_110px{
|
||||
width:110px;
|
||||
text-align: center !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.oe_title_button_left {
|
||||
min-width: 140px;
|
||||
text-align: left;
|
||||
margin-left: 5px !important;
|
||||
.oe_th_150px{
|
||||
width:150px;
|
||||
text-align: right !important;
|
||||
}
|
||||
|
||||
.oe_title_button_right {
|
||||
min-width: 110px;
|
||||
text-align: right;
|
||||
margin-left: 55px !important;
|
||||
.oe_amount_center{
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.oe_field_label {
|
||||
text-align: left;
|
||||
.oe_btn_width{
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
.oe_totals {
|
||||
width: 110px;
|
||||
text-align: center;
|
||||
border-top: groove;
|
||||
.oe_border_right{
|
||||
border-right: 1px solid #DDD;
|
||||
}
|
||||
.oe_totals_view {
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
border-top: groove;
|
||||
.oe_border_top{
|
||||
border-top: 1px solid #000000;
|
||||
}
|
||||
@@ -11,6 +11,15 @@
|
||||
|
||||
<menuitem id="menu_project_management" name="Project" parent="base.menu_main_pm" sequence="1"/>
|
||||
<menuitem id="menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
|
||||
|
||||
<act_window
|
||||
context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
|
||||
id="act_project_project_2_project_task_all"
|
||||
name="Tasks"
|
||||
res_model="project.task"
|
||||
src_model="project.project"
|
||||
view_mode="kanban,tree,form,calendar,graph"
|
||||
view_type="form"/>
|
||||
|
||||
<!-- Project -->
|
||||
<record id="edit_project" model="ir.ui.view">
|
||||
@@ -33,21 +42,29 @@
|
||||
<div class="oe_clear"/>
|
||||
</div>
|
||||
<sheet string="Project" layout="auto">
|
||||
<group colspan="6" col="6">
|
||||
<field name="name" string="Project Name" select="1"/>
|
||||
<field name="analytic_account_id" invisible="1" required="0"/>
|
||||
<field name="parent_id" string="Parent" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
|
||||
<field name="user_id" string="Project Manager" select="1" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
|
||||
<field name="date_start" string="Start Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
|
||||
<field name="date" string="End Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
|
||||
<field name="progress_rate" widget="progressbar"/>
|
||||
<group col="4" colspan="4">
|
||||
<group col="2" colspan="2" class="oe_form_group_label_border">
|
||||
<field name="name" string="Project Name" select="1"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
|
||||
<field name="user_id" string="Project Manager" select="1" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
|
||||
<field name="analytic_account_id" invisible="1" required="0"/>
|
||||
<field name="parent_id" invisible="1" string="Parent" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
|
||||
<!--<field name="date_start" string="Start Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>-->
|
||||
<!--<field name="date" string="End Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>-->
|
||||
<!--<field name="progress_rate" widget="progressbar"/>-->
|
||||
</group>
|
||||
<group col="2" colspan="2" class="oe_form_group_label_border">
|
||||
<table border="0">
|
||||
<tr name="use_tasks_row">
|
||||
<th style="border-right:1px solid #DDD;" width="140px">Tasks Management</th>
|
||||
<td><field name="use_tasks" nolabel="1"/></td>
|
||||
<td style="text-align:right;" width="110px"><button class="oe_btn_width" name="%(act_project_project_2_project_task_all)d" string="Tasks" type="action" attrs="{'invisible':[('use_tasks','=', 0)]}"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Administration">
|
||||
<group col="2" colspan="2" name="kanban">
|
||||
<separator colspan="2" string="Project Management"/>
|
||||
<field name="use_tasks"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="4" string="Performance"/>
|
||||
<field name="planned_hours" widget="float_time"/>
|
||||
@@ -63,7 +80,7 @@
|
||||
<field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Members">
|
||||
<page string="Team">
|
||||
<field colspan="4" name="members" nolabel="1">
|
||||
<tree string="Members">
|
||||
<field name="name"/>
|
||||
@@ -72,7 +89,7 @@
|
||||
</field>
|
||||
</page>
|
||||
<page string="Billing" groups="account.group_account_invoice">
|
||||
<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer"/>
|
||||
<!--<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer"/>-->
|
||||
<field name="warn_customer"/>
|
||||
<field name="currency_id" select="1" groups="base.group_multi_company" required="1"/>
|
||||
<newline/>
|
||||
@@ -162,15 +179,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
|
||||
id="act_project_project_2_project_task_all"
|
||||
name="Tasks"
|
||||
res_model="project.task"
|
||||
src_model="project.project"
|
||||
view_mode="kanban,tree,form,calendar,graph"
|
||||
view_type="form"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_project_kanban">
|
||||
<field name="name">project.project.kanban</field>
|
||||
<field name="model">project.project</field>
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
.oe_btn_width {
|
||||
width: 100px;
|
||||
}
|
||||
.oe_kanban_project {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
@@ -533,7 +533,7 @@ class account_analytic_account(osv.osv):
|
||||
_description = 'Analytic Account'
|
||||
|
||||
_columns = {
|
||||
'use_issues' : fields.boolean('Issue Tracking:', help="Check this field if this project manages issues"),
|
||||
'use_issues' : fields.boolean('Issues Tracking', help="Check this field if this project manages issues"),
|
||||
}
|
||||
# _defaults = {
|
||||
# 'use_issues': True,
|
||||
|
||||
@@ -360,9 +360,13 @@
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="use_tasks" position="after">
|
||||
<field name="use_issues"/>
|
||||
</field>
|
||||
<xpath expr='//tr[@name="use_tasks_row"]' position='after'>
|
||||
<tr name="use_issues_row">
|
||||
<th style="border-right:1px solid #DDD;" width="140px">Issues Tracking</th>
|
||||
<td><field name="use_issues" nolabel="1"/></td>
|
||||
<td style="text-align:right;" width="110px"><button class="oe_btn_width" name="%(act_project_project_2_project_issue_all)d" string="Issues" type="action" attrs="{'invisible':[('use_issues','=', 0)]}"/></td>
|
||||
</tr>
|
||||
</xpath>
|
||||
<field name="priority" position="before">
|
||||
<field name="project_escalation_id"/>
|
||||
<field name="reply_to"/>
|
||||
|
||||
@@ -97,27 +97,29 @@
|
||||
# ------------------------------------------------------
|
||||
# Project Phase
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record id="project_phase_form" model="ir.ui.view">
|
||||
<field name="name">Inherit project form : Phase</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="use_tasks" position="after">
|
||||
<field name="use_phases"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window id="act_project_phases"
|
||||
name="Phases"
|
||||
src_model="project.project"
|
||||
res_model="project.phase"
|
||||
view_type="form"
|
||||
view_mode="tree,form"
|
||||
context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
|
||||
/>
|
||||
context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"/>
|
||||
|
||||
<record id="project_phase_form" model="ir.ui.view">
|
||||
<field name="name">Inherit project form : Phase</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//tr[@name="use_tasks_row"]' position='after'>
|
||||
<tr name="use_phases_row">
|
||||
<th style="border-right:1px solid #DDD;" width="140px">Phases Planing</th>
|
||||
<td><field name="use_phases" nolabel="1"/></td>
|
||||
<td style="text-align:right;"><button class="oe_btn_width" name="%(act_project_phases)d" string="Phases" type="action" attrs="{'invisible':[('use_phases','=', 0)]}"/></td>
|
||||
</tr>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_project_kanban_phase" model="ir.ui.view">
|
||||
<field name="name">project.project.kanban.inherited</field>
|
||||
@@ -330,7 +332,7 @@
|
||||
<field name="type">search</field>
|
||||
<field name="inherit_id" ref="project.view_task_search_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="project_id" position="after">
|
||||
<field name="name" position="after">
|
||||
<field name="phase_id" select="1"/>
|
||||
</field>
|
||||
</field>
|
||||
|
||||
@@ -7,11 +7,13 @@
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="use_tasks" position='after'>
|
||||
<field name="use_timesheets"/>
|
||||
<field name="amount_to_invoice" invisible="True"/>
|
||||
<field name="time_to_invoice" invisible="True"/>
|
||||
</field>
|
||||
<xpath expr='//tr[@name="use_tasks_row"]' position='after'>
|
||||
<tr name="use_timesheets_row">
|
||||
<th style="border-right:1px solid #DDD;" width="140px">Timesheets</th>
|
||||
<td><field name="use_timesheets" nolabel="1"/></td>
|
||||
<td style="text-align:right;"><button class="oe_btn_width" name="open_timesheets" string="Timesheets" type="object" attrs="{'invisible':[('use_timesheets','=', 0)]}"/></td>
|
||||
</tr>
|
||||
</xpath>
|
||||
<field name="warn_customer" position="after">
|
||||
<group colspan="4" col="4">
|
||||
<separator colspan="4" string="Invoicing Data"/>
|
||||
@@ -19,6 +21,8 @@
|
||||
<field name="to_invoice" widget="selection" string="Invoice Task Work"/>
|
||||
<field name="amount_max"/>
|
||||
<field name="amount_invoiced"/>
|
||||
<field name="amount_to_invoice" invisible="True"/>
|
||||
<field name="time_to_invoice" invisible="True"/>
|
||||
</group>
|
||||
</field>
|
||||
</field>
|
||||
@@ -58,7 +62,7 @@
|
||||
<field name="inherit_id" ref="project_invoice_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="replace">
|
||||
<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer" attrs="{'required':[('to_invoice','!=',False)]}"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer" attrs="{'required':[('to_invoice','!=',False)]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user