[MOD]Improvement in document_* access right
[odoo/odoo.git] / addons / document / document_view.xml
1 <openerp>
2 <data>
3     <menuitem name="Document Management" id="menu_document_management_configuration" parent="knowledge.menu_document_configuration" sequence="1"/>
4
5     <record model="ir.ui.view" id="view_document_storage_form">
6         <field name="name">document.storage</field>
7         <field name="model">document.storage</field>
8         <field name="type">form</field>
9         <field name="arch" type="xml">
10             <form string="Storage Media">
11                 <group colspan="4" col="6">
12                     <field name="name" select="1" colspan="4"/>
13                     <field name="type"/>
14                     <newline/>
15                     <field name="user_id"/>
16                     <field name="online"/>
17                     <field name="readonly"/>
18                 </group>
19                 <group colspan="2" attrs="{'invisible':[('type','in',['db', 'db64'])]}">
20                     <field name="path"/>
21                 </group>
22             </form>
23         </field>
24     </record>
25
26     <record model="ir.ui.view" id="view_document_storage_tree">
27         <field name="name">document.storage</field>
28         <field name="model">document.storage</field>
29         <field name="type">tree</field>
30         <field name="arch" type="xml">
31             <tree string="Storage Media" toolbar="1">
32                 <field name="name"/>
33                 <field name="type"/>
34             </tree>
35         </field>
36     </record>
37
38     <record id="view_document_storage_filter" model="ir.ui.view">
39             <field name="name">Search View: Document Storage</field>
40             <field name="model">document.storage</field>
41             <field name="type">search</field>
42             <field name="arch" type="xml">
43                 <search string="Search Document storage">
44                     <field name="name" />
45                     <newline/>
46                     <group expand="0" string="Group By..." groups="base.group_extended">
47                         <filter string="Type"  domain="[]" context="{'group_by':'type'}"/>
48                     </group>
49                </search>
50             </field>
51         </record>
52
53     <record model="ir.actions.act_window" id="action_document_storage_form">
54         <field name="type">ir.actions.act_window</field>
55         <field name="res_model">document.storage</field>
56         <field name="view_type">form</field>
57         <field name="view_mode">tree,form</field>
58         <field name="search_view_id" ref="view_document_storage_filter"/>
59     </record>
60    <menuitem
61         name="Storage Media"
62         action="action_document_storage_form"
63         id="menu_document_storage_media"
64         groups="base.group_extended,base.group_system"
65         parent="menu_document_management_configuration"/>
66
67     <record model="ir.ui.view" id="view_document_directory_form">
68         <field name="name">document.directory</field>
69         <field name="model">document.directory</field>
70         <field name="type">form</field>
71         <field name="arch" type="xml">
72             <form string="Directories" col="6">
73                 <field name="name" select="1" colspan="4"/>
74                 <field name="parent_id"/>
75                 <field name="storage_id" widget="selection" />
76                 <field name="user_id"/>
77                 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
78                 <notebook colspan="4">
79                 <page string="Definition">
80                     <separator string="Directory Type" colspan="4"/>
81                     <field name="type"/>
82                     <group colspan="4" col="4" attrs="{'invisible': [('type','!=','ressource')]}">
83                         <field name="ressource_type_id"  on_change="onchange_content_id(ressource_type_id)" 
84                             attrs="{'required': [('type','=','ressource')] }"/>
85                         <field name="resource_find_all" groups="base.group_extended" />
86                         <newline/>
87                         <field name="resource_field"     domain="[('model_id','=',ressource_type_id), ('ttype', 'in', ('char', 'selection', 'date', 'datetime'))]"/>
88                         <field name="ressource_tree"/>
89                         <newline/>
90                         <field name="domain" attrs="{'required': [('type','=','ressource')], 'readonly': [('type','=','static')]}"/>
91                     </group>
92                     <group colspan="4" col="4">
93                         <field name="ressource_parent_type_id"/>
94                         <field name="ressource_id" select="2" readonly="1"/>
95                     </group>
96                     
97                 </page>
98                 <page string="Generated Files" groups="base.group_extended">
99                     <label colspan="4" string="For each entry here, virtual files will appear in this folder." />
100                     <field name="content_ids" nolabel="1" colspan="4" >
101                         <form string="Contents">
102                             <field name="name"/>
103                             <field name="sequence"/>
104                             <field name="prefix"/>
105                             <field name="suffix"/>
106                             <field name="extension"/>
107                             <field name="include_name"/>
108                             <separator string="PDF Report" colspan="4"/>
109                             <field name="report_id" domain="[('model_id','=',parent.ressource_type_id)]"/>
110                         </form>
111                         <tree string="Contents">
112                             <field name="sequence" string="Seq."/>
113                             <field name="name"/>
114                             <field name="suffix"/>
115                             <field name="extension"/>
116                         </tree>
117                     </field>
118                 </page>
119                 <page string="Dynamic context" groups="base.group_extended">
120                     <label colspan="4" string="Define words in the context, for all child directories and files" />
121                     <field name="dctx_ids" nolabel="1" colspan="4">
122                         <tree string="Fields" editable="bottom">
123                             <field name="field"/>
124                             <field name="expr"/>
125                         </tree>
126                         <form string="Fields">
127                             <field name="field"/>
128                             <field name="expr"/>
129                         </form>
130                     </field>
131                 </page>
132                 <page string="Security">
133                     <label colspan="4" string="Only members of these groups will have access to this directory and its files." />
134                     <label colspan="4" string="These groups, however, do NOT apply to children directories, which must define their own groups." />
135                     <field name="group_ids" colspan="4" nolabel="1"/>
136                 </page>
137                 </notebook>
138             </form>
139         </field>
140     </record>
141     <record model="ir.ui.view" id="view_document_directory_tree">
142         <field name="name">document.directory</field>
143         <field name="model">document.directory</field>
144         <field name="type">tree</field>
145         <field name="field_parent">child_ids</field>
146         <field name="arch" type="xml">
147             <tree string="Directories" toolbar="1">
148                 <field name="name"/>
149                 <field name="type"/>
150                 <field name="user_id"/>
151                 <field name="create_date"/>
152                 <field name="write_date"/>
153             </tree>
154         </field>
155     </record>
156
157     <record id="view_document_directory_filter" model="ir.ui.view">
158             <field name="name">Search View: Document Directory</field>
159             <field name="model">document.directory</field>
160             <field name="type">search</field>
161             <field name="arch" type="xml">
162                 <search string="Search Document Directory">
163                     <filter string="Static" domain="[('type','=','directory')]"/>
164                     <filter string="Resources" domain="[('type','=','ressource')]"/>
165                     <separator orientation="vertical"/>
166                     <field name="name" />
167                     <field name="user_id" />
168                     <field name="storage_id" />
169                     <newline/>
170                     <group expand="0" string="Group By..." groups="base.group_extended">
171                         <filter string="Type"  domain="[]" context="{'group_by':'type'}"/>
172                         <filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
173                         <filter string="Storage" domain="[]" context="{'group_by':'storage_id'}"/>
174                     </group>
175                </search>
176             </field>
177         </record>
178
179     <record model="ir.actions.act_window" id="action_document_directory_form">
180         <field name="name">Directories</field>
181         <field name="type">ir.actions.act_window</field>
182         <field name="res_model">document.directory</field>
183         <field name="view_type">form</field>
184         <field name="view_mode">tree,form</field>
185         <field name="search_view_id" ref="view_document_directory_filter"/>
186     </record>
187
188     <record id="action_dir_view1" model="ir.actions.act_window.view">
189         <field eval="10" name="sequence"/>
190         <field name="view_mode">tree</field>
191         <field name="view_id" ref="view_document_directory_tree"/>
192         <field name="act_window_id" ref="action_document_directory_form"/>
193     </record>
194     <record id="action_dir_view2" model="ir.actions.act_window.view">
195         <field eval="20" name="sequence"/>
196         <field name="view_mode">form</field>
197         <field name="view_id" ref="view_document_directory_form"/>
198         <field name="act_window_id" ref="action_document_directory_form"/>
199     </record>
200
201     <menuitem
202         action="action_document_directory_form"
203         id="menu_document_directories"
204         parent="menu_document_management_configuration"/>
205
206
207     <record model="ir.actions.act_window" id="action_document_directory_tree">
208         <field name="type">ir.actions.act_window</field>
209         <field name="name">Directories' Structure</field>
210         <field name="res_model">document.directory</field>
211         <field name="view_type">tree</field>
212         <field name="view_id" ref="document.view_document_directory_tree"/>
213         <field name="domain">[('ressource_parent_type_id','=',False),('parent_id','=',False)]</field>
214     </record>
215     <menuitem
216         action="action_document_directory_tree"
217         id="menu_document_directories_tree"
218         parent="menu_document_management_configuration" sequence="5"/>
219
220     <record model="ir.ui.view" id="view_document_file_form">
221         <field name="name">ir.attachment</field>
222         <field name="model">ir.attachment</field>
223         <field name="priority" eval="1"/>
224         <field name="type">form</field>
225         <field name="arch" type="xml">
226             <form string="Documents">
227                 <group colspan="4" col="6">
228                     <field name="name" select="1" colspan="4" />
229                     <field name="parent_id"/>
230                     <newline/>
231                     <field name="user_id"/>
232                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
233                 </group>
234                 <notebook colspan="4">
235                 <page string="Attachment">
236                     <group col="2" colspan="2">
237                         <separator string="Data" colspan="2"/>
238                         <field name="type"/>
239                         <newline />
240                         <group col="2" colspan="2" attrs="{'invisible':[('type','=','url')]}">
241                             <field name="datas" filename="datas_fname"/>
242                             <field name="datas_fname" select="1"/>
243                         </group>
244                         <group col="2" colspan="2" attrs="{'invisible':[('type','=','binary')]}">
245                             <field name="url" widget="url"/>
246                         </group>
247                     </group>
248                     <group col="2" colspan="2">
249                     <field name="res_id" invisible="True"/>
250                         <group col="2" colspan="2" attrs="{'invisible': [('res_id','=',0)]}">
251                             <separator string="Attached To" colspan="2"/>
252                             <field name="res_model" readonly="True" invisible="True"/>
253                             <field name="res_name" readonly="1"/>
254                         </group>
255                         <separator string="Related to" colspan="2"/>
256                             <field name="partner_id"/>
257                     </group>
258                     <group col="2" colspan="2" groups="base.group_extended">
259                         <separator string="Created" colspan="2"/>
260                         <field name="create_uid" readonly="1"/>
261                         <field name="create_date" readonly="1"/>
262                     </group>
263                     <group col="2" colspan="2" groups="base.group_extended">
264                         <separator string="Modified" colspan="2"/>
265                         <field name="write_uid" readonly="1"/>
266                         <field name="write_date" readonly="1"/>
267                     </group>
268                 </page>
269                 <page string="Indexed Content" groups="base.group_extended">
270                     <field name="index_content" colspan="4" nolabel="1"/>
271                 </page>
272                 <page string="Notes">
273                     <field colspan="4" name="description" nolabel="1"/>
274                 </page>
275                 </notebook>
276             </form>
277         </field>
278     </record>
279
280     <record id="view_attach_filter" model="ir.ui.view">
281             <field name="name">IR Attachment</field>
282             <field name="model">ir.attachment</field>
283             <field name="type">search</field>
284             <field name="arch" type="xml">
285              <search string="IR Attachment">
286              <filter icon="terp-go-month" string="Recent Month"
287                     help="Attachment modified/created last 30 days"
288                     domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
289                 />
290                  <separator orientation="vertical"/>
291                  <field name="name"/>
292                  <field name="parent_id" />
293                  <field name="user_id">
294                     <filter icon="terp-personal"
295                         domain="[('user_id','=', False)]"
296                         help="Filter on my Attachment" />
297                  </field>
298                 <field name="partner_id"/>
299                 <field name="company_id" groups="base.group_multi_company"/>
300                 <newline/>
301                 <group expand="0" string="Group By...">
302                     <filter string="Partner" icon="terp-personal" domain="[]"
303                        context="{'group_by':'partner_id'}"  groups="base.group_extended"/>
304                     <filter string="Directory" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
305                     <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"  groups="base.group_extended"/>
306                     <filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
307                     <filter string="Company" icon="terp-personal" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
308                 </group>
309               </search>
310              </field>
311          </record>
312     <record model="ir.ui.view" id="view_document_file_tree">
313         <field name="name">ir.attachment</field>
314         <field name="model">ir.attachment</field>
315         <field name="type">tree</field>
316         <field name="priority" eval="1"/>
317         <field name="arch" type="xml">
318             <tree colors="blue:type in ('url',)">
319                 <field name="name"/>
320                 <field name="parent_id" />
321                 <field name="user_id"/>
322                 <field name="create_date"/>
323                 <field name="write_date"/>
324                 <field name="partner_id" groups="base.group_extended" />
325                 <field name="type"  groups="base.group_extended"/>
326             </tree>
327
328         </field>
329     </record>
330
331     <record model="ir.actions.act_window" id="action_document_file_form">
332         <field name="name">Documents</field>
333         <field name="type">ir.actions.act_window</field>
334         <field name="res_model">ir.attachment</field>
335         <field name="name">Document</field>
336         <field name="view_type">form</field>
337         <field name="search_view_id" ref="view_attach_filter"/>
338     </record>
339     <menuitem name="Documents" id="menu_document_doc" parent="knowledge.menu_document" sequence="0"/>
340     <menuitem
341         name="Documents"
342         action="action_document_file_form"
343         id="menu_document_files"
344         parent="menu_document_doc"/>
345
346     <record model="ir.actions.act_window" id="action_document_file_directory_form">
347         <field name="type">ir.actions.act_window</field>
348         <field name="res_model">ir.attachment</field>
349         <field name="name">Directory</field>
350         <field name="view_type">form</field>
351         <field name="domain">[('parent_id','child_of',active_id)]</field>
352         <field name="context">{'parent_id':active_id}</field>
353     </record>
354
355     <record model="ir.values" id="ir_action_document_file_directory_form">
356         <field name="key2" eval="'tree_but_open'"/>
357         <field name="model" eval="'document.directory'"/>
358         <field name="name">Browse Files</field>
359         <field name="value" eval="'ir.actions.act_window,%d'%action_document_file_directory_form"/>
360         <field name="object" eval="True"/>
361     </record>
362
363     <record model="ir.ui.view" id="view_attachment_form_inherit">
364         <field name="name">ir.attachment.view.inherit</field>
365         <field name="model">ir.attachment</field>
366         <field name="inherit_id" ref="base.view_attachment_form"/>
367         <field name="arch" type="xml">
368             <field name="datas_fname" position = "replace" >
369             </field>
370         </field>
371     </record>
372
373     <record model="ir.ui.view" id="view_process_node_form_inherit1">
374         <field name="name">process.node.form</field>
375         <field name="model">process.node</field>
376             <field name="type">form</field>
377             <field name="inherit_id" ref="process.view_process_node_form"/>
378         <field name="priority" eval="1"/>
379         <field name="arch" type="xml">
380             <field name="subflow_id" position="after">
381                 <field name="directory_id" domain="[('ressource_type_id','=',model_id),('ressource_parent_type_id','=',False)]"/>
382                 <newline/>
383             </field>
384         </field>
385     </record>
386
387     <record model="ir.ui.view" id="view_process_form_inherit1">
388         <field name="name">process.process.form</field>
389         <field name="model">process.process</field>
390             <field name="type">form</field>
391             <field name="inherit_id" ref="process.view_process_form"/>
392         <field name="priority" eval="1"/>
393         <field name="arch" type="xml">
394             <field name="subflow_id" position="after">
395                 <field name="directory_id" domain="[('ressource_type_id','=',model_id),('ressource_parent_type_id','=',False)]"/>
396                 <newline/>
397             </field>
398         </field>
399     </record>
400
401     <act_window domain="[('partner_id', '=', active_id)]"
402         id="act_res_partner_document" name="Related Documents"
403         res_model="ir.attachment"
404         src_model="res.partner"
405         groups="base.group_extended"/>
406
407     <act_window domain="[('parent_id', '=', active_id)]"
408         id="zoom_directory" name="Related Documents"
409         res_model="ir.attachment"
410         src_model="document.directory"/>
411
412
413
414
415 </data>
416 </openerp>
417