570 lines
28 KiB
XML
570 lines
28 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!--
|
|
|
|
Copyright 2017-2019 MuK IT GmbH
|
|
Copyright 2021 Tecnativa - Víctor Martínez
|
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
|
|
|
-->
|
|
<odoo>
|
|
<record id="search_dms_file" model="ir.ui.view">
|
|
<field name="name">dms_file.search</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="name" filter_domain="[('name','ilike',self)]"/>
|
|
<filter
|
|
string="All Files"
|
|
name="all"
|
|
domain="['|',('active', '=', False), ('active', '!=', False)]"
|
|
/>
|
|
<filter
|
|
string="My Files"
|
|
name="filter_user"
|
|
domain="[('create_uid', '=', uid)]"
|
|
/>
|
|
<separator/>
|
|
<filter
|
|
string="Archived Files"
|
|
name="filter_active"
|
|
domain="[('active', '=', False)]"
|
|
/>
|
|
<separator/>
|
|
<filter
|
|
string="Creation Date"
|
|
name="filter_create"
|
|
date="create_date"
|
|
/>
|
|
<filter
|
|
string="Modification Date"
|
|
name="filter_write"
|
|
date="write_date"
|
|
/>
|
|
<group expand="0" string="Group By">
|
|
<filter
|
|
name="group_color"
|
|
string="Color"
|
|
domain="[]"
|
|
context="{'group_by':'color'}"
|
|
/>
|
|
<filter
|
|
name="group_category"
|
|
string="Category"
|
|
domain="[]"
|
|
context="{'group_by':'category_id'}"
|
|
/>
|
|
<separator/>
|
|
<filter
|
|
name="group_storage"
|
|
string="Storage"
|
|
domain="[]"
|
|
context="{'group_by':'storage_id'}"
|
|
/>
|
|
<filter
|
|
name="group_directory"
|
|
string="Directories"
|
|
domain="[]"
|
|
context="{'group_by':'directory_id'}"
|
|
/>
|
|
<filter
|
|
name="group_project"
|
|
string="Project"
|
|
domain="[]"
|
|
context="{'group_by':'project_id'}"
|
|
/>
|
|
</group>
|
|
<searchpanel>
|
|
<field
|
|
name="directory_id"
|
|
icon="fa-folder"
|
|
context="{'directory_short_name': True}"
|
|
enable_counters="1"
|
|
/>
|
|
<field name="category_id" icon="fa-users" enable_counters="1"/>
|
|
</searchpanel>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="view_dms_file_kanban" model="ir.ui.view">
|
|
<field name="name">dms_file.kanban</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="arch" type="xml">
|
|
<kanban
|
|
js_class="file_kanban"
|
|
class="mk_file_kanban_view o_kanban_small_column align-content-start"
|
|
banner_route="/dms/document_onboarding/file"
|
|
>
|
|
<field name="id"/>
|
|
<field name="tag_ids"/>
|
|
<field name="name"/>
|
|
<field name="color"/>
|
|
<field name="active"/>
|
|
<field name="mimetype"/>
|
|
<field name="icon_url"/>
|
|
<field name="create_uid"/>
|
|
<field name="write_date"/>
|
|
<field name="locked_by"/>
|
|
<field name="is_locked"/>
|
|
<field name="is_lock_editor"/>
|
|
<field name="permission_write"/>
|
|
<field name="permission_unlink"/>
|
|
<field name="__last_update"/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div
|
|
t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click"
|
|
>
|
|
<div class="o_dropdown_kanban dropdown">
|
|
<a
|
|
class="dropdown-toggle o-no-caret btn"
|
|
href="#"
|
|
role="button"
|
|
data-toggle="dropdown"
|
|
aria-label="Dropdown menu"
|
|
title="Dropdown menu"
|
|
>
|
|
<span class="fa fa-ellipsis-v"/>
|
|
</a>
|
|
<div class="dropdown-menu" role="menu">
|
|
<div class="row">
|
|
<div class="col-6 mk_file_kanban_operations">
|
|
<h6 class="dropdown-header">
|
|
العمليات
|
|
</h6>
|
|
<a
|
|
role="menuitem"
|
|
name="%(portal.portal_share_action)d"
|
|
type="action"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-share"/>
|
|
مشاركة
|
|
</a>
|
|
<a
|
|
t-if="record.permission_write.raw_value and !record.is_locked.raw_value"
|
|
role="menuitem"
|
|
name="lock"
|
|
type="object"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-lock"/>
|
|
قفل الملف
|
|
</a>
|
|
<a
|
|
t-if="record.is_locked.raw_value and record.is_lock_editor.raw_value"
|
|
role="menuitem"
|
|
name="unlock"
|
|
type="object"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-unlock-alt"/>
|
|
الغاء القفل
|
|
</a>
|
|
<a
|
|
t-if="record.permission_write.raw_value and record.active.raw_value"
|
|
role="menuitem"
|
|
name="toggle_active"
|
|
type="object"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-archive"/>
|
|
أرشفة
|
|
</a>
|
|
<a
|
|
t-if="record.permission_write.raw_value and !record.active.raw_value"
|
|
role="menuitem"
|
|
name="toggle_active"
|
|
type="object"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-archive"/>
|
|
الغاء الأرشفة
|
|
</a>
|
|
<a
|
|
role="menuitem"
|
|
class="dropdown-item"
|
|
t-attf-href="/web/content?id=#{record.id.raw_value}&field=content&model=dms.file&filename_field=name&download=true"
|
|
>
|
|
<i class="fa fa-download"/>
|
|
تنزيل
|
|
</a>
|
|
</div>
|
|
<div
|
|
class="col-6 border-left mk_file_kanban_actions"
|
|
>
|
|
<h6 class="dropdown-header">
|
|
الافعال
|
|
</h6>
|
|
<a
|
|
role="menuitem"
|
|
type="open"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-external-link"/>
|
|
فتح
|
|
</a>
|
|
<a
|
|
t-if="record.permission_write.raw_value"
|
|
role="menuitem"
|
|
type="edit"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-pencil-square-o"/>
|
|
تعديل
|
|
</a>
|
|
<a
|
|
t-if="record.permission_unlink.raw_value"
|
|
role="menuitem"
|
|
type="delete"
|
|
class="dropdown-item"
|
|
>
|
|
<i class="fa fa-trash-o"/>
|
|
حذف
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div
|
|
t-if="record.permission_write.raw_value"
|
|
class="row"
|
|
>
|
|
<div role="menuitem" class="col-12">
|
|
<ul
|
|
class="oe_kanban_colorpicker"
|
|
data-field="color"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="oe_kanban_content">
|
|
<div class="o_kanban_image">
|
|
<div class="o_kanban_image_wrapper">
|
|
<a
|
|
class="o_kanban_dms_file_preview"
|
|
t-att-data-id="widget.db_id"
|
|
>
|
|
<img
|
|
t-att-src="record.icon_url.raw_value"
|
|
alt="Icon"
|
|
/>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="o_kanban_details">
|
|
<div class="o_kanban_details_wrapper">
|
|
<div
|
|
class="o_kanban_record_title o_text_overflow"
|
|
>
|
|
<a
|
|
class="o_kanban_dms_file_preview fa fa-search"
|
|
title="Search"
|
|
t-att-data-id="widget.db_id"
|
|
/>
|
|
<field name="name"/>
|
|
</div>
|
|
<div class="o_kanban_record_body">
|
|
<field
|
|
name="tag_ids"
|
|
widget="many2many_tags"
|
|
options="{'color_field': 'color'}"
|
|
/>
|
|
</div>
|
|
<div class="o_kanban_record_bottom">
|
|
<div class="oe_kanban_bottom_left">
|
|
<field
|
|
name="write_date"
|
|
widget="date"
|
|
/>
|
|
</div>
|
|
<div class="oe_kanban_bottom_right">
|
|
<span
|
|
t-if="record.is_locked.raw_value"
|
|
class="mk_file_kanban_lock"
|
|
>
|
|
<i
|
|
t-attf-class="fa #{(record.is_locked.raw_value and !record.is_lock_editor.raw_value) ? 'fa-lock' : ''} #{((record.is_locked.raw_value and record.is_lock_editor.raw_value)) ? 'fa-unlock-alt' : ''}"
|
|
t-att-title="record.locked_by.value"
|
|
/>
|
|
</span>
|
|
<img
|
|
t-att-src="kanban_image('res.users', 'image_128', record.create_uid.raw_value)"
|
|
t-att-alt="record.create_uid.value"
|
|
class="oe_kanban_avatar"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
<record id="view_dms_file_tree" model="ir.ui.view">
|
|
<field name="name">dms_file.tree</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="arch" type="xml">
|
|
<tree
|
|
string="Files"
|
|
js_class="file_list"
|
|
decoration-warning="not active"
|
|
decoration-muted="(is_locked and not is_lock_editor)"
|
|
>
|
|
<field name="active" invisible="1"/>
|
|
<field name="is_locked" invisible="1"/>
|
|
<field name="is_lock_editor" invisible="1"/>
|
|
<field name="name"/>
|
|
<field name="write_date"/>
|
|
<field name="size"/>
|
|
<field name="mimetype"/>
|
|
<field name="path_names" widget="path_names" string="Path"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="view_dms_file_graph" model="ir.ui.view">
|
|
<field name="name">dms_file.graph</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="arch" type="xml">
|
|
<graph type="pie">
|
|
<field name="directory_id" type="row"/>
|
|
<field name="size" type="measure"/>
|
|
</graph>
|
|
</field>
|
|
</record>
|
|
<record id="view_dms_file_pivot" model="ir.ui.view">
|
|
<field name="name">dms_file.pivot</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="arch" type="xml">
|
|
<pivot display_quantity="true">
|
|
<field name="storage_id" type="row"/>
|
|
<field name="directory_id" type="row"/>
|
|
<field name="size" type="measure"/>
|
|
</pivot>
|
|
</field>
|
|
</record>
|
|
<record id="view_dms_file_form" model="ir.ui.view">
|
|
<field name="name">dms_file.form</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Files">
|
|
<header>
|
|
<button
|
|
class="oe_highlight"
|
|
name="lock"
|
|
type="object"
|
|
string="Lock"
|
|
attrs="{'invisible':['|',('is_locked', '!=', False),('permission_write', '=', False)]}"
|
|
/>
|
|
<button
|
|
class="oe_highlight"
|
|
name="unlock"
|
|
type="object"
|
|
string="Unlock"
|
|
attrs="{'invisible':['|',('is_locked', '=', False),('is_lock_editor', '=', False)]}"
|
|
/>
|
|
<button
|
|
name="%(portal.portal_share_action)d"
|
|
string="Share"
|
|
type="action"
|
|
class="oe_highlight oe_read_only"
|
|
/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_button_box" name="button_box"/>
|
|
<field
|
|
name="image_1920"
|
|
widget="image"
|
|
class="oe_avatar"
|
|
nolabel="1"
|
|
options="{'image_preview': 'image_128'}"
|
|
/>
|
|
<div class="oe_title">
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1>
|
|
<field name="name"/>
|
|
<field name="active" invisible="1"/>
|
|
</h1>
|
|
<h4>
|
|
<field
|
|
name="path_json"
|
|
widget="path_json"
|
|
options="{'prefix': True, 'suffix': False}"
|
|
attrs="{'invisible': ['|', ('name', '=', False), ('directory_id', '=', False)]}"
|
|
/>
|
|
</h4>
|
|
</div>
|
|
<group name="content">
|
|
<group>
|
|
<field
|
|
name="content"
|
|
filename="name"
|
|
widget="preview_binary"
|
|
/>
|
|
<field name="file_code" string="File Code"/>
|
|
<field name="project_id" invisible="1"/>
|
|
<field name="version" string="Version"/>
|
|
</group>
|
|
<group>
|
|
<field
|
|
name="tag_ids"
|
|
widget="many2many_tags"
|
|
placeholder="Tags..."
|
|
options="{'color_field': 'color', 'no_create_edit': True}"
|
|
/>
|
|
<!-- <field name="extension"/>-->
|
|
<field name="mimetype" string="File Type"/>
|
|
<field
|
|
name="category_id"
|
|
placeholder="Internal / Human Resource"
|
|
options="{'no_open': True, 'no_create': True}"
|
|
/>
|
|
</group>
|
|
</group>
|
|
<h1>Settings</h1>
|
|
<group name="settings">
|
|
<group>
|
|
<field name="settings" options="{'no_open': True}"/>
|
|
<field name="storage_id" options="{'no_open': True}"/>
|
|
</group>
|
|
<group>
|
|
<field
|
|
name="directory_id"
|
|
options="{'no_quick_create': True}"
|
|
/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<field name="storage_id_save_type" invisible="True"/>
|
|
<field
|
|
name="res_model"
|
|
readonly="True"
|
|
attrs="{'invisible': [('storage_id_save_type', '!=', 'attachment')]}"
|
|
/>
|
|
<field
|
|
name="res_id"
|
|
readonly="True"
|
|
attrs="{'invisible': [('storage_id_save_type', '!=', 'attachment')]}"
|
|
/>
|
|
<field
|
|
name="record_ref"
|
|
attrs="{'invisible': [('storage_id_save_type', '!=', 'attachment')]}"
|
|
/>
|
|
</group>
|
|
<notebook>
|
|
<page name="page_meta" string="Meta Information">
|
|
<group>
|
|
<group>
|
|
<field name="create_date" readonly="1"/>
|
|
<field name="create_uid" readonly="1"/>
|
|
</group>
|
|
<group>
|
|
<field name="write_date" readonly="1"/>
|
|
<field name="write_uid" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
<page name="page_access" string="Access Information">
|
|
<group>
|
|
<group>
|
|
<field name="permission_write" readonly="1"/>
|
|
<field name="permission_unlink" readonly="1"/>
|
|
</group>
|
|
<group>
|
|
<field name="is_lock_editor" invisible="1"/>
|
|
<field name="is_locked" invisible="1"/>
|
|
<field name="locked_by"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
<page
|
|
name="page_technical"
|
|
string="Technical Information"
|
|
invisible="1"
|
|
groups="dms.group_dms_manager,base.group_no_one"
|
|
>
|
|
<group name="technical">
|
|
<group name="technical_left">
|
|
</group>
|
|
<group name="technical_right">
|
|
</group>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_follower_ids"/>
|
|
<field name="activity_ids"/>
|
|
<field name="message_ids"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record id="view_dms_file_manager_form" model="ir.ui.view">
|
|
<field name="name">dms_file.form</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="inherit_id" ref="view_dms_file_form"/>
|
|
<field name="groups_id" eval="[(6, 0, [ref('dms.group_dms_manager')])]"/>
|
|
<field name="arch" type="xml">
|
|
<field name="storage_id" position="attributes">
|
|
<attribute name="options">{}</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
<record id="action_dms_file" model="ir.actions.act_window">
|
|
<field name="name">Files</field>
|
|
<field name="res_model">dms.file</field>
|
|
<field name="view_mode">kanban,tree,graph,pivot,form</field>
|
|
<field name="context">{'search_default_group_project': 0}</field>
|
|
<field name="domain">[("is_hidden", "=", False)]</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Add a new File.
|
|
</p>
|
|
<p>
|
|
Files are used to save content directly in Odoo.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
<menuitem
|
|
id="menu_dms_file"
|
|
name="Files"
|
|
sequence="2"
|
|
parent="main_menu_dms"
|
|
action="dms.document_action"/>
|
|
<!-- action="action_dms_file"-->
|
|
<record id="view_dms_file_new_form" model="ir.ui.view">
|
|
<field name="name">dms_file.form</field>
|
|
<field name="model">dms.file</field>
|
|
<field name="inherit_id" ref="view_dms_file_form"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//header" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<xpath expr="//sheet//div[hasclass('oe_button_box')]" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</xpath>
|
|
<form position="inside">
|
|
<footer>
|
|
<button
|
|
class="btn btn-primary"
|
|
type="object"
|
|
string="Create"
|
|
name="action_save_onboarding_file_step"
|
|
/>
|
|
<button special="cancel" string="Cancel"/>
|
|
</footer>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record id="action_dms_file_new" model="ir.actions.act_window">
|
|
<field name="name">New Root Directory</field>
|
|
<field name="res_model">documents.document</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="target">new</field>
|
|
<field name="view_id" ref="view_dms_file_new_form"/>
|
|
</record>
|
|
</odoo>
|