Files
public/mklab_dms_document/views/views.xml

293 lines
16 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- Кнопки документов в карточке контакта -->
<record id="res_partner_inherit" model="ir.ui.view">
<field name="name">mklab_dms_document.res_partner_inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='button_box']" position="inside">
<button class="oe_stat_button" type="object" icon="fa-inbox"
name="action_show_document_incoming"
string="Входящие"/>
<button class="oe_stat_button" type="object" icon="fa-paper-plane"
name="action_show_document_outgoing"
string="Исходящие"/>
</xpath>
</field>
</record>
<!-- Мультикомпанийное правило -->
<record id="rule_company_document" model="ir.rule">
<field name="name">Документы: мультикомпания</field>
<field name="model_id" ref="model_dms_document"/>
<field name="global" eval="True"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
<!-- Визард выбора шаблона -->
<record model="ir.ui.view" id="form_template_wiz">
<field name="name">dms.choise_template.form</field>
<field name="model">dms.choise_template</field>
<field name="arch" type="xml">
<form string="Выбор шаблона">
<sheet>
<group>
<field name="temp_id"/>
<field name="doc_id" invisible="1"/>
<field name="company_id" invisible="1"/>
</group>
</sheet>
<footer>
<button string="Выбрать" name="get_choise" type="object"
class="btn-primary"/>
<button string="Отмена" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<!-- Шаблоны: список и форма -->
<record model="ir.ui.view" id="list_template">
<field name="name">dms.template.list</field>
<field name="model">dms.template</field>
<field name="arch" type="xml">
<list string="Шаблоны документов">
<field name="name"/>
<field name="company_id" groups="base.group_multi_company"/>
</list>
</field>
</record>
<record model="ir.ui.view" id="form_template">
<field name="name">dms.template.form</field>
<field name="model">dms.template</field>
<field name="arch" type="xml">
<form string="Шаблон документа">
<sheet>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" placeholder="Наименование шаблона"/></h1>
</div>
<field name="text"/>
<group>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
<!-- Документы: список -->
<record model="ir.ui.view" id="list">
<field name="name">dms.document.list</field>
<field name="model">dms.document</field>
<field name="arch" type="xml">
<list string="Документы"
decoration-muted="state == 'done'">
<field name="name"/>
<field name="date"/>
<field name="partner_id"/>
<field name="type_document"/>
<field name="state" widget="badge"
decoration-info="state == 'draft'"
decoration-success="state == 'done'"/>
<field name="company_id" groups="base.group_multi_company"/>
</list>
</field>
</record>
<!-- Документы: поиск -->
<record model="ir.ui.view" id="search_document">
<field name="name">dms.document.search</field>
<field name="model">dms.document</field>
<field name="arch" type="xml">
<search string="Поиск документов">
<field name="name"/>
<field name="partner_id"/>
<filter name="draft" string="Черновики"
domain="[('state', '=', 'draft')]"/>
<filter name="done" string="В хранилище"
domain="[('state', '=', 'done')]"/>
<separator/>
<filter name="incoming" string="Входящие"
domain="[('type_document', '=', 'incoming')]"/>
<filter name="outgoing" string="Исходящие"
domain="[('type_document', '=', 'outgoing')]"/>
<filter name="internal" string="Внутренние"
domain="[('type_document', '=', 'internal')]"/>
<separator/>
<filter name="group_type" string="Тип"
context="{'group_by': 'type_document'}"/>
<filter name="group_partner" string="Контакт"
context="{'group_by': 'partner_id'}"/>
<filter name="group_state" string="Статус"
context="{'group_by': 'state'}"/>
</search>
</field>
</record>
<!-- Документы: форма -->
<record model="ir.ui.view" id="form">
<field name="name">dms.document.form</field>
<field name="model">dms.document</field>
<field name="arch" type="xml">
<form string="Документ">
<header>
<button name="open_choise_template" type="object"
string="Текст из шаблона" class="btn-secondary"
invisible="type_document != 'outgoing' or state == 'done'"/>
<button name="create_pdf" type="object"
string="Сформировать PDF и записать в хранилище"
class="btn-primary"
invisible="type_document != 'outgoing' or state == 'done'"/>
<button name="create_pdf" type="object"
string="Записать в хранилище" class="btn-primary"
invisible="type_document == 'outgoing' or state == 'done'"/>
<button name="request_validation" type="object"
string="Запросить согласование"
invisible="need_validation != True or rejected == True or state not in ['draft']"/>
<button name="restart_validation" type="object"
string="Перезапустить согласование"
invisible="not review_ids or state not in ['draft']"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,done"/>
</header>
<field name="need_validation" invisible="1"/>
<field name="validated" invisible="1"/>
<field name="rejected" invisible="1"/>
<field name="review_ids" invisible="1"/>
<field name="can_review" invisible="1"/>
<div class="alert alert-warning" role="alert"
invisible="validated == True or state not in ['draft'] or rejected == True or not review_ids">
<span><i class="fa fa-info-circle" title="Информация"/> Требуется согласование.</span>
<button name="validate_tier" string="Согласовать"
invisible="can_review == False" type="object"
class="oe_inline btn-success" icon="fa-thumbs-up"/>
<button name="reject_tier" string="Отклонить"
invisible="can_review == False" type="object"
class="oe_inline btn-danger" icon="fa-thumbs-down"/>
</div>
<div class="alert alert-success" role="alert"
invisible="validated != True or state not in ['draft'] or not review_ids">
<span><i class="fa fa-thumbs-up" title="Согласовано"/> <b>Согласование пройдено.</b></span>
</div>
<div class="alert alert-danger" role="alert"
invisible="rejected != True or state not in ['draft'] or not review_ids">
<span><i class="fa fa-thumbs-down" title="Отклонено"/> Согласование <b>отклонено.</b></span>
</div>
<sheet>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" readonly="state == 'done'"
placeholder="Присвоится автоматически"/></h1>
</div>
<group>
<group string="Основное">
<field name="type_document" readonly="state != 'draft'"/>
<field name="date" readonly="state == 'done'"/>
<field name="partner_id" readonly="state == 'done'"/>
<field name="print_head" readonly="state == 'done'"/>
<field name="company_id" groups="base.group_multi_company"
readonly="state == 'done'"/>
</group>
<group string="Хранение и связи">
<field name="directory_id" readonly="state == 'done'"/>
<field name="file" readonly="state == 'done'"/>
<field name="parent_id" readonly="state == 'done'"/>
<field name="link_model" readonly="state == 'done'"/>
<field name="res_id" readonly="state == 'done'"/>
</group>
</group>
<notebook>
<page name="page_document" string="Документ">
<field name="text"
invisible="type_document != 'outgoing'"
readonly="state == 'done'"/>
<field name="text_str" invisible="1"/>
<field name="text_render" invisible="1"/>
<group>
<field name="incoming_file_type"
invisible="type_document == 'outgoing'"
readonly="state == 'done'"/>
<field name="incoming_file"
invisible="type_document == 'outgoing' or incoming_file_type != 'pdf'"
readonly="state == 'done'" widget="pdf_viewer"/>
<field name="incoming_file" string="Сформированный документ"
invisible="type_document != 'outgoing' or state != 'done'"
readonly="1" widget="pdf_viewer"/>
<field name="incoming_file_other"
invisible="type_document == 'outgoing' or incoming_file_type == 'pdf'"
readonly="state == 'done'"/>
</group>
</page>
<page name="page_chain_document" string="Цепочка документов">
<field name="child_ids" readonly="state == 'done'">
<list>
<field name="name"/>
<field name="date"/>
<field name="type_document"/>
<field name="state"/>
</list>
</field>
</page>
</notebook>
<field name="review_ids" widget="tier_validation"
invisible="not review_ids"/>
</sheet>
<chatter/>
</form>
</field>
</record>
<!-- Действия -->
<record model="ir.actions.act_window" id="action_window_template">
<field name="name">Шаблоны</field>
<field name="res_model">dms.template</field>
<field name="view_mode">list,form</field>
</record>
<record model="ir.actions.act_window" id="action_window_incoming">
<field name="name">Входящие</field>
<field name="res_model">dms.document</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="search_document"/>
<field name="context">{'default_type_document': 'incoming'}</field>
<field name="domain">[('type_document', '=', 'incoming')]</field>
</record>
<record model="ir.actions.act_window" id="action_window_outgoing">
<field name="name">Исходящие</field>
<field name="res_model">dms.document</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="search_document"/>
<field name="context">{'default_type_document': 'outgoing'}</field>
<field name="domain">[('type_document', '=', 'outgoing')]</field>
</record>
<record model="ir.actions.act_window" id="action_window_internal">
<field name="name">Внутренние</field>
<field name="res_model">dms.document</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="search_document"/>
<field name="context">{'default_type_document': 'internal'}</field>
<field name="domain">[('type_document', '=', 'internal')]</field>
</record>
<!-- Меню -->
<menuitem name="Документы" id="documents" parent="dms.main_menu_dms"/>
<menuitem name="Входящие" id="incoming" parent="documents"
action="action_window_incoming" sequence="10"/>
<menuitem name="Исходящие" id="outgoing" parent="documents"
action="action_window_outgoing" sequence="20"/>
<menuitem name="Внутренние" id="internal" parent="documents"
action="action_window_internal" sequence="30"/>
<menuitem name="Шаблоны" id="template_menu" parent="documents"
action="action_window_template" sequence="40"/>
</data>
</odoo>