260 lines
13 KiB
XML
260 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<record id="room_booking_view_search" model="ir.ui.view">
|
|
<field name="name">Bookings search view</field>
|
|
<field name="model">room.booking</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Booking">
|
|
<field name="name" string="Meeting name"/>
|
|
<field name="organizer_id"/>
|
|
<field name="room_id"/>
|
|
<field name="office_id"/>
|
|
<filter name="organizer_id" string="My Meetings" domain="[('organizer_id', '=', uid)]"/>
|
|
<filter name="group_by_organizer_id" context="{'group_by': 'organizer_id'}"/>
|
|
<filter name="group_by_room_id" context="{'group_by': 'room_id'}"/>
|
|
<filter name="group_by_office_id" context="{'group_by': 'office_id'}"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="room_booking_view_gantt" model="ir.ui.view">
|
|
<field name="name">room.booking.view.gantt</field>
|
|
<field name="model">room.booking</field>
|
|
<field name="arch" type="xml">
|
|
<gantt js_class="room_booking_gantt"
|
|
date_start="start_datetime"
|
|
date_stop="stop_datetime"
|
|
default_group_by="room_id"
|
|
precision="{'day': 'hour:quarter', 'week': 'day:half', 'month': 'day:half', 'year': 'day:full'}"
|
|
default_scale="day"
|
|
dynamic_range="1"
|
|
color="organizer_id"
|
|
string="Bookings"
|
|
plan="0">
|
|
<templates>
|
|
<field name="name"/>
|
|
<field name="room_users_names"/>
|
|
<div t-name="gantt-popover">
|
|
<div class="o_gantt_popover">
|
|
<ul class="ps-1 mb-0 list-unstyled">
|
|
<li>
|
|
<strong>创建人:</strong>
|
|
<t t-out="organizer_id[1]"/>
|
|
</li>
|
|
<li class="o_gantt_popover_content_item mt-2">
|
|
<t t-out="start_datetime.toFormat('f ')"/>
|
|
<i class="fa fa-long-arrow-right" title="Until"/>
|
|
<t t-out="stop_datetime.toFormat(' f')"/>
|
|
</li>
|
|
<li>
|
|
<strong>参会人员:</strong>
|
|
<t t-out="room_users_names"/>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</templates>
|
|
</gantt>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="room_booking_view_calendar" model="ir.ui.view">
|
|
<field name="name">room.booking.view.calendar</field>
|
|
<field name="model">room.booking</field>
|
|
<field name="arch" type="xml">
|
|
<calendar date_start="start_datetime" date_stop="stop_datetime" color="room_id" quick_create="0"
|
|
event_open_popup="1">
|
|
<field name="room_id"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="room_booking_view_list" model="ir.ui.view">
|
|
<field name="name">room.booking.view.list</field>
|
|
<field name="model">room.booking</field>
|
|
<field name="arch" type="xml">
|
|
<tree duplicate="0">
|
|
<field name="start_datetime"/>
|
|
<field name="stop_datetime"/>
|
|
<field name="name" string="Name"/>
|
|
<field name="room_id"/>
|
|
<field name="organizer_id" widget="many2one_avatar_user"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="room_booking_view_kanban" model="ir.ui.view">
|
|
<field name="name">room.booking.view.kanban</field>
|
|
<field name="model">room.booking</field>
|
|
<field name="arch" type="xml">
|
|
<kanban>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div class="oe_kanban_global_click">
|
|
<div class="o_kanban_record_top">
|
|
<strong class="o_kanban_record_title">
|
|
<field name="display_name"/>
|
|
</strong>
|
|
</div>
|
|
<div class="oe_kanban_content">
|
|
<ul class="ps-1 mb-0 list-unstyled">
|
|
<li>
|
|
<strong>Room:</strong>
|
|
<field name="room_id"/>
|
|
</li>
|
|
<li>
|
|
<strong>Date:</strong>
|
|
<field name="start_datetime"/>
|
|
<i class="fa fa-long-arrow-right mx-1" title="Until"/>
|
|
<field name="stop_datetime"/>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="o_kanban_record_bottom">
|
|
<div class="oe_kanban_bottom_left"/>
|
|
<div class="oe_kanban_bottom_right">
|
|
<field name="organizer_id" widget="many2one_avatar_user"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="room_booking_view_form" model="ir.ui.view">
|
|
<field name="name">room.booking.view.form</field>
|
|
<field name="model">room.booking</field>
|
|
<field name="arch" type="xml">
|
|
<form duplicate="0">
|
|
<sheet>
|
|
<header>
|
|
<button name="meet_notice" string="会议通知" type="object" class="oe_highlight" invisible="not work_end"/>
|
|
<button name="meeting_sign_in" string="签到" invisible="meeting_type != 'down' or not work_end " type="object"
|
|
class="oe_highlight"/>
|
|
<button name="meeting_partner_create" string="录入" invisible="meeting_type != 'down' or not work_end"
|
|
type="object" class="oe_highlight"/>
|
|
<button name="sync_wechat_room" string="同步企业微信" type="object" class="oe_highlight" invisible="not work_end"/>
|
|
<button name="action_print_room_booking_agenda" string="打印" type="object" class="btn-primary"/>
|
|
</header>
|
|
<group col="3">
|
|
<group>
|
|
<field name="code" string="流水号" readonly="1"/>
|
|
</group>
|
|
<group>
|
|
<field name="urgency_level" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<div class="col-12 text-center">
|
|
<h1>
|
|
<field name="name_title" readonly="1"/>
|
|
</h1>
|
|
</div>
|
|
<div class="oe_title">
|
|
<label for="name"/>
|
|
<h1>
|
|
<field name="name" required="1" string="标题"/>
|
|
</h1>
|
|
</div>
|
|
<group col="2">
|
|
<group>
|
|
<field name="stop_datetime" invisible="1"/>
|
|
<field name="start_datetime" string="会议时间" widget="daterange"
|
|
options="{'end_date_field': 'stop_datetime'}"/>
|
|
</group>
|
|
<group/>
|
|
</group>
|
|
<group>
|
|
<group>
|
|
<field name="user_id" invisible="1"/>
|
|
<field name="state" invisible="1"/>
|
|
<field name="is_back" invisible="1"/>
|
|
<field name="work_end" invisible="1"/>
|
|
<field name="organizer_id" options="{'no_create': True}"/>
|
|
<field name="meeting_type"/>
|
|
<field name="driver" invisible="meeting_type != 'exterior'"/>
|
|
<field name="fleet_id" invisible="meeting_type != 'exterior'"/>
|
|
<field name="meeting_place" invisible="meeting_type != 'exterior'"/>
|
|
<field name="room_id" string="会议地点" domain=""/>
|
|
</group>
|
|
<group>
|
|
<label for="is_this_company"/>
|
|
<div><field name="is_this_company"/></div>
|
|
</group>
|
|
<group>
|
|
<field name="department_id" widget="ztree_select" options="{'no_create': True}"/>
|
|
<field name="company_id" invisible="1"/>
|
|
<field name="meeting_type_id" required="1" domain="[('company_id', '=', company_id)]" options="{'no_create': True}"/>
|
|
</group>
|
|
</group>
|
|
<group col="2">
|
|
<group>
|
|
<field name="host" domain = "[('company_id', '=', company_id), ('user_id.name', '!=', 'Administrator')] if is_this_company else []" options="{'no_create': True}"/>
|
|
</group>
|
|
<group/>
|
|
</group>
|
|
<group>
|
|
<label for="stationed_group"/>
|
|
<div><field name="stationed_group"/></div>
|
|
</group>
|
|
<group>
|
|
<field name="room_users_ids" widget="many2many_tags" domain = "[('company_id', '=', company_id), ('name', '!=', 'Administrator')] if is_this_company else []" options="{'no_create': True}"/>
|
|
<field name="recorder_ids" widget="many2many_tags" domain="[('user_role_ids.name', 'ilike', '会议记录员')]" options="{'no_create': True}"/>
|
|
<field name="other_company_user_ids" widget="many2many_tags" readonly="0"/>
|
|
<field name="partner_ids" widget="many2many_tags" force_save="1" invisible="1"/>
|
|
<field name="is_meeting" invisible="1"/>
|
|
</group>
|
|
<group>
|
|
<label for="is_notice"/>
|
|
<div><field name="is_notice"/></div>
|
|
<label for="task_time_ids" invisible="not is_notice"/>
|
|
<div><field name="task_time_ids" invisible="not is_notice" widget="many2many_tags"/></div>
|
|
</group>
|
|
<notebook>
|
|
<page name="sign" string="签到详情">
|
|
<group>
|
|
<group>
|
|
<field name="should_user"/>
|
|
</group>
|
|
<group>
|
|
<field name="right_user"/>
|
|
</group>
|
|
<field name="meeting_sing_ids">
|
|
<tree delete="0" create="0">
|
|
<field name="room_booking_id" column_invisible="1"/>
|
|
<field name="sign_user_name"/>
|
|
<field name="partner_name"/>
|
|
<field name="job"/>
|
|
<field name="mobile"/>
|
|
<field name="user_type"/>
|
|
<field name="sign_type"/>
|
|
<field name="sign_time"/>
|
|
</tree>
|
|
</field>
|
|
</group>
|
|
</page>
|
|
<page name="meeting_html" string="会议说明">
|
|
<button name="button_meeting_data" string="座位排列" type="object" class="oe_highlight"/>
|
|
<field name="meeting_data" widget="tinymce"/>
|
|
</page>
|
|
<page string="附件" invisible="is_meeting">
|
|
<field name="documents_ids" widget="preview_many2many"/>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<!-- <div class="oe_chatter">-->
|
|
<!-- <field name="message_follower_ids"/>-->
|
|
<!-- <field name="message_ids"/>-->
|
|
<!-- </div>-->
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="room_booking_action" model="ir.actions.act_window">
|
|
<field name="name">Bookings</field>
|
|
<field name="res_model">room.booking</field>
|
|
<field name="view_mode">list,kanban,form,search</field>
|
|
</record>
|
|
</odoo>
|