[MERGE] merge with trunk

bzr revid: mra@mra-laptop-20100614044510-iffai5yviiknzqfa
This commit is contained in:
Mustufa Rangwala
2010-06-14 10:15:10 +05:30
145 changed files with 2921 additions and 5139 deletions
+19 -19
View File
@@ -19,26 +19,26 @@
position="attributes">
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>23</attribute>
<attribute name='string'></attribute>
</xpath>
<group colspan="8">
<group colspan="4" height="450" width="600">
</xpath>
<group colspan="8">
<group colspan="4" height="450" width="600">
<field name="charts"/>
<group colspan="4">
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
<field name="date_start" on_change="on_change_start_date(date_start)"/>
<field name="date_stop"/>
<field name="period" colspan="4"/>
</group>
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
<separator col="4" colspan="4" string="Bank and Cost Account"/>
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
<form string="">
<separator col="4" colspan="4" string="Bank and Cost Account"/>
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
<form string="">
<field name="acc_name"/>
<field name="account_type"/>
<field name="currency_id" widget="selection"/>
@@ -51,15 +51,15 @@
</field>
</group>
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
<field name="purchase_tax" colspan="2" />
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
<field name="purchase_tax" colspan="2" />
</group>
<group colspan="4" groups="base.group_extended">
<separator col="4" colspan="4" string="Install Extra Account Module"/>
<field name="account_analytic_plans"/>
<field name="account_payment"/>
<field name="account_followup"/>
<field name="account_asset"/>
<separator col="4" colspan="4" string="Install Extra Account Module"/>
<field name="account_analytic_plans"/>
<field name="account_payment"/>
<field name="account_followup"/>
<field name="account_asset"/>
</group>
</group>
</group>
@@ -88,12 +88,12 @@
<field name="name">account_installer_action_replace</field>
<field name="type">tree</field>
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
</xpath>
</field>
</record>
</record>
</data>
</openerp>
-15
View File
@@ -488,20 +488,5 @@
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables &amp; Payables" res_model="account.move.line" src_model="account.invoice"/>
<!-- Partners inherited form -->
<record id="view_invoice_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.invoice.info.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Account Info">
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
</page>
</notebook>
</field>
</record>
</data>
</openerp>
+12 -12
View File
@@ -1554,7 +1554,7 @@
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable'])]" id="act_account_partner_account_move_all" name="Receivables &amp; Payables" res_model="account.move.line" src_model="res.partner"/>
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
<record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
<field name="name">Account Add wizard</field>
@@ -1577,7 +1577,7 @@
res_model="account.addtmpl.wizard"
context="{'tmpl_ids': active_id}"
src_model="account.account.template"
view_type="form" view_mode="form"/>
view_type="form" view_mode="form"/>
<!-- Account Templates -->
<menuitem
@@ -1820,17 +1820,17 @@
<attribute name="string">Generate Chart of Accounts from a Chart Template</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string"
<attribute name="string"
>Generate Chart of Accounts from a Chart Template</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
<attribute name="width">150</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>15</attribute>
<attribute name='string'></attribute>
</xpath>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
<attribute name="width">150</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>15</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<field name="company_id" widget="selection"
/>
+1 -1
View File
@@ -89,7 +89,7 @@ class res_partner(osv.osv):
_inherit = 'res.partner'
_description = 'Partner'
def _credit_debit_get(self, cr, uid, ids, field_names, arg, context):
query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
query = self.pool.get('account.move.line')._query_get(cr, 1, context=context)
cr.execute("""select
l.partner_id, a.type, sum(l.debit-l.credit)
from
+9 -17
View File
@@ -118,7 +118,6 @@
<field name="acc_number"/>
</tree>
</field>
<field name="invoice_ids" colspan="4" nolabel="1" context="{'group_by':'product_id'}"/>
</page>
</notebook>
</field>
@@ -126,21 +125,14 @@
<!-- Partners info tab view-->
<record id="view_account_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.account.info.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook[last()]" position="after">
<notebook colspan="4">
<page string="Project">
<field name="contract_ids" colspan="4" nolabel="1" />
</page>
</notebook>
</xpath>
</field>
</record>
<act_window
id="action_analytic_open"
name="Analytic Accounts"
res_model="account.analytic.account"
domain="[('partner_id','=',active_id)]"
src_model="res.partner"
view_type="form"
view_mode="tree,form,graph,calendar"/>
</data>
</openerp>
+12 -12
View File
@@ -44,77 +44,77 @@
</record>
<record id="account_move_line_comp_rule" model="ir.rule">
<field name="name">Entry lines</field>
<field name="name">Entry lines</field>
<field model="ir.model" name="model_id" ref="model_account_move_line"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="journal_period_comp_rule" model="ir.rule">
<field name="name">Journal Period</field>
<field name="name">Journal Period</field>
<field model="ir.model" name="model_id" ref="model_account_journal_period"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="journal_comp_rule" model="ir.rule">
<field name="name">Journal multi-company</field>
<field name="name">Journal multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_journal"/>
<field eval="True" name="global"/>
<field name="domain_force">['|','|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="analytic_journal_comp_rule" model="ir.rule">
<field name="name">Analytic journal multi-company</field>
<field name="name">Analytic journal multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="analytic_journal_comp_rule_false" model="ir.rule">
<field name="name">Analytic journal multi-company</field>
<field name="name">Analytic journal multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_analytic_journal"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="period_comp_rule" model="ir.rule">
<field name="name">Period multi-company</field>
<field name="name">Period multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_period"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="fiscal_year_comp_rule" model="ir.rule">
<field name="name">Fiscal year multi-company</field>
<field name="name">Fiscal year multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_fiscalyear"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="account_comp_rule" model="ir.rule">
<field name="name">Account multi-company</field>
<field name="name">Account multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_account"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="tax_comp_rule" model="ir.rule">
<field name="name">Tax multi-company</field>
<field name="name">Tax multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_tax"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="tax_code_comp_rule" model="ir.rule">
<field name="name">Tax code multi-company</field>
<field name="name">Tax code multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_tax_code"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="invoice_comp_rule" model="ir.rule">
<field name="name">Invoice multi-company</field>
<field name="name">Invoice multi-company</field>
<field model="ir.model" name="model_id" ref="model_account_invoice"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+1 -2
View File
@@ -70,7 +70,6 @@
"access_account_add_tmpl_wizard_system_manager","account.addtmpl.wizard system manager","model_account_addtmpl_wizard","base.group_system",1,1,1,1
"access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0
"access_account_invoice_user","account.invoice.line user","model_account_invoice_line","base.group_user",1,0,0,0
"access_account_invoice_user","account.invoice.tax user","model_account_invoice_tax","base.group_user",1,0,0,0
"access_account_payment_term_partner_manager","account.payment.term partner manager","model_account_payment_term","base.group_user",1,0,0,0
"access_account_payment_term_line_partner_manager","account.payment.term.line partner manager","model_account_payment_term_line","base.group_user",1,0,0,0
"access_account_account_product_manager","account.account product manager","model_account_account","product.group_product_manager",1,0,0,0
@@ -86,7 +85,7 @@
"access_account_fiscal_position_account_template","account.fiscal.position.account.template","model_account_fiscal_position_account_template","account.group_account_manager",1,1,1,1
"access_account_sequence_fiscal_year","account.sequence.fiscalyear","model_account_sequence_fiscalyear","account.group_account_user",1,1,1,1
"access_account_sequence_fiscal_year_user","account.sequence.fiscalyear user","model_account_sequence_fiscalyear","base.group_user",1,0,0,0
"access_account_installer","account.installer","model_account_installer","base.group_user",1,0,0,0
"access_account_installer","account.installer","model_account_installer","base.group_system",1,1,1,1
"access_report_account_receivable","report.account.receivable","model_report_account_receivable","account.group_account_manager",1,0,0,0
"access_temp_range","temp.range","model_temp_range","account.group_account_manager",1,0,0,0
"access_report_aged_receivable","report.aged.receivable","model_report_aged_receivable","account.group_account_manager",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
70 access_account_add_tmpl_wizard_system_manager account.addtmpl.wizard system manager model_account_addtmpl_wizard base.group_system 1 1 1 1
71 access_account_invoice_user account.invoice user model_account_invoice base.group_user 1 0 0 0
72 access_account_invoice_user account.invoice.line user model_account_invoice_line base.group_user 1 0 0 0
access_account_invoice_user account.invoice.tax user model_account_invoice_tax base.group_user 1 0 0 0
73 access_account_payment_term_partner_manager account.payment.term partner manager model_account_payment_term base.group_user 1 0 0 0
74 access_account_payment_term_line_partner_manager account.payment.term.line partner manager model_account_payment_term_line base.group_user 1 0 0 0
75 access_account_account_product_manager account.account product manager model_account_account product.group_product_manager 1 0 0 0
85 access_account_fiscal_position_account_template account.fiscal.position.account.template model_account_fiscal_position_account_template account.group_account_manager 1 1 1 1
86 access_account_sequence_fiscal_year account.sequence.fiscalyear model_account_sequence_fiscalyear account.group_account_user 1 1 1 1
87 access_account_sequence_fiscal_year_user account.sequence.fiscalyear user model_account_sequence_fiscalyear base.group_user 1 0 0 0
88 access_account_installer account.installer model_account_installer base.group_user base.group_system 1 0 1 0 1 0 1
89 access_report_account_receivable report.account.receivable model_report_account_receivable account.group_account_manager 1 0 0 0
90 access_temp_range temp.range model_temp_range account.group_account_manager 1 0 0 0
91 access_report_aged_receivable report.aged.receivable model_report_aged_receivable account.group_account_manager 1 0 0 0
@@ -134,7 +134,6 @@ class account_automatic_reconcile(osv.osv_memory):
return (reconciled, len(credits)+len(debits))
def reconcile(self, cr, uid, ids, context=None):
service = netsvc.LocalService("object_proxy")
move_line_obj = self.pool.get('account.move.line')
obj_model = self.pool.get('ir.model.data')
if context is None:
@@ -240,4 +239,4 @@ class account_automatic_reconcile(osv.osv_memory):
account_automatic_reconcile()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -32,13 +32,12 @@ class account_budget_spread(osv.osv_memory):
}
def check_spread(self, cr, uid, ids, context=None):
service = netsvc.LocalService("object_proxy")
if context is None:
context = {}
data = self.read(cr, uid, ids, [])[0]
res = service.execute(cr.dbname, uid, 'account.budget.post', 'spread', context['active_ids'], data['fiscalyear'], data['amount'])
data = self.browse(cr, uid, ids, context=context)[0]
res = self.pool.get('account.budget.post').spread(cr, uid, context['active_ids'], data.fiscalyear.id, data.amount)
return {}
account_budget_spread()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+1 -2
View File
@@ -27,8 +27,7 @@ class auction_invoice(report_int):
report_int.__init__(self, name)
def create(self,cr, uid, ids, datas, context):
service = netsvc.LocalService("object_proxy")
lots = service.execute(cr.dbname,uid, 'auction.lots', 'read', ids, ['ach_inv_id'])
lots = self.pool.get('auction.lots').read(cr,uid, ids, ['ach_inv_id'], context=context)
invoices = {}
for l in lots:
+2 -2
View File
@@ -103,7 +103,7 @@
separator="1" help="Declined Invitations" />
<separator orientation="vertical"/>
<field name="email" select='1'/>
<field name="sent_by_uid" select="1" widget="selection"/>
<field name="sent_by_uid" select="1"/>
<separator orientation="vertical"/>
<field name="cutype" string="Invitation type" select="1"/>
<field name="event_date" select="1"/>
@@ -391,7 +391,7 @@
<field name="name" select="1" string="Summary"/>
<field name="location" select="1" string="Location"/>
<separator orientation="vertical"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
<separator orientation="vertical"/>
<field name="show_as" select="1"/>
<field name="class" select="1"/>
+37 -37
View File
@@ -10,45 +10,45 @@
<form position="attributes">
<attribute name="string">Main Company Setup</attribute>
</form>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders,...</attribute>
</xpath>
<xpath expr='//separator[@string="title"]' position='attributes'>
<attribute name='string'>Configure Your Company</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>25</attribute>
<attribute name='string'></attribute>
</xpath>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders,...</attribute>
</xpath>
<xpath expr='//separator[@string="title"]' position='attributes'>
<attribute name='string'>Configure Your Company</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>25</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<group colspan="5">
<group colspan="2">
<field name="company_id" invisible="1"/>
<field name="name" required="True"/><field name="account_no"/>
<field name="currency" widget="selection"/><field name="street"/>
<field name="zip"/>
<field name="street2"/>
<field name="country_id"/>
<field name="state_id"/>
<field name="city"/>
<field name="email"/>
<field name="phone"/>
<field name="website"/>
</group>
<newline/>
<group colspan="2" groups="base.group_extended">
<separator string="Report Information" colspan="4"/>
<field name="rml_header1" colspan="5"/>
<field name="rml_footer1" colspan="5"/>
<field name="rml_footer2" colspan="5"/>
<group colspan="5">
<group colspan="2">
<field name="company_id" invisible="1"/>
<field name="name" required="True"/><field name="account_no"/>
<field name="currency" widget="selection"/><field name="street"/>
<field name="zip"/>
<field name="street2"/>
<field name="country_id"/>
<field name="state_id"/>
<field name="city"/>
<field name="email"/>
<field name="phone"/>
<field name="website"/>
</group>
<newline/>
<group colspan="2" groups="base.group_extended">
<separator string="Report Information" colspan="4"/>
<field name="rml_header1" colspan="5"/>
<field name="rml_footer1" colspan="5"/>
<field name="rml_footer2" colspan="5"/>
<separator colspan="4"
string="Your Logo - Use a size of about 450x150 pixels."/>
<field colspan="5" name="logo" widget="image"
nolabel="1"/>
</group>
</group>
</group>
<separator colspan="4"
string="Your Logo - Use a size of about 450x150 pixels."/>
<field colspan="5" name="logo" widget="image"
nolabel="1"/>
</group>
</group>
</group>
<xpath expr='//button[@name="action_skip"]' position='replace'/>
</data>
@@ -1,4 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
"access_base_setup_installer","base.setup.installer","model_base_setup_installer",,1,0,0,0
"access_base_setup_company","base.setup.company","model_base_setup_company",,1,0,0,0
"access_base_setup_config","base.setup.config","model_base_setup_config",,1,0,0,0
"access_base_setup_installer","base.setup.installer","model_base_setup_installer",base.group_system,1,1,1,1
"access_base_setup_company","base.setup.company","model_base_setup_company",base.group_system,1,1,1,1
"access_base_setup_config","base.setup.config","model_base_setup_config",base.group_system,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_base_setup_installer base.setup.installer model_base_setup_installer base.group_system 1 0 1 0 1 0 1
3 access_base_setup_company base.setup.company model_base_setup_company base.group_system 1 0 1 0 1 0 1
4 access_base_setup_config base.setup.config model_base_setup_config base.group_system 1 0 1 0 1 0 1
-1
View File
@@ -29,7 +29,6 @@
<menuitem id="base.menu_sales" name="Sales"
parent="base.menu_base_partner" sequence="1" />
<menuitem parent="base.menu_sales" name="Leads"
groups="base.group_extended"
+1 -1
View File
@@ -298,7 +298,7 @@
<separator orientation="vertical"/>
<field name="partner_name"/>
<field name="email_from"/>
<field name="user_id" widget="selection">
<field name="user_id">
<filter icon="terp-personal-"
domain="[('user_id','=', False)]"
help="Unassigned Leads" />
+17 -17
View File
@@ -38,7 +38,7 @@
<field name="act_window_id" ref="crm_case_categ_meet_create_partner"/>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_gantt_meet_partner">
<record model="ir.actions.act_window.view" id="action_crm_tag_gantt_meet_partner">
<field name="sequence" eval="3"/>
<field name="view_mode">gantt</field>
<field name="view_id" ref="crm_case_gantt_view_meet"/>
@@ -85,33 +85,33 @@
<!-- ALL MEETINGS -->
<menuitem name="Meetings" id="menu_meeting_sale"
parent="base.menu_base_partner" sequence="3" />
parent="base.menu_base_partner" sequence="3" />
<menuitem name="Meetings" id="menu_crm_case_categ_meet"
action="crm_case_categ_meet" parent="menu_meeting_sale"
sequence="1" />
action="crm_case_categ_meet" parent="menu_meeting_sale"
sequence="1" />
<record id="ir_ui_view_sc_calendar0" model="ir.ui.view_sc">
<record id="ir_ui_view_sc_calendar0" model="ir.ui.view_sc">
<field name="name">Calendar</field>
<field name="resource">ir.ui.menu</field>
<field name="user_id" ref="base.user_root"/>
<field name="res_id" ref="crm.menu_crm_case_categ_meet"/>
</record>
</record>
<record id="action_view_attendee_form" model="ir.actions.act_window">
<field name="name">Meeting Invitations</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">calendar.attendee</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
<field name="name">Meeting Invitations</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">calendar.attendee</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
<field name="domain">[('ref','like','crm.meeting,')]</field>
<field name="context">{'default_sent_by_uid': uid}</field>
</record>
<field name="context">{'default_sent_by_uid': uid}</field>
</record>
<menuitem id="menu_attendee_invitations"
name="Meeting Invitations" parent="crm.menu_meeting_sale"
sequence="10" action="action_view_attendee_form"
groups="base.group_extended" />
name="Meeting Invitations" parent="crm.menu_meeting_sale"
sequence="10" action="action_view_attendee_form"
groups="base.group_extended" />
</data>
</openerp>
+29 -29
View File
@@ -2,7 +2,7 @@
<openerp>
<data>
<!-- CRM Meetings Categories Form View -->
<!-- CRM Meetings Categories Form View -->
<record id="crm_meeting_categ_action" model="ir.actions.act_window">
<field name="name">Meeting Categories</field>
@@ -16,7 +16,7 @@
<menuitem action="crm_meeting_categ_action" name="Categories"
id="menu_crm_case_meeting-act" parent="menu_crm_config_meeting" />
<!-- CRM Meetings Form View -->
<!-- CRM Meetings Form View -->
<record model="ir.ui.view" id="crm_case_form_view_meet">
<field name="name">CRM - Meetings Form</field>
@@ -26,7 +26,7 @@
<form string="Meetings">
<group col="6" colspan="4">
<field name="name" select="1" string="Summary"
required="1" colspan="2" />
required="1" colspan="2" />
<field name="categ_id" widget="selection"
string="Meeting Type"
groups="base.group_extended"
@@ -51,9 +51,9 @@
name="open_meeting" icon="gtk-edit"
type="object" />
<button string="ExRule"
name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out" type="action"
context="{'model' : 'crm.meeting'}"
attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out" type="action"
context="{'model' : 'crm.meeting'}"
attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
</group>
</group>
<group col="4" colspan="4" name="rrule" attrs="{'invisible': [('rrule_type','!=','custom')]}">
@@ -133,7 +133,7 @@
<button name="case_close" string="Done"
states="open" type="object"
icon="gtk-jump-to" />
<button name="case_reset" string="Reset to Unconfirmed"
<button name="case_reset" string="Reset to Unconfirmed"
states="open,done,cancel" type="object"
icon="gtk-convert" />
<button name="case_open" string="Confirm"
@@ -204,7 +204,7 @@
</field>
</record>
<!-- CRM Meeting Tree View -->
<!-- CRM Meeting Tree View -->
<record model="ir.ui.view" id="crm_case_tree_view_meet">
<field name="name">CRM - Meetings Tree</field>
@@ -222,7 +222,7 @@
</field>
</record>
<!-- CRM Meeting Calendar -->
<!-- CRM Meeting Calendar -->
<record model="ir.ui.view" id="crm_case_calendar_view_meet">
<field name="name">CRM - Meetings Calendar</field>
@@ -238,7 +238,7 @@
</field>
</record>
<!-- CRM Meeting Gantt -->
<!-- CRM Meeting Gantt -->
<record id="crm_case_gantt_view_meet" model="ir.ui.view">
<field name="name">CRM - Meetings Gantt</field>
@@ -254,7 +254,7 @@
</field>
</record>
<!-- CRM Meeting Search View -->
<!-- CRM Meeting Search View -->
<record id="view_crm_case_meetings_filter" model="ir.ui.view">
<field name="name">CRM - Meetings Search</field>
@@ -274,29 +274,29 @@
domain="[('section_id','=',context.get('section_id',False))]"
help="My Sale Team" />
</field>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Date" icon="terp-go-month"
domain="[]" context="{'group_by':'date'}" />
<filter string="Privacy" icon="terp-locked"
domain="[]" context="{'group_by':'class'}" />
<separator orientation="vertical" />
<filter string="Responsible" icon="terp-personal" domain="[]"
context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
context="{'group_by':'state'}" />
<separator orientation="vertical" />
</group>
<group expand="0" string="Group By...">
<filter string="Date" icon="terp-go-month"
domain="[]" context="{'group_by':'date'}" />
<filter string="Privacy" icon="terp-locked"
domain="[]" context="{'group_by':'class'}" />
<separator orientation="vertical" />
<filter string="Responsible" icon="terp-personal" domain="[]"
context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
context="{'group_by':'state'}" />
<separator orientation="vertical" />
</group>
</search>
</field>
</record>
<!-- Calendar Attendee Form View -->
<!-- Calendar Attendee Form View -->
<record id="attendee_form_view_inherit" model="ir.ui.view">
<field name="name">calendar.attendee.form.inherit</field>
@@ -310,7 +310,7 @@
</field>
</record>
<!-- Calendar Attendee Tree View -->
<!-- Calendar Attendee Tree View -->
<record id="attendee_tree_view_inherit" model="ir.ui.view">
<field name="name">calendar.attendee.tree.inherit</field>
+8 -9
View File
@@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<act_window
<act_window
id="act_crm_opportunity_crm_phonecall_new"
name="Phone calls"
res_model="crm.phonecall"
@@ -12,7 +12,7 @@
domain="[('user_id','=',uid),('opportunity_id', '=', active_id)]"
view_type="form"/>
<act_window
<act_window
id="act_crm_opportunity_crm_meeting_new"
name="Meetings"
res_model="crm.meeting"
@@ -25,11 +25,10 @@
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
<field name="name">Opportunities</field>
<field name="res_model">crm.lead</field>
<field name="view_mode">tree,form,graph</field>
<field name="domain">['|',('type','=','opportunity'),('state','=','draft')]</field>
<field name="context">{'search_default_user_id':uid,'search_default_current':1}</field>
<field name="view_mode">tree,form,graph,calendar</field>
<field name="domain">[('type','=','opportunity')]</field>
<field name="context">{'search_default_user_id':uid,'search_default_current':1, 'default_type': 'opportunity'}</field>
<field name="view_id" ref="crm_case_tree_view_oppor"/>
<field name="context">{'search_default_current':1, 'default_type': 'opportunity'}</field>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
</record>
@@ -55,11 +54,11 @@
</record>
<menuitem id="base.menu_sales" name="Sales"
parent="base.menu_base_partner" sequence="1" />
parent="base.menu_base_partner" sequence="1" />
<menuitem name="Opportunities" id="menu_crm_case_opp"
parent="base.menu_sales" action="crm_case_category_act_oppor11"
sequence="2" />
parent="base.menu_sales" action="crm_case_category_act_oppor11"
sequence="2" />
</data>
</openerp>
+40 -13
View File
@@ -32,7 +32,7 @@
id="menu_crm_opportunity_stage_act" name="Stages"
parent="menu_crm_config_opportunity" />
<!-- Opportunity Resource Type Form View -->
<!-- Opportunity Resource Type Form View -->
<record id="crm_opportunity_resource_act" model="ir.actions.act_window">
<field name="name">Opportunity Resource Type</field>
@@ -83,7 +83,8 @@
<field name="date_action"/>
<field name="title_action"/>
<field name="priority" string="Priority"/>
<field name="type" readonly="1"/>
<newline/>
<field name="type" invisible="1"/>
</group>
<notebook colspan="4">
<page string="Opportunity">
@@ -134,6 +135,27 @@
icon="gtk-convert" />
</group>
</page>
<page string="Lead">
<group colspan="2" col="4">
<separator string="Contact" colspan="4" col="4"/>
<field name="partner_name" string="Partner Name" colspan="4"/>
<newline/>
<field domain="[('domain', '=', 'contact')]" name="title"/>
<field name="function" />
<field name="street" colspan="4"/>
<field name="street2" colspan="4"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>
<field name="state_id"/>
</group>
<group colspan="2" col="3">
<separator string="Communication" colspan="4" col="3"/>
<field name="fax"/>
<newline/>
<field name="mobile"/>
</group>
</page>
<page string="Emails" groups="base.group_extended">
<group colspan="4">
@@ -161,10 +183,10 @@
icon="gtk-undo" type="action" />
</form>
<tree string="Communication history">
<field name="date"/>
<field name="email_from" />
<field name="email_to"/>
<field name="description"/>
<field name="date"/>
<field name="email_from" />
<field name="email_to"/>
<field name="description"/>
</tree>
</field>
<button colspan="2" string="Send New Email"
@@ -224,8 +246,8 @@
<field name="create_date"/>
<field name="name" string="Opportunity"/>
<field name="partner_id"/>
<field name="date_action"/>
<field name="stage_id"/>
<field name="categ_id" invisible="1" groups="base.group_extended"/>
<button name="stage_previous" string="Previous"
states="open,pending" type="object" icon="gtk-go-back" />
<button name="stage_next" string="Next"
@@ -233,10 +255,9 @@
icon="gtk-go-forward" />
<field name="planned_revenue" sum="Total of Planned Revenue"/>
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
<field name="date_action"/>
<field name="section_id" groups="base.group_extended"/>
<field name="section_id"
invisible="context.get('invisible_section', True)" />
<field name="user_id"/>
<field name="priority"/>
<field name="state"/>
<button name="case_open" string="Open"
states="draft,pending" type="object"
@@ -298,17 +319,23 @@
/>
<separator orientation="vertical"/>
<field name="name" string="Opportunity"/>
<field name="user_id" widget="selection">
<field name="user_id">
<filter icon="terp-personal-"
domain="[('user_id','=', False)]"
help="Unassigned Opportunities" />
</field>
<field name="section_id"
default="context.get('section_id', False)" select="1"
default="context.get('section_id', False)"
context="{'invisible_section': False}"
widget="selection">
<filter icon="terp-personal+"
domain="[('section_id','=',context.get('section_id',False))]"
domain="[('section_id.user_id','=',uid)]"
context="{'invisible_section': False}"
help="My Sale Team" />
<filter icon="terp-personal+"
context="{'invisible_section': False}"
domain="[]"
help="Show Sales Team"/>
</field>
<newline/>
<group expand="0" string="Group By..." colspan="16">
+1 -1
View File
@@ -261,7 +261,7 @@
<separator orientation="vertical"/>
<field name="name" string="Call Summary"/>
<field name="partner_id"/>
<field name="user_id" widget="selection">
<field name="user_id">
<filter icon="terp-personal-"
domain="[('user_id','=',False)]"
help="Unassigned Phonecalls" />
@@ -187,7 +187,7 @@
<field name="act_window_id" ref="action_report_crm_phonecall"/>
</record>
<menuitem name="Phone Calls"
<menuitem name="Phone Calls Analysis"
action="action_report_crm_phonecall"
id="menu_report_crm_phonecalls_tree" parent="base.next_id_64" />
+3 -27
View File
@@ -67,7 +67,7 @@
<field colspan="4" name="line_ids" nolabel="1" select="1"/>
</page>
<page string="Destination">
<separator colspan="4" string="Countries"/>
<separator colspan="4" string="Countries"/>
<field colspan="4" name="country_ids" nolabel="1"/>
<separator colspan="4" string="States"/>
<field colspan="4" name="state_ids" nolabel="1"/>
@@ -243,18 +243,6 @@
</field>
</record>
<record id="view_move_withweight_tree" model="ir.ui.view">
<field name="name">stock.move.tree.weight</field>
<field name="type">tree</field>
<field name="model">stock.move</field>
<field name="inherit_id" ref="stock.view_move_tree"/>
<field name="arch" type="xml">
<field name="product_uom" position="after">
<field name="weight"/>
</field>
</field>
</record>
<record id="view_move_withweight_form" model="ir.ui.view">
<field name="name">stock.move.form.weight</field>
<field name="type">form</field>
@@ -267,18 +255,6 @@
</field>
</record>
<record id="view_move_reception_picking_withweight_tree" model="ir.ui.view">
<field name="name">stock.move.reception.packing.tree.weight</field>
<field name="type">tree</field>
<field name="model">stock.move</field>
<field name="inherit_id" ref="stock.view_move_tree_reception_picking"/>
<field name="arch" type="xml">
<field name="product_uom" position="after">
<field name="weight"/>
</field>
</field>
</record>
<record id="view_move_reception_picking_withweight_form" model="ir.ui.view">
<field name="name">stock.move.reception.packing.form.weight</field>
<field name="type">form</field>
@@ -297,8 +273,8 @@
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page[@string='Sale Order']/group[1]/button[@name='button_dummy']" position="after">
<button name="%(action_delivery_cost)d" states="draft" string="Delivery Costs" type="action" icon="gtk-execute" context="{'order_id':id}"/>
</xpath>
<button name="%(action_delivery_cost)d" states="draft" string="Delivery Costs" type="action" icon="gtk-execute" context="{'order_id':id}"/>
</xpath>
</field>
</record>
+3 -3
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-04-23 09:08+0000\n"
"Last-Translator: grisha <Unknown>\n"
"PO-Revision-Date: 2010-06-11 16:12+0000\n"
"Last-Translator: Sios <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-24 03:52+0000\n"
"X-Launchpad-Export-Date: 2010-06-12 03:44+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: delivery
+8 -8
View File
@@ -3,7 +3,7 @@
<!--<menuitem name="Document Management" icon="terp-stock" id="menu_document"/>
<menuitem name="Document Configuration" id="menu_document_configuration" parent="menu_document"/>-->
<menuitem name="Knowledge Management" icon="terp-stock" id="base.menu_document" sequence="4" groups="base.group_user"/>
<menuitem name="Knowledge" icon="terp-stock" id="base.menu_document" sequence="4" groups="base.group_user"/>
<menuitem name="Configuration" id="base.menu_document_configuration" parent="base.menu_document" sequence="50"/>
<menuitem name="Document Management" id="menu_document_management_configuration" parent="base.menu_document_configuration" sequence="1"/>
@@ -238,19 +238,19 @@
help="less 1 month modified/created attachments"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
/>
<separator orientation="vertical"/>
<field name="user_id" widget="selection">
<separator orientation="vertical"/>
<field name="user_id">
<filter icon="terp-personal"
domain="[('user_id','=', False)]"
help="Filter on my Attachment" />
</field>
<field name="partner_id" widget="selection"/>
<newline/>
<group expand="0" string="Group By...">
</field>
<field name="partner_id"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-personal" domain="[]"
context="{'group_by':'partner_id'}" />
<filter string="Directory" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
</group>
</group>
</search>
</field>
</record>
@@ -1,69 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<data>
<menuitem name="Tools" id="base.menu_tools" icon="STOCK_PREFERENCES" sequence="15"/>
<menuitem name="Email Template" id="menu_email_template" parent="base.menu_tools"/>
<record model="ir.ui.view" id="email_template_account_form">
<field name="name">email_template.account.form</field>
<field name="model">email_template.account</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Email Account Configuration">
<group colspan="2">
<field name="name" select="1" />
</group>
<notebook colspan="4">
<page string="Outgoing">
<separator string="Server Information" colspan="4" />
<group colspan="4">
<field name="smtpserver" select="1" colspan="2" />
<field name="smtpport" select="2" colspan="2" />
<field name="smtpssl" select="2" colspan="2" />
<field name="smtptls" select="2" colspan="2" />
</group>
<button name="check_outgoing_connection" type="object" string="Check Outgoing Connection" />
<separator string="User Information" colspan="4" />
<group col="2" colspan="2">
<field name="email_id" select="1" on_change="on_change_emailid(name,email_id)" colspan="2" />
<field name="smtppass" password="True" colspan="2" />
<field name="company" select="2" colspan="2" />
</group>
<group col="2" colspan="2">
<field name="smtpuname" select="1" colspan="2" />
<field name="user" select="2" colspan="2" />
<field name="send_pref" colspan="2" />
</group>
</page>
</notebook>
<group colspan="4" col="10">
<field name="state" select="1"/>
<button string="Approve Account" name="button_approval" states="draft" type="workflow"/>
<button string="Suspend Account" name="button_suspended" states="approved" type="workflow" />
<button string="Request Re-activation" name="get_reapprove" states="suspended" type="workflow" />
<button string="Send/Receive" name="send_receive" states="approved" type="object" />
</group>
</form>
</field>
</record>
<record model="ir.ui.view" id="email_template_account_form">
<field name="name">email_template.account.form</field>
<field name="model">email_template.account</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Email Account Configuration">
<group colspan="2">
<field name="name" select="1" />
</group>
<notebook colspan="4">
<page string="Outgoing">
<separator string="Server Information" colspan="4" />
<group colspan="4">
<field name="smtpserver" select="1" colspan="2" />
<field name="smtpport" select="2" colspan="2" />
<field name="smtpssl" select="2" colspan="2" />
<field name="smtptls" select="2" colspan="2" />
</group>
<button name="check_outgoing_connection" type="object" string="Check Outgoing Connection" />
<separator string="User Information" colspan="4" />
<group col="2" colspan="2">
<field name="email_id" select="1" on_change="on_change_emailid(name,email_id)" colspan="2" />
<field name="smtppass" password="True" colspan="2" />
<field name="company" select="2" colspan="2" />
</group>
<group col="2" colspan="2">
<field name="smtpuname" select="1" colspan="2" />
<field name="user" select="2" colspan="2" />
<field name="send_pref" colspan="2" />
</group>
</page>
</notebook>
<group colspan="4" col="10">
<field name="state" select="1"/>
<button string="Approve Account" name="button_approval" states="draft" type="workflow"/>
<button string="Suspend Account" name="button_suspended" states="approved" type="workflow" />
<button string="Request Re-activation" name="get_reapprove" states="suspended" type="workflow" />
<button string="Send/Receive" name="send_receive" states="approved" type="object" />
</group>
</form>
</field>
</record>
<record model="ir.ui.view" id="email_template_account_tree">
<field name="name">email_template.account.tree</field>
<field name="model">email_template.account</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="SMTP Server">
<field name="name" select="2" />
<field name="email_id" select="2" />
<field name="smtpuname" select="2" />
<field name="user" select="2" />
<field name="smtpserver" select="2" />
<field name="smtpport" select="2" />
<field name="state" select="2" />
</tree>
</field>
</record>
<record model="ir.ui.view" id="email_template_account_tree">
<field name="name">email_template.account.tree</field>
<field name="model">email_template.account</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="SMTP Server">
<field name="name" select="2" />
<field name="email_id" select="2" />
<field name="smtpuname" select="2" />
<field name="user" select="2" />
<field name="smtpserver" select="2" />
<field name="smtpport" select="2" />
<field name="state" select="2" />
</tree>
</field>
</record>
<record id="view_email_template_account_search" model="ir.ui.view">
<field name="name">email_template.account.search</field>
@@ -85,21 +85,21 @@
</field>
</record>
<record model="ir.actions.act_window" id="action_email_template_account_tree_all">
<field name="name">Accounts</field>
<field name="res_model">email_template.account</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="view_id" ref="email_template_account_tree" />
<record model="ir.actions.act_window" id="action_email_template_account_tree_all">
<field name="name">Accounts</field>
<field name="res_model">email_template.account</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="view_id" ref="email_template_account_tree" />
<field name="context">{'group_by': [], 'search_default_draft': 1, 'search_default_my': 1}</field>
<field name="search_view_id" ref="view_email_template_account_search"/>
</record>
</record>
<menuitem name="Configuration" id="menu_email_template_configuration" parent="menu_email_template" />
<menuitem name="Configuration" id="menu_email_template_configuration" parent="menu_email_template" />
<menuitem name="All Accounts" id="menu_email_template_account_all" parent="menu_email_template_configuration" action="action_email_template_account_tree_all" groups="res_groups_email_template_manager" />
<menuitem name="Email Accounts" id="menu_email_template_account_all" parent="menu_email_template_configuration" action="action_email_template_account_tree_all"/>
</data>
</data>
</openerp>
@@ -1,81 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<!-- Email Template-->
<record model="ir.ui.view" id="email_template_mailbox_form">
<field name="name">email_template.mailbox.form</field>
<field name="model">email_template.mailbox</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Outbox">
<group col="4" colspan="2">
<field name="email_from" colspan="4" select="1"/>
<field name="email_cc" colspan="4" select="1"/>
<field name="date_mail" colspan="4" select="2"/>
</group>
<group col="4" colspan="2">
<field name="email_to" colspan="4" required="1" select="1" />
<field name="email_bcc" colspan="4" select="2"/>
<field name="subject" colspan="4" select="1"/>
</group>
<notebook colspan="4">
<page string="Standard Body">
<separator colspan="4" string="Standard Body" />
<notebook colspan="4">
<page string="Standard Body (Text)">
<field name="body_text" nolabel="1" colspan="4" select="1"/>
</page>
<page string="Body (HTML-Web Client Only)">
<field name="body_html" nolabel="1" colspan="4" />
<!--<label string="Note: HTML body can't be edited with GTK desktop client." colspan="4"/>
--></page>
<data>
<!-- Email Template-->
<record model="ir.ui.view" id="email_template_mailbox_form">
<field name="name">email_template.mailbox.form</field>
<field name="model">email_template.mailbox</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Outbox">
<group col="4" colspan="2">
<field name="email_from" colspan="4" select="1"/>
<field name="email_cc" colspan="4" select="1"/>
<field name="date_mail" colspan="4" select="2"/>
</group>
<group col="4" colspan="2">
<field name="email_to" colspan="4" required="1" select="1" />
<field name="email_bcc" colspan="4" select="2"/>
<field name="subject" colspan="4" select="1"/>
</group>
<notebook colspan="4">
<page string="Standard Body">
<separator colspan="4" string="Standard Body" />
<notebook colspan="4">
<page string="Standard Body (Text)">
<field name="body_text" nolabel="1" colspan="4" select="1"/>
</page>
<page string="Body (HTML-Web Client Only)">
<field name="body_html" nolabel="1" colspan="4" />
<!--<label string="Note: HTML body can't be edited with GTK desktop client." colspan="4"/>
--></page>
</notebook>
</page>
</notebook>
</page>
<page string="Attachments">
<group col="4">
<separator colspan="4" string="Attachments" />
<field name="attachments_ids" colspan="4" nolabel="1" />
</group>
</page>
<page string="Advanced">
<group col="4">
<field name="account_id" colspan="2" />
<field name="server_ref" colspan="2" />
<field name="mail_type" colspan="2" />
<field name="folder" colspan="2" select="2"/>
<separator string="History" colspan="4" />
<field name="history" nolabel="1" colspan="4"/>
</group>
</page>
</notebook>
<separator colspan="4" string="" />
<group col="4" colspan="4">
<field name="state" readonly="1" />
<button name="complete_mail" type="object" string="Download Full Mail" states="read,unread" />
<button name="send_this_mail" type="object" string="Send Mail" />
</group>
</form>
</field>
</record>
<page string="Attachments">
<group col="4">
<separator colspan="4" string="Attachments" />
<field name="attachments_ids" colspan="4" nolabel="1" />
</group>
</page>
<page string="Advanced">
<group col="4">
<field name="account_id" colspan="2" />
<field name="server_ref" colspan="2" />
<field name="mail_type" colspan="2" />
<field name="folder" colspan="2" select="2"/>
<separator string="History" colspan="4" />
<field name="history" nolabel="1" colspan="4"/>
</group>
</page>
</notebook>
<separator colspan="4" string="" />
<group col="4" colspan="4">
<field name="state" readonly="1" />
<button name="complete_mail" type="object" string="Download Full Mail" states="read,unread" />
<button name="send_this_mail" type="object" string="Send Mail" />
</group>
</form>
</field>
</record>
<!--============================================= TREE VIEWS =============================================-->
<record id="view_email_template_mailbox_tree" model="ir.ui.view">
<field name="name">email_template.mailbox.tree</field>
<field name="model">email_template.mailbox</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Drafts">
<field name="user" />
<field name="email_from" select="1" />
<field name="subject" select="1" />
<field name="attachments_ids" select="2" />
<field name="date_mail" select="2" />
</tree>
</field>
</record>
<!--============================================= TREE VIEWS =============================================-->
<record id="view_email_template_mailbox_tree" model="ir.ui.view">
<field name="name">email_template.mailbox.tree</field>
<field name="model">email_template.mailbox</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Drafts">
<field name="user" />
<field name="email_from" select="1" />
<field name="subject" select="1" />
<field name="attachments_ids" select="2" />
<field name="date_mail" select="2" />
</tree>
</field>
</record>
<record id="view_email_template_mailbox_search" model="ir.ui.view">
<field name="name">email_template.mailbox.search</field>
@@ -109,14 +109,14 @@
<field name="search_view_id" ref="view_email_template_mailbox_search"/>
</record>
<!--======================================== MENUS ========================================-->
<menuitem name="MailBox" id="menu_email_template_mailbox_all_main2" parent="menu_email_template" />
<menuitem name="Personal" id="menu_email_template_personal" parent="menu_email_template_mailbox_all_main2" />
<!--======================================== MENUS ========================================-->
<menuitem name="MailBox" id="menu_email_template_mailbox_all_main2" parent="menu_email_template" />
<menuitem name="Personal" id="menu_email_template_personal" parent="menu_email_template_mailbox_all_main2" />
<menuitem name="Mails" id="menu_email_template_personal_mails" parent="menu_email_template_personal" action="action_email_template_mailbox"/>
<menuitem name="Company" id="menu_email_template_company" parent="menu_email_template_mailbox_all_main2" />
<menuitem name="Company" id="menu_email_template_company" parent="menu_email_template_mailbox_all_main2" />
<menuitem name="Mails" id="menu_email_template_company_mails" parent="menu_email_template_company" action="action_email_template_mailbox"/>
</data>
</data>
</openerp>
+147 -147
View File
@@ -1,147 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<!-- Email Template PReview -->
<record model="ir.ui.view" id="email_template_preview_form">
<field name="name">email_template.preview.form</field>
<field name="model">email_template.preview</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Email Preview">
<field name="rel_model" />
<newline />
<field name="rel_model_ref" on_change="on_change_ref(rel_model_ref, context)" />
<newline />
<field name="to" />
<newline />
<field name="cc" />
<newline />
<field name="bcc" />
<newline />
<field name="subject" />
<newline />
<field name="body_text" />
<newline />
<!-- <field name="body_html" widget="text_html" />-->
<!--
Removed text_html because it doesnt work in GTK
And TinyMCE messes up the HTML in Web Client
-->
<field name="body_html"/>
<newline />
<field name="report" />
<group>
<button icon="gtk-ok" special="cancel" string="OK" />
</group>
</form>
</field>
</record>
<data>
<!-- Email Template PReview -->
<record model="ir.ui.view" id="email_template_preview_form">
<field name="name">email_template.preview.form</field>
<field name="model">email_template.preview</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Email Preview">
<field name="rel_model" />
<newline />
<field name="rel_model_ref" on_change="on_change_ref(rel_model_ref, context)" />
<newline />
<field name="to" />
<newline />
<field name="cc" />
<newline />
<field name="bcc" />
<newline />
<field name="subject" />
<newline />
<field name="body_text" />
<newline />
<!-- <field name="body_html" widget="text_html" />-->
<!--
Removed text_html because it doesnt work in GTK
And TinyMCE messes up the HTML in Web Client
-->
<field name="body_html"/>
<newline />
<field name="report" />
<group>
<button icon="gtk-ok" special="cancel" string="OK" />
</group>
</form>
</field>
</record>
<record id="wizard_email_template_preview" model="ir.actions.act_window">
<field name="name">Template Preview</field>
<field name="res_model">email_template.preview</field>
<field name="src_model">email_template.preview</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="auto_refresh" eval="1" />
<field name="target">new</field>
<field name="context">{'ids':active_id}</field>
</record>
<!--EMail client Form view -->
<record id="wizard_email_template_preview" model="ir.actions.act_window">
<field name="name">Template Preview</field>
<field name="res_model">email_template.preview</field>
<field name="src_model">email_template.preview</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="auto_refresh" eval="1" />
<field name="target">new</field>
<field name="context">{'ids':active_id}</field>
</record>
<!--EMail client Form view -->
<record model="ir.ui.view" id="email_template_form">
<field name="name">email.template.form</field>
<field name="model">email.template</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Email Templates">
<field name="name" />
<field name="object_name" required="1"
on_change="change_model(object_name)" />
<field name="model_int_name" invisible="1" />
<notebook colspan="4">
<page string="Mail Details">
<field name="enforce_from_account" required= "1"/>
<group col="4" colspan="2">
<field name="from_email"/>
<field name="def_to" colspan="4" required="1" />
<field name="def_cc" colspan="4" />
<field name="def_bcc" colspan="4" />
</group>
<group col="2" colspan="2">
<field name="def_subject" colspan="4" required="1" />
<field name="use_sign" colspan="4" />
<field name="lang" colspan="4" />
</group>
<separator colspan="3" string="Standard Body" />
<separator colspan="1" string="Expression Builder" />
<record model="ir.ui.view" id="email_template_form">
<field name="name">email.template.form</field>
<field name="model">email.template</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Email Templates">
<field name="name" />
<field name="object_name" required="1"
on_change="change_model(object_name)" />
<field name="model_int_name" invisible="1" />
<notebook colspan="4">
<page string="Mail Details">
<field name="enforce_from_account" required= "1"/>
<group col="4" colspan="2">
<field name="from_email"/>
<field name="def_to" colspan="4" required="1" />
<field name="def_cc" colspan="4" />
<field name="def_bcc" colspan="4" />
</group>
<group col="2" colspan="2">
<field name="def_subject" colspan="4" required="1" />
<field name="use_sign" colspan="4" />
<field name="lang" colspan="4" />
</group>
<separator colspan="3" string="Standard Body" />
<separator colspan="1" string="Expression Builder" />
<notebook>
<page string="Body (Text)">
<field name="def_body_text" colspan="4" nolabel="1" />
</page>
<page string="Body (Raw HTML)">
<field name="def_body_html" colspan="4" nolabel="1" />
<label string="Note: This is Raw HTML." colspan="4" />
</page>
</notebook>
<group col="4">
<field name="template_language"
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
<notebook>
<page string="Insert Simple Field">
<notebook>
<page string="Body (Text)">
<field name="def_body_text" colspan="4" nolabel="1" />
</page>
<page string="Body (Raw HTML)">
<field name="def_body_html" colspan="4" nolabel="1" />
<label string="Note: This is Raw HTML." colspan="4" />
</page>
</notebook>
<group col="4">
<field name="template_language"
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
<notebook>
<page string="Insert Simple Field">
<field name="model_object_field"
domain="[('model_id','=',object_name),('ttype','!=','one2many'),('ttype','!=','many2many')]"
on_change="onchange_model_object_field(model_object_field, template_language,context)"
colspan="4" />
<field name="sub_object" readonly="1" colspan="4" />
<field name="sub_model_object_field"
domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
colspan="4"
attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"
on_change="onchange_sub_model_object_field(model_object_field,sub_model_object_field,template_language,context)" />
<field name="null_value" colspan="4"
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
<field name="copyvalue" colspan="4" />
</page>
</notebook>
<button name="%(wizard_email_template_preview)d" string="Preview Template"
type="action" colspan="4" target="new" />
</group>
</page>
<page string="Advanced">
<field name="ref_ir_act_window" />
<field name="ref_ir_value" />
<separator string="Attachments (Report to attach)" colspan="4"/>
<field name="file_name" colspan="2" />
<field name="report_template" colspan="2"
domain="[('model','=',model_int_name)]" />
</page>
</notebook>
</form>
</field>
</record>
<field name="model_object_field"
domain="[('model_id','=',object_name),('ttype','!=','one2many'),('ttype','!=','many2many')]"
on_change="onchange_model_object_field(model_object_field, template_language,context)"
colspan="4" />
<field name="sub_object" readonly="1" colspan="4" />
<field name="sub_model_object_field"
domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
colspan="4"
attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"
on_change="onchange_sub_model_object_field(model_object_field,sub_model_object_field,template_language,context)" />
<field name="null_value" colspan="4"
on_change="onchange_null_value(model_object_field,sub_model_object_field,null_value,template_language,context)" />
<field name="copyvalue" colspan="4" />
</page>
</notebook>
<button name="%(wizard_email_template_preview)d" string="Preview Template"
type="action" colspan="4" target="new" />
</group>
</page>
<page string="Advanced">
<field name="ref_ir_act_window" />
<field name="ref_ir_value" />
<separator string="Attachments (Report to attach)" colspan="4"/>
<field name="file_name" colspan="2" />
<field name="report_template" colspan="2"
domain="[('model','=',model_int_name)]" />
</page>
</notebook>
</form>
</field>
</record>
<record model="ir.ui.view" id="email_template_tree">
<field name="name">email.template.tree</field>
<field name="model">email.template</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Email Templates">
<field name="name" select="1" />
<field name="object_name" required="1" select="1" />
<field name="def_to" colspan="4" select="2" />
<field name="def_cc" colspan="4" select="2" />
<field name="def_bcc" colspan="4" select="2" />
<field name="def_subject" colspan="4" select="2" />
<field name="use_sign" colspan="4" select="2" />
<field name="file_name" colspan="4" />
<field name="enforce_from_account" />
</tree>
</field>
</record>
<record model="ir.ui.view" id="email_template_tree">
<field name="name">email.template.tree</field>
<field name="model">email.template</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Email Templates">
<field name="name" select="1" />
<field name="object_name" required="1" select="1" />
<field name="def_to" colspan="4" select="2" />
<field name="def_cc" colspan="4" select="2" />
<field name="def_bcc" colspan="4" select="2" />
<field name="def_subject" colspan="4" select="2" />
<field name="use_sign" colspan="4" select="2" />
<field name="file_name" colspan="4" />
<field name="enforce_from_account" />
</tree>
</field>
</record>
<record id="view_email_template_search" model="ir.ui.view">
<field name="name">email.template.search</field>
@@ -161,19 +161,19 @@
</field>
</record>
<record model="ir.actions.act_window" id="action_email_template_tree_all">
<field name="name">Email Templates</field>
<field name="res_model">email.template</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="view_id" ref="email_template_tree" />
<record model="ir.actions.act_window" id="action_email_template_tree_all">
<field name="name">Email Templates</field>
<field name="res_model">email.template</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="view_id" ref="email_template_tree" />
<field name="search_view_id" ref="view_email_template_search"/>
</record>
</record>
<menuitem name="E-MAIL Templates" id="menu_email_template_all"
parent="menu_email_template_configuration" action="action_email_template_tree_all" />
<menuitem name="E-MAIL Templates" id="menu_email_template_all"
parent="menu_email_template_configuration" action="action_email_template_tree_all" />
</data>
</data>
</openerp>
@@ -11,24 +11,24 @@
<field name="osv">email_template.account</field>
<field name="on_create">True</field>
</record>
<!--Activity -->
<record id="act_draft" model="workflow.activity">
<field name="wkf_id" ref="wkf_email_template_setting"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
<field name="kind">function</field>
<field name="kind">function</field>
<field name="action">write({'state':'draft'})</field>
</record>
<record id="act_approved" model="workflow.activity">
<field name="name">approval</field>
<field name="wkf_id" ref="wkf_email_template_setting"/>
<field name="kind">function</field>
<field name="action">do_approval()</field>
</record>
<record id="act_suspended" model="workflow.activity">
<field name="name">suspended</field>
<field name="wkf_id" ref="wkf_email_template_setting"/>
@@ -40,16 +40,16 @@
<field name="wkf_id" ref="wkf_email_template_setting"/>
<field name="flow_stop">True</field>
</record>
<!-- Transition -->
<record id="trans_awaiting_approved" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_approved"/>
<field name="signal">button_approval</field>
<field name="role_id" ref="PE_ADMIN"/>
</record>
<record id="trans_approved_suspended" model="workflow.transition">
<field name="act_from" ref="act_approved"/>
<field name="act_to" ref="act_suspended"/>
@@ -67,6 +67,6 @@
<field name="act_to" ref="act_dummy"/>
<field name="signal">get_never</field>
<field name="role_id" ref="PE_ADMIN"/>
</record>
</record>
</data>
</openerp>
@@ -1,23 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<data noupdate="0">
<record id="res_groups_email_template_admin" model="res.groups">
<field name="name">Email Template / Admin</field>
<field name="name">Marketing / Email Template</field>
</record>
<record id="res_groups_email_template_manager" model="res.groups">
<field name="name">Email Template / Settings_Manager</field>
</record>
<record id="res_groups_email_template_userse" model="res.groups">
<field name="name">Email Template / External_users</field>
</record>
<record id="res_groups_email_template_usersi" model="res.groups">
<field name="name">Email Template / Internal_users</field>
</record>
</data>
</data>
</openerp>
+7 -4
View File
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-10-09 07:48+0000\n"
"Last-Translator: Sardorbek Pulatov (pROCKrammer) <prockrammer@ya.ru>\n"
"PO-Revision-Date: 2010-06-13 13:02+0000\n"
"Last-Translator: Alex L. <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 03:55+0000\n"
"X-Launchpad-Export-Date: 2010-06-14 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: google_map
#: model:ir.actions.wizard,name:google_map.wizard_google_map
msgid "Launch Google Map"
msgstr ""
msgstr "Запустить Google Map"
#. module: google_map
#: constraint:ir.ui.view:0
@@ -39,6 +39,9 @@ msgid ""
"so that we can directly open google map from the\n"
"url widget."
msgstr ""
"Модуль добавляет поле с Google картой в адрес партнера\n"
"поэтому мы можем открыть карту Google непосредственно из\n"
"адреса виджета."
#. module: google_map
#: view:res.partner:0
+2 -2
View File
@@ -51,7 +51,7 @@
<search string="Departments">
<group col='4' colspan='2'>
<field name="name" />
<field name="manager_id" widget="selection"/>
<field name="manager_id"/>
</group>
</search>
</field>
@@ -73,7 +73,7 @@
</record>
<menuitem action="open_module_tree_department" id="menu_department_def" parent="hr.menu_department_tree"/>
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_root" sequence="5"/>
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_main" sequence="5"/>
<record model="ir.ui.view" id="view_users_form_inherit">
<field name="name">res.users.form</field>
+17 -12
View File
@@ -6,6 +6,11 @@
icon="terp-hr"
name="Human Resources"
sequence="6"/>
<menuitem
id="menu_hr_main"
parent="menu_hr_root"
name="Human Resources"
sequence="0"/>
<menuitem
id="menu_hr_configuration"
name="Configuration"
@@ -30,18 +35,18 @@
<field name="arch" type="xml">
<form string="Employee">
<group colspan="4" col="8">
<group colspan="6" col="6">
<field colspan="6" name="name" select="1"/>
<field name="user_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="active" groups="base.group_extended"/>
<newline/>
<group colspan="6" col="6">
<field colspan="6" name="name" select="1"/>
<field name="user_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="active" groups="base.group_extended"/>
<newline/>
<field name="parent_id" />
<field name="coach_id" />
</group>
<group colspan="2" col="1">
<field name="photo" widget='image' nolabel="1"/>
</group>
</group>
<group colspan="2" col="1">
<field name="photo" widget='image' nolabel="1"/>
</group>
</group>
<notebook colspan="6">
<page string="Personal Information">
@@ -113,7 +118,7 @@
<field name="name"/>
<field name="department_id" widget="selection"/>
<field name="job_id" widget="selection"/>
<field name="parent_id" widget="selection" />
<field name="parent_id"/>
<newline />
<group expand="0" string="Group By...">
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'parent_id'}"/>
@@ -156,7 +161,7 @@
action="open_view_employee_list_my"
id="menu_open_view_employee_list_my"
sequence="3"
parent="menu_hr_root"/>
parent="menu_hr_main"/>
<!--
+2 -1
View File
@@ -1,9 +1,10 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_hr_employee_category","hr.employee.category","model_hr_employee_category","hr.group_hr_user",1,0,0,0
"access_hr_employee","hr.employee","model_hr_employee","hr.group_hr_user",1,1,1,1
"access_hr_employee_resource","resource.resource","resource.model_resource_resource","hr.group_hr_user",1,1,1,1
"access_hr_department","hr.department","model_hr_department","hr.group_hr_user",1,0,0,0
"access_hr_employee_category_manager","hr.employee.category.manager","model_hr_employee_category","hr.group_hr_manager",1,1,1,1
"access_hr_department_manager","hr.department.manager","model_hr_department","hr.group_hr_manager",1,1,1,1
"access_hr_employee_marital_status","hr.employee.marital.status","model_hr_employee_marital_status","hr.group_hr_user",1,1,1,1
"access_hr_job","hr.job","model_hr_job","hr.group_hr_user",1,0,0,0
"access_hr_installer","hr.installer","model_hr_installer","hr.group_hr_user",1,0,0,0
"access_hr_installer","hr.installer","model_hr_installer","base.group_system",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_hr_employee_category hr.employee.category model_hr_employee_category hr.group_hr_user 1 0 0 0
3 access_hr_employee hr.employee model_hr_employee hr.group_hr_user 1 1 1 1
4 access_hr_employee_resource resource.resource resource.model_resource_resource hr.group_hr_user 1 1 1 1
5 access_hr_department hr.department model_hr_department hr.group_hr_user 1 0 0 0
6 access_hr_employee_category_manager hr.employee.category.manager model_hr_employee_category hr.group_hr_manager 1 1 1 1
7 access_hr_department_manager hr.department.manager model_hr_department hr.group_hr_manager 1 1 1 1
8 access_hr_employee_marital_status hr.employee.marital.status model_hr_employee_marital_status hr.group_hr_user 1 1 1 1
9 access_hr_job hr.job model_hr_job hr.group_hr_user 1 0 0 0
10 access_hr_installer hr.installer model_hr_installer hr.group_hr_user base.group_system 1 0 1 0 1 0 1
+1 -5
View File
@@ -39,14 +39,10 @@ def hour2str(h):
class report_custom(report_rml):
def create_xml(self, cr, uid, ids, datas, context):
service = netsvc.LocalService('object_proxy')
month = DateTime.DateTime(datas['form']['year'], datas['form']['month'], 1)
user_xml = ['<month>%s</month>' % month2name[month.month], '<year>%s</year>' % month.year]
for employee_id in ids:
emp = service.execute(cr.dbname, uid, 'hr.employee', 'read', [employee_id])[0]
emp = self.pool.get('hr.employee').read(cr, uid, 'read', [employee_id], ['name'])[0]
stop, days_xml = False, []
user_repr = '''
<user>
+67 -68
View File
@@ -32,81 +32,80 @@ one_week = DateTime.RelativeDateTime(days=7)
num2day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
def to_hour(h):
return int(h), int(round((h - int(h)) * 60, 0))
return int(h), int(round((h - int(h)) * 60, 0))
class report_custom(report_rml):
def create_xml(self, cr, uid, ids, datas, context):
service = netsvc.LocalService('object_proxy')
def create_xml(self, cr, uid, ids, datas, context):
start_date = DateTime.strptime(datas['form']['init_date'], '%Y-%m-%d')
end_date = DateTime.strptime(datas['form']['end_date'], '%Y-%m-%d')
first_monday = start_date - DateTime.RelativeDateTime(days=start_date.day_of_week)
last_monday = end_date + DateTime.RelativeDateTime(days=7 - end_date.day_of_week)
start_date = DateTime.strptime(datas['form']['init_date'], '%Y-%m-%d')
end_date = DateTime.strptime(datas['form']['end_date'], '%Y-%m-%d')
first_monday = start_date - DateTime.RelativeDateTime(days=start_date.day_of_week)
last_monday = end_date + DateTime.RelativeDateTime(days=7 - end_date.day_of_week)
if last_monday < first_monday:
first_monday, last_monday = last_monday, first_monday
if last_monday < first_monday:
first_monday, last_monday = last_monday, first_monday
user_xml = []
user_xml = []
for employee_id in ids:
emp = service.execute(cr.dbname, uid, 'hr.employee', 'read', [employee_id], ['id', 'name'])[0]
monday, n_monday = first_monday, first_monday + one_week
stop, week_xml = False, []
user_repr = '''
<user>
<name>%s</name>
%%s
</user>
''' % toxml(emp['name'])
while monday != last_monday:
#### Work hour calculation
sql = '''
select action, att.name
from hr_employee as emp inner join hr_attendance as att
on emp.id = att.employee_id
where att.name between %s and %s and emp.id = %s
order by att.name
'''
for idx in range(7):
cr.execute(sql, (monday.strftime('%Y-%m-%d %H:%M:%S'), (monday + DateTime.RelativeDateTime(days=idx+1)).strftime('%Y-%m-%d %H:%M:%S'), employee_id))
attendances = cr.dictfetchall()
week_wh = {}
# Fake sign ins/outs at week ends, to take attendances across week ends into account
# XXX this is wrong for the first sign-in ever and the last sign out to this date
if attendances and attendances[0]['action'] == 'sign_out':
attendances.insert(0, {'name': monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_in'})
if attendances and attendances[-1]['action'] == 'sign_in':
attendances.append({'name' : n_monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_out'})
# sum up the attendances' durations
for att in attendances:
dt = DateTime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
if att['action'] == 'sign_out':
week_wh[ldt.day_of_week] = week_wh.get(ldt.day_of_week, 0) + (dt - ldt).hours
ldt = dt
for employee_id in ids:
emp = self.pool.get('hr.employee').read(cr, uid, [employee_id], ['id', 'name'])[0]
monday, n_monday = first_monday, first_monday + one_week
stop, week_xml = False, []
user_repr = '''
<user>
<name>%s</name>
%%s
</user>
''' % toxml(emp['name'])
while monday != last_monday:
#### Work hour calculation
sql = '''
select action, att.name
from hr_employee as emp inner join hr_attendance as att
on emp.id = att.employee_id
where att.name between %s and %s and emp.id = %s
order by att.name
'''
for idx in range(7):
cr.execute(sql, (monday.strftime('%Y-%m-%d %H:%M:%S'), (monday + DateTime.RelativeDateTime(days=idx+1)).strftime('%Y-%m-%d %H:%M:%S'), employee_id))
attendances = cr.dictfetchall()
week_wh = {}
# Fake sign ins/outs at week ends, to take attendances across week ends into account
# XXX this is wrong for the first sign-in ever and the last sign out to this date
if attendances and attendances[0]['action'] == 'sign_out':
attendances.insert(0, {'name': monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_in'})
if attendances and attendances[-1]['action'] == 'sign_in':
attendances.append({'name' : n_monday.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_out'})
# sum up the attendances' durations
for att in attendances:
dt = DateTime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
if att['action'] == 'sign_out':
week_wh[ldt.day_of_week] = week_wh.get(ldt.day_of_week, 0) + (dt - ldt).hours
ldt = dt
# Week xml representation
week_repr = ['<week>', '<weekstart>%s</weekstart>' % monday.strftime('%Y-%m-%d'), '<weekend>%s</weekend>' % n_monday.strftime('%Y-%m-%d')]
for idx in range(7):
week_repr.append('<%s>' % num2day[idx])
if idx in week_wh:
week_repr.append('<workhours>%sh%02d</workhours>' % to_hour(week_wh[idx]))
week_repr.append('</%s>' % num2day[idx])
week_repr.append('<total>')
week_repr.append('<worked>%sh%02d</worked>' % to_hour(reduce(lambda x,y:x+y, week_wh.values(), 0)))
week_repr.append('</total>')
week_repr.append('</week>')
if len(week_repr) > 21: # 21 = minimal length of week_repr
week_xml.append('\n'.join(week_repr))
monday, n_monday = n_monday, n_monday + one_week
user_xml.append(user_repr % '\n'.join(week_xml))
xml = '''<?xml version="1.0" encoding="UTF-8" ?>
<report>
%s
</report>
''' % '\n'.join(user_xml)
return self.post_process_xml_data(cr, uid, xml, context)
# Week xml representation
week_repr = ['<week>', '<weekstart>%s</weekstart>' % monday.strftime('%Y-%m-%d'), '<weekend>%s</weekend>' % n_monday.strftime('%Y-%m-%d')]
for idx in range(7):
week_repr.append('<%s>' % num2day[idx])
if idx in week_wh:
week_repr.append('<workhours>%sh%02d</workhours>' % to_hour(week_wh[idx]))
week_repr.append('</%s>' % num2day[idx])
week_repr.append('<total>')
week_repr.append('<worked>%sh%02d</worked>' % to_hour(reduce(lambda x,y:x+y, week_wh.values(), 0)))
week_repr.append('</total>')
week_repr.append('</week>')
if len(week_repr) > 21: # 21 = minimal length of week_repr
week_xml.append('\n'.join(week_repr))
monday, n_monday = n_monday, n_monday + one_week
user_xml.append(user_repr % '\n'.join(week_xml))
xml = '''<?xml version="1.0" encoding="UTF-8" ?>
<report>
%s
</report>
''' % '\n'.join(user_xml)
return self.post_process_xml_data(cr, uid, xml, context)
report_custom('report.hr.attendance.allweeks', 'hr.employee', '', 'addons/hr_attendance/report/timesheet.xsl')
# vim:noexpandtab:tw=0
@@ -3,3 +3,5 @@
"access_hr_action_reason_employee","hr action reason employee","model_hr_action_reason","hr.group_hr_manager",1,1,1,1
"access_hr_attendance_employee","hr attendance employee","model_hr_attendance","hr_attendance.group_hr_attendance",1,1,1,1
"access_hr_sign_in_out","hr attendance sign in out","model_hr_sign_in_out","hr_attendance.group_hr_attendance",1,1,1,1
"access_hr_attendance_employee","hr employee attendance sign in out","hr.model_hr_employee","hr_attendance.group_hr_attendance",1,0,0,0
"access_hr_attendance_resource","hr resource attendance sign in out","resource.model_resource_resource","hr_attendance.group_hr_attendance",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
3 access_hr_action_reason_employee hr action reason employee model_hr_action_reason hr.group_hr_manager 1 1 1 1
4 access_hr_attendance_employee hr attendance employee model_hr_attendance hr_attendance.group_hr_attendance 1 1 1 1
5 access_hr_sign_in_out hr attendance sign in out model_hr_sign_in_out hr_attendance.group_hr_attendance 1 1 1 1
6 access_hr_attendance_employee hr employee attendance sign in out hr.model_hr_employee hr_attendance.group_hr_attendance 1 0 0 0
7 access_hr_attendance_resource hr resource attendance sign in out resource.model_resource_resource hr_attendance.group_hr_attendance 1 0 0 0
@@ -33,16 +33,14 @@ class hr_si_so_ask(osv.osv_memory):
'emp_id': fields.char('Empoyee ID', size=32, required=True, readonly=True),
}
def _get_empname(self, cr, uid, context=None):
emp_obj = self.pool.get('hr.employee')
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
emp_id = self.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context)
if emp_id:
employee = emp_obj.read(cr, uid, emp_id)[0]
employee = self.pool.get('hr.employee').browse(cr, uid, emp_id, context=context)[0].name
return employee['name']
return ''
def _get_empid(self, cr, uid, context=None):
emp_obj = self.pool.get('hr.employee')
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
emp_id = self.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context)
if emp_id:
return emp_id[0]
return False
@@ -74,11 +72,10 @@ class hr_sign_in_out(osv.osv_memory):
}
def _get_empid(self, cr, uid, context=None):
emp_obj = self.pool.get('hr.employee')
emp_id = emp_obj.search(cr, uid, [('user_id', '=', uid)])
emp_id = self.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context)
if emp_id:
employee = emp_obj.read(cr, uid, emp_id)[0]
return {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0]}
employee = self.pool.get('hr.employee').browse(cr, uid, emp_id, context=context)[0]
return {'name': employee.name, 'state': employee.state, 'emp_id': emp_id[0]}
return {}
def default_get(self, cr, uid, fields_list, context=None):
@@ -88,16 +85,15 @@ class hr_sign_in_out(osv.osv_memory):
return res
def si_check(self, cr, uid, ids, context=None):
att_obj = self.pool.get('hr.attendance')
obj_model = self.pool.get('ir.model.data')
att_obj = self.pool.get('hr.attendance')
data = self.read(cr, uid, ids, [])[0]
emp_id = data['emp_id']
att_id = att_obj.search(cr, uid, [('employee_id', '=', emp_id)], limit=1, order='name desc')
last_att = att_obj.read(cr, uid, att_id)
last_att = att_obj.browse(cr, uid, att_id)
if last_att:
last_att = last_att[0]
cond = not last_att or last_att['action'] == 'sign_out'
cond = not last_att or last_att.action == 'sign_out'
if cond:
return self.sign_in(cr, uid, data, context)
else:
@@ -114,13 +110,12 @@ class hr_sign_in_out(osv.osv_memory):
}
def so_check(self, cr, uid, ids, context=None):
att_obj = self.pool.get('hr.attendance')
obj_model = self.pool.get('ir.model.data')
data = self.read(cr, uid, ids, [])[0]
att_obj = self.pool.get('hr.attendance')
emp_id = data['emp_id']
att_id = att_obj.search(cr, uid, [('employee_id', '=', emp_id),('action','!=','action')], limit=1, order='name desc')
last_att = att_obj.read(cr, uid, att_id)
last_att = att_obj.browse(cr, uid, att_id, context=context)
if last_att:
last_att = last_att[0]
if not att_id and not last_att:
@@ -153,12 +148,11 @@ class hr_sign_in_out(osv.osv_memory):
}
def sign_in(self, cr, uid, data, context=None):
att_obj = self.pool.get('hr.attendance')
emp_id = data['emp_id']
if 'last_time' in data:
if data['last_time'] > time.strftime('%Y-%m-%d %H:%M:%S'):
raise osv.except_osv(_('UserError'), _('The sign-out date must be in the past'))
att_obj.create(cr, uid, {
self.pool.get('hr.attendance').create(cr, uid, {
'name': data['last_time'],
'action': 'sign_out',
'employee_id': emp_id
@@ -170,12 +164,11 @@ class hr_sign_in_out(osv.osv_memory):
return {} # To do: Return Success message
def sign_out(self, cr, uid, data, context=None):
att_obj = self.pool.get('hr_attendance')
emp_id = data['emp_id']
if 'last_time' in data:
if data['last_time'] > time.strftime('%Y-%m-%d %H:%M:%S'):
raise osv.except_osv(_('UserError'), _('The Sign-in date must be in the past'))
att_obj.create(cr, uid, {'name':data['last_time'], 'action':'sign_in', 'employee_id':emp_id})
self.pool.get('hr.attendance').create(cr, uid, {'name':data['last_time'], 'action':'sign_in', 'employee_id':emp_id})
try:
success = self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_out')
except:
@@ -184,4 +177,4 @@ class hr_sign_in_out(osv.osv_memory):
hr_sign_in_out()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_hr_attendance_sigh_in_out" model="ir.ui.view">
<record id="view_hr_attendance_sigh_in_out" model="ir.ui.view">
<field name="name">hr.sign.in.out.form</field>
<field name="model">hr.sign.in.out</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Sign in / Sign out">
<group colspan="4" >
<separator string="You are now ready to sign in or out of the attendance follow up" colspan="4" />
<field name="name" />
<field name="state" />
</group>
<group colspan="4" >
<separator string="You are now ready to sign in or out of the attendance follow up" colspan="4" />
<field name="name" />
<field name="state" />
</group>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-go-back" string="Sign in" name="si_check" type="object"/>
<button icon="gtk-go-forward" string="Sign out" name="so_check" type="object"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-go-back" string="Sign in" name="si_check" type="object"/>
<button icon="gtk-go-forward" string="Sign out" name="so_check" type="object"/>
</group>
</form>
</field>
@@ -27,15 +27,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Sign in / Sign out">
<label string="Sign-Out Entry must follow Sign-In." colspan="4" />
<label string="Sign-Out Entry must follow Sign-In." colspan="4" />
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Ok"/>
<button icon="gtk-cancel" special="cancel" string="Ok"/>
</group>
</form>
</field>
</record>
<record id="action_hr_attendance_sigh_in_out" model="ir.actions.act_window">
<record id="action_hr_attendance_sigh_in_out" model="ir.actions.act_window">
<field name="name">Sign in / Sign out</field>
<field name="res_model">hr.sign.in.out</field>
<field name="view_type">form</field>
@@ -45,8 +45,8 @@
</record>
<menuitem action="action_hr_attendance_sigh_in_out"
id="menu_hr_attendance_sigh_in_out"
parent="menu_hr_time_tracking" groups="base.group_extended" />
id="menu_hr_attendance_sigh_in_out"
parent="menu_hr_time_tracking"/>
<record id="view_hr_attendance_so_ask" model="ir.ui.view">
<field name="name">hr.sign.in.out.ask.form</field>
@@ -54,14 +54,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="hr.sign.out.ask">
<group colspan="4" >
<separator string="You did not sign out the last time. Please enter the date and time you signed out." colspan="4" />
<field name="name" />
<field name="last_time" string="Your last sign out" />
</group>
<group colspan="4" >
<separator string="You did not sign out the last time. Please enter the date and time you signed out." colspan="4" />
<field name="name" />
<field name="last_time" string="Your last sign out" />
</group>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-go-back" string="Sign in" name="sign_in" type="object"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-go-back" string="Sign in" name="sign_in" type="object"/>
</group>
</form>
</field>
@@ -73,14 +73,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="hr.sign.in.out.ask">
<group colspan="4" >
<separator string="You did not sign in the last time. Please enter the date and time you signed in." colspan="4" />
<field name="name" />
<field name="last_time" string="Your last sign in" />
</group>
<group colspan="4" >
<separator string="You did not sign in the last time. Please enter the date and time you signed in." colspan="4" />
<field name="name" />
<field name="last_time" string="Your last sign in" />
</group>
<group colspan="4" col="6">
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-go-back" string="Sign out" name="sign_out" type="object"/>
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
<button icon="gtk-go-back" string="Sign out" name="sign_out" type="object"/>
</group>
</form>
</field>
+2 -2
View File
@@ -27,11 +27,11 @@ class hr_employee(osv.osv):
_description = "Employee"
_inherit = "hr.employee"
_columns = {
'manager': fields.boolean('Manager'),
'manager': fields.boolean('Is a Manager'),
'medic_exam': fields.date('Medical Examination Date'),
'place_of_birth': fields.char('Place of Birth', size=30),
'children': fields.integer('Number of Children'),
'vehicle': fields.integer('Company Vehicle'),
'vehicle': fields.char('Company Vehicle', size=64),
'vehicle_distance': fields.integer('Home-Work Distance', help="In kilometers"),
'contract_ids': fields.one2many('hr.contract', 'employee_id', 'Contracts'),
}
+7 -50
View File
@@ -69,47 +69,6 @@
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Contracts">
<field colspan="4" mode="form,tree" name="contract_ids" nolabel="1">
<tree string="Contracts">
<field name="name"/>
<field name="job_id"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="working_hours"/>
<field name="wage_type_id"/>
<field name="wage"/>
</tree>
<form string="Contract">
<group colspan="3" col="6">
<field name="name" select="1"/>
<field name="job_id"/>
<newline/>
<field name="wage"/>
<field name="wage_type_id" widget="selection"/>
<field name="type_id" widget="selection"/>
</group>
<notebook>
<page string="Main Data">
<group col="2" colspan="2">
<separator colspan="2" string="Duration"/>
<field name="date_start" select="1"/>
<field name="date_end" select="1"/>
<field name="working_hours"/>
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Advantages"/>
<field name="advantages_net"/>
<field name="advantages_gross"/>
<field name="advantages" nolabel="1" colspan="2"/>
</group>
<separator colspan="4" string="Notes"/>
<field colspan="4" name="notes" nolabel="1"/>
</page>
</notebook>
</form>
</field>
</page>
<page string="Miscelleanous">
<group colspan="2" col="2">
<separator string="Personal Info" colspan="2"/>
@@ -122,7 +81,6 @@
<field name="manager" select="1"/>
<field name="vehicle" select="1"/>
<field name="vehicle_distance" select="1"/>
<field name="medic_exam" select="1"/>
</group>
<group colspan="2" col="2">
<separator string="Others Info" colspan="2"/>
@@ -140,15 +98,15 @@
<field name="arch" type="xml">
<search string="Search Contract">
<group col='15' colspan='4'>
<field name="name"/>
<field name="employee_id"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="name"/>
<field name="employee_id"/>
<field name="date_start"/>
<field name="date_end"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter string="Wage Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'wage_type_id'}"/>
</group>
<filter string="Wage Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'wage_type_id'}"/>
</group>
</search>
</field>
</record>
@@ -246,8 +204,7 @@
</record>
<menuitem action="action_hr_contract_type" id="hr_menu_contract_type" parent="next_id_56"/>
<!--<menuitem id="hr_menu_contract_main" parent="hr.menu_hr_root" name="Contracts" sequence="3"/> -->
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr.menu_hr_root" name="Contracts" sequence="4"/>
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr.menu_hr_main" name="Contracts" sequence="4"/>
<!-- Contracts Button on Employee Form -->
<act_window domain="[('employee_id', '=', active_id)]" id="act_hr_employee_2_hr_contract" name="Contracts" res_model="hr.contract" src_model="hr.employee"/>
@@ -8,5 +8,8 @@
"access_hr_contract_user","hr.contract user","model_hr_contract","hr.group_hr_user",1,0,0,0
"access_hr_contract","hr.contract","model_hr_contract","group_hr_contract",1,1,1,1
"access_hr_employee_contract","hr.employee contract","hr.model_hr_employee","group_hr_contract",1,0,0,0
"access_hr_resource_contract","hr.employee.resource contract","resource.model_resource_resource","group_hr_contract",1,0,0,0
"access_hr_resource_calendar_contract","hr.employee.resource.calendar contract","resource.model_resource_calendar","group_hr_contract",1,0,0,0
"access_hr_job_contract","hr.employee.job contract","hr.model_hr_job","group_hr_contract",1,0,0,0
"access_hr_contract_type_user","hr.contract.type user","model_hr_contract_type","hr.group_hr_user",1,0,0,0
"access_hr_contract_type","hr.contract.type","model_hr_contract_type","group_hr_contract",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
8 access_hr_contract_user hr.contract user model_hr_contract hr.group_hr_user 1 0 0 0
9 access_hr_contract hr.contract model_hr_contract group_hr_contract 1 1 1 1
10 access_hr_employee_contract hr.employee contract hr.model_hr_employee group_hr_contract 1 0 0 0
11 access_hr_resource_contract hr.employee.resource contract resource.model_resource_resource group_hr_contract 1 0 0 0
12 access_hr_resource_calendar_contract hr.employee.resource.calendar contract resource.model_resource_calendar group_hr_contract 1 0 0 0
13 access_hr_job_contract hr.employee.job contract hr.model_hr_job group_hr_contract 1 0 0 0
14 access_hr_contract_type_user hr.contract.type user model_hr_contract_type hr.group_hr_user 1 0 0 0
15 access_hr_contract_type hr.contract.type model_hr_contract_type group_hr_contract 1 1 1 1
+3 -3
View File
@@ -257,7 +257,7 @@
/>
<separator orientation="vertical"/>
<field name="employee_id" widget="selection" select="1"/>
<field name="employee_id" select="1"/>
<field name="plan_id" widget="selection" select="1"/>
</group>
<newline/>
@@ -349,8 +349,8 @@
<separator orientation="vertical"/>
<filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
<separator orientation="vertical"/>
<field name="user_to_review_id" widget="selection"/>
<field name="user_id" string="Interviewer" widget="selection"/>
<field name="user_to_review_id"/>
<field name="user_id" string="Interviewer"/>
</group>
</search>
</field>
+3 -3
View File
@@ -145,8 +145,8 @@
<separator orientation="vertical"/>
<field name="name" select='1'/>
<field name="date" select='1'/>
<field name="user_id" select="1" widget="selection" string="User">
<filter icon="terp-personal+"
<field name="user_id" select="1" string="User">
<filter icon="terp-personal+"
domain="[('department_id','=',context.get('department_id',False))]"
string="Expenses of My Department"/>
</field>
@@ -183,7 +183,7 @@
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field groups="base.group_extended" name="rental" position="after">
<field name="purchase_ok" position="after">
<field name="hr_expense_ok"/>
</field>
</field>
+1 -1
View File
@@ -13,7 +13,7 @@
<filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated"
default="context.get('report', False)"/>
<separator orientation="vertical"/>
<field name="user_id" widget="selection"/>
<field name="user_id"/>
<field name="department_id" widget="selection">
<filter icon="terp-personal+" help="My Department Holidays"
domain="[('department_id.manager_id','=',uid)]"
+65 -55
View File
@@ -13,12 +13,12 @@
# ------------------------------------------------------
<record id="hr_job_categ_action" model="ir.actions.act_window">
<field name="name">Applicant Categories</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
<field name="context">{'object_id':'hr.applicant'}</field>
<field name="name">Applicant Categories</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
<field name="context">{'object_id':'hr.applicant'}</field>
</record>
# ------------------------------------------------------
# Stage
@@ -86,11 +86,21 @@
<button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
</group>
<newline/>
<group colspan="3" col="6">
<field name="partner_name"/>
<field name="job_id" on_change="onchange_job(job_id)"/>
<button string="Schedule a Phone Call" name="%(action_hr_recruitment_phonecall)d" icon="gtk-redo" type="action"/>
</group>
<newline/>
<group colspan="3" col="6">
<field name="user_id"/>
<field name="department_id" widget="selection"/>
<button name="action_print_survey" string="Print Interview" type="object" icon="gtk-print" attrs="{'readonly':[('survey','=',False)]}"/>
<button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" icon="gtk-execute" context="{'survey_id': survey, 'response_id': [response], 'response_no':0 ,'active' : response, 'object' : 'hr.applicant', 'cur_id' :active_id}" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
</group>
<button name="action_makeMeeting" type="object" string="Schedule Meeting" icon="terp-hr"/>
</group>
<button name="action_print_survey" string="Print Interview" type="object" icon="gtk-print" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
<button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" icon="gtk-execute" context="{'survey_id': survey, 'response_id': [response], 'response_no':0 ,'active' : response, 'object' : 'hr.applicant', 'cur_id' :active_id}" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
</group>
<notebook colspan="4">
<page string="Job Info">
<group col="2" colspan="2">
@@ -182,9 +192,9 @@
</tree>
</field>
<button colspan="4" string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'hr.applicant'}"
icon="gtk-go-forward" type="action" />
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'hr.applicant'}"
icon="gtk-go-forward" type="action" />
</page>
</notebook>
</form>
@@ -232,7 +242,7 @@
<field name="partner_name"/>
<field name="email_from"/>
<field name="job_id" widget="selection"/>
<field name="user_id" widget="selection">
<field name="user_id">
<filter domain="[('user_id','=',False)]" help="Unassigned Recruitements" icon="terp-personal-" separator="1"/>
</field>
<field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
@@ -277,56 +287,56 @@
<!-- Stage Tree View -->
<record model="ir.ui.view" id="hr_recruitment_stage_tree">
<field name="name">hr.recruitment.stage.tree</field>
<field name="model">hr.recruitment.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="hr_recruitment_stage_tree">
<field name="name">hr.recruitment.stage.tree</field>
<field name="model">hr.recruitment.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
</tree>
</field>
</record>
<!-- Stage Form View -->
<record model="ir.ui.view" id="hr_recruitment_stage_form">
<field name="name">hr.recruitment.stage.form</field>
<field name="model">hr.recruitment.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<separator string="Stage Definition" colspan="4"/>
<field name="name" select="1"/>
<field name="sequence"/>
<separator string="Requirements" colspan="4"/>
<field name="requirements" nolabel="1" colspan="4"/>
</form>
</field>
</record>
<record model="ir.ui.view" id="hr_recruitment_stage_form">
<field name="name">hr.recruitment.stage.form</field>
<field name="model">hr.recruitment.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<separator string="Stage Definition" colspan="4"/>
<field name="name" select="1"/>
<field name="sequence"/>
<separator string="Requirements" colspan="4"/>
<field name="requirements" nolabel="1" colspan="4"/>
</form>
</field>
</record>
<!-- Stage Action -->
<record id="hr_recruitment_stage_act" model="ir.actions.act_window">
<field name="name">Stages</field>
<field name="res_model">hr.recruitment.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_recruitment_stage_tree"/>
</record>
<record id="hr_recruitment_stage_act" model="ir.actions.act_window">
<field name="name">Stages</field>
<field name="res_model">hr.recruitment.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_recruitment_stage_tree"/>
</record>
<menuitem
id="menu_hr_recruitment_recruitment"
name="Recruitment"
parent="hr.menu_hr_configuration"
/>
<menuitem
id="menu_hr_recruitment_recruitment"
name="Recruitment"
parent="hr.menu_hr_configuration"
/>
<menuitem
id="menu_hr_recruitment_stage"
name="Stages"
parent="menu_hr_recruitment_recruitment"
action="hr_recruitment_stage_act"
sequence="1"/>
<menuitem
id="menu_hr_recruitment_stage"
name="Stages"
parent="menu_hr_recruitment_recruitment"
action="hr_recruitment_stage_act"
sequence="1"/>
</data>
</openerp>
@@ -20,7 +20,7 @@
</field>
</field>
</record>
<record id="view_account_analytic_account_form" model="ir.ui.view">
<field name="name">account.analytic.account.form</field>
<field name="model">account.analytic.account</field>
@@ -32,7 +32,7 @@
</field>
</field>
</record>
<record id="hr_timesheet_line_form" model="ir.ui.view">
<field name="name">hr.analytic.timesheet.form</field>
<field name="model">hr.analytic.timesheet</field>
@@ -117,9 +117,9 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('to_invoice','&lt;&gt;',False)]</field>
</record>
<menuitem
action="action_hr_analytic_timesheet_open_tree"
id="menu_hr_analytic_timesheet_tree"
<menuitem
action="action_hr_analytic_timesheet_open_tree"
id="menu_hr_analytic_timesheet_tree"
parent="account.menu_finance_periodical_processing"/>
<record id="action_hr_analytic_timesheet_tree_invoiced" model="ir.actions.act_window">
@@ -178,9 +178,9 @@
<field name="view_type">form</field>
<field name="view_id" ref="view_hr_timesheet_invoice_factor_tree"/>
</record>
<menuitem
action="action_hr_timesheet_invoice_factor_form"
id="hr_timesheet_invoice_factor_view"
<menuitem
action="action_hr_timesheet_invoice_factor_form"
id="hr_timesheet_invoice_factor_view"
parent="account.account_analytic_def_account"/>
</data>
@@ -195,7 +195,7 @@
<filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/>
<filter icon="terp-gtk-go-back-rtl" string="To Validate" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
<separator orientation="vertical"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
<field name="date_from"/>
<field name="department_id" widget="selection">
<filter icon="terp-personal+"
+20 -20
View File
@@ -68,8 +68,8 @@
action="action_idea_category_tree"/>
<menuitem name="Give Vote" parent="menu_ideas1"
id="menu_give_vote"
action="action_idea_select"/>
id="menu_give_vote"
action="action_idea_select"/>
<!-- Open Ideas Action -->
@@ -128,11 +128,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Votes">
<group colspan="4">
<field name="user_id" select="1" />
<field name="date"/>
<newline/>
<field name="score"/>
<group colspan="4">
<field name="user_id" select="1" />
<field name="date"/>
<newline/>
<field name="score"/>
</group>
<separator string="Comments:" colspan="4"/>
<field name="comment" colspan="4" nolabel="1"/>
@@ -147,18 +147,18 @@
<field name="model">idea.vote</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Ideas vote">
<group col="10" colspan="4">
<field name="idea_id" widget="selection"/>
<field name="user_id" widget="selection"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="14">
<filter string="Vote date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Idea" icon="terp-idea" domain="[]" context="{'group_by':'idea_id'}"/>
<filter string="User" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
</group>
</search>
<search string="Ideas vote">
<group col="10" colspan="4">
<field name="idea_id" widget="selection"/>
<field name="user_id"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="14">
<filter string="Vote date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Idea" icon="terp-idea" domain="[]" context="{'group_by':'idea_id'}"/>
<filter string="User" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
</group>
</search>
</field>
</record>
@@ -270,7 +270,7 @@
<separator orientation="vertical"/>
<field name="title" select="1"/>
<field name="category_id" select="1"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="12" col="10">
@@ -1,2 +1,2 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_knowledge_installer","knowledge.installer","model_knowledge_installer",base.group_user,1,0,0,0
"access_knowledge_installer","knowledge.installer","model_knowledge_installer",base.group_system,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_knowledge_installer knowledge.installer model_knowledge_installer base.group_user base.group_system 1 0 1 0 1 0 1
+5 -5
View File
@@ -1,6 +1,6 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_vat_listing_clients","vat.listing.clients","model_vat_listing_clients",,1,1,1,1
"access_partner_vat_intra","partner.vat.intra","model_partner_vat_intra",,1,1,1,1
"access_partner_vat","partner.vat","model_partner_vat",,1,1,1,1
"access_partner_vat_list","partner.vat.list","model_partner_vat_list",,1,1,1,1
"access_l1on_be_vat_declaration","l1on_be.vat.declaration","model_l1on_be_vat_declaration",,1,1,1,1
"access_vat_listing_clients","vat.listing.clients","model_vat_listing_clients",account.group_account_user,1,1,1,1
"access_partner_vat_intra","partner.vat.intra","model_partner_vat_intra",account.group_account_user,1,1,1,1
"access_partner_vat","partner.vat","model_partner_vat",account.group_account_user,1,1,1,1
"access_partner_vat_list","partner.vat.list","model_partner_vat_list",account.group_account_user,1,1,1,1
"access_l1on_be_vat_declaration","l1on_be.vat.declaration","model_l1on_be_vat_declaration",account.group_account_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_vat_listing_clients vat.listing.clients model_vat_listing_clients account.group_account_user 1 1 1 1
3 access_partner_vat_intra partner.vat.intra model_partner_vat_intra account.group_account_user 1 1 1 1
4 access_partner_vat partner.vat model_partner_vat account.group_account_user 1 1 1 1
5 access_partner_vat_list partner.vat.list model_partner_vat_list account.group_account_user 1 1 1 1
6 access_l1on_be_vat_declaration l1on_be.vat.declaration model_l1on_be_vat_declaration account.group_account_user 1 1 1 1
+5 -24
View File
@@ -21,26 +21,8 @@
from osv import osv, fields
import time
import base64
import base64
class one2many_domain(fields.one2many):
def set(self, cr, obj, id, field, values, user=None, context=None):
if not values:
return
return super(one2many_domain, self).set(cr, obj, id, field, values,
user=user, context=context)
def get(self, cr, obj, ids, name, user=None, offset=0, context=None, values=None):
if context is None:
context = {}
res = {}
msg_obj = obj.pool.get('mailgate.message')
for thread in obj.browse(cr, user, ids, context=context):
final = msg_obj.search(cr, user, self._domain + [('thread_id', '=', thread.id)], context=context)
res[thread.id] = final
return res
class mailgate_thread(osv.osv):
'''
Mailgateway Thread
@@ -51,11 +33,11 @@ class mailgate_thread(osv.osv):
_columns = {
'thread': fields.char('Thread', size=32, required=False),
'message_ids': one2many_domain('mailgate.message', 'thread_id', 'Messages', domain=[('history', '=', True)], required=False),
'log_ids': one2many_domain('mailgate.message', 'thread_id', 'Logs', domain=[('history', '=', False)], required=False),
'message_ids': fields.one2many('mailgate.message', 'thread_id', 'Messages', domain=[('history', '=', True)], required=False),
'log_ids': fields.one2many('mailgate.message', 'thread_id', 'Logs', domain=[('history', '=', False)], required=False),
}
def __history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=None, context=None):
def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=None, context=None):
"""
@param self: The object pointer
@param cr: the current row, from the database cursor,
@@ -118,8 +100,7 @@ class mailgate_thread(osv.osv):
res = obj.create(cr, uid, data, context)
return True
_history = __history
history = __history
__history = history = _history
mailgate_thread()
@@ -164,7 +164,6 @@ class email_parser(object):
return s.decode('latin1')
def _decode_header(self, text):
from email.Header import decode_header
if text:
text = decode_header(text.replace('\r', ''))
return ''.join(map(lambda x:self._to_decode(x[0], [x[1]]), text or []))
@@ -467,8 +467,8 @@ class marketing_campaign_workitem(osv.osv):
else:
# manual states are not processed automatically
workitem_ids = []
if workitem_ids:
self.process(cr, uid, workitem_ids, context)
if workitem_ids:
self.process(cr, uid, workitem_ids, context)
marketing_campaign_workitem()
+19 -19
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-06-10 09:51+0000\n"
"PO-Revision-Date: 2010-06-11 10:07+0000\n"
"Last-Translator: vir (Open ERP) <vir@tinyerp.com>\n"
"Language-Team: Hindi <hi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-06-11 03:42+0000\n"
"X-Launchpad-Export-Date: 2010-06-12 03:44+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp
@@ -460,7 +460,7 @@ msgstr ""
#. module: mrp
#: field:mrp.bom.revision,author_id:0
msgid "Author"
msgstr ""
msgstr "लेखक"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockproduct0
@@ -491,7 +491,7 @@ msgstr ""
#. module: mrp
#: field:mrp.procurement,message:0
msgid "Latest error"
msgstr ""
msgstr "नवीनतम त्रुटि"
#. module: mrp
#: field:mrp.bom,bom_lines:0
@@ -511,7 +511,7 @@ msgstr ""
#. module: mrp
#: view:mrp.production:0
msgid "Consumed Products"
msgstr ""
msgstr "खपत उत्पाद"
#. module: mrp
#: constraint:mrp.bom:0
@@ -538,12 +538,12 @@ msgstr ""
#. module: mrp
#: selection:mrp.procurement,state:0
msgid "Ready"
msgstr ""
msgstr "तैयार"
#. module: mrp
#: view:mrp.routing:0
msgid "Workcenter Operations"
msgstr ""
msgstr "Workcenter संचालन"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action2_gantt
@@ -564,7 +564,7 @@ msgstr ""
#. module: mrp
#: field:mrp.production,date_finnished:0
msgid "End Date"
msgstr ""
msgstr "समाप्ति तिथि"
#. module: mrp
#: help:mrp.production,picking_id:0
@@ -576,7 +576,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.production,state:0
msgid "In Production"
msgstr ""
msgstr "उत्पादन में"
#. module: mrp
#: field:stock.warehouse.orderpoint,qty_multiple:0
@@ -600,12 +600,12 @@ msgstr ""
#. module: mrp
#: wizard_button:mrp.workcenter.load,init,report:0
msgid "Print"
msgstr ""
msgstr "प्रिंट"
#. module: mrp
#: field:mrp.workcenter,type:0
msgid "Type"
msgstr ""
msgstr "प्रकार"
#. module: mrp
#: model:process.node,note:mrp.process_node_stockproduct0
@@ -616,7 +616,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.workcenter.load,init,time_unit:0
msgid "Per month"
msgstr ""
msgstr "प्रति माह"
#. module: mrp
#: field:mrp.procurement,product_uos_qty:0
@@ -626,18 +626,18 @@ msgstr ""
#. module: mrp
#: rml:bom.structure:0
msgid "Product Name"
msgstr ""
msgstr "वस्तु का नाम"
#. module: mrp
#: rml:mrp.production.order:0
msgid "Printing date"
msgstr ""
msgstr "मुद्रण तारीख"
#. module: mrp
#: model:process.node,name:mrp.process_node_orderrfq0
#: model:process.node,name:mrp.process_node_rfq0
msgid "RFQ"
msgstr ""
msgstr "कोटेशन के लिए अनुरोध"
#. module: mrp
#: field:mrp.bom,revision_type:0
@@ -657,7 +657,7 @@ msgstr ""
#. module: mrp
#: field:stock.warehouse.orderpoint,product_min_qty:0
msgid "Min Quantity"
msgstr ""
msgstr "न्यूनतम मात्रा"
#. module: mrp
#: view:mrp.production:0
@@ -678,7 +678,7 @@ msgstr ""
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicemts0
msgid "If Product type is service and procure method is Make to stock"
msgstr ""
msgstr "अगर उत्पाद प्रकार सेवा है और खरीद विधि है स्टॉक बनाने के लिए"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct0
@@ -689,7 +689,7 @@ msgstr ""
#. module: mrp
#: field:res.company,security_lead:0
msgid "Security Days"
msgstr ""
msgstr "सुरक्षा दिवस"
#. module: mrp
#: view:mrp.production:0
@@ -715,7 +715,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.procurement,state:0
msgid "Exception"
msgstr ""
msgstr "अपवाद"
#. module: mrp
#: wizard_view:product.product.procurement,init:0
+30 -30
View File
@@ -41,7 +41,7 @@
id="menu_mrp_configuration"
name="Configuration"
parent="base.menu_mrp_root"
groups="base.group_extended"
groups="group_mrp_manager"
sequence="50" />
<record id="mrp_property_tree_view" model="ir.ui.view">
@@ -250,7 +250,7 @@
<newline/>
<field name="product_uom"/>
<field name="product_qty"/>
<field name="routing_id" widget="selection" groups="base.group_extended"/>
<field name="routing_id" groups="base.group_extended"/>
<newline/>
<field name="product_uos" groups="product.group_uos,base.group_extended" widget="selection"/>
<field name="product_uos_qty" groups="product.group_uos,base.group_extended" />
@@ -283,7 +283,7 @@
</field>
</record>
<record id="view_mrp_bom_filter" model="ir.ui.view">
<record id="view_mrp_bom_filter" model="ir.ui.view">
<field name="name">mrp.bom.select</field>
<field name="model">mrp.bom</field>
<field name="type">search</field>
@@ -291,9 +291,9 @@
<search string="Search Bill Of Material">
<group col='4' colspan='4'>
<field name="name"/>
<field name="code" string="Reference"/>
<field name="product_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="code" string="Reference"/>
<field name="product_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand="0" string="Group By" colspan="4" col="8" groups="base.group_extended">
@@ -402,26 +402,26 @@
</field>
</record>
<!--
<!--
Procurement
-->
<menuitem action="procurement.procurement_action" id="menu_mrp_procurement_action"
parent="mrp.menu_mrp_manufacturing" sequence="2" />
<menuitem action="procurement.procurement_action" id="menu_mrp_procurement_action"
parent="mrp.menu_mrp_manufacturing" sequence="2" />
<!-- <menuitem action="procurement.procurement_action5" id="menu_mrp_procurement_exception_action"-->
<!-- parent="mrp.menu_mrp_control" sequence="1" />-->
<!-- parent="mrp.menu_mrp_control" sequence="1" />-->
<menuitem id="menu_mrp_scheduler" name="Schedulers" parent="base.menu_mrp_root" sequence="4"/>
<menuitem id="menu_mrp_scheduler" name="Schedulers" parent="base.menu_mrp_root" sequence="4"/>
<menuitem action="procurement.action_compute_schedulers" id="mrp_Sched_all" parent="mrp.menu_mrp_scheduler" sequence="90"/>
<!--
Order Point
-->
<menuitem action="procurement.action_orderpoint_form" id="menu_action_orderpoint_form" parent="mrp.menu_mrp_reordering"/>
<!--
Order Point
-->
<menuitem action="procurement.action_orderpoint_form" id="menu_action_orderpoint_form" parent="mrp.menu_mrp_reordering"/>
<!--
Production Management
-->
Production Management
-->
<record id="mrp_production_tree_view" model="ir.ui.view">
<field name="name">mrp.production.tree</field>
@@ -515,9 +515,9 @@
<notebook colspan="4">
<page string="Consumed Products">
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]" on_change="bom_id_change(bom_id)" />
<field name="routing_id" groups="base.group_extended" select="1" widget="selection"/>
<field name="location_src_id" domain="[('usage','=','internal')]" widget="selection" on_change="location_id_change(location_src_id,location_dest_id)"/>
<field name="location_dest_id" domain="[('usage','=','internal')]" widget="selection"/>
<field name="routing_id" groups="base.group_extended" select="1"/>
<field name="location_src_id" domain="[('usage','=','internal')]" on_change="location_id_change(location_src_id,location_dest_id)"/>
<field name="location_dest_id" domain="[('usage','=','internal')]"/>
<separator string="" colspan="4"/>
<field colspan="2" name="move_lines" nolabel="1" widget="one2many_list"
@@ -807,19 +807,19 @@
</record>
<!--
Procurements
Procurements
-->
<record id="view_procurement_form_inherit" model="ir.ui.view">
<field name="name">procurement.order.form.inherit</field>
<field name="model">procurement.order</field>
<field name="inherit_id" ref="procurement.procurement_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='move_id']" position="before">
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]"/>
</xpath>
</field>
<field name="name">procurement.order.form.inherit</field>
<field name="model">procurement.order</field>
<field name="inherit_id" ref="procurement.procurement_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='move_id']" position="before">
<field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]"/>
</xpath>
</field>
</record>
<act_window
+1 -1
View File
@@ -24,7 +24,7 @@
"access_hr_timesheet_group_mrp_worker","resource.calendar mrp_worker","resource.model_resource_calendar","mrp.group_mrp_user",1,0,0,0
"access_procurement_stock_worker","procurement.order stock_worker","model_procurement_order","stock.group_stock_user",1,1,1,1
"access_mrp_production_stock_worker","mrp.production stock_worker","model_mrp_production","stock.group_stock_user",1,0,0,0
"access_mrp_installer","mrp.installer","model_mrp_installer","mrp.group_mrp_user",1,0,0,0
"access_mrp_installer","mrp.installer","model_mrp_installer","base.group_system",1,1,1,1
"access_mrp_product_produce","mrp.product.produce","model_mrp_product_produce","mrp.group_mrp_user",1,0,0,0
"access_mrp_change_production_qty","change.production.qty","model_change_production_qty","mrp.group_mrp_user",1,0,0,0
"access_mrp_production_order","mrp.production.order","model_mrp_production_order","mrp.group_mrp_user",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
24 access_hr_timesheet_group_mrp_worker resource.calendar mrp_worker resource.model_resource_calendar mrp.group_mrp_user 1 0 0 0
25 access_procurement_stock_worker procurement.order stock_worker model_procurement_order stock.group_stock_user 1 1 1 1
26 access_mrp_production_stock_worker mrp.production stock_worker model_mrp_production stock.group_stock_user 1 0 0 0
27 access_mrp_installer mrp.installer model_mrp_installer mrp.group_mrp_user base.group_system 1 0 1 0 1 0 1
28 access_mrp_product_produce mrp.product.produce model_mrp_product_produce mrp.group_mrp_user 1 0 0 0
29 access_mrp_change_production_qty change.production.qty model_change_production_qty mrp.group_mrp_user 1 0 0 0
30 access_mrp_production_order mrp.production.order model_mrp_production_order mrp.group_mrp_user 1 0 0 0
+22
View File
@@ -0,0 +1,22 @@
# -*- 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 partner_geo_assign
+38
View File
@@ -0,0 +1,38 @@
# -*- 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/>.
#
##############################################################################
{
'name': 'Partner Geo-Localisation',
'version': '1.0',
'category': 'Generic Modules/Production',
'description': """
This is the module used by OpenERP SA to redirect customers to his partners,
based on geolocalisation.
""",
'author': 'OpenERP SA',
'depends': ['crm'],
'update_xml': ['res_partner_view.xml'],
'demo_xml': [],
'installable': True,
'active': False,
'certificate': False,
}
@@ -0,0 +1,113 @@
# -*- 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/>.
#
##############################################################################
from osv import osv
from osv import fields
import urllib,re
import random, time
def geo_find(addr):
import urllib,re
regex = '<coordinates>([+-]?[0-9\.]+),([+-]?[0-9\.]+),([+-]?[0-9\.]+)</coordinates>'
url = 'http://maps.google.com/maps/geo?q=' + urllib.quote(addr) + '&output=xml&oe=utf8&sensor=false'
xml = urllib.urlopen(url).read()
if '<error>' in xml:
print 'Error'
return None
result = re.search(regex, xml, re.M|re.I)
if not result:
print 'No Regex', xml
return None
return float(result.group(1)),float(result.group(2))
class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {
'partner_latitude': fields.float('Geo Latitude', digits=(16,2)),
'partner_longitude': fields.float('Geo Longitude', digits=(16,2)),
'partner_weight': fields.integer('Weight',
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)"),
}
_defaults = {
'partner_weight': lambda *args: 0
}
def geo_localize(self, cr, uid, ids, context=None):
regex = '<coordinates>([+-]?[0-9\.]+),([+-]?[0-9\.]+),([+-]?[0-9\.]+)</coordinates>'
for partner in self.browse(cr, uid, ids, context=context):
part = partner.address[0]
addr = ', '.join(filter(None, [part.street, part.street2, (part.zip or '')+' '+(part.city or ''), part.state_id and part.state_id.name, part.country_id and part.country_id.name]))
result = geo_find(addr)
if result:
print 'Write', {
'partner_latitude': result[0],
'partner_longitude': result[1]
}
self.write(cr, uid, [partner.id], {
'partner_latitude': result[0],
'partner_longitude': result[1]
}, context=context)
return True
res_partner()
class crm_lead(osv.osv):
_inherit = "crm.lead"
_columns = {
'partner_latitude': fields.float('Geo Latitude', digits=(16,2)),
'partner_longitude': fields.float('Geo Longitude', digits=(16,2)),
'partner_assigned_id': fields.many2one('res.partner','Assigned Partner')
'date_assign': fields.date('Assignation Date')
}
def assign_partner(self, cr, uid, ids, context=None):
for part in self.browse(cr, uid, ids, context=context):
if not part.country_id:
continue
addr = ', '.join(filter(None, [part.street, part.street2, (part.zip or '')+' '+(part.city or ''), part.state_id and part.state_id.name, part.country_id and part.country_id.name]))
result = geo_find(addr)
if result:
self.write(cr, uid, [part.id], {
'partner_latitude': result[0],
'partner_longitude': result[1]
}, context=context)
part_ids = self.pool.get('res.partner').search(cr, uid, [
('partner_weight','>',0),
('partner_latitude','>',result[0]-2), ('partner_latitude','<',result[0]+2),
('partner_longitude','>',result[1]-1.5), ('partner_longitude','<',result[1]+1.5)
], context=context)
if not part_ids:
part_ids = self.pool.get('res.partner').search(cr, uid, [
('partner_weight','>',0),
('partner_latitude','>',result[0]-4), ('partner_latitude','<',result[0]+4),
('partner_longitude','>',result[1]-3), ('partner_longitude','<',result[1]+3)
], context=context)
total = 0
toassign = []
for part2 in self.pool.get('res.partner').browse(cr, uid, part_ids, context=context):
total += part2.partner_weight
toassign.append( (part2.id, total) )
mypartner = random.randint(0,total)
for t in toassign:
if mypartner<=t[1]:
self.write(cr, uid, [part.id], {'partner_assigned_id': t[0], 'date_assign': time.strftime('%Y-%m-%d')}, context=context)
break
return True
crm_lead()
@@ -0,0 +1,45 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="view_crm_opportunity_geo_assign_form" model="ir.ui.view">
<field name="name">crm.lead.geo_assign.inherit</field>
<field name="model">crm.lead</field>
<field name="type">form</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<xpath expr="//notebook[last()]" position="inside">
<page string="Partner Assignation">
<field name="partner_assigned_id"/>
<label string="" colspan="1"/>
<button string="Geo Assign" name="assign_partner" type="object"/>
<newline/>
<field name="partner_latitude"/>
<field name="partner_longitude"/>
</page>
</xpath>
</field>
</record>
<record id="view_crm_partner_geo_form" model="ir.ui.view">
<field name="name">res.partner.geo.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook[last()]" position="inside">
<page string="Partner Association">
<field name="partner_weight"/>
<label string="" colspan="1"/>
<button string="Geo Localize" name="geo_localize" icon="gtk-apply" type="object"/>
<newline/>
<field name="partner_latitude"/>
<field name="partner_longitude"/>
<field name="date_assign"/>
</page>
</xpath>
</field>
</record>
</data>
</openerp>
@@ -1,32 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record id="second_partner" model="res.partner">
<field name="name">OpenERP Editor</field>
</record>
<record id="second_company" model="res.company">
<field name="name">OpenERP Editor</field>
<field name="partner_id" ref="base.main_partner"/>
<field name="parent_id" ref="base.main_company"/>
<field name="rml_header1">Free Business Solutions</field>
<field name="rml_footer1">Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="ter_partner" model="res.partner">
<field name="name">OpenERP Integrator</field>
</record>
<record id="ter_company" model="res.company">
<field name="name">OpenERP Integrator</field>
<field name="partner_id" ref="base.main_partner"/>
<field name="parent_id" ref="base.main_company"/>
<field name="rml_header1">Free Business Solutions</field>
<field name="rml_footer1">Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701</field>
<field name="currency_id" ref="base.EUR"/>
</record>
</data>
</openerp>
@@ -1,41 +1,5 @@
<?xml version="1.0"?>
<openerp>
<data>
<record forcecreate="True" id="property_stock_account_output_prd_multi" model="ir.property">
<field name="name">property_stock_account_output</field>
<field name="fields_id" search="[('model','=','product.template'),('name','=','property_stock_account_output')]"/>
<field eval="False" name="value"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record forcecreate="True" id="property_stock_account_input_prd_multi" model="ir.property">
<field name="name">property_stock_account_input</field>
<field name="fields_id" search="[('model','=','product.template'),('name','=','property_stock_account_input')]"/>
<field eval="False" name="value"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record forcecreate="True" id="property_stock_account_output_categ_multi" model="ir.property">
<field name="name">property_stock_account_output_categ</field>
<field name="fields_id" search="[('model','=','product.category'),('name','=','property_stock_account_output_categ')]"/>
<field eval="False" name="value"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record forcecreate="True" id="property_stock_account_input_categ_multi" model="ir.property">
<field name="name">property_stock_account_input_categ</field>
<field name="fields_id" search="[('model','=','product.category'),('name','=','property_stock_account_input_categ')]"/>
<field eval="False" name="value"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record id="ir_property_propertystockjournal0" model="ir.property">
<field eval="&quot;&quot;&quot;property_stock_journal&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="&quot;&quot;&quot;account.journal,16&quot;&quot;&quot;" name="value"/>
<field name="fields_id" ref="stock.field_product_category_property_stock_journal"/>
</record>
</data>
<data>
<record id="stock.property_stock_journal" model="ir.property">
<field name="company_id" ref="base.main_company"/>
</record>
</data>
</openerp>
+6 -6
View File
@@ -193,10 +193,10 @@ class pos_order(osv.osv):
res[order.id]['amount_tax'])
else:
res[order.id]['amount_tax'] = reduce(lambda x, y: x+round(y['amount'], 2),
tax_obj.compute(cr, uid, line.product_id.taxes_id,
tax_obj.compute_all(cr, uid, line.product_id.taxes_id,
line.price_unit * \
(1-(line.discount or 0.0)/100.0), line.qty),
res[order.id]['amount_tax'])
(1-(line.discount or 0.0)/100.0), line.qty)['taxes'],
res[order.id]['amount_tax'])
return res
@@ -789,8 +789,8 @@ class pos_order(osv.osv):
tax_amount = 0
taxes = [t for t in line.product_id.taxes_id]
if order.price_type=='tax_excluded':
computed_taxes = account_tax_obj.compute(
cr, uid, taxes, line.price_unit, line.qty)
computed_taxes = account_tax_obj.compute_all(
cr, uid, taxes, line.price_unit, line.qty)['taxes']
else:
computed_taxes = account_tax_obj.compute_inv(
cr, uid, taxes, line.price_unit, line.qty)
@@ -1058,7 +1058,7 @@ class pos_order_line(osv.osv):
for line in self.browse(cr, uid, ids):
tax_amount = 0.0
taxes = [t for t in line.product_id.taxes_id]
computed_taxes = account_tax_obj.compute(cr, uid, taxes, line.price_unit, line.qty)
computed_taxes = account_tax_obj.compute_all(cr, uid, taxes, line.price_unit, line.qty)['taxes']
for tax in computed_taxes:
tax_amount += tax['amount']
price = self.price_by_product(cr, uid, ids, line.order_id.pricelist_id.id, line.product_id.id, line.qty, line.order_id.partner_id.id)
-52
View File
@@ -1,58 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="cat1" model="product.category">
<field name="name">Paiement</field>
</record>
<record id="advance_product_pos" model="product.product">
<field name="name">Acompte</field>
<field name="categ_id" ref="cat1"/>
<field name="type">service</field>
<field name="list_price">0.0</field>
<field name="standard_price">0.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
</record>
<record id="advance_product_pos2" model="product.product">
<field name="name">Reparation</field>
<field name="categ_id" ref="cat1"/>
<field name="type">service</field>
<field name="list_price">100.0</field>
<field name="standard_price">100.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
</record>
<record id="product_category_voucher" model="product.category">
<field name="name">Bon</field>
</record>
<record id="product_product_giftvoucher" model="product.product">
<field name="default_code">GIFT</field>
<field name="supply_method">produce</field>
<field name="list_price">1.0</field>
<field name="standard_price">1.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
<field name="sale_delay">0.0</field>
<field name="name">Cheque cadeau</field>
<field name="categ_id" ref="product_category_voucher"/>
</record>
<record id="product_product_shipping_cost" model="product.product">
<field name="default_code">PORT01</field>
<field name="supply_method">produce</field>
<field name="list_price">1.0</field>
<field name="standard_price">1.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
<field name="sale_delay">0.0</field>
<field name="name">Shipping cost</field>
<field name="categ_id" ref="product_category_voucher"/>
<field name="type">service</field>
<field name="produce_delay">0</field>
<field name="purchase_ok" eval="False" />
</record>
</data>
</openerp>
+1 -185
View File
@@ -1,190 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<data >
<record id="res_partner_tinyshop1" model="res.partner">
<field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
</record>
<record id="res_company_tinyshop1" model="res.company">
<field name="currency_id" ref="base.EUR"/>
<field eval="1.0" name="po_lead"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field eval="1.0" name="manufacturing_lead"/>
<field name="parent_id" ref="base.main_company"/>
<field eval="80.0" name="schedule_range"/>
<field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
</record>
<record id="res_company_tinyshop0" model="res.company">
<field name="currency_id" ref="base.EUR"/>
<field eval="1.0" name="po_lead"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field eval="1.0" name="manufacturing_lead"/>
<field name="parent_id" ref="base.main_company"/>
<field eval="80.0" name="schedule_range"/>
<field eval="&quot;&quot;&quot;Shop 2&quot;&quot;&quot;" name="name"/>
</record>
<record id="res_company_shop0" model="res.company">
<field eval="5.0" name="security_lead"/>
<field name="currency_id" ref="base.EUR"/>
<field eval="1.0" name="po_lead"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field eval="1.0" name="manufacturing_lead"/>
<field name="parent_id" ref="base.main_company"/>
<field eval="80.0" name="schedule_range"/>
<field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
</record>
</data>
<data noupdate="1">
<record id="res_users_sofia0" model="res.users">
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
<field eval="[(6,0,[ref('base.group_user'),ref('stock.group_stock_user')])]" name="groups_id"/>
<field eval="[(6,0,[])]" name="roles_id"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;shop3&quot;&quot;&quot;" name="password"/>
<field eval="&quot;&quot;&quot;en_US&quot;&quot;&quot;" name="context_lang"/>
<field eval="&quot;&quot;&quot;Shop 3&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_shop0"/>
<field name="company_ids" eval="[(4, ref('res_company_shop0'))]"/>
<field eval="&quot;&quot;&quot;shop3&quot;&quot;&quot;" name="login"/>
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
</record>
</data>
<data>
<record id="pos_order_pos0" model="pos.order">
<field name="sale_journal" ref="account.sales_journal"/>
<field eval="&quot;&quot;&quot;2009-11-29&quot;&quot;&quot;" name="date_validity"/>
<field name="shop_id" ref="sale.shop"/>
<field eval="&quot;&quot;&quot;2009-05-29&quot;&quot;&quot;" name="date_order"/>
<field name="partner_id" ref="base.res_partner_5"/>
<field name="user_salesman_id" ref="base.user_root"/>
<field name="sale_manager" ref="base.user_root"/>
<field eval="&quot;&quot;&quot;POS/001&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="0" name="invoice_wanted"/>
<field eval="&quot;&quot;&quot;tax_excluded&quot;&quot;&quot;" name="price_type"/>
<field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
<field name="pricelist_id" ref="product.list0"/>
</record>
<record id="pos_order_line_orderline0" model="pos.order.line">
<field eval="0.5" name="discount"/>
<field name="product_id" ref="product.product_product_pc2"/>
<field eval="&quot;&quot;&quot;Order Line/01&quot;&quot;&quot;" name="name"/>
<field name="order_id" ref="pos_order_pos0"/>
<field eval="750.0" name="price_unit"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="5.0" name="qty"/>
</record>
<record id="pos_order_line_orderline1" model="pos.order.line">
<field eval="1.0" name="discount"/>
<field name="product_id" ref="product.product_product_cpu1"/>
<field eval="&quot;&quot;&quot;Order Line/02&quot;&quot;&quot;" name="name"/>
<field name="order_id" ref="pos_order_pos0"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="75.0" name="price_unit"/>
<field eval="1" name="qty"/>
</record>
</data>
<data>
<record id="pos_order_pos1" model="pos.order">
<field name="sale_journal" ref="account.sales_journal"/>
<field eval="&quot;&quot;&quot;2009-11-29&quot;&quot;&quot;" name="date_validity"/>
<field name="shop_id" ref="sale.shop"/>
<field eval="&quot;&quot;&quot;2009-05-29&quot;&quot;&quot;" name="date_order"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="user_salesman_id" ref="res_users_sofia0"/>
<field name="sale_manager" ref="base.user_root"/>
<field eval="&quot;&quot;&quot;POS/002&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="&quot;&quot;&quot;tax_excluded&quot;&quot;&quot;" name="price_type"/>
<field eval="0" name="invoice_wanted"/>
<field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
<field name="pricelist_id" ref="product.list0"/>
</record>
<!--
Resource: pos.order.line
-->
<record id="pos_order_line_orderline2" model="pos.order.line">
<field eval="1.0" name="discount"/>
<field name="product_id" ref="product.product_product_hdd1"/>
<field eval="&quot;&quot;&quot;Order Line/04&quot;&quot;&quot;" name="name"/>
<field name="order_id" ref="pos_order_pos1"/>
<field eval="50.0" name="price_unit"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="10.0" name="qty"/>
</record>
<function
eval="('default',False,'pricelist_id', [('pos.order', False)], ref('product.list0'), True, False, False, False, True)"
id="pos_pricelist_set"
model="ir.values"
name="set"/>
<function
eval="('default',False,'shop_id', [('pos.order', False)], ref('sale.shop'), True, False, False, False, True)"
id="pos_shop_set"
model="ir.values"
name="set"/>
<record id="pos_order_posadvance" model="pos.order">
<field eval="&quot;&quot;&quot;tax_excluded&quot;&quot;&quot;" name="price_type"/>
<field name="sale_journal" ref="account.sales_journal"/>
<field eval="&quot;&quot;&quot;2009-11-29&quot;&quot;&quot;" name="date_validity"/>
<field eval="&quot;&quot;&quot;2009-05-29&quot;&quot;&quot;" name="date_order"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field name="user_salesman_id" ref="res_users_sofia0"/>
<field name="sale_manager" ref="base.user_root"/>
<field eval="&quot;&quot;&quot;POS/0012&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="0" name="invoice_wanted"/>
<field eval="&quot;&quot;&quot;draft&quot;&quot;&quot;" name="state"/>
<field name="pricelist_id" ref="product.list0"/>
<field name="shop_id" ref="sale.shop"/>
</record>
<record id="data_fiscalyear" model="account.fiscalyear">
<field eval="'Fiscal Year Shop '+time.strftime('%Y')" name="name"/>
<field eval="'FY'+time.strftime('%Y')" name="code"/>
<field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
<field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record id="period_j6" model="account.period">
<field eval="'Jun.'+time.strftime('%Y')" name="name"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="True" name="special"/>
<field eval="time.strftime('%Y')+'-06-01'" name="date_start"/>
<field eval="time.strftime('%Y')+'-06-30'" name="date_stop"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record id="period_j7" model="account.period">
<field eval="'Jul.'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-07-01'" name="date_start"/>
<field eval="time.strftime('%Y')+'-07-31'" name="date_stop"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record id="a_recv" model="account.account">
<field name="name">Main Receivable</field>
<field name="code">x 40000</field>
<field name="type">receivable</field>
<field name="user_type" ref="account.account_type_asset"/>
<field eval="ref('account.minimal_0')" name="parent_id"/>
<field name="company_id" ref="base.main_company"/>
<field eval="True" name="reconcile"/>
<field name="company_id" ref="res_company_shop0"/>
<field name="user_type" ref="account.account_type_income"/>
<field name="note">
This chart of account is used for automated testing purpose. It is installed
only if you selected demo data during your database creation. Modules can
do black box testing on entries on this chart of account, without modifying
your own chart of account.
</field>
</record>
</data>
</openerp>
+99 -99
View File
@@ -1,112 +1,112 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<openerp>
<data>
<data>
<report
id="pos_invoice_report"
string="Invoice"
model="pos.order"
name="pos.invoice"
auto="False"
multi="True"
rml="account/report/invoice.rml"
/>
<report
id="pos_invoice_report"
string="Invoice"
model="pos.order"
name="pos.invoice"
auto="False"
multi="True"
rml="account/report/invoice.rml"
/>
<report
id="pos_lines_detail"
string="Details of Sales"
model="pos.order"
name="pos.details"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_details.rml"
/>
<report
id="pos_lines_detail"
string="Details of Sales"
model="pos.order"
name="pos.details"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_details.rml"
/>
<report
id="pos_details_summary"
string="Sales (summary)"
model="pos.order"
name="pos.details_summary"
auto="False"
multi="True"
rml="point_of_sale/report/pos_details_summary.rml"
/>
<report
id="pos_details_summary"
string="Sales (summary)"
model="pos.order"
name="pos.details_summary"
auto="False"
multi="True"
rml="point_of_sale/report/pos_details_summary.rml"
/>
<report
id="pos_lines_report"
string="Pos Lines"
model="pos.order"
name="pos.lines"
auto="False"
multi="True"
rml="point_of_sale/report/pos_lines.rml"
/>
<report
id="pos_lines_report"
string="Pos Lines"
model="pos.order"
name="pos.lines"
auto="False"
multi="True"
rml="point_of_sale/report/pos_lines.rml"
/>
<report
id="pos_payment_report"
string="Payment Report For Sale"
model="pos.order"
name="pos.payment.report"
auto="False"
multi="True"
menu="True"
rml="point_of_sale/report/pos_payment_report.rml"
/>
<report
id="pos_payment_report"
string="Payment Report For Sale"
model="pos.order"
name="pos.payment.report"
auto="False"
multi="True"
menu="True"
rml="point_of_sale/report/pos_payment_report.rml"
/>
<report
id="pos_sales_user"
string="Sales Report"
model="pos.order"
name="pos.sales.user"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_sales_user.rml"
/>
<report
id="pos_sales_user"
string="Sales Report"
model="pos.order"
name="pos.sales.user"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_sales_user.rml"
/>
<report
id="pos_sales_user_today"
string="Today's Sales"
model="pos.order"
name="pos.sales.user.today"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_sales_user_today.rml"
/>
<report
id="pos_sales_user_today"
string="Today's Sales"
model="pos.order"
name="pos.sales.user.today"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_sales_user_today.rml"
/>
<report
id="pos_payment_report_date"
string="Payment Report"
model="pos.order"
name="pos.payment.report.date"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_payment_report_date.rml"
/>
<report
id="pos_payment_report_user"
string="Today's Payment By User"
model="pos.order"
name="pos.payment.report.user"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_payment_report_user.rml"
/>
<report
id="pos_sales_user_today_current_user"
string="Today's Sales by Current User"
model="pos.order"
name="pos.sales.user.today.current.user"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_sales_user_today_current_user.rml"
/>
<report
id="pos_payment_report_date"
string="Payment Report"
model="pos.order"
name="pos.payment.report.date"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_payment_report_date.rml"
/>
<report
id="pos_payment_report_user"
string="Today's Payment By User"
model="pos.order"
name="pos.payment.report.user"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_payment_report_user.rml"
/>
<report
id="pos_sales_user_today_current_user"
string="Today's Sales by Current User"
model="pos.order"
name="pos.sales.user.today.current.user"
auto="False"
multi="True"
menu="False"
rml="point_of_sale/report/pos_sales_user_today_current_user.rml"
/>
</data>
</data>
</openerp>
+33 -33
View File
@@ -2,42 +2,42 @@
<openerp>
<data noupdate="1">
#
# Sequences for pos.order
#
#
# Sequences for pos.order
#
<record model="ir.sequence.type" id="seq_type_pos_order">
<field name="name">POS Order</field>
<field name="code">pos.order</field>
</record>
<record model="ir.sequence" id="seq_pos_order">
<field name="name">POS Order</field>
<field name="code">pos.order</field>
<field name="prefix">POS/</field>
<field name="padding">3</field>
</record>
<record model="ir.sequence.type" id="seq_type_pos_order">
<field name="name">POS Order</field>
<field name="code">pos.order</field>
</record>
<record model="ir.sequence" id="seq_pos_order">
<field name="name">POS Order</field>
<field name="code">pos.order</field>
<field name="prefix">POS/</field>
<field name="padding">3</field>
</record>
<record model="ir.sequence.type" id="seq_type_pos_payment">
<field name="name">POS Payment</field>
<field name="code">pos.payment</field>
</record>
<record model="ir.sequence" id="seq_pos_payment">
<field name="name">POS Payment</field>
<field name="code">pos.payment</field>
<field name="prefix">Payment/</field>
<field name="padding">2</field>
</record>
<record model="ir.sequence.type" id="seq_type_pos_payment">
<field name="name">POS Payment</field>
<field name="code">pos.payment</field>
</record>
<record model="ir.sequence" id="seq_pos_payment">
<field name="name">POS Payment</field>
<field name="code">pos.payment</field>
<field name="prefix">Payment/</field>
<field name="padding">2</field>
</record>
<record model="ir.sequence.type" id="seq_type_pos_order_line">
<field name="name">POS order line</field>
<field name="code">pos.order.line</field>
</record>
<record model="ir.sequence" id="seq_pos_order_line">
<field name="name">POS order line</field>
<field name="code">pos.order.line</field>
<field name="prefix">Order Line/</field>
<field name="padding">2</field>
</record>
<record model="ir.sequence.type" id="seq_type_pos_order_line">
<field name="name">POS order line</field>
<field name="code">pos.order.line</field>
</record>
<record model="ir.sequence" id="seq_pos_order_line">
<field name="name">POS order line</field>
<field name="code">pos.order.line</field>
<field name="prefix">Order Line/</field>
<field name="padding">2</field>
</record>
</data>
</openerp>
+16 -14
View File
@@ -1,6 +1,9 @@
<?xml version="1.0"?>
<openerp>
<data>
<menuitem name="Point of Sale" id="menu_point_root" sequence="10"
icon="terp-partner"
groups="group_pos_manager,group_pos_user"/>
<record model="ir.ui.view" id="view_pos_pos_form">
<field name="name">pos.order</field>
@@ -9,11 +12,11 @@
<field name="arch" type="xml">
<form string="Sales Order POS">
<group col="6" colspan="4">
<field name="user_salesman_id" />
<field name="partner_id" on_change="onchange_partner_pricelist(partner_id)"/>
<field name="contract_number" groups="base.group_extended"/>
<field name="user_salesman_id" />
<field name="partner_id" on_change="onchange_partner_pricelist(partner_id)"/>
<field name="contract_number" groups="base.group_extended"/>
</group>
</group>
<notebook colspan="4">
<page string="Sale Order ">
<field name="lines" colspan="4" nolabel="1">
@@ -90,7 +93,7 @@
<group colspan="4">
<separator string="Invoicing" colspan="4"/>
<field name="sale_journal" domain="[('type','=','sale'),('company_id','=',company_id)]"/>
<field name="pricelist_id" domain="[('type','=','sale')]" widget="selection"/>
<field name="pricelist_id" domain="[('type','=','sale')]"/>
<field name="invoice_id"/>
<group colspan="2" col="3">
<button name="invoice" string="Create _Invoice" states="paid"/>
@@ -112,7 +115,7 @@
</page>
<page string="Notes" >
<field colspan="4" name="note" nolabel="1"/>
<field colspan="4" name="note" nolabel="1"/>
</page>
</notebook>
@@ -156,7 +159,7 @@
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="partner_id" select="1"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
<field name="date_order" select="1" string="Order date" />
<newline/>
<group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_extended">
@@ -169,7 +172,6 @@
</field>
</record>
<menuitem name="Point of Sale" id="menu_point_root" sequence="10"/>
<menuitem name="Point of Sale" id="menu_point_of_sale" parent="menu_point_root" sequence="1" />
<menuitem name="Sales Order" parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="1"/>
<menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="2" />
@@ -186,7 +188,7 @@
<field name="view_id" ref="view_pos_order_tree"/>
<field name="domain">['|',('state_2','=','to_verify'),('state','=','advance')]</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_pos_order_filter"/>
<field name="search_view_id" ref="view_pos_order_filter"/>
</record>
@@ -199,7 +201,7 @@
<field name="view_id" ref="view_pos_order_tree"/>
<field name="domain">[('state','!=', 'invoiced')]</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_pos_order_filter"/>
<field name="search_view_id" ref="view_pos_order_filter"/>
</record>
<menuitem name="Invoicing" id="menu_point_of_sale_invoicing" parent="menu_point_root" sequence="4" />
@@ -212,7 +214,7 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('state','=', 'paid')]</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_pos_order_filter"/>
<field name="search_view_id" ref="view_pos_order_filter"/>
</record>
<record model="ir.actions.act_window" id="action_pos_order_tree2">
<field name="name">Point of Sale</field>
@@ -222,7 +224,7 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('date_order','&lt;=', time.strftime('%Y-%m-%d 23:59:59'))]</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_pos_order_filter"/>
<field name="search_view_id" ref="view_pos_order_filter"/>
</record>
<record model="ir.actions.act_window" id="action_pos_order_tree3">
@@ -232,7 +234,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_pos_order_filter"/>
<field name="search_view_id" ref="view_pos_order_filter"/>
</record>
<record model="ir.actions.act_window" id="action_pos_order_tree_open">
<field name="name">Opened Sales</field>
@@ -241,7 +243,7 @@
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_pos_order_filter"/>
<field name="search_view_id" ref="view_pos_order_filter"/>
</record>
<record model="ir.ui.view" id="view_pos_order_line">
+62 -62
View File
@@ -1,84 +1,84 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="workflow" id="wkf_pos">
<field name="name">Pos workflow</field>
<field name="osv">pos.order</field>
<field name="on_create">True</field>
</record>
<record model="workflow" id="wkf_pos">
<field name="name">Pos workflow</field>
<field name="osv">pos.order</field>
<field name="on_create">True</field>
</record>
<!-- Roles definition -->
<!-- Roles definition -->
<record model="res.roles" id="role_pos">
<field name="name">POS - Confirmation</field>
</record>
<record model="res.roles" id="role_pos">
<field name="name">POS - Confirmation</field>
</record>
<!--Activities-->
<record model="workflow.activity" id="act_draft">
<field name="wkf_id" ref="wkf_pos"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
<record model="workflow.activity" id="act_draft">
<field name="wkf_id" ref="wkf_pos"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
<record model="workflow.activity" id="act_paid">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">paid</field>
<field name="action">action_paid()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_paid">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">paid</field>
<field name="action">action_paid()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_done">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">done</field>
<field name="flow_stop">True</field>
<field name="action">action_done()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_done">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">done</field>
<field name="flow_stop">True</field>
<field name="action">action_done()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_invoiced">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">invoiced</field>
<field name="flow_stop">True</field>
<field name="action">action_invoice()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_invoiced">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">invoiced</field>
<field name="flow_stop">True</field>
<field name="action">action_invoice()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_cancel">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">cancel</field>
<field name="flow_stop">True</field>
<field name="action">action_cancel()</field>
<field name="kind">function</field>
</record>
<record model="workflow.activity" id="act_cancel">
<field name="wkf_id" ref="wkf_pos"/>
<field name="name">cancel</field>
<field name="flow_stop">True</field>
<field name="action">action_cancel()</field>
<field name="kind">function</field>
</record>
<!--Transitions-->
<record model="workflow.transition" id="trans_draft_paid">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_paid"/>
<field name="condition">test_paid()</field>
<field name="signal">paid</field>
</record>
<record model="workflow.transition" id="trans_draft_paid">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_paid"/>
<field name="condition">test_paid()</field>
<field name="signal">paid</field>
</record>
<record model="workflow.transition" id="trans_paid_done">
<field name="act_from" ref="act_paid"/>
<field name="act_to" ref="act_done"/>
<field name="signal">done</field>
</record>
<record model="workflow.transition" id="trans_paid_done">
<field name="act_from" ref="act_paid"/>
<field name="act_to" ref="act_done"/>
<field name="signal">done</field>
</record>
<record model="workflow.transition" id="trans_paid_invoice">
<field name="act_from" ref="act_paid"/>
<field name="act_to" ref="act_invoiced"/>
<field name="signal">invoice</field>
</record>
<record model="workflow.transition" id="trans_paid_invoice">
<field name="act_from" ref="act_paid"/>
<field name="act_to" ref="act_invoiced"/>
<field name="signal">invoice</field>
</record>
<record model="workflow.transition" id="trans_paid_cancel">
<field name="act_from" ref="act_paid"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel</field>
</record>
<record model="workflow.transition" id="trans_paid_cancel">
<field name="act_from" ref="act_paid"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel</field>
</record>
</data>
File diff suppressed because one or more lines are too long
+2 -500
View File
@@ -1,505 +1,7 @@
<?xml version="1.0" ?>
<openerp>
<data>
<data>
<record id="res_users_shopuser0" model="res.users">
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
<field model="res.partner.address" name="address_id" search="[('name','=','Fabien')]"/>
<field eval="[(6,0,[ref('purchase.res_roles_purchase0'),ref('sale.res_roles_salesman0')])]" name="roles_id"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;shop1&quot;&quot;&quot;" name="password"/>
<field eval="&quot;&quot;&quot;en_US&quot;&quot;&quot;" name="context_lang"/>
<field eval="&quot;&quot;&quot;Shop 1 User&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="stock.res_company_shop0"/>
<field name="company_ids" eval="[(4, ref('stock.res_company_shop0'))]"/>
<field eval="&quot;&quot;&quot;shop1&quot;&quot;&quot;" name="login"/>
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
</record>
<record id="res_users_shopuser1" model="res.users">
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
<field model="res.partner.address" name="address_id" search="[('name','=','Eric')]"/>
<field eval="&quot;&quot;&quot;shop2&quot;&quot;&quot;" name="password"/>
<field eval="&quot;&quot;&quot;Shop 2 User&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="stock.res_company_tinyshop0"/>
<field name="company_ids" eval="[(4, ref('stock.res_company_tinyshop0'))]"/>
<field eval="&quot;&quot;&quot;shop2&quot;&quot;&quot;" name="login"/>
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
</record>
<record id="ir_rule_0" model="ir.rule">
<field name="name">POS line</field>
<field name="model_id" ref="model_pos_order_line"/>
<field name="global" eval="True"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
<data>
<record id="res_groups_posuserposline0" model="res.groups">
<field eval="[(6,0,[ref('point_of_sale.menu_action_pos_order_line'),ref('point_of_sale.menu_action_pos_order_line_day')])]" name="menu_access"/>
<field eval="[(6,0,[ref('ir_rule_0')])]" name="rule_groups"/>
<field eval="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
<field eval="&quot;&quot;&quot;POS_user_pos_line&quot;&quot;&quot;" name="name"/>
</record>
<record id="ir_model_access_posorderline0_1" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order.line&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuserposline0"/>
</record>
<record id="ir_model_access_posorder0_1" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuserposline0"/>
</record>
</data>
<data>
<record id="ir_rule_0" model="ir.rule">
<field eval="&quot;&quot;&quot;point&quot;&quot;&quot;" name="name"/>
<field name="model_id" ref="model_pos_order"/>
<field name="global" eval="True"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="ir_rule_group_posreporting0" model="ir.rule">
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
<field eval="&quot;&quot;&quot;POS Reporting&quot;&quot;&quot;" name="name"/>
<field name="global" eval="True"/>
</record>
<record id="ir_rule_5" model="ir.rule">
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
<field name="domain_force">['|',('user_id','=',False),('user_id','=',[user.id])]</field>
</record>
</data>
<data>
<record id="res_groups_posuser0" model="res.groups">
<field eval="[(6,0,[ref('point_of_sale.menu_point_ofsale'),
ref('point_of_sale.menu_point_config'),
ref('stock.menu_action_location_form'),
ref('stock.menu_action_location_tree'),
ref('stock.menu_picking_waiting'),
ref('stock.menu_action_picking_tree3'),
ref('stock.menu_action_picking_tree5'),
ref('stock.menu_action_picking_form'),
ref('stock.menu_action_picking_tree7'),
ref('stock.menu_action_picking_tree8'),
ref('stock.menu_action_picking_tree9'),
ref('procurement.menu_mrp_procurement_action3'),
ref('point_of_sale.menu_point_root')])]" name="menu_access"/>
<field eval="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
<field eval="[(6,0,[ref('point_of_sale.ir_rule_group_point0'),ref('point_of_sale.ir_rule_group_poslinecompany0'),ref('point_of_sale.ir_rule_group_posreporting0')])]" name="rule_groups"/>
<field eval="&quot;&quot;&quot;POS_user&quot;&quot;&quot;" name="name"/>
</record>
<record id="ir_model_access_point0" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_reporttransacationpos0" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;report.transacation.pos&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_posorderline0" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order.line&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_modelsmrp_pdt0" model="ir.model.access">
<field name="model_id" ref="procurement.model_procurement_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;MRP - Procurement&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_modelsupp_pdt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_supplierinfo"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - Supplier Infos&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_modeluom_pdt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_uom"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - UOM&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountmoveline0" model="ir.model.access">
<field name="model_id" ref="account.model_account_move_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Move Line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountmove0" model="ir.model.access">
<field name="model_id" ref="account.model_account_move"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Ledger Posting&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountjournal0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Journal&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_saleshop0" model="ir.model.access">
<field name="model_id" ref="sale.model_sale_shop"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;sale.shop&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockwarehouse0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_warehouse"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.warehouse&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockwarehouseorderpoint0" model="ir.model.access">
<field name="model_id" ref="procurement.model_stock_warehouse_orderpoint"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.warehouse.orderpoint&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stocklocation0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_location"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.location&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_saleorder0" model="ir.model.access">
<field name="model_id" ref="sale.model_sale_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;sale.order&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
</record>
<record id="ir_model_access_saleorderline0" model="ir.model.access">
<field name="model_id" ref="sale.model_sale_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;sale.order.line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_purchaseorder0" model="ir.model.access">
<field name="model_id" ref="purchase.model_purchase_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;purchase.order&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_purchaseorderlines0" model="ir.model.access">
<field name="model_id" ref="purchase.model_purchase_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Purchase Order lines&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_inv0" model="ir.model.access">
<field name="model_id" ref="account.model_account_invoice"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_invorderlines0" model="ir.model.access">
<field name="model_id" ref="account.model_account_invoice_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Invoice lines&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_acc0" model="ir.model.access">
<field name="model_id" ref="account.model_account_account"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_period0" model="ir.model.access">
<field name="model_id" ref="account.model_account_period"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Period&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_journalperiod0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal_period"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Journal - Period&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_values0" model="ir.model.access">
<field name="model_id" ref="base.model_ir_values"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;values&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_prop0" model="ir.model.access">
<field name="model_id" ref="base.model_ir_property"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;properties&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_pdt_pdt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_product"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - Product&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_pdt_tmplt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_template"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - Template&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountinvtax0" model="ir.model.access">
<field name="model_id" ref="account.model_account_invoice_tax"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Invoice Tax&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productpricelist0" model="ir.model.access">
<field name="model_id" ref="product.model_product_pricelist"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.pricelist&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productpricelisttype0" model="ir.model.access">
<field name="model_id" ref="product.model_product_pricelist_type"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.pricelist.type&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productpricetype0" model="ir.model.access">
<field name="model_id" ref="product.model_product_price_type"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.price.type&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productcategory0" model="ir.model.access">
<field name="model_id" ref="product.model_product_category"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.category&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockpicking0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_picking"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.picking&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockmove0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_move"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.move&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productunitofmeasure0" model="ir.model.access">
<field name="model_id" ref="product.model_product_uom"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product Unit of Measure&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_journalview0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal_view"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Journal View&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_journalcolumn0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal_column"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Journal Column&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_paymenttermline0" model="ir.model.access">
<field name="model_id" ref="account.model_account_payment_term_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Payment Term Line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_paymentterm0" model="ir.model.access">
<field name="model_id" ref="account.model_account_payment_term"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Payment Term&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_rescompany0" model="ir.model.access">
<field name="model_id" ref="base.model_res_company"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;res.company&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accounttype0" model="ir.model.access">
<field name="model_id" ref="account.model_account_account_type"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Type&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_procurement0" model="ir.model.access">
<field name="model_id" ref="procurement.model_procurement_order" />
<field eval="1" name="perm_read" />
<field eval="1" name="perm_write" />
<field eval="1" name="perm_create" />
<field eval="0" name="perm_unlink" />
<field name="name" eval="&quot;&quot;&quot;procurement.order&quot;&quot;&quot;" />
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_tax0" model="ir.model.access">
<field name="model_id" ref="account.model_account_tax"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;TAX&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<menuitem
id="stock.next_id_61"
name="Reporting"
parent="stock.menu_stock_root" groups="base.group_user"/>
<menuitem action="stock.action_picking_tree" id="stock.menu_action_picking_tree" parent="stock.menu_stock_warehouse_mgmt" sequence="19" groups="res_groups_posuser0"/>
<!-- <menuitem id="procurement.menu_mrp_reordering" name="Automatic Procurements" parent="stock.menu_stock_root" sequence="4" groups="base.group_user"/>-->
<menuitem parent="stock.next_id_61" action="stock.action_stock_line_date" id="stock.menu_report_stock_line_date" groups="base.group_user"/>
</data>
</data>
</openerp>
+8 -583
View File
@@ -1,592 +1,17 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="res_partner_tinyshop0" model="res.partner">
<field eval="0" name="customer"/>
<field eval="0" name="supplier"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Tiny Shop 1&quot;&quot;&quot;" name="name"/>
</record>
<record id="res_partner_address_fabien0" model="res.partner.address">
<field eval="&quot;&quot;&quot;Fabien&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;92000&quot;&quot;&quot;" name="zip"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field name="partner_id" ref="res_partner_tinyshop0"/>
<field name="country_id" ref="base.fr"/>
<field eval="&quot;&quot;&quot;Avenue de Paris&quot;&quot;&quot;" name="street"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;default&quot;&quot;&quot;" name="type"/>
</record>
<record id="res_company_shop0" model="res.company">
<field eval="5.0" name="security_lead"/>
<field name="currency_id" ref="base.EUR"/>
<field eval="1.0" name="po_lead"/>
<field name="partner_id" ref="res_partner_tinyshop0"/>
<field eval="1.0" name="manufacturing_lead"/>
<field name="parent_id" ref="base.main_company"/>
<field eval="80.0" name="schedule_range"/>
<field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
<data>
</record>
<record id="res_partner_tinyshop1" model="res.partner">
<field eval="1" name="customer"/>
<field eval="0" name="supplier"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Tiny Shop 2&quot;&quot;&quot;" name="name"/>
</record>
<record id="res_partner_address_eric0" model="res.partner.address">
<field eval="&quot;&quot;&quot;Eric&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;1500&quot;&quot;&quot;" name="zip"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field name="country_id" ref="base.fr"/>
<field eval="&quot;&quot;&quot;Avenue de la Resistance&quot;&quot;&quot;" name="street"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;default&quot;&quot;&quot;" name="type"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field eval="1" name="active"/>
</record>
<record id="res_company_tinyshop0" model="res.company">
<field name="currency_id" ref="base.EUR"/>
<field eval="1.0" name="po_lead"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field eval="1.0" name="manufacturing_lead"/>
<field name="parent_id" ref="base.main_company"/>
<field eval="80.0" name="schedule_range"/>
<field eval="&quot;&quot;&quot;Shop 2&quot;&quot;&quot;" name="name"/>
</record>
<record id="res_users_shopuser0" model="res.users">
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
<field model="res.partner.address" name="address_id" search="[('name','=','Fabien')]"/>
<field eval="[(6,0,[ref('purchase.res_roles_purchase0'),ref('sale.res_roles_salesman0')])]" name="roles_id"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;shop1&quot;&quot;&quot;" name="password"/>
<field eval="&quot;&quot;&quot;en_US&quot;&quot;&quot;" name="context_lang"/>
<field eval="&quot;&quot;&quot;Shop 1 User&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="&quot;&quot;&quot;shop1&quot;&quot;&quot;" name="login"/>
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
</record>
<record id="res_users_shopuser1" model="res.users">
<field model="ir.actions.actions" name="menu_id" search="[('name','=','Menu')]"/>
<field eval="[(6,0,[ref('base.group_partner_manager')])]" name="groups_id"/>
<field model="res.partner.address" name="address_id" search="[('name','=','Eric')]"/>
<field eval="&quot;&quot;&quot;shop2&quot;&quot;&quot;" name="password"/>
<field eval="&quot;&quot;&quot;Shop 2 User&quot;&quot;&quot;" name="name"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="&quot;&quot;&quot;shop2&quot;&quot;&quot;" name="login"/>
<field model="ir.actions.actions" name="action_id" search="[('name','=','Menu')]"/>
</record>
<record id="ir_rule_group_posline0" model="ir.rule.group">
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
<field eval="&quot;&quot;&quot;POS line&quot;&quot;&quot;" name="name"/>
<field eval="1" name="global"/>
</record>
<record id="ir_rule_0" model="ir.rule">
<field eval="&quot;&quot;&quot;child_of&quot;&quot;&quot;" name="operator"/>
<field eval="&quot;&quot;&quot;user.company_id.id&quot;&quot;&quot;" name="operand"/>
<field name="field_id" ref="point_of_sale.field_pos_order_line_company_id"/>
<field name="rule_group" ref="ir_rule_group_posline0"/>
</record>
</data>
<data>
<record id="res_groups_posuserposline0" model="res.groups">
<field eval="[(6,0,[ref('point_of_sale.menu_action_pos_order_line'),ref('point_of_sale.menu_action_pos_order_line_day')])]" name="menu_access"/>
<field eval="[(6,0,[ref('ir_rule_group_posline0')])]" name="rule_groups"/>
<field eval="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
<field eval="&quot;&quot;&quot;POS_user_pos_line&quot;&quot;&quot;" name="name"/>
</record>
<record id="ir_model_access_posorderline0_1" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order.line&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuserposline0"/>
</record>
<record id="ir_model_access_posorder0_1" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuserposline0"/>
</record>
</data>
<data>
<record id="ir_rule_group_point0" model="ir.rule.group">
<field name="model_id" ref="point_of_sale.model_pos_order"/>
<field eval="&quot;&quot;&quot;point&quot;&quot;&quot;" name="name"/>
<field eval="1" name="global"/>
</record>
<record id="ir_rule_0" model="ir.rule">
<field eval="&quot;&quot;&quot;child_of&quot;&quot;&quot;" name="operator"/>
<field eval="&quot;&quot;&quot;user.company_id.id&quot;&quot;&quot;" name="operand"/>
<field name="field_id" ref="point_of_sale.field_pos_order_company_id"/>
<field name="rule_group" ref="ir_rule_group_point0"/>
</record>
<record id="ir_rule_group_poslinecompany0" model="ir.rule.group">
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
<field eval="&quot;&quot;&quot;POS line company&quot;&quot;&quot;" name="name"/>
<field eval="1" name="global"/>
</record>
<record id="ir_rule_4" model="ir.rule">
<field eval="&quot;&quot;&quot;child_of&quot;&quot;&quot;" name="operator"/>
<field eval="&quot;&quot;&quot;user.company_id.id&quot;&quot;&quot;" name="operand"/>
<field name="field_id" ref="point_of_sale.field_pos_order_line_company_id"/>
<field name="rule_group" ref="ir_rule_group_poslinecompany0"/>
</record>
<record id="ir_rule_group_posreporting0" model="ir.rule.group">
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
<field eval="&quot;&quot;&quot;POS Reporting&quot;&quot;&quot;" name="name"/>
<field eval="1" name="global"/>
</record>
<record id="ir_rule_5" model="ir.rule">
<field eval="&quot;&quot;&quot;=&quot;&quot;&quot;" name="operator"/>
<field eval="&quot;&quot;&quot;user.id&quot;&quot;&quot;" name="operand"/>
<field name="field_id" ref="point_of_sale.field_report_transaction_pos_user_id"/>
<field name="rule_group" ref="ir_rule_group_posreporting0"/>
</record>
</data>
<data>
<record id="res_groups_posuser0" model="res.groups">
<field eval="[(6,0,[ref('point_of_sale.menu_point_ofsale'),
ref('point_of_sale.menu_point_config'),
ref('stock.menu_action_location_form'),
ref('stock.menu_action_location_tree'),
ref('stock.menu_picking_waiting'),
ref('stock.menu_action_picking_tree3'),
ref('stock.menu_action_picking_tree5'),
ref('stock.menu_action_picking_form'),
ref('stock.menu_action_picking_tree7'),
ref('stock.menu_action_picking_tree8'),
ref('stock.menu_action_picking_tree9'),
ref('procurement.menu_mrp_procurement_action3'),
ref('point_of_sale.menu_point_root')])]" name="menu_access"/>
<field eval="[(6,0,[ref('point_of_sale.ir_rule_group_point0'),ref('point_of_sale.ir_rule_group_poslinecompany0'),ref('point_of_sale.ir_rule_group_posreporting0')])]" name="rule_groups"/>
<field eva="[(6,0,[ref('res_users_shopuser0'),ref('res_users_shopuser1')])]" name="users"/>
<field eval="&quot;&quot;&quot;POS_user&quot;&quot;&quot;" name="name"/>
</record>
<record id="ir_model_access_point0" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_reporttransacationpos0" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_report_transaction_pos"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;report.transacation.pos&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_posorderline0" model="ir.model.access">
<field name="model_id" ref="point_of_sale.model_pos_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;pos.order.line&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_modelsmrp_pdt0" model="ir.model.access">
<field name="model_id" ref="procurement.model_procurement_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;MRP - Procurement&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_modelsupp_pdt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_supplierinfo"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - Supplier Infos&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_modeluom_pdt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_uom"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - UOM&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountmoveline0" model="ir.model.access">
<field name="model_id" ref="account.model_account_move_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Move Line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountmove0" model="ir.model.access">
<field name="model_id" ref="account.model_account_move"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Ledger Posting&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountjournal0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Journal&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_saleshop0" model="ir.model.access">
<field name="model_id" ref="sale.model_sale_shop"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;sale.shop&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockwarehouse0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_warehouse"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.warehouse&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockwarehouseorderpoint0" model="ir.model.access">
<field name="model_id" ref="mrp.model_stock_warehouse_orderpoint"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.warehouse.orderpoint&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stocklocation0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_location"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.location&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_saleorder0" model="ir.model.access">
<field name="model_id" ref="sale.model_sale_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;sale.order&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_saleorderline0" model="ir.model.access">
<field name="model_id" ref="sale.model_sale_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;sale.order.line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_purchaseorder0" model="ir.model.access">
<field name="model_id" ref="purchase.model_purchase_order"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;purchase.order&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_purchaseorderlines0" model="ir.model.access">
<field name="model_id" ref="purchase.model_purchase_order_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Purchase Order lines&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_inv0" model="ir.model.access">
<field name="model_id" ref="account.model_account_invoice"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_invorderlines0" model="ir.model.access">
<field name="model_id" ref="account.model_account_invoice_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Invoice lines&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_acc0" model="ir.model.access">
<field name="model_id" ref="account.model_account_account"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_period0" model="ir.model.access">
<field name="model_id" ref="account.model_account_period"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Period&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_journalperiod0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal_period"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Journal - Period&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_values0" model="ir.model.access">
<field name="model_id" ref="base.model_ir_values"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;values&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_prop0" model="ir.model.access">
<field name="model_id" ref="base.model_ir_property"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;properties&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_pdt_pdt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_product"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - Product&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_pdt_tmplt0" model="ir.model.access">
<field name="model_id" ref="product.model_product_template"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product - Template&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accountinvtax0" model="ir.model.access">
<field name="model_id" ref="account.model_account_invoice_tax"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Invoice Tax&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productpricelist0" model="ir.model.access">
<field name="model_id" ref="product.model_product_pricelist"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.pricelist&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productpricelisttype0" model="ir.model.access">
<field name="model_id" ref="product.model_product_pricelist_type"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.pricelist.type&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productpricetype0" model="ir.model.access">
<field name="model_id" ref="product.model_product_price_type"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.price.type&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productcategory0" model="ir.model.access">
<field name="model_id" ref="product.model_product_category"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;product.category&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockpicking0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_picking"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.picking&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_stockmove0" model="ir.model.access">
<field name="model_id" ref="stock.model_stock_move"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;stock.move&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_productunitofmeasure0" model="ir.model.access">
<field name="model_id" ref="product.model_product_uom"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Product Unit of Measure&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_journalview0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal_view"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Journal View&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_journalcolumn0" model="ir.model.access">
<field name="model_id" ref="account.model_account_journal_column"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Journal Column&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_paymenttermline0" model="ir.model.access">
<field name="model_id" ref="account.model_account_payment_term_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Payment Term Line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_paymentterm0" model="ir.model.access">
<field name="model_id" ref="account.model_account_payment_term"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Payment Term&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_rescompany0" model="ir.model.access">
<field name="model_id" ref="base.model_res_company"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;res.company&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_accounttype0" model="ir.model.access">
<field name="model_id" ref="account.model_account_account_type"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;Account Type&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_procurement0" model="ir.model.access">
<field name="model_id" ref="procurement.model_procurement_order" />
<field eval="1" name="perm_read" />
<field eval="1" name="perm_write" />
<field eval="1" name="perm_create" />
<field eval="0" name="perm_unlink" />
<field name="name" eval="&quot;&quot;&quot;procurement.order&quot;&quot;&quot;" />
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<record id="ir_model_access_tax0" model="ir.model.access">
<field name="model_id" ref="account.model_account_tax"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;TAX&quot;&quot;&quot;" name="name"/>
<field eval="1" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="res_groups_posuser0"/>
</record>
<menuitem
<menuitem
id="stock.next_id_61"
name="Reporting"
parent="stock.menu_stock_root" groups="base.group_user"/>
<!-- <menuitem-->
<!-- id="stock.next_id_62"-->
<!-- name="Traceability"-->
<!-- parent="stock.next_id_61" groups="base.group_user"/>-->
<!-- <menuitem id="stock.menu_traceability_low" name="Low Level" parent="stock.menu_traceability" groups="base.group_user"/>-->
<menuitem action="stock.action_picking_tree" id="stock.menu_action_picking_tree" parent="stock.menu_stock_root" sequence="19" groups="res_groups_posuser0"/>
<menuitem parent="stock.next_id_61" action="stock.action_stock_line_date" id="stock.menu_report_stock_line_date" groups="base.group_user"/>
</data>
<menuitem action="stock.action_picking_tree" id="stock.menu_action_picking_tree"
parent="stock.menu_stock_root" sequence="19" groups="res_groups_posuser0"/>
<menuitem parent="stock.next_id_61" action="stock.action_stock_line_date"
id="stock.menu_report_stock_line_date" groups="base.group_user"/>
</data>
</openerp>
+2 -319
View File
@@ -1,324 +1,7 @@
<?xml version="1.0" ?>
<openerp>
<data>
<data>
<record id="ir_sequence_accountjournal0" model="ir.sequence">
<field eval="&quot;&quot;&quot;account.journal&quot;&quot;&quot;" name="code"/>
<field eval="&quot;&quot;&quot;Account Journal&quot;&quot;&quot;" name="name"/>
<field eval="1" name="number_next"/>
<field eval="1" name="number_increment"/>
<field eval="1" name="active"/>
</record>
<record id="ir_sequence_vis0" model="ir.sequence">
<field eval="&quot;&quot;&quot;account.journal&quot;&quot;&quot;" name="code"/>
<field eval="&quot;&quot;&quot;vis&quot;&quot;&quot;" name="name"/>
<field eval="1" name="number_next"/>
<field eval="3" name="padding"/>
<field eval="1" name="number_increment"/>
<field eval="&quot;&quot;&quot;vis&quot;&quot;&quot;" name="prefix"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;001&quot;&quot;&quot;" name="suffix"/>
</record>
<record id="ir_sequence_tra0" model="ir.sequence">
<field eval="&quot;&quot;&quot;account.journal&quot;&quot;&quot;" name="code"/>
<field eval="&quot;&quot;&quot;tra&quot;&quot;&quot;" name="name"/>
<field eval="1" name="number_next"/>
<field eval="3" name="padding"/>
<field eval="1" name="number_increment"/>
<field eval="&quot;&quot;&quot;tra&quot;&quot;&quot;" name="prefix"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;001&quot;&quot;&quot;" name="suffix"/>
</record>
<record id="ir_sequence_ch0" model="ir.sequence">
<field eval="&quot;&quot;&quot;account.journal&quot;&quot;&quot;" name="code"/>
<field eval="&quot;&quot;&quot;ch&quot;&quot;&quot;" name="name"/>
<field eval="1" name="number_next"/>
<field eval="3" name="padding"/>
<field eval="1" name="number_increment"/>
<field eval="&quot;&quot;&quot;ch&quot;&quot;&quot;" name="prefix"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;001&quot;&quot;&quot;" name="suffix"/>
</record>
<record id="account_journal_xtransfer0" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;TRA&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_tra0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="base.main_company"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;CashBox&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="account_journal_xvisa0" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;Carte de crédit&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_vis0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="base.main_company"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;x Visa&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="account_journal_xcheque0" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;CHQ&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_ch0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="base.main_company"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;x Voucher&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="s_product_pos" model="product.product">
<field name="name">CashOut</field>
<field name="categ_id" ref="product.cat1"/>
<field name="type">service</field>
<field name="expense_pdt">True</field>
<field name="list_price">0.0</field>
<field name="standard_price">0.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="company_id" ref="base.main_company"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
</record>
<record id="e_product_pos" model="product.product">
<field name="name">CashIn</field>
<field name="categ_id" ref="product.cat1"/>
<field name="type">service</field>
<field name="income_pdt">True</field>
<field name="list_price">0.0</field>
<field name="standard_price">0.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="company_id" ref="base.main_company"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
</record>
<record id="account_journal_xtransfer1" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;TRA&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_tra0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;CashBox Shop2&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="account_journal_xvisa1" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;Carte de crédit&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_vis0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;Credit Card Shop2&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="account_journal_xcheque1" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;CHQ&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_ch0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;Voucher Shop2&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="sales_journal_cof" model="account.journal">
<field name="name">Cofinoga Shop2</field>
<field name="code">COF</field>
<field name="type">cash</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="res_company_tinyshop0"/>
</record>
<record id="sales_journal_comp" model="account.journal">
<field name="name">Sales Journal Shop 2</field>
<field name="code">SAJ</field>
<field name="type">sale</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="res_company_tinyshop0"/>
</record>
<record id="account_journal_xtransfer2" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;TRA&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_tra0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;CashBox Shop 1&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="account_journal_xvisa2" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;Carte de crédit&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_vis0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;Credit Card Shop1&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="account_journal_xcheque2" model="account.journal">
<field eval="[(6,0,[])]" name="groups_id"/>
<field eval="&quot;&quot;&quot;CHQ&quot;&quot;&quot;" name="code"/>
<field eval="[(6,0,[])]" name="account_control_ids"/>
<field name="statement_sequence_id" ref="ir_sequence_ch0"/>
<field name="user_id" ref="base.user_root"/>
<field eval="0" name="centralisation"/>
<field eval="0" name="group_invoice_lines"/>
<field name="company_id" ref="res_company_shop0"/>
<field eval="&quot;&quot;&quot;cash&quot;&quot;&quot;" name="type"/>
<field name="default_credit_account_id" ref="account.a_sale"/>
<field name="default_debit_account_id" ref="account.a_sale"/>
<field name="view_id" ref="account.account_journal_bank_view"/>
<field eval="[(6,0,[])]" name="type_control_ids"/>
<field name="sequence_id" ref="ir_sequence_accountjournal0"/>
<field eval="1" name="active"/>
<field eval="0" name="update_posted"/>
<field eval="&quot;&quot;&quot;x Voucher Shop1&quot;&quot;&quot;" name="name"/>
<field eval="0" name="refund_journal"/>
<field eval="0" name="entry_posted"/>
</record>
<record id="sales_journal_cof2" model="account.journal">
<field name="name">Cofinoga Shop1</field>
<field name="code">COF</field>
<field name="type">cash</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record id="sales_journal_comp2" model="account.journal">
<field name="name">Sales Journal Shop1</field>
<field name="code">SAJ</field>
<field name="type">sale</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="res_company_shop0"/>
</record>
<record id="sales_journal_cofm" model="account.journal">
<field name="name">Cofinoga Central</field>
<field name="code">COF</field>
<field name="type">cash</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
</record>
<record id="point_of_sale.pos_order_posadvance" model="pos.order">
<field name="sale_journal" ref="sales_journal_comp2"/>
</record>
</data>
</data>
</openerp>
+2 -37
View File
@@ -1,41 +1,6 @@
<?xml version="1.0" ?>
<openerp>
<data>
<data>
<record id="ir_model_access_statemt" model="ir.model.access">
<field name="model_id" ref="account.model_account_bank_statement"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;account.bank.statement&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="point_of_sale.res_groups_posuser0"/>
</record>
<record id="ir_model_access_statemtline" model="ir.model.access">
<field name="model_id" ref="account.model_account_bank_statement_line"/>
<field eval="1" name="perm_read"/>
<field eval="&quot;&quot;&quot;account.bank.statement.line&quot;&quot;&quot;" name="name"/>
<field eval="0" name="perm_unlink"/>
<field eval="1" name="perm_write"/>
<field eval="1" name="perm_create"/>
<field name="group_id" ref="point_of_sale.res_groups_posuser0"/>
</record>
<record id="ir_rule_group_bankstatementcompany0" model="ir.rule">
<field name="model_id" ref="account.model_account_bank_statement"/>
<field eval="&quot;&quot;&quot;Bank Statement company&quot;&quot;&quot;" name="name"/>
<field eval="1" name="global"/>
</record>
<record id="ir_rule_group_bankstatementlinecompany0" model="ir.rule">
<field name="model_id" ref="account.model_account_bank_statement_line"/>
<field eval="&quot;&quot;&quot;Bank Statement line Company&quot;&quot;&quot;" name="name"/>
<field eval="1" name="global"/>
</record>
<record id="point_of_sale.res_groups_posuser0" model="res.groups">
<field eval="[(6,0,[ref('product.menu_config_product'),ref('product.menu_product_category_action_form'),ref('point_of_sale.menu_point_ofsale'),ref('point_of_sale.menu_point_config'),ref('point_of_sale.menu_statement_tree_all'),ref('stock.menu_stock_root'),ref('stock.menu_action_location_form'),ref('stock.menu_action_location_tree'),ref('stock.menu_picking_waiting'),ref('stock.menu_action_picking_tree3'),ref('stock.menu_action_picking_tree5'),ref('stock.menu_action_picking_form'),ref('stock.menu_action_picking_tree7'),ref('stock.menu_action_picking_tree8'),ref('stock.menu_action_picking_tree9'),ref('procurement.menu_mrp_procurement_action3'),ref('procurement.menu_mrp_procurement_new'),ref('mrp.next_id_77'),ref('mrp.menu_report_workcenter_load'),ref('mrp.menu_report_in_out_picking'),ref('base.menu_sales'),ref('sale.menu_action_shop_form'),ref('sale.menu_sale_order'),ref('sale.menu_action_order_tree'),ref('sale.menu_action_order_tree_all'),ref('sale.menu_action_order_tree2'),ref('sale.menu_action_order_tree3'),ref('sale.menu_action_order_tree7'),ref('sale.menu_action_order_tree8'),ref('sale.menu_action_order_line_tree1'),ref('delivery.menu_action_delivery_carrier_form'),ref('delivery.menu_action_delivery_grid_form'),ref('point_of_sale.menu_point_root')])]" name="menu_access"/>
<field eval="[(6,0,[ref('ir_rule_group_bankstatementcompany0'),ref('ir_rule_group_bankstatementlinecompany0'),ref('point_of_sale.ir_rule_group_point0'),ref('point_of_sale.ir_rule_group_poslinecompany0'),ref('point_of_sale.ir_rule_group_posreporting0')])]" name="rule_groups"/>
<field eval="&quot;&quot;&quot;POS_user&quot;&quot;&quot;" name="name"/>
</record>
</data>
</data>
</openerp>
+58 -58
View File
@@ -1,69 +1,69 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<openerp>
<data>
<data>
<report
id="pos_users_product_re"
string="User's Product"
model="account.bank.statement"
name="pos.user.product"
auto="False"
multi="True"
rml="point_of_sale/report/pos_users_product.rml"
/>
<report
id="pos_users_product_re"
string="User's Product"
model="account.bank.statement"
name="pos.user.product"
auto="False"
multi="True"
rml="point_of_sale/report/pos_users_product.rml"
/>
<report
id="account_statement"
string="Statement"
model="account.bank.statement"
name="account.statement"
auto="False"
multi="True"
rml="point_of_sale/report/account_statement.rml"
/>
<report
id="account_statement"
string="Statement"
model="account.bank.statement"
name="account.statement"
auto="False"
multi="True"
rml="point_of_sale/report/account_statement.rml"
/>
<report
id="all_closed_cashbox_of_the_day"
string="All Cloded CashBOx"
model="account.bank.statement"
name="all.closed.cashbox.of.the.day"
auto="False"
multi="True"
menu = 'False'
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
/>
<report
id="all_closed_cashbox_of_the_day"
string="All Cloded CashBOx"
model="account.bank.statement"
name="all.closed.cashbox.of.the.day"
auto="False"
multi="True"
menu = 'False'
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
/>
<report
id="pos_users_product_re"
string="User's Product"
model="account.bank.statement"
name="pos.user.product"
auto="False"
multi="True"
rml="point_of_sale/report/pos_users_product.rml"
/>
<report
id="pos_users_product_re"
string="User's Product"
model="account.bank.statement"
name="pos.user.product"
auto="False"
multi="True"
rml="point_of_sale/report/pos_users_product.rml"
/>
<report
id="account_statement"
string="Statement"
model="account.bank.statement"
name="account.statement"
auto="False"
multi="True"
rml="point_of_sale/report/account_statement.rml"
/>
<report
id="account_statement"
string="Statement"
model="account.bank.statement"
name="account.statement"
auto="False"
multi="True"
rml="point_of_sale/report/account_statement.rml"
/>
<report
id="all_closed_cashbox_of_the_day"
string="All Cloded CashBOx"
model="account.bank.statement"
name="all.closed.cashbox.of.the.day"
auto="False"
multi="True"
menu = 'False'
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
/>
<report
id="all_closed_cashbox_of_the_day"
string="All Cloded CashBOx"
model="account.bank.statement"
name="all.closed.cashbox.of.the.day"
auto="False"
multi="True"
menu = 'False'
rml="point_of_sale/report/all_closed_cashbox_of_the_day.rml"
/>
</data>
</data>
</openerp>
+3 -2
View File
@@ -1,5 +1,6 @@
<?xml version="1.0" ?>
<openerp>
<data>
</data>
<data>
</data>
</openerp>
+149 -149
View File
@@ -55,32 +55,32 @@
<field name="balance_end_real"/>
<notebook colspan="4">
<page string="Starting Details">
<field name="starting_details_ids" nolabel = "1" colspan="4">
<tree string = "Starting Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal"/>
</form>
</field>
<field name="starting_details_ids" nolabel = "1" colspan="4">
<tree string = "Starting Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal"/>
</form>
</field>
</page>
<page string="Ending Details">
<field name="ending_details_ids" nolabel = "1" colspan="4">
<tree string = "Ending Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal"/>
</form>
</field>
<field name="ending_details_ids" nolabel = "1" colspan="4">
<tree string = "Ending Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal"/>
</form>
</field>
</page>
<page string="Entry encoding">
<field colspan="4" name="line_ids" nolabel="1">
@@ -132,18 +132,18 @@
<field name="balance_end_real"/>
<notebook colspan="4">
<page string="Details">
<field name="ending_details_ids" nolabel = "1" colspan="4">
<tree string = "Ending Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal"/>
</form>
</field>
<field name="ending_details_ids" nolabel = "1" colspan="4">
<tree string = "Ending Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
<field name="subtotal"/>
</form>
</field>
</page>
<page string="Entry encoding">
<field colspan="4" name="line_ids" nolabel="1">
@@ -185,18 +185,18 @@
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="domain">[('user_id','=',uid)]</field>
</record>
<record model="ir.actions.act_window.view" id="act_statement1_all">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement2_all">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement1_all">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement2_all">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_bank_statement_tree_all"/>
</record>
<!-- <menuitem action="action_bank_statement_tree_all" id="menu_statement_tree_all" parent="point_of_sale.menu_point_root" sequence="2"/-->
<!-- <menuitem action="action_bank_statement_tree_all" id="menu_statement_tree_all" parent="point_of_sale.menu_point_root" sequence="2"/>
@@ -213,18 +213,18 @@
</record>
<record model="ir.actions.act_window.view" id="act_statement1">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_bank_statement_tree1"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement2">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_bank_statement_tree1"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement1">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_bank_statement_tree1"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement2">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_bank_statement_tree1"/>
</record>
<!-- <menuitem action="action_bank_statement_tree1" id="menu_statement_tree1" parent="menu_statement_tree_all" sequence="2"/>-->
@@ -265,32 +265,32 @@
<page string="Starting Details">
<field name="balance_end" colspan="4" nolabel="1"/>
<newline/>
<field name="starting_details_ids" nolabel = "1" colspan="4">
<tree string = "Starting Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Starting Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal"/>
</form>
</field>
<field name="starting_details_ids" nolabel = "1" colspan="4">
<tree string = "Starting Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Starting Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal"/>
</form>
</field>
</page>
<page string="Ending Details">
<field name="ending_details_ids" nolabel = "1" colspan="4">
<tree string = "Ending Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal"/>
</form>
</field>
<field name="ending_details_ids" nolabel = "1" colspan="4">
<tree string = "Ending Details" editable="bottom">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal" sum="Total"/>
</tree>
<form string = "Ending Details">
<field name="pieces"/>
<field name="number" on_change="on_change_sub(pieces,number)"/>
<field name="subtotal"/>
</form>
</field>
</page>
</notebook>
<group col="7" colspan="4">
@@ -332,45 +332,45 @@
<field name="domain">[('state','=','draft'),('user_id','=',uid)]</field>
</record>
<record model="ir.actions.act_window.view" id="act_statement12">
<field name="sequence" eval="2"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree2"/>
<field name="act_window_id" ref="action_bank_statement_treenew"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement22">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form2"/>
<field name="act_window_id" ref="action_bank_statement_treenew"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement12">
<field name="sequence" eval="2"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree2"/>
<field name="act_window_id" ref="action_bank_statement_treenew"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement22">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form2"/>
<field name="act_window_id" ref="action_bank_statement_treenew"/>
</record>
<!-- <menuitem action="action_bank_statement_treenew" id="menu_statement_tree2" parent="menu_statement_tree_all" sequence="1"/>-->
<menuitem action="action_bank_statement_treenew" id="menu_statement_tree2" parent="menu_statement_tree_all" sequence="1"/>
<record model="ir.actions.act_window" id="action_pos_account_bank_statment">
<record model="ir.actions.act_window" id="action_pos_account_bank_statment">
<field name="name">All Cashboxes</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.bank.statement</field>
<field name="view_type">form</field>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a1">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a2">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form3"/>
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
</record>
<menuitem name="All Cashboxes" parent="menu_point_report_register"
action="action_pos_account_bank_statment" id="menu_pos_bank_statment_tree" groups="base.group_extended" sequence="4"/>
<record model="ir.actions.act_window.view" id="act_statement_a1">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a2">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form3"/>
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
</record>
<menuitem name="All Cashboxes" parent="menu_point_report_register"
action="action_pos_account_bank_statment" id="menu_pos_bank_statment_tree" groups="base.group_extended" sequence="4"/>
<record model="ir.actions.act_window" id="action_my_all_pos_account_bank_statment">
<record model="ir.actions.act_window" id="action_my_all_pos_account_bank_statment">
<field name="name">All My Cashboxes</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.bank.statement</field>
@@ -378,22 +378,22 @@
<field name="domain">[('user_id','=',uid)]</field>
</record>
<record model="ir.actions.act_window.view" id="act_my_all_statement_a1">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
</record>
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
</record>
<record model="ir.actions.act_window.view" id="act_my_all_statement_a2">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
</record>
<!-- <menuitem name="All My Cashboxes" parent="menu_statement_tree_all"-->
<!-- action="action_my_all_pos_account_bank_statment" id="menu_my_pos_bank_statment_tree" sequence="3"/>-->
<record model="ir.actions.act_window.view" id="act_my_all_statement_a2">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_my_all_pos_account_bank_statment"/>
</record>
<!-- <menuitem name="All My Cashboxes" parent="menu_statement_tree_all"-->
<!-- action="action_my_all_pos_account_bank_statment" id="menu_my_pos_bank_statment_tree" sequence="3"/>-->
<record model="ir.actions.act_window" id="action_cashboxes_to_close">
<record model="ir.actions.act_window" id="action_cashboxes_to_close">
<field name="name">Cashboxes to Close</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.bank.statement</field>
@@ -401,44 +401,44 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('state','=','draft')]</field>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a5">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_cashboxes_to_close"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a6">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_cashboxes_to_close"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a5">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_bank_statement_tree"/>
<field name="act_window_id" ref="action_cashboxes_to_close"/>
</record>
<record model="ir.actions.act_window.view" id="act_statement_a6">
<field name="sequence" eval="1"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_bank_statement_form1"/>
<field name="act_window_id" ref="action_cashboxes_to_close"/>
</record>
<menuitem name="Cashboxes to Close" parent="menu_pos_bank_statment_tree"
action="action_cashboxes_to_close" id="menu_cashboxes_to_close_tree" groups="base.group_extended"/>
<menuitem name="Cashboxes to Close" parent="menu_pos_bank_statment_tree"
action="action_cashboxes_to_close" id="menu_cashboxes_to_close_tree" groups="base.group_extended"/>
<menuitem
<menuitem
name="Open Registers" parent="point_of_sale.menu_point_config"
string="Open Register"
action="action_pos_open_statement"
id="menu_open_statement" sequence="1" />
<menuitem icon="STOCK_PRINT"
action="action_report_all_closed_cashbox_of_the_day"
id="menu_all_closed_cashbox_of_the_day"
parent="menu_statement_tree_all"/>
action="action_report_all_closed_cashbox_of_the_day"
id="menu_all_closed_cashbox_of_the_day"
parent="menu_statement_tree_all"/>
<menuitem
<menuitem
name="Close Register" parent="point_of_sale.menu_point_config"
string="Close Register"
action="action_pos_close_statement"
id="menu_close_statement" sequence="2" />
<menuitem icon="STOCK_PRINT"
action="action_report_all_closed_cashbox_of_the_day"
id="menu_all_closed_cashbox_of_the_day"
parent="menu_point_report_register"/>
action="action_report_all_closed_cashbox_of_the_day"
id="menu_all_closed_cashbox_of_the_day"
parent="menu_point_report_register"/>
</data>
</data>
</openerp>
+12 -13
View File
@@ -1,12 +1,13 @@
<openerp>
<data>
<!-- <wizard
id="close_statement"
model="account.bank.statement"
menu="True"
name="statement.close"
string="Close Statements"/>
<menuitem
<data>
<!-- <wizard
id="close_statement"
model="account.bank.statement"
menu="True"
name="statement.close"
string="Close Statements"/>
<menuitem
name="Close Register" parent="point_of_sale.menu_point_config"
string="Close Register"
action="close_statement"
@@ -15,11 +16,9 @@
-->
<menuitem icon="STOCK_PRINT"
action="action_report_all_closed_cashbox_of_the_day"
id="menu_all_closed_cashbox_of_the_day"
parent="menu_point_report_register"/>
action="action_report_all_closed_cashbox_of_the_day"
id="menu_all_closed_cashbox_of_the_day"
parent="menu_point_report_register"/>
</data>
</openerp>
+5 -5
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-08 16:40+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-06-13 07:00+0000\n"
"Last-Translator: Vu Duc Tiep <ductiepdt@yahoo.com>\n"
"Language-Team: Vietnamese <vi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-04-17 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-06-14 03:42+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: product
@@ -163,7 +163,7 @@ msgstr "Công ty"
#. module: product
#: field:product.template,rental:0
msgid "Rentable Product"
msgstr ""
msgstr "Sản phẩm có thể cho thuê"
#. module: product
#: field:product.product,lst_price:0
@@ -244,7 +244,7 @@ msgstr ""
#. module: product
#: model:process.transition,note:product.process_transition_supplierofproduct0
msgid "You can see the list of suppliers for that product."
msgstr ""
msgstr "Bạn có thể thấy danh sách các nhà cung cấp sản phầm này"
#. module: product
#: help:product.packaging,rows:0
+6 -7
View File
@@ -12,8 +12,8 @@
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
<filter string="Stockable" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]"/>
<separator orientation="vertical"/>
<filter string="Can be sold" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
<filter string="Can be Purchased" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]" />
<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)]" />
<separator orientation="vertical"/>
<field name="default_code"/>
<field name="name"/>
@@ -65,6 +65,7 @@
<form string="Product">
<group colspan="4" col="6">
<group colspan="4" col="2">
<separator string="Name" colspan="2"/>
<field name="name"/>
<field groups="product.group_product_variant" name="variants" />
</group>
@@ -74,10 +75,9 @@
<field name="ean13" groups="base.group_extended"/>
</group>
<group colspan="1" col="2">
<separator string="Product Characteristics" colspan="2"/>
<separator string="Characteristics" colspan="2"/>
<field name="sale_ok"/>
<field name="purchase_ok"/>
<field groups="base.group_extended" name="rental"/>
</group>
</group>
@@ -466,7 +466,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Product Variant">
<field name="product_tmpl_id" select="1"/>
<field name="product_tmpl_id" select="1"/>
<field name="active" select="1"/>
<field name="variants" select="1"/>
<field name="default_code" select="1"/>
@@ -520,7 +520,6 @@
<separator string="Product Type" colspan="2"/>
<field name="sale_ok"/>
<field name="purchase_ok"/>
<field groups="base.group_extended" name="rental"/>
</group>
<notebook colspan="4">
<page string="Information">
@@ -606,7 +605,7 @@
<field name="view_id" ref="product_template_tree_view"/>
</record>
<record id="ir_ui_view_sc_product0" model="ir.ui.view_sc">
<record id="ir_ui_view_sc_product0" model="ir.ui.view_sc">
<field name="name">Products</field>
<field name="resource">ir.ui.menu</field>
<field name="user_id" ref="base.user_root"/>
@@ -1,2 +1,2 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_misc_tools_installer","misc_tools.installer","model_misc_tools_installer",,1,1,1,1
"access_misc_tools_installer","misc_tools.installer","model_misc_tools_installer",base.group_system,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_misc_tools_installer misc_tools.installer model_misc_tools_installer base.group_system 1 1 1 1
+30 -29
View File
@@ -40,8 +40,6 @@
</group>
<newline/>
<separator colspan="4" string="Project's members"/>
<field colspan="4" name="members" nolabel="1"/>
<group col="9" colspan="8">
<field name="state" select="1"/>
<button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert"/>
@@ -50,12 +48,16 @@
<button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
<button name="set_done" string="Done" type="object" states="open,pending" icon="gtk-jump-to"/>
<button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/>
<button
<button
string="New Project Based on Template"
name="duplicate_template" type="object"
states="template" icon="gtk-new"/>
</group>
</page>
<page string="Members">
<separator colspan="4" string="Project's members"/>
<field colspan="4" name="members" nolabel="1"/>
</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"/>
@@ -240,7 +242,7 @@
<field name="project_id" required="1" select="1" domain="['|',('user_id','=',uid),('members','=',uid)]"/>
<field name="total_hours" widget="float_time"/>
<field name="date_deadline"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
<field name="progress" widget="progressbar"/>
</group>
<notebook colspan="4">
@@ -415,10 +417,10 @@
<filter string="Deadlines" domain="[('date_deadline','&lt;&gt;',False)]" help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="project_id" select="1" widget="selection">
<field name="project_id" select="1">
<filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-blue"/>
</field>
<field name="user_id" select="1" widget="selection">
<field name="user_id" select="1">
<filter domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="gtk-execute" separator="1"/>
</field>
</group>
@@ -540,27 +542,27 @@
<!-- User Form-->
<record id="view_project_users_form_simple" model="ir.ui.view">
<field name="name">res.users.project.form1</field>
<field name="model">res.users</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="password" position="after">
<field name="context_project_id" completion="1" widget="selection"/>
</field>
</field>
<field name="name">res.users.project.form1</field>
<field name="model">res.users</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="password" position="after">
<field name="context_project_id"/>
</field>
</field>
</record>
<record model="ir.ui.view" id="view_users_form_project_modif_inherited1">
<field name="name">view.users.form.project.modif.inherited1</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form_simple_modif" />
<field name="type">form</field>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="name">view.users.form.project.modif.inherited1</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form_simple_modif" />
<field name="type">form</field>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<page string="Current Activity" position="inside">
<field name="context_project_id" completion="1" widget="selection" context="{'user_prefence':True}"/>
<field name="context_project_id" completion="1" context="{'user_prefence':True}" widget="selection"/>
</page>
</field>
</record>
@@ -607,11 +609,10 @@
<group col="20" colspan="4">
<filter domain="[('date','&gt;=',time.strftime('%%Y-%%m-01'))]" icon="terp-go-month" string="This Month" />
<filter domain="[('date', '=', time.strftime('%%Y-%%m-%%d'))]" icon="terp-go-today" string="Today" />
<separator orientation="vertical"/>
<field name="subject"/>
<field name="project_id" select="1" widget="selection"/>
<field name="user_id" select="1" widget="selection">
</field>
<separator orientation="vertical"/>
<field name="subject"/>
<field name="project_id" select="1"/>
<field name="user_id" select="1"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
@@ -639,6 +640,6 @@
<act_window domain="[('user_id', '=', active_id),('date', '&gt;=', time.strftime('%Y-%m-01'))]" id="act_res_users_2_project_task_work_month" name="Month works" res_model="project.task.work" src_model="res.users" view_mode="tree,form" view_type="form"/>
<act_window domain="[('project_id', '=', active_id)]" id="act_project_messages" name="Messages" res_model="project.message" src_model="project.project"/>
<act_window domain="[('project_id', '=', active_id)]" id="act_project_messages" name="Messages" res_model="project.message" src_model="project.project"/>
</data>
</openerp>
+13 -5
View File
@@ -1,9 +1,9 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_project_project_manager","project.project manager","model_project_project","project.group_project_manager",1,1,1,1
"access_account_analytic_account_manager","account.analytic.account","analytic.model_account_analytic_account","project.group_project_user",1,1,1,1
"access_account_analytic_account_manager","account.analytic.account","analytic.model_account_analytic_account","project.group_project_manager",1,1,1,1
"access_project_project","project.project","model_project_project","project.group_project_user",1,0,0,0
"access_account_analytic_account","account.analytic.account","analytic.model_account_analytic_account","project.group_project_user",1,0,0,0
"access_project_task_type_user","project.task.type user","model_project_task_type","project.group_project_user",1,0,0,1
"access_project_task_type_user","project.task.type user","model_project_task_type","project.group_project_user",1,0,0,0
"access_project_task_type","project.task.type","model_project_task_type","project.group_project_manager",1,1,1,1
"access_project_task_manager","project.task manager","model_project_task","project.group_project_manager",1,1,1,1
"access_project_task","project.task","model_project_task","project.group_project_user",1,1,1,1
@@ -11,10 +11,18 @@
"access_project_task_work_manager","project.task.work.manager","model_project_task_work","project.group_project_manager",1,1,1,1
"access_config_compute_remaining","project.config.compute.remaining","model_config_compute_remaining","project.group_project_user",1,1,1,1
"access_config_compute_remaining_manager","project.config.compute.remaining.manager","model_config_compute_remaining","project.group_project_manager",1,1,1,1
"access_project_message","project.message","model_project_message","project.group_project_user",1,0,0,0
"access_project_installer","project.installer","model_project_installer","project.group_project_user",1,0,0,0
"access_project_message","project.message","model_project_message","project.group_project_user",1,1,1,1
"access_project_installer","project.installer","model_project_installer","base.group_system",1,1,1,1
"access_report_project_task_user","report.project.task.user","model_report_project_task_user","project.group_project_manager",1,0,0,0
"access_project_vs_remaining_hours","project.vs.remaining.hours","model_project_vs_remaining_hours","project.group_project_user",1,1,1,1
"access_task_by_days_vs_planned_hours","task.by.days.vs.planned.hour","model_task_by_days_vs_planned_hours","project.group_project_user",1,1,1,1
"access_task_by_days","task.by.days","model_task_by_days","project.group_project_user",1,1,1,1
"access_close_task","close.task","model_close_task","project.group_project_manager",1,1,1,1
"access_close_task","close.task","model_close_task","project.group_project_user",1,1,1,1
"access_close_task_manager","close.task manager","model_close_task","project.group_project_manager",1,1,1,1
"access_resource_calendar_project_user","resource.resource.calendar project user","resource.model_resource_calendar","project.group_project_user",1,0,0,0
"access_resource_calendar_project_manager","resource.resource.calendar project manager","resource.model_resource_calendar","project.group_project_manager",1,1,1,1
"access_fiscalyear_sequence_project_manager","account.sequence.fiscalyear project manager","account.model_account_sequence_fiscalyear","project.group_project_manager",1,1,0,0
"access_partner_task user","base.res.partner user","base.model_res_partner","project.group_project_user",1,0,0,0
"access_partner_task manager","base.res.partner manager","base.model_res_partner","project.group_project_manager",1,0,0,0
"access_partner_address_task user","base.res.partner.address user","base.model_res_partner_address","project.group_project_user",1,0,0,0
"access_partner_address_task manager","base.res.partner.address manager","base.model_res_partner_address","project.group_project_manager",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_project_project_manager project.project manager model_project_project project.group_project_manager 1 1 1 1
3 access_account_analytic_account_manager account.analytic.account analytic.model_account_analytic_account project.group_project_user project.group_project_manager 1 1 1 1
4 access_project_project project.project model_project_project project.group_project_user 1 0 0 0
5 access_account_analytic_account account.analytic.account analytic.model_account_analytic_account project.group_project_user 1 0 0 0
6 access_project_task_type_user project.task.type user model_project_task_type project.group_project_user 1 0 0 1 0
7 access_project_task_type project.task.type model_project_task_type project.group_project_manager 1 1 1 1
8 access_project_task_manager project.task manager model_project_task project.group_project_manager 1 1 1 1
9 access_project_task project.task model_project_task project.group_project_user 1 1 1 1
11 access_project_task_work_manager project.task.work.manager model_project_task_work project.group_project_manager 1 1 1 1
12 access_config_compute_remaining project.config.compute.remaining model_config_compute_remaining project.group_project_user 1 1 1 1
13 access_config_compute_remaining_manager project.config.compute.remaining.manager model_config_compute_remaining project.group_project_manager 1 1 1 1
14 access_project_message project.message model_project_message project.group_project_user 1 0 1 0 1 0 1
15 access_project_installer project.installer model_project_installer project.group_project_user base.group_system 1 0 1 0 1 0 1
16 access_report_project_task_user report.project.task.user model_report_project_task_user project.group_project_manager 1 0 0 0
17 access_project_vs_remaining_hours project.vs.remaining.hours model_project_vs_remaining_hours project.group_project_user 1 1 1 1
18 access_task_by_days_vs_planned_hours task.by.days.vs.planned.hour model_task_by_days_vs_planned_hours project.group_project_user 1 1 1 1
19 access_task_by_days task.by.days model_task_by_days project.group_project_user 1 1 1 1
20 access_close_task close.task model_close_task project.group_project_manager project.group_project_user 1 1 1 1
21 access_close_task_manager close.task manager model_close_task project.group_project_manager 1 1 1 1
22 access_resource_calendar_project_user resource.resource.calendar project user resource.model_resource_calendar project.group_project_user 1 0 0 0
23 access_resource_calendar_project_manager resource.resource.calendar project manager resource.model_resource_calendar project.group_project_manager 1 1 1 1
24 access_fiscalyear_sequence_project_manager account.sequence.fiscalyear project manager account.model_account_sequence_fiscalyear project.group_project_manager 1 1 0 0
25 access_partner_task user base.res.partner user base.model_res_partner project.group_project_user 1 0 0 0
26 access_partner_task manager base.res.partner manager base.model_res_partner project.group_project_manager 1 0 0 0
27 access_partner_address_task user base.res.partner.address user base.model_res_partner_address project.group_project_user 1 0 0 0
28 access_partner_address_task manager base.res.partner.address manager base.model_res_partner_address project.group_project_manager 1 0 0 0
+4 -4
View File
@@ -13,25 +13,25 @@
</record>
<record model="ir.ui.menu" id="menu_definitions">
<field name="groups_id" eval="[(6,0,[ref('group_project_manager'), ref('group_project_finance')])]"/>
<field name="groups_id" eval="[(6,0,[ref('group_project_manager')])]"/>
</record>
<record model="ir.rule" id="project_comp_rule">
<field name="name">Project multi-company</field>
<field name="name">Project multi-company</field>
<field name="model_id" ref="model_project_project"/>
<field name="global" eval="True"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule" id="task_comp_rule">
<field name="name" >Task multi-company</field>
<field name="name" >Task multi-company</field>
<field name="model_id" ref="model_project_task"/>
<field name="global" eval="True"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule" id="task_visibility_rule">
<field name="name" >Tasks According to User and Project</field>
<field name="name" >Tasks According to User and Project</field>
<field name="model_id" ref="model_project_task"/>
<field name="global" eval="True"/>
<field name="domain_force">['|','|','|',('user_id','=',False),('user_id','=',user.id),('project_id.members','=',user.id),('project_id.user_id','=',user.id)]</field>
+91 -91
View File
@@ -2,100 +2,100 @@
<openerp>
<data>
<record id="view_project_caldav_task_form" model="ir.ui.view">
<field name="name">project.task.caldav.form</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="type">form</field>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Assignees Detail">
<button string="Assign Task"
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
icon="terp-partner" type="action"
context="{'model' : 'project.task'}" colspan="2"/>
<field name="attendee_ids" colspan="4"
nolabel="1" widget="one2many" mode="tree,form">
<tree string="Assignees details"
editable="top">
<field name="email" />
<field name="role" select="1" />
<field name="state" />
</tree>
<form string="Assignees details">
<notebook colspan="4">
<page string="Details">
<field name="email" />
<field name="rsvp" select="1" />
<field name="cutype" select="1" />
<field name="role" select="1" />
<separator colspan="4"
string="" />
<field name="state" />
</page>
<page string="Other">
<field name="user_id"
select="1" />
<field name="partner_address_id"
select="1" />
<newline />
</page>
</notebook>
</form>
</field>
</page>
</notebook>
</field>
</record>
<record id="view_project_caldav_task_form" model="ir.ui.view">
<field name="name">project.task.caldav.form</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="type">form</field>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Assignees Detail">
<button string="Assign Task"
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
icon="terp-partner" type="action"
context="{'model' : 'project.task'}" colspan="2"/>
<field name="attendee_ids" colspan="4"
nolabel="1" widget="one2many" mode="tree,form">
<tree string="Assignees details"
editable="top">
<field name="email" />
<field name="role" select="1" />
<field name="state" />
</tree>
<form string="Assignees details">
<notebook colspan="4">
<page string="Details">
<field name="email" />
<field name="rsvp" select="1" />
<field name="cutype" select="1" />
<field name="role" select="1" />
<separator colspan="4"
string="" />
<field name="state" />
</page>
<page string="Other">
<field name="user_id"
select="1" />
<field name="partner_address_id"
select="1" />
<newline />
</page>
</notebook>
</form>
</field>
</page>
</notebook>
</field>
</record>
<record id="view_project_caldav_task_form1" model="ir.ui.view">
<field name="name">project.task.caldav.form1</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="sequence" position="after">
<field name="class" />
</field>
</field>
</record>
<record id="view_project_caldav_task_form1" model="ir.ui.view">
<field name="name">project.task.caldav.form1</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="sequence" position="after">
<field name="class" />
</field>
</field>
</record>
<record id="view_project_caldav_task_form2" model="ir.ui.view">
<field name="name">project.task.caldav.form2</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="progress" position="after">
<group colspan="2" col="3">
<!-- <field name="rrule_type" string="Recurrency"
on_change="onchange_rrule_type(rrule_type)" colspan="1" />
--> <field name="rrule_type" string="Recurrency"
colspan="1" />
<button string="Custom" name="101"
icon="gtk-save-as" type="action"
context="{'model' : 'project.task'}"
attrs="{'readonly': [('rrule_type','!=','custom')]}" />
</group>
</field>
</field>
</record>
<record id="view_project_caldav_task_form2" model="ir.ui.view">
<field name="name">project.task.caldav.form2</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="progress" position="after">
<group colspan="2" col="3">
<!-- <field name="rrule_type" string="Recurrency"
on_change="onchange_rrule_type(rrule_type)" colspan="1" />
--> <field name="rrule_type" string="Recurrency"
colspan="1" />
<button string="Custom" name="101"
icon="gtk-save-as" type="action"
context="{'model' : 'project.task'}"
attrs="{'readonly': [('rrule_type','!=','custom')]}" />
</group>
</field>
</field>
</record>
<record id="view_project_caldav_task_form3" model="ir.ui.view">
<field name="name">project.task.caldav.form3</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="vtimezone" colspan="2" />
<field name="location" colspan="2" />
<field name="alarm_id" string="Reminder" widget="selection" />
<field name="base_calendar_url" widget="url" />
<field name="rrule" invisible="1"/>
</field>
</field>
</record>
<record id="view_project_caldav_task_form3" model="ir.ui.view">
<field name="name">project.task.caldav.form3</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="vtimezone" colspan="2" />
<field name="location" colspan="2" />
<field name="alarm_id" string="Reminder" widget="selection" />
<field name="base_calendar_url" widget="url" />
<field name="rrule" invisible="1"/>
</field>
</field>
</record>
</data>
</openerp>
@@ -1,3 +1,7 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_project_gtd_context","project.gtd.context","model_project_gtd_context","group_project_getting",1,1,1,1
"access_project_gtd_timebox","project.gtd.timebox","model_project_gtd_timebox","group_project_getting",1,1,1,1
"access_project_gtd_context_user","project.gtd.context project user","model_project_gtd_context","project.group_project_user",1,0,0,0
"access_project_gtd_timebox_user","project.gtd.timebox project user","model_project_gtd_timebox","project.group_project_user",1,0,0,0
"access_project_gtd_context_manager","project.gtd.context project manager","model_project_gtd_context","project.group_project_manager",1,1,1,1
"access_project_gtd_timebox_manager","project.gtd.timebox project manager","model_project_gtd_timebox","project.group_project_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_project_gtd_context project.gtd.context model_project_gtd_context group_project_getting 1 1 1 1
3 access_project_gtd_timebox project.gtd.timebox model_project_gtd_timebox group_project_getting 1 1 1 1
4 access_project_gtd_context_user project.gtd.context project user model_project_gtd_context project.group_project_user 1 0 0 0
5 access_project_gtd_timebox_user project.gtd.timebox project user model_project_gtd_timebox project.group_project_user 1 0 0 0
6 access_project_gtd_context_manager project.gtd.context project manager model_project_gtd_context project.group_project_manager 1 1 1 1
7 access_project_gtd_timebox_manager project.gtd.timebox project manager model_project_gtd_timebox project.group_project_manager 1 1 1 1
+26 -26
View File
@@ -106,9 +106,9 @@
</tree>
</field>
<button colspan="4" string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'project.issue'}"
icon="gtk-go-forward" type="action" />
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'project.issue'}"
icon="gtk-go-forward" type="action" />
</page>
<page string="History" groups="base.group_extended">
<group col="2" colspan="2">
@@ -187,10 +187,10 @@
<field name="arch" type="xml">
<search string="Issue Tracker Search">
<group>
<filter string="Current" name="current" domain="[('state','in',('open','draft'))]" help="Draft and Open Issues" icon="terp-check" default="1"/>
<filter string="Current" name="current" domain="[('state','in',('open','draft'))]" help="Draft and Open Issues" icon="terp-check" default="1"/>
<filter string="In Progress" domain="[('state','=','open')]" help="Open Issues" icon="terp-camera_test"/>
<filter string="Pending" domain="[('state','=','pending')]" help="Pending Issues" icon="terp-gtk-media-pause"/>
<separator orientation="vertical"/>
<separator orientation="vertical"/>
<filter icon="terp-go-today" string=" Today "
separator="1"
domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]"
@@ -201,31 +201,31 @@
domain="[('date','&lt;', time.strftime('%%Y-%%m-%%d')), ('date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Bugs during last 7 days"
/>
<separator orientation="vertical"/>
<separator orientation="vertical"/>
<field name="name" string="Name"/>
<field name="user_id" widget="selection"/>
<field name="project_id" widget="selection" string="Project"/>
<field name="user_id"/>
<field name="project_id" string="Project"/>
<field name="state"/>
</group>
<newline/>
<group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Project" icon="terp-folder-blue" domain="[]"
<filter string="Project" icon="terp-folder-blue" domain="[]"
context="{'group_by':'project_id'}" />
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
<filter string="Priority" icon="terp-rating-rated" domain="[]"
context="{'group_by':'priority'}" />
<filter string="Version" icon="terp-gtk-jump-to-rtl"
domain="[]" context="{'group_by':'type_id'}" />
<separator orientation="vertical" />
<filter string="Partner" icon="terp-personal" domain="[]"
context="{'group_by':'partner_id'}" />
<filter string="Salesman" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<separator orientation="vertical" />
<filter string="Month" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" />
</group>
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
<filter string="Priority" icon="terp-rating-rated" domain="[]"
context="{'group_by':'priority'}" />
<filter string="Version" icon="terp-gtk-jump-to-rtl"
domain="[]" context="{'group_by':'type_id'}" />
<separator orientation="vertical" />
<filter string="Partner" icon="terp-personal" domain="[]"
context="{'group_by':'partner_id'}" />
<filter string="Salesman" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<separator orientation="vertical" />
<filter string="Month" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" />
</group>
</search>
</field>
</record>
@@ -298,12 +298,12 @@
<separator orientation="vertical"/>
<group>
<field name="name" select='1' string="Feature description"/>
<field name="user_id" select="1" widget="selection"/>
<field name="user_id" select="1"/>
<field name="state" select="1">
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
</field>
<field name="project_id" select="1" widget="selection" string="Project"/>
<field name="project_id" select="1" string="Project"/>
</group>
</search>
@@ -256,115 +256,7 @@ class task(osv.osv):
_inherit = "project.task"
_columns = {
'phase_id': fields.many2one('project.phase', 'Project Phase'),
'occupation_rate': fields.float('Occupation Rate', help='The occupation rate fields indicates how much of his time a user is working on a task. A 100% occupation rate means the user works full time on the tasks. The ending date of a task is computed like this: Starting Date + Duration / Occupation Rate.'),
'planned_hours': fields.float('Planned Hours', required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
}
_defaults = {
'occupation_rate': '1'
}
def onchange_planned(self, cr, uid, ids, project, user_id=False, planned=0.0, effective=0.0, date_start=None, occupation_rate=0.0):
result = {}
resource = False
resource_obj = self.pool.get('resource.resource')
project_pool = self.pool.get('project.project')
resource_calendar = self.pool.get('resource.calendar')
if not project:
return {'value' : result}
if date_start:
hrs = float(planned / float(occupation_rate))
calendar_id = project_pool.browse(cr, uid, project).resource_calendar_id.id
dt_start = mx.DateTime.strptime(date_start, '%Y-%m-%d %H:%M:%S')
resource_id = resource_obj.search(cr, uid, [('user_id','=',user_id)])
if resource_id:
resource_data = resource_obj.browse(cr, uid, resource_id)[0]
resource = resource_data.id
hrs = planned / (float(occupation_rate) * resource_data.time_efficiency)
if resource_data.calendar_id.id:
calendar_id = resource_data.calendar_id.id
work_times = resource_calendar.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource or False)
if work_times:
result['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
result['remaining_hours'] = planned - effective
return {'value' : result}
def _check_date_start(self, cr, uid, task, date_end, context={}):
"""
Check And Compute date_end of task if change in date_start < older time.
"""
resource_calendar_obj = self.pool.get('resource.calendar')
resource_obj = self.pool.get('resource.resource')
calendar_id = task.project_id.resource_calendar_id and task.project_id.resource_calendar_id.id or False
hours = task.planned_hours / task.occupation_rate
resource_id = resource_obj.search(cr, uid, [('user_id', '=', task.user_id.id)], context=context)
if resource_id:
resource = resource_obj.browse(cr, uid, resource_id[0], context=context)
if resource.calendar_id.id:
calendar_id = resource.calendar_id and resource.calendar_id.id or False
hours = task.planned_hours / (float(task.occupation_rate) * resource.time_efficiency)
work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, date_end, hours or 0.0, resource_id and resource_id[0] or False)
dt_start = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S')
self.write(cr, uid, [task.id], {'date_start' : dt_start,'date_end' : date_end.strftime('%Y-%m-%d %H:%M:%S')})
def _check_date_end(self, cr, uid, task, date_start, context={}):
"""
Check And Compute date_end of task if change in date_end > older time.
"""
resource_calendar_obj = self.pool.get('resource.calendar')
resource_obj = self.pool.get('resource.resource')
calendar_id = task.project_id.resource_calendar_id and task.project_id.resource_calendar_id.id or False
hours = task.planned_hours / task.occupation_rate
resource_id = resource_obj.search(cr,uid,[('user_id', '=', task.user_id.id)], context=context)
if resource_id:
resource = resource_obj.browse(cr, uid, resource_id[0], context=context)
if resource.calendar_id.id:
calendar_id = resource.calendar_id and resource.calendar_id.id or False
hours = task.planned_hours / (float(task.occupation_rate) * resource.time_efficiency)
work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, date_start, hours or 0.0, resource_id and resource_id[0] or False)
dt_end = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
self.write(cr, uid, [task.id], {'date_start': date_start.strftime('%Y-%m-%d %H:%M:%S'),'date_end' : dt_end}, context=context)
def write(self, cr, uid, ids, vals, context={}):
resource_calendar_obj = self.pool.get('resource.calendar')
resource_obj = self.pool.get('resource.resource')
if not context:
context = {}
if context.get('scheduler',False):
return super(task, self).write(cr, uid, ids, vals, context=context)
# Consider calendar and efficiency if the task is performed by a resource
# otherwise consider the project's working calendar
task_id = ids
if isinstance(ids, list):
task_id = ids[0]
task_rec = self.browse(cr, uid, task_id, context=context)
calendar_id = task_rec.project_id.resource_calendar_id and task_rec.project_id.resource_calendar_id.id or False
hrs = task_rec.planned_hours / task_rec.occupation_rate
resource_id = resource_obj.search(cr, uid, [('user_id', '=', task_rec.user_id.id)], context=context)
if resource_id:
resource = resource_obj.browse(cr, uid, resource_id[0], context=context)
if resource.calendar_id.id:
calendar_id = resource.calendar_id and resource.calendar_id.id or False
hrs = task_rec.planned_hours / (float(task_rec.occupation_rate) * resource.time_efficiency)
# Change the date_start and date_end
# for previous and next tasks respectively based on valid condition
if vals.get('date_start', False) and vals['date_start'] < task_rec.date_start:
dt_start = mx.DateTime.strptime(vals['date_start'], '%Y-%m-%d %H:%M:%S')
work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False)
if work_times:
vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
for prv_task in task_rec.parent_ids:
self._check_date_start(cr, uid, prv_task, dt_start)
if vals.get('date_end', False) and vals['date_end'] > task_rec.date_end:
dt_end = mx.DateTime.strptime(vals['date_end'], '%Y-%m-%d %H:%M:%S')
work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, hrs or 0.0, resource.id or False)
if work_times:
vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S')
for next_task in task_rec.child_ids:
self._check_date_end(cr, uid, next_task, dt_end)
return super(task, self).write(cr, uid, ids, vals, context=context)
task()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -404,7 +404,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -424,7 +423,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -444,7 +442,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -464,7 +461,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -484,7 +480,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -504,7 +499,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -524,7 +518,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -544,7 +537,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -564,7 +556,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -584,7 +575,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -604,7 +594,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -623,7 +612,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -642,7 +630,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -661,7 +648,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -680,7 +666,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -699,7 +684,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -718,7 +702,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -737,7 +720,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -756,7 +738,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -776,7 +757,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -796,7 +776,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -816,7 +795,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -836,7 +814,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -856,7 +833,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -876,7 +852,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -897,7 +872,6 @@
<field name="company_id" ref="base.main_company"/>
<field name="priority">2</field>
<field name="state">draft</field>
<field eval="1.0" name="occupation_rate"/>
<field name="project_id" ref="project_project_openerpwebsitedevelopment0"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="[(6,0,[])]" name="parent_ids"/>
@@ -909,4 +883,4 @@
<field name="phase_id" ref="project_phase_developmentintegrationandtesting0"/>
</record>
</data>
</openerp>
</openerp>
@@ -2,7 +2,7 @@
<openerp>
<data>
<menuitem id="menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="1"/>
<menuitem id="menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="1"/>
# ------------------------------------------------------
# Project Resource Allocation
@@ -29,7 +29,7 @@
<field name="arch" type="xml">
<tree editable="bottom" string="Project Resource Allocation">
<field name="resource_id"/>
<field name="phase_id"/>
<field name="phase_id"/>
<field name="useability"/>
</tree>
</field>
@@ -42,8 +42,8 @@
<field name="arch" type="xml">
<search string="Resource Allocations">
<group colspan="4" col="20">
<field name="resource_id" widget="selection"/>
<field name="phase_id" widget="selection"/>
<field name="resource_id"/>
<field name="phase_id"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="20">
@@ -59,7 +59,7 @@
<field name="res_model">project.resource.allocation</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_resource': 1} </field>
<field name="context">{'search_default_resource': 1} </field>
<!--<field name="search_view_id" ref="view_project_phase_search"/>-->
</record>
@@ -128,7 +128,7 @@
<tree editable="bottom" string="Project's Tasks">
<field name="name"/>
<field name="user_id"/>
<field name="planned_hours" widget="float_time" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours)"/>
<field name="planned_hours" widget="float_time"/>
</tree>
<form string="Project's Tasks">
<notebook colspan="4">
@@ -142,11 +142,10 @@
<separator string="Dates" colspan="2"/>
<field name="date_start"/>
<field name="date_deadline"/>
<field name="occupation_rate"/>
</group>
<group colspan="2" col="2">
<separator string="Planning" colspan="2"/>
<field name="planned_hours" widget="float_time" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours)"/>
<field name="planned_hours" widget="float_time"/>
<field name="remaining_hours" widget="float_time" sum="Remaining Hours"/>
<field name="effective_hours" invisible="1"/>
</group>
@@ -157,7 +156,7 @@
</notebook>
</form>
</field>
<button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
<button name="%(action_project_schedule_tasks)d" string="Schedule Tasks" type="action" icon="gtk-jump-to"/>
</page>
</notebook>
<newline/>
@@ -223,10 +222,10 @@
<filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="project_id" widget="selection">
<field name="project_id">
<filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-blue"/>
</field>
<field name="responsible_id" widget="selection"/>
<field name="responsible_id"/>
<field name="date_start"/>
</group>
<newline/>
@@ -245,7 +244,7 @@
<field name="res_model">project.phase</field>
<field name="view_type">form</field>
<field name="view_mode">gantt,tree,form,calendar</field>
<field name="context">{'search_default_responsible_id':uid}</field>
<field name="context">{'search_default_responsible_id':uid}</field>
<field name="search_view_id" ref="view_project_phase_search"/>
</record>
@@ -280,32 +279,7 @@
# Project Task
# ------------------------------------------------------
<record id="view_project_phase_task_form1" model="ir.ui.view">
<field name="name">project.phase.task.form1</field>
<field name="model">project.task</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="arch" type="xml">
<field name="planned_hours" position="replace">
<field name="planned_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_planned(project_id, user_id, planned_hours, effective_hours, date_start, occupation_rate)"/>
</field>
</field>
</record>
<record id="view_project_phase_task_form2" model="ir.ui.view">
<field name="name">project.phase.task.form2</field>
<field name="model">project.task</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="arch" type="xml">
<field name="date_end" position = "after">
<field name="occupation_rate"/>
</field>
</field>
</record>
<act_window
<act_window
id="project_phase_task_list"
name="Related Tasks"
res_model="project.task"
@@ -313,7 +287,7 @@
view_mode="tree,form"
domain="[('phase_id','=',active_id)]"/>
<act_window
<act_window
domain="[('project_id', '=', active_id)]"
id="act_project_phases"
name="Phases"
@@ -330,7 +304,7 @@
groups="base.group_extended"
id="menu_project_phase" parent="menu_project_long_term" sequence="4"/>
<menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
<menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
name="Resource Allocations" parent="menu_project_long_term" />
<!--<menuitem icon="terp-project" id="base.menu_main_pm" name="Project Management" sequence="1"/>-->
@@ -1,3 +1,3 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_project_phase","project.phase","model_project_phase",,1,1,1,1
"access_project_resource_allocation","project.resource.allocation","model_project_resource_allocation",,1,1,1,1
"access_project_phase","project.phase","model_project_phase",project.group_project_user,1,1,1,1
"access_project_resource_allocation","project.resource.allocation","model_project_resource_allocation",project.group_project_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_project_phase project.phase model_project_phase project.group_project_user 1 1 1 1
3 access_project_resource_allocation project.resource.allocation model_project_resource_allocation project.group_project_user 1 1 1 1
@@ -108,7 +108,7 @@ class project_compute_tasks(osv.osv_memory):
# Dynamic Creation of tasks
i = 0
for each_task in tasks:
hours = str(each_task.planned_hours / each_task.occupation_rate)+ 'H'
hours = str(each_task.planned_hours )+ 'H'
if each_task.priority in priority_dict.keys():
priorty = priority_dict[each_task.priority]
if each_task.user_id:
@@ -139,4 +139,4 @@ class project_compute_tasks(osv.osv_memory):
return {}
project_compute_tasks()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -127,7 +127,7 @@ class project_schedule_task(osv.osv_memory):
# Dynamic creation of tasks
i = 0
for each_task in tasks:
hours = str(each_task.planned_hours / each_task.occupation_rate)+ 'H'
hours = str(each_task.planned_hours )+ 'H'
if each_task.priority in priority_dict.keys():
priorty = priority_dict[each_task.priority]
if each_task.user_id:
@@ -1,2 +1,2 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_project_messages","project.messages","model_project_messages",,1,1,1,1
"access_project_messages","project.messages","model_project_messages",project.group_project_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_project_messages project.messages model_project_messages project.group_project_user 1 1 1 1
@@ -164,10 +164,10 @@
<group col="8" colspan="4">
<filter icon="terp-check" string="Current Plannings" domain="[('date_from','&lt;=',time.strftime('%%Y-%%m-%%d')),('date_to','&gt;=',time.strftime('%%Y-%%m-%%d'))]" help="Current Plannings"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="user_id" widget="selection" select="1"/>
<field name="state" select="1"/>
<field name="name">
<field name="code">
<field name="user_id">
<field name="state">
</group>
</search>
</field>
+5 -5
View File
@@ -2,13 +2,13 @@
<openerp>
<data>
<menuitem icon="terp-graph" id="base.dashboard" name="Dashboards" sequence="2" parent="base.reporting_menu"/>
<menuitem icon="terp-graph" id="base.dashboard" name="Dashboards" sequence="2" parent="base.reporting_menu"/>
<menuitem
id="menu_purchase_deshboard"
name="Purchase"
parent="base.dashboard"/>
<record id="purchase_draft" model="ir.actions.act_window">
<record id="purchase_draft" model="ir.actions.act_window">
<field name="name">Draft Purchases</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
@@ -17,7 +17,7 @@
<field name="domain">[('date_order','&gt;',time.strftime('%Y-01-01 00:00:00')),('date_order','&lt;',time.strftime('%Y-12-31 23:59:59')), ('state','=','draft')]</field>
<field name="search_view_id" ref="purchase.purchase_order_tree"/>
</record>
<record id="purchase_waiting" model="ir.actions.act_window">
<record id="purchase_waiting" model="ir.actions.act_window">
<field name="name">Quotation Request</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
@@ -47,7 +47,7 @@
</field>
</record>
<record id="open_board_purchase" model="ir.actions.act_window">
<record id="open_board_purchase" model="ir.actions.act_window">
<field name="name">Purchase Dashboard</field>
<field name="res_model">board.board</field>
<field name="view_type">form</field>
@@ -55,7 +55,7 @@
<field name="usage">menu</field>
<field name="view_id" ref="board_purchase_form"/>
</record>
<menuitem
<menuitem
action="open_board_purchase"
icon="terp-graph"
id="menu_board_purchase"
+2 -2
View File
@@ -9,8 +9,8 @@
<field name="priority">36</field>
<field name="arch" type="xml">
<page string="Sales &amp; Purchases" position="inside">
<group colspan="4" col="2" groups="base.group_extended">
<separator string="Purchases Properties" colspan="2"/>
<group colspan="2" col="2" groups="base.group_extended">
<separator string="Purchase Properties" colspan="2"/>
<field name="property_product_pricelist_purchase" />
</group>
</page>
+8 -9
View File
@@ -65,7 +65,6 @@ class purchase_order(osv.osv):
res[order.id]['amount_tax']=cur_obj.round(cr, uid, cur, val)
res[order.id]['amount_untaxed']=cur_obj.round(cr, uid, cur, val1)
res[order.id]['amount_total']=res[order.id]['amount_untaxed'] + res[order.id]['amount_tax']
print res
return res
def _set_minimum_planned_date(self, cr, uid, ids, name, value, arg, context):
@@ -168,7 +167,7 @@ class purchase_order(osv.osv):
'state': fields.selection([('draft', 'Request for Quotation'), ('wait', 'Waiting'), ('confirmed', 'Waiting Supplier Ack'), ('approved', 'Approved'),('except_picking', 'Shipping Exception'), ('except_invoice', 'Invoice Exception'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, help="The state of the purchase order or the quotation request. A quotation is a purchase order in a 'Draft' state. Then the order has to be confirmed by the user, the state switch to 'Confirmed'. Then the supplier must confirm the order to change the state to 'Approved'. When the purchase order is paid and received, the state becomes 'Done'. If a cancel action occurs in the invoice or in the reception of goods, the state becomes in exception.", select=True),
'order_line': fields.one2many('purchase.order.line', 'order_id', 'Order Lines', states={'approved':[('readonly',True)],'done':[('readonly',True)]}),
'validator' : fields.many2one('res.users', 'Validated by', readonly=True),
'notes': fields.text('Notes', translate=True),
'notes': fields.text('Notes'),
'invoice_id': fields.many2one('account.invoice', 'Invoice', readonly=True),
'picking_ids': fields.one2many('stock.picking', 'purchase_id', 'Picking List', readonly=True, help="This is the list of picking list that have been generated for this purchase"),
'shipped':fields.boolean('Received', readonly=True, select=True),
@@ -428,6 +427,7 @@ class purchase_order(osv.osv):
'product_uom': order_line.product_uom.id,
'product_uos': order_line.product_uom.id,
'date_planned': order_line.date_planned,
'date_expected': order_line.date_planned,
'location_id': loc_id,
'location_dest_id': dest,
'picking_id': picking_id,
@@ -591,7 +591,7 @@ class purchase_order_line(osv.osv):
'move_dest_id': fields.many2one('stock.move', 'Reservation Destination', ondelete='set null'),
'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Purchase Price')),
'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', digits_compute= dp.get_precision('Purchase Price')),
'notes': fields.text('Notes', translate=True),
'notes': fields.text('Notes'),
'order_id': fields.many2one('purchase.order', 'Order Reference', select=True, required=True, ondelete='cascade'),
'account_analytic_id':fields.many2one('account.analytic.account', 'Analytic Account',),
'company_id': fields.related('order_id','company_id',type='many2one',relation='res.company',string='Company'),
@@ -633,7 +633,7 @@ class purchase_order_line(osv.osv):
prod= self.pool.get('product.product').browse(cr, uid,product)
lang=False
if partner_id:
lang=self.pool.get('res.partner').read(cr, uid, partner_id)['lang']
lang=self.pool.get('res.partner').read(cr, uid, partner_id, ['lang'])['lang']
context={'lang':lang}
context['partner_id'] = partner_id
@@ -726,17 +726,16 @@ class procurement_order(osv.osv):
po_obj = self.pool.get('purchase.order')
for procurement in self.browse(cr, uid, ids):
res_id = procurement.move_id.id
partner_list = sorted([(partner_id.sequence, partner_id) for partner_id in procurement.product_id.seller_ids if partner_id])
partner_rec = partner_list and partner_list[0] and partner_list[0][1] or False
partner = partner_rec.name or False
partner_id = partner_rec.id or False
partner = procurement.product_id.seller_ids[0].name
partner_id = partner.id
partner_rec = procurement.product_id.seller_ids[0]
address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
pricelist_id = partner.property_product_pricelist_purchase.id
uom_id = procurement.product_id.uom_po_id.id
qty = uom_obj._compute_qty(cr, uid, procurement.product_uom.id, procurement.product_qty, uom_id)
if partner_rec.qty:
if procurement.product_id.seller_ids[0].qty:
qty = max(qty,partner_rec.qty)
price = pricelist_obj.price_get(cr, uid, [pricelist_id], procurement.product_id.id, qty, False, {'uom': uom_id})[pricelist_id]
+31 -28
View File
@@ -3,7 +3,7 @@
<data>
<!--<menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Purchase Management"
groups="group_purchase_user"/>-->
<menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Procurement Management"
<menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Purchases"
groups="group_purchase_user" sequence="7"/>
<menuitem id="menu_procurement_management" name="Purchase Management"
parent="base.menu_purchase_root" sequence="1"/>
@@ -21,7 +21,7 @@
parent="base.menu_purchase_root" sequence="4"/>
<menuitem action="stock.action_picking_tree4" id="menu_action_picking_tree4" parent="menu_procurement_management_inventory"
name="Incoming Shipments" sequence="9"/>
<menuitem action="stock.action_picking_tree_out" id="menu_action_picking_treeout" parent="menu_procurement_management_inventory" sequence="11"/>
<menuitem action="stock.action_reception_picking_move" id="menu_action_picking_tree_in_move" parent="menu_procurement_management_inventory" sequence="11"/>
<!--Invoice control-->
<menuitem id="menu_procurement_management_invoice" name="Invoice Control"
@@ -91,9 +91,9 @@
<field name="product_qty"/>
<field name="product_uom"/>
<field name="price_unit"/>
<field name="price_subtotal" groups="base.group_extended"/>
<field name="price_subtotal" groups="base.group_extended"/>
<field name="invoiced"/>
<field name="state"/>
<field name="state"/>
</tree>
<!-- default form view -->
</field>
@@ -159,7 +159,7 @@
<field name="name" select="1" string="Reference"/>
<field name="partner_id" select="1"/>
<field name="product_id" select="1"/>
<field name="create_uid" select="1" widget="selection"/>
<field name="create_uid" select="1"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="10" groups="base.group_extended">
@@ -233,7 +233,13 @@
<field name="date_planned" widget="date"/>
<field name="price_unit"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="account_analytic_id" colspan="4" groups="base.group_extended"/>
<field name="price_subtotal" readonly="1"/>
<group colspan="4" col="4" groups="base.group_extended">
<separator colspan="4" string="Taxes"/>
<field colspan="4" nolabel="1" name="taxes_id"
domain="[('parent_id','=',False),('type_tax_use','!=','sale')]"/>
</group>
</page>
<page string="Notes">
<field colspan="4" name="notes" nolabel="1"/>
@@ -243,17 +249,14 @@
<field colspan="4" name="move_ids" nolabel="1" widget="many2many"/>
</page>
<page string="Invoicing" groups="base.group_extended">
<field name="account_analytic_id" colspan="4"/>
<separator colspan="4" string="Taxes"/>
<field colspan="4" nolabel="1" name="taxes_id" domain="[('parent_id','=',False),('type_tax_use','!=','sale')]"/>
<separator colspan="4" string="Manual Invoices"/>
<field name="invoiced"/>
<newline/>
<field colspan="4" name="invoice_lines" nolabel="1" widget="many2many"/>
<separator colspan="4" string="Manual Invoices"/>
<field name="invoiced"/>
<newline/>
<field colspan="4" name="invoice_lines" nolabel="1" widget="many2many"/>
</page>
</notebook>
<group>
<field name="state" />
<group>
<field name="state" />
</group>
</form>
</field>
@@ -286,7 +289,7 @@
<search string="Search Purchase Order">
<group>
<field name='order_id'/>
<field name="product_id" widget="selection" />
<field name="product_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
@@ -313,7 +316,7 @@
src_model="product.product"
groups="base.group_extended"/>
<!--
<record model="ir.values" id="action_merge_purchase_order">
<record model="ir.values" id="action_merge_purchase_order">
<field name="object" eval="1" />
<field name="name">Purchase Order</field>
<field name="key2">client_action_multi</field>
@@ -344,22 +347,22 @@
<field name="view_id" ref="purchase_order_line_form"/>
<field name="act_window_id" ref="purchase_line_form_action2"/>
</record>
<menuitem action="purchase_line_form_action2" id="menu_purchase_line_order_draft" parent="menu_procurement_management_invoice"/>
<menuitem action="purchase_line_form_action2" id="menu_purchase_line_order_draft" parent="menu_procurement_management_invoice"/>
<!--
Procurements
<!--
Procurements
-->
<record id="view_procurement_form_inherit" model="ir.ui.view">
<field name="name">procurement.order.form.inherit</field>
<field name="model">procurement.order</field>
<field name="inherit_id" ref="procurement.procurement_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='close_move']" position="before">
<field name="purchase_id"/>
</xpath>
</field>
<field name="name">procurement.order.form.inherit</field>
<field name="model">procurement.order</field>
<field name="inherit_id" ref="procurement.procurement_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='close_move']" position="before">
<field name="purchase_id"/>
</xpath>
</field>
</record>
</data>
+16 -90
View File
@@ -31,7 +31,7 @@ class purchase_report(osv.osv):
_description = "Purchases Orders"
_auto = False
_columns = {
'date': fields.date('Date order', readonly=True),
'date': fields.date('Order Date', readonly=True),
'name': fields.char('Year',size=64,required=False, readonly=True),
'day': fields.char('Day', size=128, readonly=True),
'state': fields.selection([
@@ -44,32 +44,26 @@ class purchase_report(osv.osv):
('done','Done'),
('cancel','Cancel')
], 'Order State', readonly=True),
'invoice_method': fields.selection([
('manual','Manual'),
('order','From Order'),
('picking','From Picking')
],'Invoicing Control', readonly=True),
'product_id':fields.many2one('product.product', 'Product', readonly=True),
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', readonly=True),
'location_id': fields.many2one('stock.location', 'Destination', readonly=True),
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position',readonly=True),
'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
'partner_address_id':fields.many2one('res.partner.address', 'Address Contact Name', readonly=True),
'dest_address_id':fields.many2one('res.partner.address', 'Dest. Address Contact Name',readonly=True),
'pricelist_id':fields.many2one('product.pricelist', 'Pricelist', readonly=True),
'date_approve':fields.date('Date Approved', readonly=True),
'expected_date':fields.date('Expected Date', readonly=True),
'validator' : fields.many2one('res.users', 'Validated by', readonly=True),
'validator' : fields.many2one('res.users', 'Validated By', readonly=True),
'company_id':fields.many2one('res.company', 'Company', readonly=True),
'shipped_qty':fields.integer('Received Qty', readonly=True),
'invoiced_qty':fields.integer('Invoiced Qty', readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
'delay':fields.float('Days to Close', digits=(16,2), readonly=True),
'delay_pass':fields.float('Overpassed expected', digits=(16,2), readonly=True),
'delay':fields.float('Days to Validate', digits=(16,2), readonly=True, group_operator="avg"),
'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True, group_operator="avg"),
'quantity': fields.float('# of Products', readonly=True),
'price_total': fields.float('Total Price', readonly=True),
'price_average': fields.float('Average Price', readonly=True),
'nbr': fields.integer('# of Ordered Lines', readonly=True),
'price_average': fields.float('Unit Price', readonly=True, group_operator="avg"),
'negociation': fields.float('Purchase-Standard Price', readonly=True, group_operator="avg"),
'price_standard': fields.float('Products Value', readonly=True, group_operator="sum"),
'nbr': fields.integer('# of PO Lines', 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),
@@ -94,36 +88,34 @@ class purchase_report(osv.osv):
s.validator,
s.warehouse_id as warehouse_id,
s.partner_id as partner_id,
s.fiscal_position,
s.create_uid as user_id,
s.company_id as company_id,
s.invoice_method,
s.shipped::integer as shipped_qty,
l.invoiced::integer as invoiced_qty,
l.product_id,
s.location_id as location_id,
sum(l.product_qty*u.factor) as quantity,
extract(epoch from age(s.date_approve,s.date_order))/(24*60*60)::decimal(16,2) as delay,
extract(epoch from age(s.minimum_planned_date,s.date_order))/(24*60*60)::decimal(16,2) as delay_pass,
extract(epoch from age(l.date_planned,s.date_order))/(24*60*60)::decimal(16,2) as delay_pass,
count(*) as nbr,
l.price_unit*l.product_qty*u.factor as price_total,
(l.price_unit*l.product_qty*u.factor)::decimal(16,2) as price_total,
avg(100.0 * (l.price_unit*l.product_qty*u.factor) / (t.standard_price*l.product_qty*u.factor))::decimal(16,2) as negociation,
sum(t.standard_price*l.product_qty*u.factor)::decimal(16,2) as price_standard,
(sum(l.product_qty*l.price_unit)/sum(l.product_qty*u.factor))::decimal(16,2) as price_average
from purchase_order s
left join purchase_order_line l on (s.id=l.order_id)
left join product_product p on (l.product_id=p.id)
left join product_template t on (p.product_tmpl_id=t.id)
left join product_uom u on (u.id=l.product_uom)
where l.product_id is not null
group by
s.company_id,
s.create_uid,
s.shipped,
l.invoiced,
s.partner_id,
l.product_qty,
u.factor,
s.location_id,
l.price_unit,
s.date_approve,
s.minimum_planned_date,
l.date_planned,
date_trunc('day',s.minimum_planned_date),
s.partner_address_id,
s.pricelist_id,
@@ -135,74 +127,8 @@ class purchase_report(osv.osv):
to_char(s.date_order, 'MM'),
to_char(s.date_order, 'YYYY-MM-DD'),
s.state,
s.warehouse_id,
s.fiscal_position,
s.invoice_method
s.warehouse_id
)
""")
purchase_report()
class purchase_order_qty_amount(osv.osv):
_name = "purchase.order.qty.amount"
_description = "Quantity and amount per month"
_auto = False
_columns = {
'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),
'total_qty' : fields.float('Total Qty'),
'total_amount' : fields.float('Total Amount'),
}
def init(self, cr):
tools.sql.drop_view_if_exists(cr, 'purchase_order_qty_amount')
cr.execute("""
create or replace view purchase_order_qty_amount as (
select
min(id) as id,
to_char(create_date, 'MM') as month,
sum(product_qty) as total_qty,
sum(price_unit*product_qty) as total_amount
from
purchase_order_line
where
to_char(create_date,'YYYY') = to_char(current_date,'YYYY')
group by
to_char(create_date, 'MM')
)
""")
purchase_order_qty_amount()
class purchase_order_by_user(osv.osv):
_name = "purchase.order.by.user"
_description = "Purchase Order by user per month"
_auto = False
_columns = {
'name' : fields.char('User',size=64,required=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),
'nbr' : fields.integer('Total Orders'),
}
_order = 'name desc'
def init(self, cr):
tools.sql.drop_view_if_exists(cr, 'purchase_order_by_user')
cr.execute("""
create or replace view purchase_order_by_user as (
select
min(po.id) as id,
rs.name as name,
count(po.id) as nbr,
to_char(po.date_order, 'MM') as month
from
purchase_order as po,res_users as rs
where
po.create_uid = rs.id
group by
rs.name,po.date_order
)
""")
purchase_order_by_user()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

Some files were not shown because too many files have changed in this diff Show More