[MERGE] merge from trunk addons
bzr revid: mra@mra-laptop-20101013044334-jk5zyjfbdfid17ai
This commit is contained in:
commit
b64d58a93b
|
@ -45,7 +45,7 @@
|
|||
<field name="account_type"/>
|
||||
<field name="currency_id" widget="selection" groups="base.group_extended"/>
|
||||
</form>
|
||||
<tree editable="bottom" string="">
|
||||
<tree editable="bottom" string="Your bank and cash accounts">
|
||||
<field name="acc_name"/>
|
||||
<field name="account_type"/>
|
||||
<field name="currency_id" widget="selection" groups="base.group_extended"/>
|
||||
|
|
|
@ -209,8 +209,8 @@
|
|||
<field name="state"/>
|
||||
<field name="residual"/>
|
||||
<group col="6" colspan="4">
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid' icon="gtk-execute"/>
|
||||
<button name="%(action_account_state_open)d" type='action' string='Re-Open' states='paid' icon="gtk-convert" groups="base.group_no_one"/>
|
||||
<button name="invoice_open" states="draft,proforma2" string="Approve" icon="terp-camera_test"/>
|
||||
|
|
|
@ -482,8 +482,8 @@
|
|||
<field name="balance_end_real"/>
|
||||
<field name="balance_end" invisible="1"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Confirm" name="button_confirm_bank" states="draft" icon="terp-camera_test"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="gtk-cancel"/>
|
||||
<button type="object" string="Confirm" name="button_confirm_bank" states="draft" icon="terp-camera_test"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -564,9 +564,9 @@
|
|||
<group col="8" colspan="4">
|
||||
<field name="state"/>
|
||||
<field name="balance_end"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" type="object" icon="terp-stock_format-scientific"/>
|
||||
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -596,9 +596,9 @@
|
|||
<group col="8" colspan="4">
|
||||
<field name="state"/>
|
||||
<field name="balance_end"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" type="object" icon="terp-stock_format-scientific"/>
|
||||
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -1334,8 +1334,8 @@
|
|||
<field name="narration" colspan="4" nolabel="1" height="50"/>
|
||||
<group col="4" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_validate" states="draft" string="Approve" type="object" icon="terp-camera_test"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
|
@ -1481,9 +1481,9 @@
|
|||
<group col="7" colspan="4">
|
||||
<field name="state"/>
|
||||
<field name="balance_end"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" icon="terp-stock_format-scientific"/>
|
||||
<button name="button_confirm" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -2466,9 +2466,9 @@
|
|||
<field name="balance_end_real"/>
|
||||
<field name="balance_end"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="gtk-cancel"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
|
||||
<button type="object" string="Confirm" name="button_confirm_bank" states="open" icon="terp-gtk-go-back-rtl"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="gtk-cancel"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -2570,9 +2570,9 @@
|
|||
</group>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" colspan="4"/>
|
||||
<button name="button_cancel" states="confirm,open" string="Cancel" icon="terp-gtk-stop" type="object" groups="base.group_extended"/>
|
||||
<button name="button_confirm_cash" states="open" string="Close CashBox" icon="terp-dialog-close" type="object"/>
|
||||
<button name="button_open" states="draft" string="Open CashBox" icon="terp-document-new" type="object"/>
|
||||
<button name="button_cancel" states="confirm,open" string="Cancel" icon="terp-gtk-stop" type="object" groups="base.group_extended"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -58,8 +58,7 @@
|
|||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Account" name="Account" icon="terp-folder-green" context="{'group_by':'account_id'}" groups="analytic.group_analytic_accounting"/>
|
||||
<filter string="General Account" icon="terp-folder-green" context="{'group_by':'general_account_id'}"/>
|
||||
|
@ -67,6 +66,8 @@
|
|||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Product UOM" icon="terp-mrp" context="{'group_by':'product_uom_id'}"/>
|
||||
<separator orientation="vertical" groups="base.group_multi_company"/>
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" name="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
<form string="Cancel Selected Invoices">
|
||||
<separator string="Cancel Selected Invoices" colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button icon="terp-dialog-close" special="cancel" string="Close"/>
|
||||
<button icon="gtk-cancel" string="Cancel Invoices" name="invoice_cancel" type="object" default_focus="1"/>
|
||||
<button icon="terp-dialog-close" special="cancel" string="Close"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -123,10 +123,10 @@
|
|||
</field>
|
||||
<field name="state" select="1"/>
|
||||
<group col="4" colspan="2">
|
||||
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow" icon="gtk-cancel"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-apply" />
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-ok"/>
|
||||
<button string="Done" name="done" states="validate" type="workflow" icon="gtk-jump-to" />
|
||||
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow" icon="gtk-cancel"/>
|
||||
<button name="draft" states="cancel" string="Reset to Draft" type="workflow" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
|
||||
|
|
|
@ -77,9 +77,9 @@
|
|||
<group col="10" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
|
||||
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to unreconcile this record ?"/>
|
||||
<button name="proforma_voucher" string="Post" states="draft" icon="terp-camera_test"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to unreconcile this record ?"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -187,7 +187,7 @@ class account_analytic_account(osv.osv):
|
|||
'credit': fields.function(_credit_calc, method=True, type='float', string='Credit'),
|
||||
'quantity': fields.function(_quantity_calc, method=True, type='float', string='Quantity'),
|
||||
'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'),
|
||||
'partner_id': fields.many2one('res.partner', 'Associated Partner'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'contact_id': fields.many2one('res.partner.address', 'Contact'),
|
||||
'user_id': fields.many2one('res.users', 'Account Manager'),
|
||||
'date_start': fields.date('Date Start'),
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<field name="state"/>
|
||||
<button name="close" states="draft" string="Create Invoices" type="object" colspan="2" icon="gtk-yes"/>
|
||||
<button name="close" states="draft" string="Create Invoices" type="object" colspan="2" icon="terp-gtk-go-back-rtl"/>
|
||||
</page>
|
||||
<page string="Accounting" >
|
||||
<group colspan="4" col="4">
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<group colspan="4" col="6">
|
||||
<label string=" " colspan="2"/>
|
||||
<button icon="gtk-close" special="cancel" string="Close"/>
|
||||
<button icon="gtk-yes" string="Create invoices" name="makeInvoices" type="object"/>
|
||||
<button icon="terp-gtk-go-back-rtl" string="Create invoices" name="makeInvoices" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<group colspan="2" col="2"/>
|
||||
<group colspan="2" col="2">
|
||||
<button icon="gtk-close" special="cancel" string="Close"/>
|
||||
<button icon="gtk-yes" string="Create invoices" name="makeInvoices" type="object"/>
|
||||
<button icon="terp-gtk-go-back-rtl" string="Create invoices" name="makeInvoices" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -313,6 +313,11 @@
|
|||
<separator colspan="4" string="" />
|
||||
<group col="5" colspan="4">
|
||||
<field name="state" select="2" />
|
||||
<button name="do_cancel"
|
||||
string="Cancel"
|
||||
states="tentative,confirmed"
|
||||
type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="do_tentative"
|
||||
states="confirmed,cancelled"
|
||||
string="Uncertain"
|
||||
|
@ -323,11 +328,6 @@
|
|||
states="tentative,cancelled"
|
||||
type="object"
|
||||
icon="gtk-apply" />
|
||||
<button name="do_cancel"
|
||||
string="Cancel"
|
||||
states="tentative,confirmed"
|
||||
type="object"
|
||||
icon="gtk-cancel" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Invitation Detail">
|
||||
|
@ -475,7 +475,7 @@
|
|||
<separator orientation="vertical" />
|
||||
<filter string="Date" icon="terp-go-month"
|
||||
domain="[]" context="{'group_by':'date'}" />
|
||||
|
||||
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<field name="date" string="Start Date" required="1"
|
||||
on_change="onchange_dates(date,duration,False,allday)" />
|
||||
<field name="duration" widget="float_time"
|
||||
on_change="onchange_dates(date,duration,False,allday)" />
|
||||
on_change="onchange_dates(date,duration,False,allday)" readonly="1" />
|
||||
<field name="date_deadline" string="End Date" required="1"
|
||||
on_change="onchange_dates(date,False,date_deadline)" />
|
||||
<field name="location" />
|
||||
|
@ -244,6 +244,9 @@
|
|||
<field name="state" groups="base.group_extended"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="show_as" invisible="1" string="Show time as"/>
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_reset" string="Reset to Unconfirmed"
|
||||
states="open,done,cancel" type="object"
|
||||
icon="gtk-convert" />
|
||||
|
@ -253,9 +256,6 @@
|
|||
<button name="case_close" string="Done"
|
||||
states="open" type="object"
|
||||
icon="gtk-jump-to" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -40,10 +40,10 @@
|
|||
states="draft,open,pending" icon="gtk-redo"
|
||||
name="action_make_meeting" type="object" />
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_close" string="Held" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_pending" string="Not Held" states="open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -105,6 +105,9 @@
|
|||
<separator colspan="4" />
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="1" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -116,9 +119,6 @@
|
|||
<button name="case_reset" string="Reset to Draft"
|
||||
states="done,cancel" type="object"
|
||||
icon="gtk-convert" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -26,6 +26,9 @@
|
|||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -39,9 +42,6 @@
|
|||
<button name="case_escalate" string="Escalate"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-go-up" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</tree>
|
||||
</field>
|
||||
<field name="meeting_ids" colspan="4" nolabel="1" >
|
||||
|
@ -59,10 +59,10 @@
|
|||
<field name="categ_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_close" string="Held" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_pending" string="Not Held" states="open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
|
|
@ -53,6 +53,9 @@
|
|||
<field name="categ_id" string="Type" select="1"/>
|
||||
<field name="stage_id" invisible="1"/>
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -62,9 +65,6 @@
|
|||
<button name="case_close" string="Close"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_reset" string="Reset to Draft"
|
||||
states="done,cancel" type="object" icon="gtk-convert" />
|
||||
</tree>
|
||||
|
@ -130,6 +130,9 @@
|
|||
<separator colspan="4" string=""/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -139,9 +142,6 @@
|
|||
<button name="case_close" string="Done"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-jump-to" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_reset"
|
||||
string="Reset to Draft" states="done,cancel"
|
||||
type="object" icon="gtk-convert" />
|
||||
|
|
|
@ -54,6 +54,9 @@
|
|||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -66,9 +69,6 @@
|
|||
<button name="case_close" string="Done"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_reset" string="Reset to Draft"
|
||||
states="done,cancel" type="object" icon="gtk-convert" />
|
||||
</tree>
|
||||
|
@ -115,6 +115,9 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -128,9 +131,6 @@
|
|||
<button name="case_close" string="Done"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_reset"
|
||||
string="Reset to Draft" states="done,cancel"
|
||||
type="object" icon="gtk-convert" />
|
||||
|
|
|
@ -69,6 +69,9 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button name="case_cancel"
|
||||
states="draft,open,pending" string="Cancel"
|
||||
type="object" icon="gtk-cancel" />
|
||||
<button name="case_open"
|
||||
states="draft,pending" string="Open"
|
||||
type="object" icon="gtk-go-forward" />
|
||||
|
@ -82,9 +85,6 @@
|
|||
<button name="case_close"
|
||||
states="open,draft,pending" string="Close"
|
||||
type="object" icon="gtk-jump-to" />
|
||||
<button name="case_cancel"
|
||||
states="draft,open,pending" string="Cancel"
|
||||
type="object" icon="gtk-cancel" />
|
||||
<button name="case_reset"
|
||||
states="done,cancel"
|
||||
string="Reset to Draft" type="object"
|
||||
|
@ -187,6 +187,9 @@
|
|||
<field name="section_id"/>
|
||||
<field name="priority"/>
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -200,9 +203,6 @@
|
|||
<button name="case_close" string="Done"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-close" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_reset" string="Reset to Draft"
|
||||
states="done,cancel" type="object" icon="gtk-convert" />
|
||||
</tree>
|
||||
|
|
|
@ -100,6 +100,9 @@
|
|||
invisible="context.get('invisible_section', True)" />
|
||||
<field name="user_id" />
|
||||
<field name="state" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
<button name="case_open" string="Open"
|
||||
states="draft,pending" type="object"
|
||||
icon="gtk-go-forward" />
|
||||
|
@ -113,9 +116,6 @@
|
|||
<button name="case_escalate" string="Escalate"
|
||||
states="open,draft,pending" type="object"
|
||||
icon="gtk-go-up" />
|
||||
<button name="case_cancel" string="Cancel"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-cancel" />
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
name="Human Resources"
|
||||
parent="base.dashboard"/>
|
||||
|
||||
<!-- This board view will be complete by other hr_* modules-->
|
||||
<!-- This board view will be complete by other hr_* modules-->
|
||||
<record id="board_hr_form" model="ir.ui.view">
|
||||
<field name="name">board.hr.form</field>
|
||||
<field name="model">board.board</field>
|
||||
|
|
|
@ -97,7 +97,7 @@ class hr_job(osv.osv):
|
|||
'requirements': fields.text('Requirements'),
|
||||
'department_id': fields.many2one('hr.department', 'Department'),
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
'state': fields.selection([('open', 'Open'),('old', 'Old'),('recruit', 'In Recruitement')], 'State', readonly=True, required=True),
|
||||
'state': fields.selection([('open', 'In Position'),('old', 'Old'),('recruit', 'In Recruitement')], 'State', readonly=True, required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'expected_employees': 1,
|
||||
|
|
|
@ -16,5 +16,10 @@
|
|||
<field name="name">Widower</field>
|
||||
</record>
|
||||
|
||||
<record id="employee" model="hr.employee">
|
||||
<field name="name">Administrator</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -340,10 +340,10 @@
|
|||
</page>
|
||||
</notebook>
|
||||
<group col="6" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="job_recruitement" string="In Recruitement" states="open" type="object" icon="gtk-go-forward"/>
|
||||
<button name="job_open" string="Open" states="old,recruit" type="object" icon="terp-camera_test"/>
|
||||
<button name="job_old" string="Old" states="open,recruit" type="object" icon="gtk-cancel"/>
|
||||
<field name="state"/>
|
||||
<button name="job_recruitement" string="In Recruitement" states="open" type="object" icon="gtk-go-forward"/>
|
||||
<button name="job_open" string="In Position" states="old,recruit" type="object" icon="terp-camera_test"/>
|
||||
<button name="job_old" string="Mark as Old" states="open,recruit" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -48,10 +48,6 @@ class hr_installer(osv.osv_memory):
|
|||
'hr_payroll_account': fields.boolean('Payroll Accounting',
|
||||
help="Generic Payroll system Integrated with Accountings."),
|
||||
}
|
||||
_defaults = {
|
||||
'hr_holidays': True,
|
||||
'hr_expense': True,
|
||||
}
|
||||
hr_installer()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -52,11 +52,11 @@
|
|||
<search string="Hr Attendance Search">
|
||||
<filter icon="terp-stock_align_left_24" string="My Attendances" domain="[('employee_id.user_id.id', '=', uid)]" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-go-today" string="Today" domain="[('name::date','=',current_date)]" />
|
||||
<filter icon="terp-go-today" string="Today" name="today" domain="[('name::date','=',current_date)]" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="employee_id" />
|
||||
<field name="name" />
|
||||
<field name="action" />
|
||||
<field name="employee_id"/>
|
||||
<field name="name"/>
|
||||
<field name="action"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter name="employee" string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_employee":1}</field>
|
||||
<field name="context">{"search_default_today":1}</field>
|
||||
<field name="search_view_id" ref="view_hr_attendance_filter" />
|
||||
<field name="help">Time Tracking functionality aims to manage employee's attendances on the basis of the actions (Sign in/Sign out) performed by them. You can also link this to an attendance machine using OpenERP's webservices features.</field>
|
||||
</record>
|
||||
|
@ -81,7 +81,7 @@
|
|||
|
||||
<menuitem id="menu_hr_attendance" name="Attendances" parent="hr.menu_hr_root" sequence="4"/>
|
||||
|
||||
<menuitem action="open_view_attendance" id="menu_open_view_attendance" parent="menu_hr_attendance" sequence="3"/>
|
||||
<menuitem action="open_view_attendance" id="menu_open_view_attendance" parent="menu_hr_attendance" sequence="20"/>
|
||||
|
||||
<record id="edit_attendance_reason" model="ir.ui.view">
|
||||
<field name="name">hr.action.reason.form</field>
|
||||
|
@ -116,7 +116,9 @@
|
|||
<field name="view_id" ref="view_attendance_reason"/>
|
||||
</record>
|
||||
|
||||
<menuitem sequence="2" id="hr.menu_open_view_attendance_reason_new_config" parent="hr.menu_hr_configuration" name="Attendances" />
|
||||
<menuitem
|
||||
sequence="2" id="hr.menu_open_view_attendance_reason_new_config" parent="hr.menu_hr_configuration" name="Attendances"
|
||||
groups="base.group_extended"/>
|
||||
<menuitem action="open_view_attendance_reason" id="menu_open_view_attendance_reason" parent="hr.menu_open_view_attendance_reason_new_config"/>
|
||||
|
||||
<record id="hr_attendance_employee" model="ir.ui.view">
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
<page string="Miscellaneous">
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Personal Info" colspan="2"/>
|
||||
<field name="bank_account"/>
|
||||
<field name="bank_account_id"/>
|
||||
<field name="place_of_birth"/>
|
||||
<field name="children"/>
|
||||
</group>
|
||||
|
|
|
@ -14,19 +14,14 @@
|
|||
<record id="board_hr_evaluation_form" model="ir.ui.view">
|
||||
<field name="name">board.hr.evaluation.form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/hpaned/child1" position="inside">
|
||||
<action colspan="4" height="220" name="%(act_hr_evaluation_tree)d" string="My Evaluation Remaining" width="510"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/hpaned/child1" position="inside">
|
||||
<action colspan="4" height="220" name="%(act_hr_evaluation_tree)d" string="My Evaluation Remaining" width="510"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
action="hr.open_board_hr"
|
||||
icon="terp-graph"
|
||||
id="base.menu_hr_project"
|
||||
parent="base.menu_hr_dasboard"
|
||||
sequence="4"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
<record id="board_hr_expense_form" model="ir.ui.view">
|
||||
<field name="name">board.hr.expense.form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/hpaned/child1" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_my_expense)d" string="My Expenses" />
|
||||
</xpath>
|
||||
<xpath expr="/form/hpaned/child1" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_my_expense)d" string="My Expenses" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -145,12 +145,12 @@
|
|||
<field name="date" select='1'/>
|
||||
<field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
|
||||
<filter icon="terp-personal+" context="{'invisible_department': False}" domain="[('department_id','=',context.get('department_id',False))]" help="My Department"/>
|
||||
</field>
|
||||
<field name="name" select='1'/>
|
||||
<field name="user_id" string="User" invisible="True">
|
||||
<filter icon="terp-personal+" domain="[('department_id','=',context.get('department_id',False))]"
|
||||
string="Expenses of My Department"/>
|
||||
</field>
|
||||
</field>
|
||||
</group>
|
||||
<newline />
|
||||
<group expand="0" string="Group By...">
|
||||
|
@ -168,7 +168,7 @@
|
|||
<field name="name">Expenses</field>
|
||||
<field name="res_model">hr.expense.expense</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{"search_default_user_id":uid,"search_default_department_id": department_id,"search_default_this":1}</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_hr_expense_filter"/>
|
||||
<field name="help">The OpenERP expenses management module allows you to track the full flow. Every month, the employees record their expenses. At the end of the month, their managers validates the expenses sheets which creates costs on projects/analytic accounts. The accountant validates the proposed entries and the employee can be reimbursed. You can also reinvoice the customer at the end of the flow.</field>
|
||||
</record>
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
'security/ir.model.access.csv',
|
||||
'hr_holidays_workflow.xml',
|
||||
'hr_holidays_view.xml',
|
||||
'hr_holidays_data.xml',
|
||||
'hr_holidays_wizard.xml',
|
||||
'hr_holidays_report.xml',
|
||||
'report/hr_holidays_report_view.xml',
|
||||
|
|
|
@ -22,36 +22,36 @@
|
|||
<record id="board_hr_holidays_form" model="ir.ui.view">
|
||||
<field name="name">board.hr.holidays.form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/hpaned/child1" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_view_holiday_status_board)d" string="My Leaves"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/hpaned/child1" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_view_holiday_status_board)d" string="My Leaves"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Need to merge in above view -->
|
||||
<!-- Need to merge in above view -->
|
||||
|
||||
<record id="action_hr_holidays_leaves_by_month" model="ir.actions.act_window">
|
||||
<field name="name">Leaves by Month</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">available.holidays.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
<record id="action_hr_holidays_leaves_by_month" model="ir.actions.act_window">
|
||||
<field name="name">Leaves by Month</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">available.holidays.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('user_id','=',uid)]</field>
|
||||
<field name="context">{'group_by_no_leaf':1,'group_by':['month']}</field>
|
||||
<field name="view_id" ref="hr_holidays.view_hr_available_holidays_report_graph"/>
|
||||
</record>
|
||||
<record id="board_hr_holidays_leave_by_month_form" model="ir.ui.view">
|
||||
<field name="view_id" ref="hr_holidays.view_hr_available_holidays_report_graph"/>
|
||||
</record>
|
||||
<record id="board_hr_holidays_leave_by_month_form" model="ir.ui.view">
|
||||
<field name="name">board.hr.holidays.leave.month.form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr.board_hr_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/hpaned/child2" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_hr_holidays_leaves_by_month)d" string="Leaves by Month" />
|
||||
</xpath>
|
||||
<xpath expr="/form/hpaned/child2" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_hr_holidays_leaves_by_month)d" string="Leaves by Month" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
|
|
|
@ -110,9 +110,9 @@ class hr_holidays_status(osv.osv):
|
|||
|
||||
# To do: we can add remaining_leaves_category field to display remaining leaves for particular type
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, translate=True),
|
||||
'name': fields.char('Leave Type', size=64, required=True, translate=True),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Meeting Category', domain="[('object_id.model', '=', 'crm.meeting')]", help='If you link this type of leave with a category in the CRM, it will synchronize each leave asked with a case in this category, to display it in the company shared calendar for example.'),
|
||||
'color_name': fields.selection([('red', 'Red'), ('lightgreen', 'Light Green'), ('lightblue','Light Blue'), ('lightyellow', 'Light Yellow'), ('magenta', 'Magenta'),('lightcyan', 'Light Cyan'),('black', 'Black'),('lightpink', 'Light Pink'),('brown', 'Brown'),('violet', 'Violet'),('lightcoral', 'Light Coral'),('lightsalmon', 'Light Salmon'),('lavender', 'Lavender'),('wheat', 'Wheat'),('ivory', 'Ivory')],'Color in Report', required=True, help='This color will be used in the leaves summary located in Reporting\Leaves by Departement'),
|
||||
'color_name': fields.selection([('red', 'Red'),('blue','Blue'), ('lightgreen', 'Light Green'), ('lightblue','Light Blue'), ('lightyellow', 'Light Yellow'), ('magenta', 'Magenta'),('lightcyan', 'Light Cyan'),('black', 'Black'),('lightpink', 'Light Pink'),('brown', 'Brown'),('violet', 'Violet'),('lightcoral', 'Light Coral'),('lightsalmon', 'Light Salmon'),('lavender', 'Lavender'),('wheat', 'Wheat'),('ivory', 'Ivory')],'Color in Report', required=True, help='This color will be used in the leaves summary located in Reporting\Leaves by Departement'),
|
||||
'limit': fields.boolean('Allow to Override Limit', help='If you tick this checkbox, the system will allow, for this section, the employees to take more leaves than the available ones.'),
|
||||
'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the leave type without removing it."),
|
||||
'max_leaves': fields.function(_user_left_days, method=True, string='Maximum Leaves Allowed', help='This value is given by the sum of all holidays requests with a positive value.', multi='user_left_days'),
|
||||
|
@ -162,7 +162,7 @@ class hr_holidays(osv.osv):
|
|||
'linked_request_ids': fields.one2many('hr.holidays', 'parent_id', 'Linked Requests',),
|
||||
'department_id':fields.related('employee_id', 'department_id', string='Department', type='many2one', relation='hr.department', readonly=True, store=True),
|
||||
'category_id': fields.many2one('hr.employee.category', "Category", help='Category Of employee'),
|
||||
'holiday_type': fields.selection([('employee','By Employee'),('category','By Employee Category')], 'Allocation Type', help='By Employee: Allocation/Request for individual Employee, By Employee Category: Allocation/Request for group of employees in category'),
|
||||
'holiday_type': fields.selection([('employee','By Employee'),('category','By Employee Category')], 'Allocation Type', help='By Employee: Allocation/Request for individual Employee, By Employee Category: Allocation/Request for group of employees in category', required=True),
|
||||
'manager_id2': fields.many2one('hr.employee', 'Second Approval', readonly=True, help='This area is automaticly filled by the user who validate the leave with second level (If Leave type need second validation)')
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Casual leave -->
|
||||
<record model="hr.holidays.status" id="holiday_status_cl">
|
||||
<field name="name">Casual Leave</field>
|
||||
<field name="double_validation">True</field>
|
||||
<field name="color_name">black</field>
|
||||
</record>
|
||||
|
||||
<!-- Legal Holidays -->
|
||||
<record model="hr.holidays.status" id="holiday_status_sl">
|
||||
<field name="name">Legal Holidays</field>
|
||||
<field name="color_name">blue</field>
|
||||
</record>
|
||||
|
||||
<!-- Sick leave -->
|
||||
<record model="hr.holidays.status" id="holiday_status_sl">
|
||||
<field name="name">Sick Leave</field>
|
||||
<field name="limit">True</field>
|
||||
<field name="color_name">red</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -2,13 +2,6 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Casual leave -->
|
||||
<record model="hr.holidays.status" id="holiday_status_cl">
|
||||
<field name="name">Casual Leave</field>
|
||||
<field name="double_validation">True</field>
|
||||
<field name="color_name">black</field>
|
||||
</record>
|
||||
|
||||
<record model="hr.holidays" id="hr_holidays_employee1_allocation_cl">
|
||||
<field name="name">Casual Leave for Fabien Pinckaers</field>
|
||||
<field name="holiday_status_id" ref="holiday_status_cl"/>
|
||||
|
@ -27,13 +20,6 @@
|
|||
<field name="employee_id" ref="hr.employee1"/>
|
||||
</record>
|
||||
|
||||
<!-- Sick leave -->
|
||||
<record model="hr.holidays.status" id="holiday_status_sl">
|
||||
<field name="name">Sick Leave</field>
|
||||
<field name="limit">True</field>
|
||||
<field name="color_name">red</field>
|
||||
</record>
|
||||
|
||||
<record model="hr.holidays" id="hr_holidays_employee1_sl">
|
||||
<field name="name">Doctor Appointment</field>
|
||||
<field name="holiday_status_id" ref="holiday_status_sl"/>
|
||||
|
|
|
@ -15,10 +15,15 @@
|
|||
<filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/>
|
||||
<filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="This Month" icon="terp-go-month" name="This Month"
|
||||
<filter string="This Month" icon="terp-go-month" name="This Month"
|
||||
domain="[('date_from','<=', time.strftime('%%Y-%%m-%%d')), ('date_from','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="employee_id">
|
||||
<filter icon="terp-personal"
|
||||
name="my_leaves"
|
||||
domain="[('employee_id.user_id','=', uid)]"
|
||||
help="My Leaves" />
|
||||
</field>
|
||||
<field name="department_id" widget="selection">
|
||||
<filter icon="terp-personal+" help="My Department Holidays"
|
||||
domain="[('department_id.manager_id','=',uid)]" />
|
||||
|
@ -32,14 +37,14 @@
|
|||
</group>
|
||||
<newline />
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
|
||||
<filter name="group_employee" string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'manager_id'}"/>
|
||||
<filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id','set_visible':True}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'holiday_status_id'}"
|
||||
<separator orientation="vertical"/>
|
||||
<filter name="group_type" string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'holiday_status_id'}"
|
||||
default="context.get('report', False)"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
@ -89,9 +94,9 @@
|
|||
<field name="notes" nolabel="1" colspan="4"/>
|
||||
<newline/>
|
||||
<field name="state" colspan="2"/>
|
||||
<group colspan="2">
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/>
|
||||
<group colspan="2" col="6">
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
|
@ -112,7 +117,7 @@
|
|||
<form string="Allocation Request">
|
||||
<group col="8" colspan="4">
|
||||
<field name="name" />
|
||||
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" string="Allocation Type"/>
|
||||
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" string="Allocation Type" groups="base.group_extended"/>
|
||||
<group attrs="{'invisible':[('holiday_type','=','category')]}">
|
||||
<field name="employee_id" attrs="{'required':[('holiday_type','=','employee')]}"/>
|
||||
</group>
|
||||
|
@ -133,11 +138,11 @@
|
|||
<newline/>
|
||||
<field name="state" colspan="2"/>
|
||||
<group colspan="2">
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" groups="base.group_hr_manager"/>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -161,11 +166,11 @@
|
|||
<field name="user_id" invisible="1"/>
|
||||
<!--field name="type"/-->
|
||||
<field name="state"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" groups="base.group_hr_manager"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -191,10 +196,10 @@
|
|||
<newline/>
|
||||
<field name="state" colspan="2"/>
|
||||
<group colspan="2">
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
|
||||
<button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -221,10 +226,10 @@
|
|||
<field name="manager_id" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="state"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" groups="base.group_hr_manager"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -248,10 +253,10 @@
|
|||
<field name="user_id" invisible="1"/>
|
||||
<!--field name="type"/-->
|
||||
<field name="state"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/>
|
||||
<button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/>
|
||||
<button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" groups="base.group_hr_manager"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -269,7 +274,7 @@
|
|||
<field name="res_model">hr.holidays</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="edit_holiday_new"/>
|
||||
<field name="context">{"search_default_department_id": department_id}</field>
|
||||
<field name="context">{"search_default_department_id": department_id, "search_default_my_leaves": 1}</field>
|
||||
<field name="domain">[('type','=','remove')]</field>
|
||||
<field name="search_view_id" ref="view_hr_holidays_filter"/>
|
||||
<field name="help">Leaves requests can be recorded by employees and validated by their managers. Once a leave request is validated it appears automatically in the agenda of the employee. You can define several allowance types (paid holidays, sickness, etc) and manage allowances per type.</field>
|
||||
|
@ -303,7 +308,7 @@
|
|||
<field name="name">Allocation Requests</field>
|
||||
<field name="res_model">hr.holidays</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'search_default_user_id':uid,'type':'add',"search_default_department_id": department_id}</field>
|
||||
<field name="context">{"search_default_my_leaves": 1,'type':'add',"search_default_department_id": department_id}</field>
|
||||
<field name="domain">[('type','=','add')]</field>
|
||||
<field name="view_id" ref="allocation_leave_new"/>
|
||||
<field name="search_view_id" ref="view_hr_holidays_filter"/>
|
||||
|
@ -331,7 +336,7 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" eval="view_holiday_simple"/>
|
||||
<field name="context">{'allocation_type':'company', 'report':True,"search_default_department_id": department_id}</field>
|
||||
<field name="context">{'search_default_my_leaves': 1, 'search_default_group_type': 1}</field>
|
||||
<field name="search_view_id" ref="view_hr_holidays_filter"/>
|
||||
</record>
|
||||
|
||||
|
@ -349,12 +354,15 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Leave Type">
|
||||
<field colspan="4" name="name" />
|
||||
<field name="limit"/>
|
||||
<field name="active"/>
|
||||
<field name="categ_id" widget="selection"/>
|
||||
<field name="color_name"/>
|
||||
<field name="double_validation" />
|
||||
<group colspan="4" col="6">
|
||||
<field name="name" />
|
||||
<field name="color_name"/>
|
||||
<field name="categ_id" widget="selection" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<field name="limit"/>
|
||||
<field name="double_validation"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
<field name="res_model">hr.holidays.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="context">{"search_default_user_id": uid, 'search_default_month':1, 'search_default_Employee':1,'search_default_department':1,"search_default_Validated":1, 'group_by':[], 'group_by_no_leaf':1} </field>
|
||||
<field name="context">{'search_default_Employee':1,'search_default_department':1,"search_default_Validated":1, 'group_by':[], 'group_by_no_leaf':1} </field>
|
||||
<field name="search_view_id" ref="view_hr_holidays_report_search"/>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -985,11 +985,11 @@
|
|||
</notebook>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state"/>
|
||||
<button string="Cancel" name="cancel_sheet" icon="gtk-cancel" states="draft,hr_check,accont_check,confirm" type="object"/>
|
||||
<button string="Compute" name="compute_sheet" states="new" icon="terp-document-new" type="object"/>
|
||||
<button string="Verify Sheet" icon="gtk-ok" name="verify_sheet" states="draft" type="object"/>
|
||||
<button string="Complete HR Checking" icon="gtk-apply" name="final_verify_sheet" type="object" states="hr_check"/>
|
||||
<button string="Pay Salary" icon="gtk-apply" name="process_sheet" states="confirm" type="object" />
|
||||
<button string="Cancel" name="cancel_sheet" icon="gtk-cancel" states="draft,hr_check,accont_check,confirm" type="object"/>
|
||||
<button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" />
|
||||
</group>
|
||||
</form>
|
||||
|
|
|
@ -33,6 +33,29 @@ class hr_employee(osv.osv):
|
|||
'product_id': fields.many2one('product.product', 'Product', help="Specifies employee's designation as a product with type 'service'."),
|
||||
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal')
|
||||
}
|
||||
|
||||
def _getAnalyticJournal(self, cr, uid, context=None):
|
||||
md = self.pool.get('ir.model.data')
|
||||
try:
|
||||
result = md.get_object_reference(cr, uid, 'hr_timesheet', 'analytic_journal')
|
||||
return result[1]
|
||||
except ValueError, e:
|
||||
pass
|
||||
return False
|
||||
|
||||
def _getEmployeeProduct(self, cr, uid, context=None):
|
||||
md = self.pool.get('ir.model.data')
|
||||
try:
|
||||
result = md.get_object_reference(cr, uid, 'hr_timesheet', 'product_consultant')
|
||||
return result[1]
|
||||
except ValueError, e:
|
||||
pass
|
||||
return False
|
||||
|
||||
_defaults = {
|
||||
'journal_id' : _getAnalyticJournal,
|
||||
'product_id' : _getEmployeeProduct
|
||||
}
|
||||
hr_employee()
|
||||
|
||||
|
||||
|
|
|
@ -6,5 +6,17 @@
|
|||
<field name="name">Timesheet Journal</field>
|
||||
<field name="type">general</field>
|
||||
</record>
|
||||
|
||||
<record id="product_consultant" model="product.product">
|
||||
<field name="list_price">75.0</field>
|
||||
<field name="standard_price">30.0</field>
|
||||
<field name="uom_id" ref="product.uom_hour"/>
|
||||
<field name="uom_po_id" ref="product.uom_hour"/>
|
||||
<field name="name">Service on Timesheet</field>
|
||||
<field name="categ_id" ref="product.cat0"/>
|
||||
<field name="type">service</field>
|
||||
<field eval="False" name="purchase_ok"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -2,20 +2,6 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="product_consultant" model="product.product">
|
||||
<field name="default_code">DEV</field>
|
||||
<field name="list_price">75.0</field>
|
||||
<field name="standard_price">30.0</field>
|
||||
<field name="uom_id" ref="product.uom_hour"/>
|
||||
<field name="uom_po_id" ref="product.uom_hour"/>
|
||||
<field name="name">Consultancy - Senior Developer</field>
|
||||
<field name="categ_id" ref="product.product_category_10"/>
|
||||
<field name="type">service</field>
|
||||
<field name="supply_method">produce</field>
|
||||
<field name="procure_method">make_to_order</field>
|
||||
<field eval="False" name="purchase_ok"/>
|
||||
</record>
|
||||
|
||||
<!-- complete our example employee -->
|
||||
<record id="hr.employee1" model="hr.employee">
|
||||
<field name="product_id" ref="product_consultant"/>
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<page string="Categories" position="after">
|
||||
<page string="Timesheets">
|
||||
<field name="product_id" domain="[('type','=','service')]"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
</page>
|
||||
</page>
|
||||
</field>
|
||||
|
|
|
@ -63,7 +63,8 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
_inherit = "account.analytic.account"
|
||||
_columns = {
|
||||
'pricelist_id' : fields.many2one('product.pricelist', 'Sale Pricelist'),
|
||||
'pricelist_id' : fields.many2one('product.pricelist', 'Sale Pricelist',
|
||||
help="The product to invoice is defined on the employee form, the price will be deduced by this pricelist on the product."),
|
||||
'amount_max': fields.float('Max. Invoice Price'),
|
||||
'amount_invoiced': fields.function(_invoiced_calc, method=True, string='Invoiced Amount',
|
||||
help="Total invoiced"),
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<filter name="others" position="after">
|
||||
<separator orientation="vertical"/>
|
||||
<filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False),('to_invoice','<>',False)]" icon="terp-sale"/>
|
||||
<filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False),('to_invoice','<>',False)]" icon="terp-dolar"/>
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -112,7 +112,7 @@
|
|||
|
||||
<!-- Menus -->
|
||||
<record id="action_hr_analytic_timesheet_open_tree" model="ir.actions.act_window">
|
||||
<field name="name">Costs to Invoice</field>
|
||||
<field name="name">Bill Tasks Works</field>
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
|
|
@ -35,31 +35,14 @@ class hr_timesheet_invoice_create(osv.osv_memory):
|
|||
_name = 'hr.timesheet.invoice.create'
|
||||
_description = 'Create invoice from timesheet'
|
||||
_columns = {
|
||||
'accounts': fields.many2many('account.analytic.account', 'invoice_id', 'account_id', 'Analytic Accounts', required=True),
|
||||
'date': fields.boolean('Date', help='The real date of each work will be displayed on the invoice'),
|
||||
'time': fields.boolean('Time spent', help='The time of each work done will be displayed on the invoice'),
|
||||
'name': fields.boolean('Description', help='The detail of each work done will be displayed on the invoice'),
|
||||
'price': fields.boolean('Cost', help='The cost of each work done will be displayed on the invoice. You probably don\'t want to check this'),
|
||||
'product': fields.many2one('product.product', 'Product', help='Complete this field only if you want to force to use a specific product. Keep empty to use the real product that comes from the cost.'),
|
||||
}
|
||||
|
||||
def _get_accounts(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if not len(context['active_ids']):
|
||||
return {}
|
||||
#Checking whether the analytic line is invoiced or not
|
||||
analytic_line_obj = self.pool.get('account.analytic.line').browse(cr, uid, context['active_ids'], context=context)
|
||||
for obj_acc in analytic_line_obj:
|
||||
if obj_acc.invoice_id and obj_acc.invoice_id.state !='cancel':
|
||||
raise osv.except_osv(_('Warning'),_('The analytic entry "%s" is already invoiced!')%(obj_acc.name,))
|
||||
|
||||
cr.execute("SELECT distinct(account_id) from account_analytic_line where id IN %s",(tuple(context['active_ids']),))
|
||||
account_ids = cr.fetchall()
|
||||
return [x[0] for x in account_ids]
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'accounts': _get_accounts,
|
||||
'date': lambda *args: 1,
|
||||
'name': lambda *args: 1
|
||||
}
|
||||
|
@ -82,12 +65,17 @@ class hr_timesheet_invoice_create(osv.osv_memory):
|
|||
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'], context=context)
|
||||
data = self.read(cr, uid, ids, [], context=context)[0]
|
||||
account_ids = data['accounts']
|
||||
|
||||
account_ids = {}
|
||||
for line in self.pool.get('account.analytic.line').browse(cr, uid, context['active_ids'], context=context):
|
||||
account_ids[line.account_id.id] = True
|
||||
|
||||
account_ids = account_ids.keys() #data['accounts']
|
||||
for account in analytic_account_obj.browse(cr, uid, account_ids, context=context):
|
||||
partner = account.partner_id
|
||||
if (not partner) or not (account.pricelist_id):
|
||||
raise osv.except_osv(_('Analytic Account incomplete'),
|
||||
_('Please fill in the Associate Partner and Sale Pricelist fields in the Analytic Account:\n%s') % (account.name,))
|
||||
_('Please fill in the Partner or Customer and Sale Pricelist fields in the Analytic Account:\n%s') % (account.name,))
|
||||
|
||||
if not partner.address:
|
||||
raise osv.except_osv(_('Partner incomplete'),
|
||||
|
@ -190,7 +178,7 @@ class hr_timesheet_invoice_create(osv.osv_memory):
|
|||
invoice_line_obj.create(cr, uid, curr_line, context=context)
|
||||
cr.execute("update account_analytic_line set invoice_id=%s WHERE account_id = %s and id IN %s" ,(last_invoice, account.id, tuple(context['active_ids'])))
|
||||
|
||||
invoice_obj.button_reset_taxes(cr, uid, [last_invoice], context)
|
||||
invoice_obj.button_reset_taxes(cr, uid, [last_invoice], context)
|
||||
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
act_obj = self.pool.get('ir.actions.act_window')
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="2" colspan="4">
|
||||
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
|
||||
<button name="do_create" string="Create Invoices" colspan="1" type="object" icon="gtk-execute"/>
|
||||
<button name="do_create" string="Create Invoices" colspan="1" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -46,4 +46,4 @@
|
|||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
|
@ -10,23 +10,23 @@
|
|||
<form string="Invoice analytic lines">
|
||||
<notebook colspan="4">
|
||||
<page string="Billing Data">
|
||||
<separator string="Do you want to show details of work in invoice ?" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="time"/>
|
||||
<field name="name"/>
|
||||
<field name="price"/>
|
||||
<separator string="Force to use a specific product" colspan="4"/>
|
||||
<field name="product"/>
|
||||
</page>
|
||||
<page string="Filter on Accounts" groups="base.group_extended">
|
||||
<separator string="Choose accounts you want to invoice" colspan="4"/>
|
||||
<field name="accounts" colspan="4" nolabel="1"/>
|
||||
<group col="4" colspan="4">
|
||||
<separator string="Do you want to show details of work in invoice ?" colspan="4"/>
|
||||
<field name="date"/>
|
||||
<field name="time"/>
|
||||
<field name="name"/>
|
||||
<field name="price" groups="base.group_extended"/>
|
||||
</group>
|
||||
<group col="2" colspan="4" groups="base.group_extended">
|
||||
<separator string="Force to use a specific product" colspan="4" />
|
||||
<field name="product"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<separator colspan="4"/>
|
||||
<group col="2" colspan="4">
|
||||
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
|
||||
<button name="do_create" string="Create Invoices" colspan="1" type="object" icon="gtk-execute"/>
|
||||
<button name="do_create" string="Create Invoices" colspan="1" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -53,7 +53,6 @@ The validation can be configured in the company:
|
|||
'hr_timesheet_sheet_view.xml',
|
||||
'hr_timesheet_workflow.xml',
|
||||
'process/hr_timesheet_sheet_process.xml',
|
||||
'report/timesheet_report_view.xml',
|
||||
'board_hr_timesheet_view.xml',
|
||||
'report/hr_timesheet_report_view.xml',
|
||||
'wizard/hr_timesheet_current_view.xml',
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem id="base.menu_hr_dasboard" name="Dashboard" parent="hr.menu_hr_reporting" sequence="0" groups="base.group_system,base.group_hr_manager,base.group_hr_user"/>
|
||||
<menuitem
|
||||
id="base.menu_hr_dasboard" name="Dashboard" parent="hr.menu_hr_reporting"
|
||||
sequence="0" groups="base.group_hr_manager"/>
|
||||
<menuitem
|
||||
action="hr.open_board_hr"
|
||||
icon="terp-graph"
|
||||
|
@ -9,16 +11,6 @@
|
|||
parent="base.menu_hr_dasboard"
|
||||
sequence="4"/>
|
||||
|
||||
<record id="action_timesheet_report_all" model="ir.actions.act_window">
|
||||
<field name="name">Timesheets by Month</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">timesheet.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="domain">[('user_id','=',uid), ('month', '=' , time.strftime('%m')), ('year', '=', time.strftime('%Y'))]</field>
|
||||
<field name="view_id" ref="hr_timesheet_sheet.view_timesheet_report_graph"/>
|
||||
</record>
|
||||
|
||||
<record id="action_hr_timesheet_sheet_graph" model="ir.actions.act_window">
|
||||
<field name="name">Timesheets</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
@ -28,39 +20,6 @@
|
|||
<field name="view_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_graph"/>
|
||||
</record>
|
||||
|
||||
<record id="view_employee_attendance_graph" model="ir.ui.view">
|
||||
<field name="name">Employee Attendance Graph</field>
|
||||
<field name="model">timesheet.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Employee Attendances" type="bar">
|
||||
<field name="user_id" />
|
||||
<field name="total_attendance" operator="+"/>
|
||||
<field name="total_timesheet" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_employee_attendance_graph" model="ir.actions.act_window">
|
||||
<field name="name">Employee Attendance Graph</field>
|
||||
<field name="res_model">timesheet.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph</field>
|
||||
<field name="view_id" ref="view_employee_attendance_graph"/>
|
||||
</record>
|
||||
|
||||
<record id="board_hr_timesheet_form" model="ir.ui.view">
|
||||
<field name="name">board.hr.timesheet.form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="inherit_id" ref="hr.board_hr_manager_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/hpaned/child2" position="inside">
|
||||
<action colspan="4" height="220" name="%(action_employee_attendance_graph)d" string="Employee Attendances" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_timesheet_sheet_tree" model="ir.ui.view">
|
||||
<field name="name">hr.timesheet.sheet.tree.simplified.board</field>
|
||||
<field name="model">hr_timesheet_sheet.sheet</field>
|
||||
|
|
|
@ -19,7 +19,5 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import timesheet_report
|
||||
import hr_timesheet_report
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -1,123 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import tools
|
||||
from osv import fields,osv
|
||||
|
||||
class timesheet_report(osv.osv):
|
||||
_name = "timesheet.report"
|
||||
_description = "Timesheet"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'year': fields.char('Year',size=64,required=False, readonly=True),
|
||||
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'),
|
||||
('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'),
|
||||
('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'name': fields.char('Description', size=64,readonly=True),
|
||||
'product_id' : fields.many2one('product.product', 'Product'),
|
||||
'general_account_id' : fields.many2one('account.account', 'General Account', readonly=True),
|
||||
'employee_id': fields.many2one('hr.employee', 'Employee',readonly=True),
|
||||
'to_invoice': fields.many2one('hr_timesheet_invoice.factor', 'Type of Invoicing',readonly=True),
|
||||
'account_id': fields.many2one('account.analytic.account', 'Analytic Account',readonly=True),
|
||||
'nbr': fields.integer('#Nbr',readonly=True),
|
||||
'total_diff': fields.float('#Total Diff',readonly=True),
|
||||
'total_timesheet': fields.float('#Total Timesheet',readonly=True),
|
||||
'total_attendance': fields.float('#Total Attendance',readonly=True),
|
||||
'company_id': fields.many2one('res.company', 'Company',readonly=True),
|
||||
'department_id':fields.many2one('hr.department','Department',readonly=True),
|
||||
'date_from': fields.date('Date from',readonly=True,),
|
||||
'date_to': fields.date('Date to',readonly=True),
|
||||
'date_current': fields.date('Current date', required=True),
|
||||
'state' : fields.selection([
|
||||
('new', 'New'),
|
||||
('draft','Draft'),
|
||||
('confirm','Confirmed'),
|
||||
('done','Done')], 'State', readonly=True),
|
||||
'quantity': fields.float('#Quantity',readonly=True),
|
||||
'cost': fields.float('#Cost',readonly=True),
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'timesheet_report')
|
||||
cr.execute("""
|
||||
create or replace view timesheet_report as (
|
||||
select
|
||||
min(aal.id) as id,
|
||||
htss.date_current,
|
||||
htss.name,
|
||||
htss.date_from,
|
||||
htss.date_to,
|
||||
to_char(htss.date_current,'YYYY') as year,
|
||||
to_char(htss.date_current,'MM') as month,
|
||||
to_char(htss.date_current, 'YYYY-MM-DD') as day,
|
||||
count(*) as nbr,
|
||||
aal.unit_amount as quantity,
|
||||
aal.amount as cost,
|
||||
aal.account_id,
|
||||
aal.product_id,
|
||||
(SELECT sum(day.total_difference)
|
||||
FROM hr_timesheet_sheet_sheet AS sheet
|
||||
LEFT JOIN hr_timesheet_sheet_sheet_day AS day
|
||||
ON (sheet.id = day.sheet_id
|
||||
AND day.name = sheet.date_current) where sheet.id=htss.id) as total_diff,
|
||||
(SELECT sum(day.total_timesheet)
|
||||
FROM hr_timesheet_sheet_sheet AS sheet
|
||||
LEFT JOIN hr_timesheet_sheet_sheet_day AS day
|
||||
ON (sheet.id = day.sheet_id
|
||||
AND day.name = sheet.date_current) where sheet.id=htss.id) as total_timesheet,
|
||||
(SELECT sum(day.total_attendance)
|
||||
FROM hr_timesheet_sheet_sheet AS sheet
|
||||
LEFT JOIN hr_timesheet_sheet_sheet_day AS day
|
||||
ON (sheet.id = day.sheet_id
|
||||
AND day.name = sheet.date_current) where sheet.id=htss.id) as total_attendance,
|
||||
aal.to_invoice,
|
||||
aal.general_account_id,
|
||||
htss.employee_id as employee_id,
|
||||
htss.company_id,
|
||||
htss.department_id,
|
||||
htss.state
|
||||
from hr_timesheet_sheet_sheet as htss
|
||||
left join hr_analytic_timesheet as hat ON (hat.create_uid=htss.create_uid)
|
||||
left join account_analytic_line as aal ON (hat.line_id=aal.id)
|
||||
group by
|
||||
to_char(htss.date_current,'YYYY'),
|
||||
to_char(htss.date_current,'MM'),
|
||||
to_char(htss.date_current, 'YYYY-MM-DD'),
|
||||
aal.account_id,
|
||||
htss.date_from,
|
||||
htss.date_to,
|
||||
aal.unit_amount,
|
||||
aal.amount,
|
||||
htss.date_current,
|
||||
aal.to_invoice,
|
||||
aal.product_id,
|
||||
aal.general_account_id,
|
||||
htss.name,
|
||||
htss.company_id,
|
||||
htss.state,
|
||||
htss.id,
|
||||
htss.department_id,
|
||||
htss.employee_id
|
||||
|
||||
)
|
||||
""")
|
||||
timesheet_report()
|
|
@ -1,126 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_timesheet_report_graph" model="ir.ui.view">
|
||||
<field name="name">timesheet.report.graph</field>
|
||||
<field name="model">timesheet.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Timesheet" type="bar">
|
||||
<field name="employee_id" />
|
||||
<field name="quantity" operator = "+"/>
|
||||
<field name="state" group = "True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_timesheet_report_tree" model="ir.ui.view">
|
||||
<field name="name">timesheet.report.tree</field>
|
||||
<field name="model">timesheet.report</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state in ('draft');black:state in ('confirm','new');gray:state in('cancel')" string="Timesheet">
|
||||
<field name="date_current" invisible="1"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="employee_id" invisible="1"/>
|
||||
<field name="date_from" invisible="1"/>
|
||||
<field name="date_to" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="to_invoice" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="account_id" invisible="1" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="general_account_id" invisible="1"/>
|
||||
<field name="year" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="total_attendance" sum="#Total Attendance"/>
|
||||
<field name="total_timesheet" sum="#Total Timesheet"/>
|
||||
<field name="total_diff" sum="#Total Diff"/>
|
||||
<field name="quantity" sum="#Quantity"/>
|
||||
<field name="cost" sum="#Cost"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_timesheet_report_search" model="ir.ui.view">
|
||||
<field name="name">timesheet.report.search</field>
|
||||
<field name="model">timesheet.report</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Timesheet">
|
||||
<group col="10" colspan="12">
|
||||
<filter icon="terp-go-year" string=" Year "
|
||||
domain="[('date_current','<=', time.strftime('%%Y-%%m-%%d')),('date_current','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Timesheet in current year"/>
|
||||
<filter icon="terp-go-month" string=" Month "
|
||||
name="month"
|
||||
domain="[('date_current','<=', time.strftime('%%Y-%%m-%%d')), ('date_current','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Timesheet in current month"/>
|
||||
<filter icon="terp-go-month"
|
||||
string=" Month-1 "
|
||||
domain="[('date_current','<=', (datetime.date (int(time.strftime('%%Y')), datetime.date.today().month, 1) - datetime.timedelta (days = 1)).strftime('%%Y-%%m-%%d')),('date_current','>',(datetime.date (int(time.strftime('%%Y')), datetime.date.today().month-1, 1)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Timesheet of last month"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-document-new"
|
||||
string="Draft"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-camera_test"
|
||||
string="Confirmed"
|
||||
domain="[('state','=','confirm')]"/>
|
||||
<filter icon="terp-dialog-close"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="user_id" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended Filters..." groups="base.group_extended">
|
||||
<field name="general_account_id"/>
|
||||
<field name="to_invoice" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="product_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="department_id" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="date_to"/>
|
||||
<field name="date_from"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Employee" name="Employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type of Invoicing" icon="terp-stock_symbol-selection" context="{'group_by':'to_invoice'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}" groups="analytic.group_analytic_accounting"/>
|
||||
<filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by day of date"/>
|
||||
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/>
|
||||
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_timesheet_report_stat_all" model="ir.actions.act_window">
|
||||
<field name="name">Timesheet Sheet Analysis</field>
|
||||
<field name="res_model">timesheet.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="context">{'search_default_month':1,'search_default_Employee_id':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="search_view_id" ref="view_timesheet_report_search"/>
|
||||
</record>
|
||||
<menuitem action="action_timesheet_report_stat_all" id="menu_timesheet_report_all"
|
||||
parent="hr_timesheet.menu_hr_reporting_timesheet" sequence="1" groups="base.group_hr_manager"/>
|
||||
</data>
|
||||
</openerp>
|
|
@ -65,7 +65,7 @@
|
|||
</record>
|
||||
|
||||
<menuitem name="Configuration" parent="base.menu_tools"
|
||||
id="base.menu_lunch_survey_root" sequence="20" groups="base.group_system"/>
|
||||
id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager"/>
|
||||
|
||||
<menuitem name="Ideas" parent="base.menu_lunch_survey_root" id="menu_ideas" sequence="3"/>
|
||||
|
||||
|
@ -90,7 +90,8 @@
|
|||
|
||||
<menuitem name="Give Vote" parent="menu_ideas1"
|
||||
id="menu_give_vote"
|
||||
action="action_idea_select"/>
|
||||
action="action_idea_select"
|
||||
groups="base.group_tool_user"/>
|
||||
|
||||
|
||||
<!-- Open Ideas Action -->
|
||||
|
@ -382,12 +383,12 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
<menuitem name="Reporting" parent="base.menu_tools" id="base.menu_lunch_reporting" sequence="6"/>
|
||||
<menuitem name="Reporting" parent="base.menu_tools" id="base.menu_lunch_reporting" sequence="6" groups="base.group_tool_manager,base.group_tool_user"/>
|
||||
|
||||
<menuitem name="Idea" parent="base.menu_lunch_reporting" id="menu_idea_reporting" sequence="3"/>
|
||||
|
||||
<menuitem name="Vote Statistics" parent="menu_idea_reporting"
|
||||
id="menu_idea_vote_stat" action="action_idea_vote_stat" groups="base.group_tool_manager,base.group_tool_user,base.group_system"/>
|
||||
id="menu_idea_vote_stat" action="action_idea_vote_stat" groups="base.group_tool_user"/>
|
||||
|
||||
<!-- Vote For Idea Action -->
|
||||
<record model="ir.actions.act_window" id="action_idea_vote">
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
<field name="context">{'search_default_User':1,'search_default_State':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_report_vote_all" id="menu_report_vote_all" parent="menu_idea_reporting" sequence="1" groups="base.group_tool_manager,base.group_system"/>
|
||||
<menuitem action="action_report_vote_all" id="menu_report_vote_all" parent="menu_idea_reporting" sequence="1" groups="base.group_tool_manager"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
|
|
@ -2,10 +2,6 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="base.group_sale_salesman" model="res.groups">
|
||||
<field name="name">Sales / User</field>
|
||||
</record>
|
||||
|
||||
<record model="res.groups" id="base.group_tool_manager">
|
||||
<field name="name">Tools / Manager</field>
|
||||
</record>
|
||||
|
@ -13,7 +9,6 @@
|
|||
<field name="name">Tools / User</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
|
|
@ -1,26 +1,8 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_idea_category","idea.category","model_idea_category","base.group_user",1,1,1,1
|
||||
"access_idea_idea","idea.idea","model_idea_idea","base.group_user",1,1,1,1
|
||||
"access_idea_vote","idea.vote","model_idea_vote","base.group_user",1,1,1,1
|
||||
"access_idea_vote_stat","idea.vote.stat","model_idea_vote_stat","base.group_user",1,1,1,1
|
||||
"access_idea_category_system","idea.category system","model_idea_category","base.group_system",1,1,1,1
|
||||
"access_idea_comment","idea.comment","model_idea_comment","base.group_system",1,1,1,1
|
||||
"access_idea_comment_base_user","idea.comment.base.user","model_idea_comment","base.group_user",1,1,1,1
|
||||
"access_report_vote","report.vote","model_report_vote","base.group_user",1,1,1,1
|
||||
"access_idea_idea_sale_salesman","idea.idea.sale","model_idea_idea","base.group_sale_salesman",1,1,1,1
|
||||
"access_idea_vote_sale_salesman","idea.vote.sale","model_idea_vote","base.group_sale_salesman",1,1,1,1
|
||||
"access_idea_category_user","idea.category user","model_idea_category","base.group_tool_user",1,1,1,1
|
||||
"access_idea_idea_user","idea.idea user","model_idea_idea","base.group_tool_user",1,1,1,1
|
||||
"access_idea_vote_user","idea.vote user","model_idea_vote","base.group_tool_user",1,1,1,1
|
||||
"access_idea_category_manager","idea.category manager","model_idea_category","base.group_tool_manager",1,1,1,1
|
||||
"access_idea_idea_manager","idea.idea manager","model_idea_idea","base.group_tool_manager",1,1,1,1
|
||||
"access_idea_vote_manager","idea.vote manager","model_idea_vote","base.group_tool_manager",1,1,1,1
|
||||
"access_idea_vote_stat_user","idea.vote.stat user","model_idea_vote_stat","base.group_tool_user",1,1,1,1
|
||||
"access_idea_comment_user","idea.comment user","model_idea_comment","base.group_tool_user",1,1,1,1
|
||||
"access_report_vote_manager","report.vote manager","model_report_vote","base.group_tool_manager",1,1,1,1
|
||||
"access_idea_idea_system","idea.idea system","model_idea_idea","base.group_system",1,0,0,0
|
||||
"access_idea_vote_system","idea.vote system","model_idea_vote","base.group_system",1,0,0,0
|
||||
"access_report_vote_system","report.vote system","model_report_vote","base.group_system",1,0,0,0
|
||||
"access_idea_vote_stat_manager","idea.vote.stat manager","model_idea_vote_stat","base.group_tool_manager",1,1,1,1
|
||||
"access_idea_vote_stat_system","idea.vote.stat system","model_idea_vote_stat","base.group_system",1,1,1,1
|
||||
"access_idea_comment_manager","idea.comment.manager","model_idea_comment","base.group_tool_manager",1,1,1,1
|
||||
|
|
|
|
@ -6,14 +6,14 @@
|
|||
id="menu_lunch" sequence="1" />
|
||||
|
||||
<menuitem name="Reporting" parent="base.menu_tools"
|
||||
id="base.menu_lunch_reporting" sequence="6" groups="base.group_system,base.group_tool_manager"/>
|
||||
id="base.menu_lunch_reporting" sequence="6" groups="base.group_tool_manager"/>
|
||||
|
||||
<menuitem name="Lunch Orders"
|
||||
parent="base.menu_lunch_reporting"
|
||||
id="menu_lunch_reporting_order" sequence="1" />
|
||||
|
||||
<menuitem name="Configuration" parent="base.menu_tools"
|
||||
id="base.menu_lunch_survey_root" sequence="20" groups="base.group_system"/>
|
||||
id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager"/>
|
||||
|
||||
<menuitem name="Lunch" parent="base.menu_lunch_survey_root"
|
||||
id="menu_lunch_category_root_configuration" sequence="1" />
|
||||
|
|
|
@ -1,20 +1,8 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_lunch_category","lunch.category","model_lunch_category","base.group_user",1,1,1,1
|
||||
"access_lunch_product","lunch.product","model_lunch_product","base.group_user",1,1,1,1
|
||||
"access_lunch_cashbox","lunch.cashbox","model_lunch_cashbox","base.group_user",1,1,1,1
|
||||
"access_lunch_order","lunch.order","model_lunch_order","base.group_user",1,1,1,1
|
||||
"access_report_lunch_amount","report.lunch.amount","model_report_lunch_amount","base.group_user",1,1,1,1
|
||||
"access_lunch_order_sale_salesman","lunch.order.sale","model_lunch_order","base.group_sale_salesman",1,1,1,1
|
||||
"access_lunch_order_user","lunch.order user","model_lunch_order","base.group_tool_user",1,1,1,1
|
||||
"access_lunch_order_manager","lunch.order manager","model_lunch_order","base.group_tool_manager",1,1,1,1
|
||||
"access_lunch_cashmove_user","lunch.cashmove user","model_lunch_cashmove","base.group_tool_user",1,1,1,1
|
||||
"access_lunch_cashmove_manager","lunch.cashmove manager","model_lunch_cashmove","base.group_tool_manager",1,1,1,1
|
||||
"access_report_lunch_amount_manager","report.lunch.amount manager","model_report_lunch_amount","base.group_tool_manager",1,1,1,1
|
||||
"access_lunch_category_system","lunch.category system","model_lunch_category","base.group_system",1,1,1,1
|
||||
"access_lunch_product_system","lunch.product system","model_lunch_product","base.group_system",1,1,1,1
|
||||
"access_lunch_cashbox_system","lunch.cashbox system","model_lunch_cashbox","base.group_system",1,1,1,1
|
||||
"access_lunch_order_system","lunch.order system","model_lunch_order","base.group_system",1,0,0,0
|
||||
"access_lunch_cashmove_system","lunch.cashmove system","model_lunch_cashmove","base.group_system",1,0,0,0
|
||||
"access_lunch_category_manager","lunch.category.user","model_lunch_category","base.group_tool_user",1,1,1,1
|
||||
"access_report_lunch_order_manager","report.lunch.order manager","model_report_lunch_order","base.group_tool_manager",1,1,1,1
|
||||
"access_lunch_product_user","lunch.product user","model_lunch_product","base.group_tool_user",1,1,1,1
|
||||
"access_lunch_cashbox_user","lunch.cashbox user","model_lunch_cashbox","base.group_tool_user",1,1,1,1
|
||||
|
|
|
|
@ -2,9 +2,6 @@
|
|||
<openerp>
|
||||
<data noupdate="0">
|
||||
|
||||
<record id="base.group_sale_salesman" model="res.groups">
|
||||
<field name="name">Sales / User</field>
|
||||
</record>
|
||||
<record model="res.groups" id="base.group_tool_manager">
|
||||
<field name="name">Tools / Manager</field>
|
||||
</record>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<act_window id="action_lunch_order_cancel_values"
|
||||
key2="client_action_multi" name="Cancel Order"
|
||||
res_model="lunch.order.cancel" src_model="lunch.order"
|
||||
view_mode="form" target="new" view_type="form" groups="base.group_tool_manager"/>
|
||||
view_mode="form" target="new" view_type="form"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<act_window id="action_lunch_order_confirm_values"
|
||||
key2="client_action_multi" name="Confirm Order"
|
||||
res_model="lunch.order.confirm" src_model="lunch.order"
|
||||
view_mode="form" target="new" view_type="form" groups="base.group_tool_manager"/>
|
||||
view_mode="form" target="new" view_type="form"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -36,10 +36,10 @@
|
|||
<separator string="" colspan="4" />
|
||||
<group col="10" colspan="4">
|
||||
<field name="state" readonly="1" />
|
||||
<button name="state_cancel_set" string="Cancel" states="running" icon="terp-gtk-stop"/>
|
||||
<button name="state_running_set" string="Run" states="draft,done,cancelled" icon="gtk-apply"/>
|
||||
<button name="state_draft_set" string="Set to Draft" states="done,cancelled" icon="gtk-convert"/>
|
||||
<button name="state_done_set" string="Close" states="running" icon="terp-dialog-close"/>
|
||||
<button name="state_cancel_set" string="Cancel" states="running" icon="terp-gtk-stop"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -161,9 +161,9 @@
|
|||
<separator string="" colspan="4"/>
|
||||
<group col="6" colspan="4">
|
||||
<field name="state" readonly="1"/>
|
||||
<button name="state_cancel_set" string="Cancel" states="running" icon="terp-gtk-stop"/>
|
||||
<button name="state_running_set" string="Run" states="draft" icon="gtk-apply"/>
|
||||
<button name="state_done_set" string="Close" states="running" icon="terp-dialog-close"/>
|
||||
<button name="state_cancel_set" string="Cancel" states="running" icon="terp-gtk-stop"/>
|
||||
<button name="state_draft_set" string="Set to Draft" states="done,cancelled" icon="gtk-convert"/>
|
||||
</group>
|
||||
</form>
|
||||
|
@ -382,9 +382,9 @@
|
|||
<separator string="" colspan="4"/>
|
||||
<group colspan="4" col="11">
|
||||
<field name="state" readonly="True"/>
|
||||
<button string="Cancel" states="todo,exception" name="button_cancel" type="object" icon="terp-gtk-stop"/>
|
||||
<button string="Reset" states="exception,cancelled" name="button_draft" type="object" icon="gtk-undo"/>
|
||||
<button string="Process" states="todo" name="process" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
<button string="Cancel" states="todo,exception" name="button_cancel" type="object" icon="terp-gtk-stop"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -604,7 +604,7 @@
|
|||
|
||||
<field colspan="2" name="move_lines2" nolabel="1" domain="[('state','in', ('done', 'cancel'))]"
|
||||
widget="one2many_list" mode="tree,form" height="275">
|
||||
<tree colors="red:scrapped==True;blue:state in('draft');black:state in('picking_except','confirmed','ready','in_production');gray:state in('cancel','done') " string="Consumed Products" editable="bottom">
|
||||
<tree colors="red:scrapped==True;blue:state in('draft');black:state in('picking_except','confirmed','ready','in_production');gray:state in('cancel') " string="Consumed Products" editable="bottom">
|
||||
<field name="product_id" readonly="1"/>
|
||||
<field name="product_qty" readonly="1" string="Qty"/>
|
||||
<field name="product_uom" readonly="1" string="UOM" widget="selection"/>
|
||||
|
@ -627,12 +627,12 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="9" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="button_cancel" states="draft,ready,confirmed,in_production,picking_except" string="Cancel" icon="gtk-stop"/>
|
||||
<button name="action_compute" states="draft" string="Compute Data" type="object" icon="terp-stock_format-scientific"/>
|
||||
<button name="button_confirm" states="draft" string="Confirm Production" icon="gtk-apply"/>
|
||||
<button name="button_produce" states="ready" string="Start Production" icon="terp-gtk-jump-to-ltr"/>
|
||||
<button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" icon="gtk-ok" type="action"/>
|
||||
<button name="force_production" states="confirmed,picking_except" string="Force Reservation" type="object" icon="gtk-jump-to"/>
|
||||
<button name="button_cancel" states="draft,ready,confirmed,in_production,picking_except" string="Cancel" icon="gtk-stop"/>
|
||||
<button name="button_recreate" states="picking_except" string="Recreate Picking" icon="terp-document-new"/>
|
||||
</group>
|
||||
</page>
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
<xpath expr="/form/notebook/page/field[@name='workcenter_lines']/form/field[@name='hour']" position="after">
|
||||
<group colspan="8" col="8">
|
||||
<field name="state"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop" help="Cancel Order"/>
|
||||
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert" help="Set to Draft"/>
|
||||
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
|
||||
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop" help="Cancel Order"/>
|
||||
<button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
|
||||
<button name="button_done" string="Finished" states="startworking" icon="terp-dialog-close" help="Finish Order"/>
|
||||
</group>
|
||||
|
@ -32,10 +32,10 @@
|
|||
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='workcenter_lines']/tree/field[@name='hour']" position="after">
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop"/>
|
||||
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
|
||||
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr"/>
|
||||
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop"/>
|
||||
<button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause"/>
|
||||
<button name="button_done" string="Finished" states="startworking" icon="terp-dialog-close"/>
|
||||
<field name="state"/>
|
||||
|
@ -114,10 +114,10 @@
|
|||
<separator string="" colspan="4"/>
|
||||
<group colspan="8" col="8">
|
||||
<field name="state"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop"/>
|
||||
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
|
||||
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr"/>
|
||||
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
|
||||
<button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop"/>
|
||||
<button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause"/>
|
||||
<button name="button_done" string="Finished" states="startworking" icon="terp-dialog-close"/>
|
||||
</group>
|
||||
|
|
|
@ -2,24 +2,24 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_repair_order_tree" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.tree</field>
|
||||
<field name="model">mrp.repair</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Repairs order" colors="gray:state in ('done','cancel');black:state not in ('done','cancel');blue:state=='draft'">
|
||||
<field name="name" select="1" />
|
||||
<field name="product_id" select="1" />
|
||||
<field name="move_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="address_id"/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="guarantee_limit"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_repair_order_tree" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.tree</field>
|
||||
<field name="model">mrp.repair</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Repairs order" colors="gray:state in ('done','cancel');black:state not in ('done','cancel');blue:state=='draft'">
|
||||
<field name="name" select="1" />
|
||||
<field name="product_id" select="1" />
|
||||
<field name="move_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="address_id"/>
|
||||
<field name="location_id"/>
|
||||
<field name="location_dest_id"/>
|
||||
<field name="guarantee_limit"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_repair_order_form" model="ir.ui.view">
|
||||
<field name="name">mrp.repair.form</field>
|
||||
|
@ -177,30 +177,30 @@
|
|||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Reair Orders">
|
||||
<group col='4' colspan='4'>
|
||||
<filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
|
||||
<group col='4' colspan='4'>
|
||||
<filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" name="current" />
|
||||
<filter icon="terp-emblem-important" string="Ready To Repair" domain="[('state','=','ready')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-dolar" string="invoiced" domain="[('invoiced','=',True)]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="product_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="state" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="8" groups="base.group_extended">
|
||||
<filter string="Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<field name="name"/>
|
||||
<field name="product_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="state" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="8">
|
||||
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'guarantee_limit'}"/>
|
||||
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'guarantee_limit'}" help="Guarantee limit"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<button icon="gtk-stop" special="cancel"
|
||||
string="Cancel" />
|
||||
<button name="make_invoices" string="Create Invoice"
|
||||
colspan="1" type="object" icon="terp-dolar" />
|
||||
colspan="1" type="object" icon="terp-gtk-go-back-rtl" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -72,9 +72,9 @@
|
|||
<field colspan="4" name="message" readonly="1"/>
|
||||
<field name="state" readonly="1"/>
|
||||
<group col="7" colspan="2">
|
||||
<button name="button_cancel" states="draft,exception,waiting" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="button_confirm" states="draft" string="Confirm" icon="gtk-apply"/>
|
||||
<button name="button_restart" states="exception" string="Retry" icon="gtk-convert"/>
|
||||
<button name="button_cancel" states="draft,exception,waiting" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="button_check" states="confirmed" string="Run Procurement" icon="gtk-media-play"/>
|
||||
</group>
|
||||
</page>
|
||||
|
|
|
@ -308,6 +308,7 @@ class product_template(osv.osv):
|
|||
'uos_coeff' : lambda *a: 1.0,
|
||||
'mes_type' : lambda *a: 'fixed',
|
||||
'categ_id' : _default_category,
|
||||
'type' : lambda *a: 'consu',
|
||||
}
|
||||
|
||||
def _check_uom(self, cursor, user, ids):
|
||||
|
|
|
@ -9,10 +9,8 @@
|
|||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Product">
|
||||
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
|
||||
<filter icon="terp-accessories-archiver" string="Consumable"
|
||||
domain="[('type','=', 'consumable')]"/>
|
||||
<filter string="Stockable" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]"/>
|
||||
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
|
||||
<filter string="Consumable/Stockable" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="To Sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
|
||||
<filter string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]" />
|
||||
|
|
|
@ -88,16 +88,10 @@
|
|||
<child1>
|
||||
<action colspan="4" height="100" name="%(action_view_task_tree)d" string="My Open Tasks" width="510"/>
|
||||
<action colspan="4" height="100" name="%(action_view_delegate_task_tree)d" string="My Delegated Tasks" width="510"/>
|
||||
</child1>
|
||||
</child1>
|
||||
<child2>
|
||||
<vpaned>
|
||||
<child1>
|
||||
<action colspan="4" height="100" name="%(project.action_project_vs_planned_total_hours_graph)d" string="My Projects: Planned vs Total Hours" />
|
||||
</child1>
|
||||
<child2>
|
||||
<action colspan="4" height="100" name="%(project.action_project_vs_remaining_hours_graph)d" string="My Remaining Hours by Project" />
|
||||
</child2>
|
||||
</vpaned>
|
||||
<action colspan="4" height="100" name="%(project.action_project_vs_planned_total_hours_graph)d" string="My Projects: Planned vs Total Hours" />
|
||||
<action colspan="4" height="100" name="%(project.action_project_vs_remaining_hours_graph)d" string="My Remaining Hours by Project" />
|
||||
</child2>
|
||||
</hpaned>
|
||||
</form>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Administration">
|
||||
<group col="2" colspan="2">
|
||||
<group col="2" colspan="2" groups="base.group_extended">
|
||||
<separator colspan="2" string="Scheduling"/>
|
||||
<field name="priority"/>
|
||||
<field name="active"/>
|
||||
|
@ -46,11 +46,11 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="9" colspan="8">
|
||||
<field name="state" select="1" readonly="1"/>
|
||||
<button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/>
|
||||
<button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
|
||||
<button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert" groups="base.group_extended"/>
|
||||
<button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,close" icon="gtk-ok"/>
|
||||
<button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
|
||||
<button name="set_done" string="Done" type="object" states="open,pending" icon="terp-dialog-close"/>
|
||||
<button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
|
||||
<button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/>
|
||||
<button
|
||||
string="New Project Based on Template"
|
||||
|
@ -67,16 +67,18 @@
|
|||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Partner Info">
|
||||
<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="contact_id" string="Contact Address"/>
|
||||
<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 domain="[('partner_id','=',partner_id)]" name="contact_id" string="Invoice Address"/>
|
||||
<field name="warn_customer"/>
|
||||
<newline/>
|
||||
<separator colspan="2" string="Mail Header"/>
|
||||
<separator colspan="2" string="Mail Footer"/>
|
||||
<field name="warn_header" nolabel="1" colspan="2"/>
|
||||
<field name="warn_footer" nolabel="1" colspan="2"/>
|
||||
<group col="3" colspan="4">
|
||||
<group colspan="4" col="4" groups="base.group_extended">
|
||||
<separator colspan="2" string="Mail Header"/>
|
||||
<separator colspan="2" string="Mail Footer"/>
|
||||
<field name="warn_header" nolabel="1" colspan="2"/>
|
||||
<field name="warn_footer" nolabel="1" colspan="2"/>
|
||||
</group>
|
||||
<group col="3" colspan="4" groups="base.group_extended">
|
||||
<separator string="Automatic variables for headers and footer. Use exactly the same notation." colspan="4"/>
|
||||
<label string="Task: %%(name)s"/>
|
||||
<label string="User: %%(user_id)s"/>
|
||||
|
@ -242,13 +244,13 @@
|
|||
<newline/>
|
||||
<group col="11" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent"/>
|
||||
<button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute"/>
|
||||
<button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" />
|
||||
<button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
|
||||
<button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/>
|
||||
<button name="action_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Delegations">
|
||||
|
@ -323,10 +325,10 @@
|
|||
<field name="date_end" invisible="1"/>
|
||||
<field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
|
||||
<field name="state" invisible="context.get('set_visible',False)"/>
|
||||
<button name="do_open" states="pending,draft,done,cancel" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
|
||||
<button name="do_open" states="pending,draft,done,cancel" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
|
||||
<button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/>
|
||||
<button name="action_close" states="draft,pending,open" string="Done" type="object" icon="gtk-apply" help="For changing to done state"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -84,10 +84,10 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" />
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_close" string="Close" states="open,draft,pending" type="object" icon="terp-dialog-close"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
</group>
|
||||
|
@ -191,9 +191,9 @@
|
|||
<field name="assigned_to"/>
|
||||
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
|
@ -290,9 +290,9 @@
|
|||
<field name="version_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="state"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
|
||||
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
|
||||
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
|
||||
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
|
||||
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
|
||||
|
|
|
@ -146,11 +146,11 @@
|
|||
<separator string="" colspan="4"/>
|
||||
<group col="12" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button string="Cancel" name="set_cancel" states="draft,open,pending" icon="gtk-cancel"/>
|
||||
<button string="Draft" name="set_draft" states="open" icon="gtk-indent"/>
|
||||
<button string="Pending" name="set_pending" states="open" icon="gtk-media-pause"/>
|
||||
<button string="Done" name="set_done" states="pending,open" icon="terp-dialog-close"/>
|
||||
<button string="Start Phase" name="set_open" states="pending,draft" icon="gtk-execute"/>
|
||||
<button string="Cancel" name="set_cancel" states="draft,open,pending" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Task Detail">
|
||||
|
|
|
@ -104,14 +104,13 @@
|
|||
<field colspan="4" name="description" nolabel="1" attrs="{'readonly':[('state','=','done')]}" widget="text_wiki"/>
|
||||
<group col="11" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent"/>
|
||||
<button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute"/>
|
||||
<button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert"/>
|
||||
<button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
|
||||
<button groups="base.group_extended" name="%(project.action_project_task_delegate)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/>
|
||||
<button name="%(project.action_project_task_close)d" states="pending,open" string="Done" type="action" icon="gtk-jump-to"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
|
||||
</group>
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Extra Info" attrs="{'readonly':[('state','=','done')]}">
|
||||
|
@ -139,12 +138,12 @@
|
|||
<group col="6" colspan="4">
|
||||
<field name="state" select="1"
|
||||
readonly="1" />
|
||||
<button name="action_cancel" states="draft,open"
|
||||
string="Cancel" type="object" icon="gtk-cancel" />
|
||||
<button name="action_open" states="draft"
|
||||
string="Open" type="object" icon="gtk-yes" />
|
||||
<button name="action_done" states="open"
|
||||
string="Done" type="object" icon="gtk-jump-to" />
|
||||
<button name="action_cancel" states="draft,open"
|
||||
string="Cancel" type="object" icon="gtk-cancel" />
|
||||
<button name="action_draft" states="done,cancel"
|
||||
string="Reset to Draft" type="object" icon="gtk-convert" />
|
||||
</group>
|
||||
|
|
|
@ -113,12 +113,12 @@
|
|||
</notebook>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="1" readonly="1"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="open,pending" icon="gtk-stop"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft,pending" icon="terp-camera_test"/>
|
||||
<button type="action" string="Convert to Task" name="%(action_scrum_backlog_to_task)d" states="pending" icon="gtk-execute"/>
|
||||
<button type="object" string="Pending" name="button_pending" states="open" icon="gtk-media-pause"/>
|
||||
<button type="object" string="Close" name="button_close" states="open,pending" icon="terp-dialog-close"/>
|
||||
<button type="object" string="Set to Draft" name="button_draft" states="cancel,done" icon="gtk-convert"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="open,pending" icon="gtk-stop"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<group colspan="4" col="4">
|
||||
<separator colspan="4" string="Invoicing Data"/>
|
||||
<field name="pricelist_id" domain="[('type','=','sale')]" widget="selection"/>
|
||||
<field name="to_invoice" widget="selection"/>
|
||||
<field name="amount_max"/>
|
||||
<field name="amount_invoiced"/>
|
||||
<field name="to_invoice" widget="selection" string="Invoice Task Work"/>
|
||||
<field name="amount_max" groups="base.group_extended"/>
|
||||
<field name="amount_invoiced" groups="base.group_extended"/>
|
||||
</group>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -61,10 +61,10 @@
|
|||
<separator colspan="4"/>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" select="1" readonly ="1"/>
|
||||
<button name="tender_cancel" states="draft,in_progress" string="Cancel" type="object" icon="gtk-cancel" />
|
||||
<button name="tender_in_progress" states="draft" string="Confirm" type="object" icon="gtk-apply" />
|
||||
<button name="tender_reset" states="done,cancel" string="Reset to Draft" type="object" icon="gtk-convert" />
|
||||
<button name="tender_done" states="in_progress" string="Done" type="object" icon="gtk-jump-to" />
|
||||
<button name="tender_cancel" states="draft,in_progress" string="Cancel" type="object" icon="gtk-cancel" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Quotations">
|
||||
|
@ -78,9 +78,9 @@
|
|||
<field name="minimum_planned_date"/>
|
||||
<field name="origin"/>
|
||||
<field name="state"/>
|
||||
<button name="purchase_cancel" states="draft,confirmed,wait_auth" string="Cancel Purchase Order" icon="gtk-cancel"/>
|
||||
<button name="purchase_confirm" states="draft" string="Confirm Purchase Order" icon="gtk-apply"/>
|
||||
<button name="purchase_approve" states="confirmed" string="Approved by Supplier" icon="gtk-ok"/>
|
||||
<button name="purchase_cancel" states="draft,confirmed,wait_auth" string="Cancel Purchase Order" icon="gtk-cancel"/>
|
||||
</tree>
|
||||
</field>
|
||||
<separator colspan="4" string=""/>
|
||||
|
|
|
@ -31,7 +31,6 @@ class report_designer_installer(osv.osv_memory):
|
|||
"upload the report using the same wizard."),
|
||||
'base_report_creator':fields.boolean('Query Builder',help="Allows you to create any statistic "
|
||||
"reports on several objects. It's a SQL query builder and browser for end users."),
|
||||
'olap':fields.boolean('Business Intelligence Report',help="Helps you manage Online Analytical Process with the mdx query and provides Cube Designing and Cube Browsing"),
|
||||
}
|
||||
report_designer_installer()
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
<group colspan="8">
|
||||
<field name="base_report_designer"/>
|
||||
<field name="base_report_creator"/>
|
||||
<field name="olap"/>
|
||||
</group>
|
||||
</data>
|
||||
</field>
|
||||
|
|
|
@ -206,7 +206,7 @@
|
|||
<button name="ship_recreate" states="shipping_except" string="Recreate Procurement" icon="gtk-ok"/>
|
||||
<button name="ship_corrected" states="shipping_except" string="Procurement Corrected" icon="gtk-apply"/>
|
||||
<button name="action_cancel" states="manual,progress" string="Cancel Order" type="object" icon="gtk-cancel"/>
|
||||
<button name="manual_invoice" states="manual" string="Create Invoice" icon="gtk-go-forward" type="object"/>
|
||||
<button name="manual_invoice" states="manual" string="Create Invoice" icon="terp-gtk-go-back-rtl" type="object"/>
|
||||
<button name="ship_cancel" states="shipping_except" string="Cancel Order" icon="gtk-cancel"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
|
||||
<button name="cancel" states="draft" string="Cancel Order" icon="gtk-cancel"/>
|
||||
|
|
|
@ -23,7 +23,30 @@
|
|||
<field name="sale_line_id" colspan="2"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
domain="[('sale_id', '=', active_id)]"
|
||||
id="act_sale_order_2_stock_picking"
|
||||
name="Picking"
|
||||
res_model="stock.picking"
|
||||
src_model="sale.order"
|
||||
context="{'contact_display': 'partner'}" />
|
||||
|
||||
<record id="action_sale_picking_out_tree_view" model="ir.actions.act_window.view">
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="stock.view_picking_out_tree"/>
|
||||
<field name="act_window_id" ref="act_sale_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<record id="action_sale_picking_out_form_view" model="ir.actions.act_window.view">
|
||||
<field eval="2" name="sequence"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="stock.view_picking_out_form"/>
|
||||
<field name="act_window_id" ref="act_sale_order_2_stock_picking"/>
|
||||
</record>
|
||||
|
||||
<!-- Adding Sale Order Reference to outgoing picking -->
|
||||
|
||||
<record id="stock_picking_out_inherit_sale" model="ir.ui.view">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<form string="Create invoices">
|
||||
<separator colspan="4" string="Do you really want to create the invoice(s) ?" />
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="make_invoices" string="Create Invoices" type="object" icon="gtk-ok"/>
|
||||
<button name="make_invoices" string="Create Invoices" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<field name="invoice_date"/>
|
||||
<separator string="" colspan="6"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="make_invoices" string="Create Invoices" type="object" icon="gtk-ok"/>
|
||||
<button name="make_invoices" string="Create Invoices" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -38,4 +38,4 @@
|
|||
<field name="model">sale.order</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<separator string="" colspan="4"/>
|
||||
<label string="" colspan="2" />
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="create_invoices" string="Create Partial Invoice" type="object" icon="gtk-ok"/>
|
||||
<button name="create_invoices" string="Create Partial Invoice" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -55,4 +55,4 @@
|
|||
<field name="target">new</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
|
|
@ -61,8 +61,8 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="standard_price" position="replace">
|
||||
<group col="4" colspan="2">
|
||||
<field name="standard_price" readonly="True"/>
|
||||
<button name="%(action_view_change_standard_price)d" string="Change Price" type="action" icon="gtk-execute"/>
|
||||
<field name="standard_price" readonly="1"/>
|
||||
<button name="%(action_view_change_standard_price)d" string="Change Price" type="action" icon="gtk-execute" attrs="{'readonly':[('cost_method','=','average')]}"/>
|
||||
</group>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -74,7 +74,6 @@
|
|||
<filter icon="terp-go-month"
|
||||
string="Month-1"
|
||||
name="month-1"
|
||||
separator="1"
|
||||
domain="[('date','<=', (datetime.date (int(time.strftime('%%Y')), datetime.date.today().month, 1) - datetime.timedelta (days = 1)).strftime('%%Y-%%m-%%d')),('date','>',(datetime.date (int(time.strftime('%%Y')), datetime.date.today().month-1, 1)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Last month"/>
|
||||
<filter icon="terp-go-month" string="Month"
|
||||
|
|
|
@ -980,6 +980,8 @@ class stock_picking(osv.osv):
|
|||
invoices_group[partner.id] = invoice_id
|
||||
res[picking.id] = invoice_id
|
||||
for move_line in picking.move_lines:
|
||||
if move_line.state == 'cancel':
|
||||
continue
|
||||
origin = move_line.picking_id.name or ''
|
||||
if move_line.picking_id.origin:
|
||||
origin += ':' + move_line.picking_id.origin
|
||||
|
|
|
@ -134,9 +134,9 @@
|
|||
</notebook>
|
||||
<field name="state"/>
|
||||
<group col="4" colspan="2">
|
||||
<button name="action_cancel_inventary" states="draft" string="Cancel Inventory" type="object" icon="gtk-cancel"/>
|
||||
<button name="action_done" states="draft" string="Confirm Inventory" type="object" icon="gtk-apply"/>
|
||||
<button name="action_cancel" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
|
||||
<button name="action_cancel_inventary" states="draft" string="Cancel Inventory" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
|
||||
</form>
|
||||
|
@ -732,10 +732,10 @@
|
|||
<label string="" colspan="4"/>
|
||||
<field name="state"/>
|
||||
<group col="4" colspan="2">
|
||||
<button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
|
||||
<button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
|
||||
<button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -746,7 +746,7 @@
|
|||
<button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-apply"/>
|
||||
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-document-new" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
|
||||
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-gtk-go-back-rtl" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -922,10 +922,10 @@
|
|||
<label string="" colspan="4"/>
|
||||
<field name="state"/>
|
||||
<group col="4" colspan="2">
|
||||
<button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
|
||||
<button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
|
||||
<button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -936,7 +936,7 @@
|
|||
<button name="action_assign" states="confirmed" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-apply"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Done" type="action" icon="gtk-execute"/>
|
||||
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-document-new" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
|
||||
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-gtk-go-back-rtl" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -1137,10 +1137,10 @@
|
|||
<label string="" colspan="4"/>
|
||||
<field name="state"/>
|
||||
<group col="4" colspan="2">
|
||||
<button name="action_cancel" states="assigned" string="_Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
|
||||
<button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
|
||||
<button name="action_cancel" states="assigned" string="_Cancel" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -1151,7 +1151,7 @@
|
|||
<button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
|
||||
<button name="force_assign" states="confirmed" string="Force Availability" type="object" groups="base.group_extended" icon="gtk-jump-to"/>
|
||||
<button name="%(action_partial_picking)d" states="assigned" string="Products Received" type="action" icon="gtk-ok"/>
|
||||
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-document-new" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
|
||||
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-gtk-go-back-rtl" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
|
||||
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -1589,8 +1589,8 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_search_reception_picking" model="ir.ui.view">
|
||||
<field name="name">stock.move.search2</field>
|
||||
<record id="view_move_search_reception_incoming_picking" model="ir.ui.view">
|
||||
<field name="name">stock.move.incoming.search2</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="type">search</field>
|
||||
<field eval="6" name="priority"/>
|
||||
|
@ -1625,6 +1625,42 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_search_reception_outcoming_picking" model="ir.ui.view">
|
||||
<field name="name">stock.move.outgoing.search2</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="type">search</field>
|
||||
<field eval="6" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Stock Moves">
|
||||
<group col="8" colspan="4">
|
||||
<filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-gtk-go-back-rtl" name="receive" string="To Do" domain="[('state','in',('confirmed','assigned'))]" help="Stock to be received"/>
|
||||
<filter icon="terp-check" name="received" string="Done" domain="[('state','=','done')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="origin"/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
<field name="product_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="8">
|
||||
<filter string="Customer" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<filter string="Order" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'origin'}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
<field name="tracking_id" context="{'tracking': self}" filter_domain="[]" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_reception_picking_move" model="ir.actions.act_window">
|
||||
<field name="name">Incoming Products</field>
|
||||
<field name="res_model">stock.move</field>
|
||||
|
@ -1634,7 +1670,7 @@
|
|||
<field name="domain">['|','&',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&',('picking_id','!=',False),('picking_id.type','=','in')]</field>
|
||||
<field name="view_id" ref="view_move_tree_reception_picking"/>
|
||||
<field name="context">{"search_default_receive":1}</field>
|
||||
<field name="search_view_id" ref="view_move_search_reception_picking"/>
|
||||
<field name="search_view_id" ref="view_move_search_reception_incoming_picking"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_move_reception_picking_tree">
|
||||
|
@ -1768,7 +1804,7 @@
|
|||
<field name="domain">['|','&',('picking_id','=',False),('location_dest_id.usage', 'in', ['customer','supplier']),'&',('picking_id','!=',False),('picking_id.type','=','out')]</field>
|
||||
<field name="view_id" ref="view_move_tree_reception_picking"/>
|
||||
<field name="context">{"search_default_receive":1}</field>
|
||||
<field name="search_view_id" ref="view_move_search_reception_picking"/>
|
||||
<field name="search_view_id" ref="view_move_search_reception_outcoming_picking"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_move_out_picking_tree">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<field name="invoice_date" />
|
||||
<separator string="" colspan="4" />
|
||||
<button special="cancel" string="_Cancel" icon='gtk-cancel'/>
|
||||
<button name="create_invoice" string="Create Invoices" type="object" icon="gtk-ok"/>
|
||||
<button name="create_invoice" string="Create Invoices" type="object" icon="terp-gtk-go-back-rtl"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_subscription_document,subscription.document,model_subscription_document,base.group_system,1,1,1,1
|
||||
access_subscription_document_fields,subscription.document.fields,model_subscription_document_fields,base.group_system,1,1,1,1
|
||||
access_subscription_subscription,subscription.subscription,model_subscription_subscription,base.group_user,1,1,1,1
|
||||
access_subscription_subscription_history,subscription.subscription.history,model_subscription_subscription_history,base.group_user,1,1,1,1
|
||||
access_subscription_document_fields,subscription.document.fields,model_subscription_document_fields,base.group_tool_manager,1,1,1,1
|
||||
access_subscription_subscription_user,subscription.subscription user,model_subscription_subscription,base.group_tool_user,1,1,1,1
|
||||
access_subscription_subscription_manager,subscription.subscription manager,model_subscription_subscription,base.group_tool_manager,1,0,0,0
|
||||
access_subscription_subscription_history_user,subscription.subscription.history user,model_subscription_subscription_history,base.group_tool_user,1,1,1,1
|
||||
access_subscription_subscription_system,subscription.subscription system,model_subscription_subscription,base.group_system,1,0,0,0
|
||||
access_subscription_document_user,subscription.document user,model_subscription_document,base.group_tool_user,1,1,1,1
|
||||
access_res_partner_user,res.partner.user,base.model_res_partner,base.group_tool_user,1,1,1,1
|
||||
access_res_partner_address_user,res.partner.address.user,base.model_res_partner_address,base.group_tool_user,1,1,1,1
|
||||
access_ir_cron_user,ir.cron.user,base.model_ir_cron,base.group_tool_user,1,1,1,1
|
||||
|
|
|
|
@ -212,7 +212,7 @@
|
|||
<field name="search_view_id" ref="view_subscription_document_filter" />
|
||||
</record>
|
||||
<menuitem name="Configuration" parent="base.menu_tools"
|
||||
id="base.menu_lunch_survey_root" sequence="20" groups="base.group_system" />
|
||||
id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager" />
|
||||
<menuitem id="config_recuuring_event" name="Recurring Events" parent="base.menu_lunch_survey_root" sequence="4"/>
|
||||
<menuitem action="action_document_form" id="menu_action_document_form" parent="config_recuuring_event"/>
|
||||
</data>
|
||||
|
|
|
@ -1,51 +1,37 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_survey_type_manager","survey.type manager","model_survey_type","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_type_user","survey.type user","model_survey_type","base.group_tool_user",1,1,1,1
|
||||
"access_survey_manager","survey","model_survey","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_system","survey","model_survey","base.group_system",1,0,0,0
|
||||
"access_survey_user","survey","model_survey","base.group_tool_user",1,1,1,1
|
||||
"access_survey_res_partner_manager","survey.res.partner.manager","base.model_res_partner","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_type_manager","survey.type.manager","model_survey_type","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_manager","survey.manager","model_survey","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_page_manager","survey.page manager","model_survey_page","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_page_system","survey.page system","model_survey_page","base.group_system",1,0,0,0
|
||||
"access_survey_page_user","survey.page user","model_survey_page","base.group_tool_user",1,1,1,1
|
||||
"access_survey_question_manager","survey.question manager","model_survey_question","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_question_user","survey.question user","model_survey_question","base.group_tool_user",1,1,1,1
|
||||
"access_survey_answer_manager","survey.answer manager","model_survey_answer","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_answer_user","survey.answer user","model_survey_answer","base.group_tool_user",1,1,1,1
|
||||
"access_survey_response_manager","survey.response manager","model_survey_response","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_response_user","survey.response user","model_survey_response","base.group_tool_user",1,1,1,1
|
||||
"access_survey_response_answer_manager","survey.response.answer manager","model_survey_response_answer","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_history_manager","survey.history.manager","model_survey_history","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_question_column_heading_manager","survey.question.column.heading manager","model_survey_question_column_heading","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_request_manager","survey.request manager","model_survey_request","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_tbl_column_heading_manager","survey.tbl.column.heading manager","model_survey_tbl_column_heading","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_res_partner_address_manager","survey.res.partner.address.manager","base.model_res_partner_address","base.group_tool_manager",1,1,1,0
|
||||
"access_survey_res_partner_manager","survey.res.partner.manager","base.model_res_partner","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_res_partner_user","survey.res.partner.user","base.model_res_partner","base.group_tool_user",1,1,1,1
|
||||
"access_survey_user","survey.user","model_survey","base.group_tool_user",1,1,1,1
|
||||
"access_survey_page_user","survey.page user","model_survey_page","base.group_tool_user",1,1,1,1
|
||||
"access_survey_question_user","survey.question user","model_survey_question","base.group_tool_user",1,1,1,1
|
||||
"access_survey_answer_user","survey.answer user","model_survey_answer","base.group_tool_user",1,1,1,1
|
||||
"access_survey_response_user","survey.response user","model_survey_response","base.group_tool_user",1,1,1,1
|
||||
"access_survey_response_answer_user","survey.response.answer user","model_survey_response_answer","base.group_tool_user",1,1,1,1
|
||||
"access_survey_history_user","survey.history.user","model_survey_history","base.group_tool_user",1,1,1,1
|
||||
"access_survey_question_column_heading_manager","survey.question.column.heading manager","model_survey_question_column_heading","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_tool_user",1,0,0,0
|
||||
"access_survey_request_manager","survey.request manager","model_survey_request","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_request_user","survey.request user","model_survey_request","base.group_tool_user",1,1,1,1
|
||||
"access_survey_request_system","survey.request system","model_survey_request","base.group_system",1,0,0,0
|
||||
"access_survey_tbl_column_heading_manager","survey.tbl.column.heading manager","model_survey_tbl_column_heading","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_tbl_column_heading_user","survey.tbl.column.heading user","model_survey_tbl_column_heading","base.group_tool_user",1,1,1,1
|
||||
"access_survey_response_line_manager","survey.response.line manager","model_survey_response_line","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_response_line_user","survey.response.line user","model_survey_response_line","base.group_tool_user",1,1,1,1
|
||||
"access_survey_history_survey_manager","survey.history manager","model_survey_history","base.group_tool_manager",1,1,1,1
|
||||
"access_survey_type_system","survey.type system","model_survey_type","base.group_system",1,0,0,0
|
||||
"access_survey_question_system","survey.question system","model_survey_question","base.group_system",1,0,0,0
|
||||
"access_survey_history_system","survey.history.system","model_survey_history","base.group_system",1,0,0,0
|
||||
"access_survey_answer_system","survey.answer system","model_survey_answer","base.group_system",1,0,0,0
|
||||
"access_survey_answer_base_user","survey.answer.base.user","model_survey_answer","base.group_user",1,1,1,1
|
||||
"access_survey_question_base_user","survey.question.base.user","model_survey_question","base.group_user",1,1,1,1
|
||||
"access_survey_res_partner_address_user","survey.res.partner.address.user","base.model_res_partner_address","base.group_tool_user",1,1,1,0
|
||||
"access_survey_request_employee","survey.request.employee","model_survey_request","base.group_user",1,0,0,0
|
||||
"access_survey_response_employee","survey.response employee","model_survey_response","base.group_user",1,0,0,0
|
||||
"access_survey_employee","survey.employee","model_survey","base.group_user",1,0,0,0
|
||||
"access_survey_res_partner_user","survey.res.partner.user","base.model_res_partner","base.group_tool_user",1,1,1,1
|
||||
"access_survey_survey_user","survey.survey.user","model_survey","group_survey_user",1,1,1,1
|
||||
"access_survey_type_survey_user","survey.type.survey.user","model_survey_type","group_survey_user",1,1,1,1
|
||||
"access_survey_page_survey_user","survey.page.survey.user","model_survey_page","group_survey_user",1,1,1,1
|
||||
"access_survey_request_survey_user","survey.request.survey.user","model_survey_request","group_survey_user",1,1,1,1
|
||||
"access_survey_question_survey_user","survey.question.survey.user","model_survey_question","group_survey_user",1,1,1,1
|
||||
"access_survey_answer_survey_user","survey.answer.survey.user","model_survey_answer","group_survey_user",1,1,1,1
|
||||
"access_survey_response_survey_user","survey.response.survey.user","model_survey_response","group_survey_user",1,1,1,1
|
||||
"access_survey_response_answer_survey_user","survey.response.answer.survey.user","model_survey_response_answer","group_survey_user",1,1,1,1
|
||||
"access_survey_history_survey_user","survey.history.survey.user","model_survey_history","group_survey_user",1,1,1,1
|
||||
"access_survey_question_column_heading_survey_user","survey.question.column.heading.survey.user","model_survey_question_column_heading","group_survey_user",1,0,0,0
|
||||
"access_survey_tbl_column_heading_survey_user","survey.tbl.column.heading.survey.user","model_survey_tbl_column_heading","group_survey_user",1,1,1,1
|
||||
"access_survey_response_line_survey_user","survey.response.line.survey.user","model_survey_response_line","group_survey_user",1,1,1,1
|
||||
"access_survey_res_partner_address_survey_user","survey.res.partner.address.survey.user","base.model_res_partner_address","group_survey_user",1,1,1,0
|
||||
"access_survey_question_column_heading_survey_user","survey.question.column.heading.survey.user","model_survey_question_column_heading","group_survey_user",1,0,0,0
|
||||
"access_survey_question_column_heading_user","survey.question.column.heading user","model_survey_question_column_heading","base.group_tool_user",1,1,1,1
|
||||
|
|
|
|
@ -3,12 +3,11 @@
|
|||
<data>
|
||||
|
||||
<menuitem icon="STOCK_PREFERENCES" id="base.menu_tools" name="Tools" sequence="28"/>
|
||||
<menuitem name="Surveys" id="menu_surveys" parent="base.menu_tools"
|
||||
groups="base.group_tool_manager,base.group_tool_user,base.group_system,base.group_user,group_survey_user" sequence="2"/>
|
||||
<menuitem name="Surveys" id="menu_surveys" parent="base.menu_tools" sequence="2" groups="base.group_tool_user,base.group_tool_manager,group_survey_user"/>
|
||||
<menuitem name="Define Surveys" id="menu_define_survey"
|
||||
groups="base.group_tool_manager,base.group_tool_user,base.group_system,group_survey_user"
|
||||
groups="base.group_tool_manager"
|
||||
parent="menu_surveys" />
|
||||
<menuitem id="menu_answer_surveys" name="Answer Surveys" parent="menu_surveys" groups="base.group_tool_manager,base.group_tool_user,base.group_system,base.group_user,group_survey_user"/>
|
||||
<menuitem id="menu_answer_surveys" name="Answer Surveys" parent="menu_surveys" groups="base.group_tool_user,base.group_tool_manager,group_survey_user"/>
|
||||
<menuitem name="Reporting" parent="base.menu_tools"
|
||||
id="base.menu_lunch_reporting" sequence="6"/>
|
||||
<menuitem name="Surveys" id="menu_reporting" parent="base.menu_lunch_reporting" sequence="2"/>
|
||||
|
@ -184,6 +183,8 @@
|
|||
</field>
|
||||
<group col="9" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="survey_cancel"
|
||||
string="Cancel" states="open" type="object" icon="gtk-cancel"/>
|
||||
<button name="survey_draft"
|
||||
string="Set to draft" states="cancel,close" type="object"
|
||||
icon="gtk-new"/>
|
||||
|
@ -191,8 +192,6 @@
|
|||
states="draft" type="object" icon="gtk-go-forward"/>
|
||||
<button name="survey_close"
|
||||
string="Close" states="open" type="object" icon="gtk-close"/>
|
||||
<button name="survey_cancel"
|
||||
string="Cancel" states="open" type="object" icon="gtk-cancel"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Other">
|
||||
|
@ -292,7 +291,7 @@
|
|||
|
||||
<menuitem name="Surveys" id="menu_survey_form"
|
||||
action="action_survey_form1" parent="menu_define_survey"
|
||||
groups="base.group_tool_manager,base.group_tool_user,base.group_system,group_survey_user"/>
|
||||
groups="base.group_tool_manager"/>
|
||||
|
||||
<!--
|
||||
Survey Pages
|
||||
|
@ -492,7 +491,7 @@
|
|||
|
||||
<menuitem name="Survey Pages" id="menu_survey_page_form1"
|
||||
action="action_survey_page_form" parent='menu_define_survey'
|
||||
groups="base.group_tool_manager,base.group_tool_user,base.group_system,group_survey_user"/>
|
||||
groups="base.group_tool_manager"/>
|
||||
|
||||
<record model="ir.ui.view" id="survey_page_wizard_test1">
|
||||
<field name="name">survey_page_wizard_test</field>
|
||||
|
@ -1126,7 +1125,7 @@
|
|||
|
||||
<menuitem name="Survey Requests" id="menu_survey_type_form1"
|
||||
action="action_survey_request_tree" parent='menu_answer_surveys'
|
||||
groups="base.group_tool_manager,base.group_tool_user,base.group_system,group_survey_user"/>
|
||||
groups="base.group_tool_manager"/>
|
||||
|
||||
<!--
|
||||
Survey Type
|
||||
|
@ -1193,7 +1192,7 @@
|
|||
src_model="survey.question"/>
|
||||
|
||||
<menuitem name="Answer a Survey" id="menu_run_survey_form" sequence="2"
|
||||
action="action_view_survey_name" parent="menu_answer_surveys" groups="base.group_tool_manager,base.group_tool_user,base.group_system,base.group_user,group_survey_user" icon="STOCK_INDEX"/>
|
||||
action="action_view_survey_name" parent="menu_answer_surveys" groups="base.group_tool_user,base.group_tool_manager,group_survey_user" icon="STOCK_INDEX"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -62,7 +62,7 @@ class survey_name_wiz(osv.osv_memory):
|
|||
for sur in surv_obj.browse(cr, uid, [context.get('survey_id',False)]):
|
||||
result.append((sur.id, sur.title))
|
||||
return result
|
||||
group_id = self.pool.get('res.groups').search(cr, uid, [('name', 'in', ('Tools / Manager','Tools / User'))])
|
||||
group_id = self.pool.get('res.groups').search(cr, uid, [('name', 'in', ('Tools / Manager','Tools / User','Survey / User'))])
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_rec = user_obj.read(cr, uid, uid)
|
||||
for sur in surv_obj.browse(cr, uid, surv_obj.search(cr, uid, [])):
|
||||
|
|
Loading…
Reference in New Issue