[IMP] project: implemented the privacy/visibility record rule in a cleaner way +...
[odoo/odoo.git] / addons / account / project / project_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <record id="view_account_analytic_account_list" model="ir.ui.view">
6             <field name="name">account.analytic.account.list</field>
7             <field name="model">account.analytic.account</field>
8             <field name="type">tree</field>
9             <field eval="8" name="priority"/>
10             <field name="arch" type="xml">
11                 <tree toolbar="1" colors="red:state=='pending';grey:state in ('cancelled','close');blue:type=='view'" string="Analytic Accounts">
12                     <field name="complete_name"/>
13                     <field name="code"/>
14                     <field name="quantity"/>
15                     <field name="date"/>
16                     <field name="date_start" invisible="1"/>
17                     <field name="user_id" invisible="1"/>
18                     <field name="parent_id" invisible="1"/>
19                     <field name="partner_id" invisible="1"/>
20                     <field name="state" invisible="1"/>
21                     <field name="type" invisible="1"/>
22                 </tree>
23             </field>
24         </record>
25
26         <record id="view_account_analytic_account_search" model="ir.ui.view">
27             <field name="name">account.analytic.account.search</field>
28             <field name="model">account.analytic.account</field>
29             <field name="type">search</field>
30             <field name="arch" type="xml">
31                 <search string="Analytic Account">
32                     <group>
33                         <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
34                         <filter icon="terp-camera_test" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
35                         <separator orientation="vertical"/>
36                         <filter icon="terp-go-today" string="Overdue Account" domain="[('date','&lt;',time.strftime('%%Y-%%m-%%d'))]" help="Analytic Accounts with a past deadline."/>
37                         <separator orientation="vertical"/>
38                         <field name="name"/>
39                         <field name="code"/>
40                         <field name="partner_id"/>
41                         <field name="user_id" widget="selection"/>
42                     </group>
43                     <newline/>
44                     <group expand="0" string="Group By...">
45                         <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
46                         <filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
47                         <separator orientation="vertical"/>
48                         <filter string="Parent Account" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
49                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
50                     </group>
51                 </search>
52             </field>
53         </record>
54
55         <record id="view_account_analytic_account_tree" model="ir.ui.view">
56             <field name="name">account.analytic.account.tree</field>
57             <field name="model">account.analytic.account</field>
58             <field name="type">tree</field>
59             <field name="field_parent">child_complete_ids</field>
60             <field name="arch" type="xml">
61                 <tree colors="blue:state=='pending';grey:state in ('close','cancelled');blue:type=='view'" string="Analytic account" toolbar="1">
62                     <field name="complete_name"/>
63                     <field name="code"/>
64                     <field name="debit"/>
65                     <field name="credit"/>
66                     <field name="balance"/>
67                     <field name="state" invisible="1"/>
68                     <field name="currency_id"/>
69                     <field name="date" invisible="1"/>
70                     <field name="user_id" invisible="1"/>
71                     <field name="partner_id" invisible="1"/>
72                     <field name="parent_id" invisible="1"/>
73                     <field name="type"/>
74                 </tree>
75             </field>
76         </record>
77
78
79         <record id="action_account_analytic_account_form" model="ir.actions.act_window">
80             <field name="name">Analytic Accounts</field>
81             <field name="type">ir.actions.act_window</field>
82             <field name="res_model">account.analytic.account</field>
83             <field name="view_type">form</field>
84             <field name="view_mode">tree,graph,form</field>
85             <field name="view_id" ref="view_account_analytic_account_tree"/>
86             <field name="search_view_id" ref="account.view_account_analytic_account_search"/>
87         </record>
88         <menuitem action="action_account_analytic_account_form" id="account_analytic_def_account"
89             parent="menu_analytic_accounting"
90             groups="analytic.group_analytic_accounting"/>
91
92         <record id="act_account_renew_view" model="ir.actions.act_window">
93             <field name="name">Accounts to Renew</field>
94             <field name="type">ir.actions.act_window</field>
95             <field name="res_model">account.analytic.account</field>
96             <field name="view_type">form</field>
97             <field name="view_mode">tree,form</field>
98             <field name="domain">[('date','&lt;',time.strftime('%Y-%m-%d %H:%M:%S'))]</field>
99             <field name="filter" eval="True"/>
100         </record>
101
102         <record id="action_account_analytic_account_tree2" model="ir.actions.act_window">
103             <field name="name">Chart of Analytic Accounts</field>
104             <field name="res_model">account.analytic.account</field>
105             <field name="view_type">tree</field>
106             <field name="view_id" ref="view_account_analytic_account_tree"/>
107             <field name="domain">[('parent_id','=',False)]</field>
108             <field name="help">The normal chart of accounts has a structure defined by the legal requirement of the country. The analytic chart of accounts structure should reflect your own business needs in term of costs/revenues reporting. They are usually structured by contracts, projects, products or departements. Most of the OpenERP operations (invoices, timesheets, expenses, etc) generate analytic entries on the related account.</field>
109         </record>
110
111         <menuitem groups="analytic.group_analytic_accounting" id="next_id_40"
112             name="Analytic" parent="account.menu_finance_generic_reporting"
113             sequence="4"/>
114
115         <record id="view_account_analytic_line_form" model="ir.ui.view">
116             <field name="name">account.analytic.line.form</field>
117             <field name="model">account.analytic.line</field>
118             <field name="type">form</field>
119             <field name="arch" type="xml">
120                 <form string="Analytic Entry" version="7.0">
121                     <group>
122                         <group>
123                             <field name="name"/>
124                             <field name="account_id"/>
125                             <field name="journal_id"/>
126                         </group>
127                         <group>
128                             <field name="date"/>
129                             <field name="ref"/>
130                             <field name="company_id" groups="base.group_multi_company"/>
131                         </group>
132                         <group string="Amount">
133                             <field name="amount"/>
134                             <label for="amount_currency"/>
135                             <div>
136                                 <field name="amount_currency" class="oe_form_inline"/>
137                                 <field name="currency_id" class="oe_form_inline"/>
138                             </div>
139                         </group>
140                         <group string="Product Information">
141                             <field name="product_id"/>
142                             <label for="unit_amount"/>
143                             <div>
144                                 <field name="unit_amount" class="oe_form_inline"/>
145                                 <field name="product_uom_id" class="oe_form_inline"/>
146                             </div>
147                         </group>
148                         <group string="General Accounting">
149                             <field name="general_account_id"/>
150                             <field name="move_id" readonly="1"/>
151                         </group>
152                     </group>
153                 </form>
154             </field>
155         </record>
156         <record id="view_account_analytic_line_tree" model="ir.ui.view">
157             <field name="name">account.analytic.line.tree</field>
158             <field name="model">account.analytic.line</field>
159             <field name="type">tree</field>
160             <field name="arch" type="xml">
161                 <tree editable="top" string="Analytic Entries">
162                     <field name="date"/>
163                     <field name="ref" invisible="context.get('to_invoice', False)"/>
164                     <field name="name"/>
165                     <field name="journal_id" invisible="context.get('to_invoice', False)"/>
166                     <field name="amount" sum="Total" invisible="context.get('to_invoice', False)"/>
167                     <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id, journal_id)" invisible="not context.get('to_invoice', False)"/>
168                     <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)" sum="Total Quantity"/>
169                     <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)" invisible="not context.get('to_invoice', False)"/>
170                     <field domain="[('type','=','normal')]" name="account_id"/>
171                     <field name="general_account_id" invisible="context.get('to_invoice', False)"/>
172                     <field name="user_id" invisible="1" />
173                 </tree>
174             </field>
175         </record>
176         <record id="view_account_analytic_line_filter" model="ir.ui.view">
177             <field name="name">account.analytic.line.select</field>
178             <field name="model">account.analytic.line</field>
179             <field name="type">search</field>
180             <field name="arch" type="xml">
181                 <search string="Search Analytic Lines">
182                     <group>
183                         <filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-camera_test" help="Analytic Journal Items related to a sale journal."/>
184                         <filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/>
185                         <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/>
186                         <separator orientation="vertical"/>
187                         <field name="date"/>
188                         <field name="name"/>
189                         <field name="account_id"/>
190                         <field name="user_id">
191                             <filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/>
192                         </field>
193                     </group>
194                     <newline/>
195                     <group string="Group By..." expand="0">
196                         <filter string="Account" context="{'group_by':'account_id'}" icon="terp-folder-green"/>
197                         <filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-orange"/>
198                         <filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/>
199                         <separator orientation="vertical"/>
200                         <filter string="Fin.Account" context="{'group_by':'general_account_id'}" icon="terp-folder-green"/>
201                         <separator orientation="vertical"/>
202                         <filter string="Product" context="{'group_by':'product_id'}" icon="terp-accessories-archiver"/>
203                     </group>
204                 </search>
205             </field>
206         </record>
207         <record id="action_account_analytic_line_form" model="ir.actions.act_window">
208             <field name="name">Analytic Entries</field>
209             <field name="type">ir.actions.act_window</field>
210             <field name="res_model">account.analytic.line</field>
211             <field name="view_type">form</field>
212             <field name="context">{"search_default_user_id":uid}</field>
213             <field name="view_id" ref="view_account_analytic_line_tree"/>
214         </record>
215
216         <!-- Entries by Line -->
217
218         <record id="action_account_tree1" model="ir.actions.act_window">
219             <field name="name">Analytic Items</field>
220             <field name="res_model">account.analytic.line</field>
221             <field name="view_type">form</field>
222             <field name="view_mode">tree,form</field>
223             <field name="domain">[('account_id','child_of',[active_id])]</field>
224             <field name="context">{'account_id':active_id}</field>
225             <field name="search_view_id" ref="view_account_analytic_line_filter"/>
226         </record>
227         <record id="ir_open_account_analytic_account" model="ir.values">
228             <field eval="'tree_but_open'" name="key2"/>
229             <field eval="'account.analytic.account'" name="model"/>
230             <field name="name">Open Account Tree</field>
231             <field eval="'ir.actions.act_window,%d'%action_account_tree1" name="value"/>
232         </record>
233
234         <record id="account_analytic_line_extended_form" model="ir.ui.view">
235             <field name="name">account.analytic.line.extended_form</field>
236             <field name="model">account.analytic.line</field>
237             <field name="type">form</field>
238             <field name="arch" type="xml">
239                 <form string="Project line" version="7.0">
240                     <group col="4">
241                         <field name="name"/>
242                         <field name="account_id"/>
243                         <field name="date" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
244                         <field name="journal_id"/>
245                         <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
246                         <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id, journal_id)"/>
247                         <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
248                         <field invisible="True" name="general_account_id"/>
249                         <field name="amount"/>
250                         <field name="currency_id" />
251                         <field name="amount_currency" />
252                         <field name="company_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
253                     </group>
254                 </form>
255             </field>
256         </record>
257         <record id="action_account_analytic_account_line_extended_form" model="ir.actions.act_window">
258             <field name="name">account.analytic.line.extended</field>
259             <field name="type">ir.actions.act_window</field>
260             <field name="res_model">account.analytic.line</field>
261             <field name="view_type">form</field>
262             <field name="view_id" ref="account_analytic_line_extended_form"/>
263         </record>
264
265         #
266         # Analytic Journal
267         #
268
269         <record id="view_account_analytic_journal_tree" model="ir.ui.view">
270             <field name="name">account.analytic.journal.tree</field>
271             <field name="model">account.analytic.journal</field>
272             <field name="type">tree</field>
273             <field name="arch" type="xml">
274                 <tree string="Analytic Journal">
275                     <field name="code"/>
276                     <field name="name"/>
277                     <field name="type"/>
278                 </tree>
279             </field>
280         </record>
281
282         <record id="view_analytic_journal_search" model="ir.ui.view">
283             <field name="name">account.analytic.journal.search</field>
284             <field name="model">account.analytic.journal</field>
285             <field name="type">search</field>
286             <field name="arch" type="xml">
287                 <search string="Analytic Journals">
288                   <group>
289                       <field name="code"/>
290                       <field name="name"/>
291                       <field name="type"/>
292                   </group>
293                   <newline/>
294                     <group expand="0" string="Group By...">
295                         <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
296                     </group>
297                 </search>
298             </field>
299         </record>
300
301         <record id="view_account_analytic_journal_form" model="ir.ui.view">
302             <field name="name">account.analytic.journal.form</field>
303             <field name="model">account.analytic.journal</field>
304             <field name="type">form</field>
305             <field name="arch" type="xml">
306                 <form string="Analytic Journal" version="7.0">
307                     <group col="4">
308                         <field name="name"/>
309                         <field name="code"/>
310                         <field name="type"/>
311                         <field name="active"/>
312                         <field name="company_id" groups="base.group_multi_company"/>
313                     </group>
314                 </form>
315             </field>
316         </record>
317         <record id="action_account_analytic_journal_form" model="ir.actions.act_window">
318             <field name="name">Analytic Journals</field>
319             <field name="res_model">account.analytic.journal</field>
320             <field name="view_type">form</field>
321             <field name="view_mode">tree,form</field>
322             <field name="search_view_id" ref="view_analytic_journal_search" />
323         </record>
324         <menuitem groups="analytic.group_analytic_accounting" action="action_account_analytic_journal_form" id="account_def_analytic_journal" parent="menu_analytic_accounting" sequence="5"/>
325
326         #
327         # Open journal entries
328         #
329
330         <record id="action_account_analytic_journal_open_form" model="ir.actions.act_window">
331             <field name="name">Analytic Journal Items</field>
332             <field name="res_model">account.analytic.line</field>
333             <field name="view_type">form</field>
334             <field name="view_mode">tree,form</field>
335         </record>
336         <menuitem groups="analytic.group_analytic_accounting"
337             action="action_account_analytic_journal_open_form"
338             id="account_analytic_journal_entries"
339             parent="menu_finance_entries"/>
340
341         #
342         # Reporting
343         #
344
345         <record id="action_account_analytic_journal_tree" model="ir.actions.act_window">
346             <field name="name">Print Analytic Journals</field>
347             <field name="res_model">account.analytic.journal</field>
348             <field name="view_type">tree</field>
349             <field name="help">To print an analytics (or costs) journal for a given period. The report give code, move name, account number, general amount and analytic amount.</field>
350         </record>
351         <menuitem groups="analytic.group_analytic_accounting"
352             action="action_account_analytic_journal_tree"
353             id="account_analytic_journal_print" parent="account.next_id_40"/>
354
355         #
356         # Statistics [where is this object in py file ?]
357         #
358
359         <!--<record id="report_hr_timesheet_invoice_journal_form" model="ir.ui.view">-->
360         <!--    <field name="name">report.hr.timesheet.invoice.journal.form</field>-->
361         <!--    <field name="model">report.hr.timesheet.invoice.journal</field>-->
362         <!--    <field name="type">form</field>-->
363         <!--    <field name="arch" type="xml">-->
364         <!--        <form string="Analytic Entries Stats" version="7.0">-->
365         <!--            <group col="4">-->
366         <!--                <field name="name"/>-->
367         <!--                <field name="account_id"/>-->
368         <!--                <field name="journal_id"/>-->
369         <!--            </group>-->
370         <!--        </form>-->
371         <!--    </field>-->
372         <!--</record>-->
373         <!---->
374         <!---->
375         <!--<record id="report_hr_timesheet_invoice_journal_tree" model="ir.ui.view">-->
376         <!--    <field name="name">report.hr.timesheet.invoice.journal.tree</field>-->
377         <!--    <field name="model">report.hr.timesheet.invoice.journal</field>-->
378         <!--    <field name="type">tree</field>-->
379         <!--    <field name="arch" type="xml">-->
380         <!--        <tree string="Analytic Entries Stats">-->
381         <!--            <field name="name"/>-->
382         <!--            <field name="month"/>-->
383         <!--            <field name="account_id"/>-->
384         <!--            <field name="journal_id"/>-->
385         <!--            <field name="quantity"/>-->
386         <!--            <field name="revenue"/>-->
387         <!--            <field name="cost"/>-->
388         <!--        </tree>-->
389         <!--    </field>-->
390         <!--</record>-->
391         <!---->
392         <!--<record id="report_hr_timesheet_invoice_journal_graph" model="ir.ui.view">-->
393         <!--    <field name="name">report.hr.timesheet.invoice.journal.graph</field>-->
394         <!--    <field name="model">report.hr.timesheet.invoice.journal</field>-->
395         <!--    <field name="type">graph</field>-->
396         <!--    <field name="arch" type="xml">-->
397         <!--        <graph string="Analytic Entries Stats" type="bar">-->
398         <!--            <field name="name"/>-->
399         <!--            <field name="month"/>-->
400         <!--            <field name="cost" operator="+"/>-->
401         <!--            <field name="revenue" operator="+"/>-->
402         <!--            <field group="True" name="journal_id"/>-->
403         <!--        </graph>-->
404         <!--    </field>-->
405         <!--</record>-->
406         <!---->
407         <!--<record id="report_hr_timesheet_invoice_journal_search" model="ir.ui.view">-->
408         <!--    <field name="name">report.hr.timesheet.invoice.journal.search</field>-->
409         <!--    <field name="model">report.hr.timesheet.invoice.journal</field>-->
410         <!--    <field name="type">search</field>-->
411         <!--    <field name="arch" type="xml">-->
412         <!--        <search string="Analytic Entries Stats">-->
413         <!--            <group>-->
414         <!--                <filter icon="terp-go-year" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="Sale journal in this year"/>-->
415         <!--                   <filter icon="terp-go-month" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="Sale journal in this month"/>-->
416         <!--                   <separator orientation="vertical"/>-->
417         <!--                <field name="name"/>-->
418         <!--                   <field name="month"/>-->
419         <!--                <field name="account_id"/>-->
420         <!--            </group>-->
421         <!--        </search>-->
422         <!--    </field>-->
423         <!--</record>-->
424
425         <act_window
426             context="{'search_default_account_id': [active_id], 'search_default_user_id': False, 'default_account_id': active_id}"
427             id="act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal"
428             name="All Analytic Entries"
429             res_model="account.analytic.line"
430             src_model="account.analytic.account"
431             view_mode="tree,form"
432             view_type="form"/>
433
434         <record id="view_account_journal_1" model="ir.ui.view">
435             <field name="name">account.journal.form.1</field>
436             <field name="model">account.journal</field>
437             <field name="inherit_id" ref="account.view_account_journal_form"/>
438             <field name="type">form</field>
439             <field name="arch" type="xml">
440                 <field name="currency" position="after">
441                     <field name="analytic_journal_id"/>
442                 </field>
443             </field>
444         </record>
445
446      <record id="analytic_accounts_graph" model="ir.ui.view">
447             <field name="name">analytic.accounts.graph</field>
448             <field name="model">account.analytic.account</field>
449             <field name="type">graph</field>
450             <field name="arch" type="xml">
451                 <graph string="Analytic Account Statistics" type="bar">
452                     <field name="complete_name"/>
453                     <field name="balance" operator="+"/>
454                 </graph>
455             </field>
456      </record>
457
458     </data>
459 </openerp>