- game_base: 新增 game.page/page.item 模型(page.py),密码策略加严(>=8位且含字母+数字) - yt_world: create 改 create_multi;权限扩至 public/portal/user;新增微观世界/资源视图与菜单 - 前端: website/auth/index 等 ?db=yt_game 统一改为 ?db=game(线上库名) - 新增 deploy_server.sh 一键部署脚本
190 lines
5.8 KiB
XML
190 lines
5.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<odoo>
|
||
|
||
<!-- ============ 玩家世界 ============ -->
|
||
<record id="action_yt_world" model="ir.actions.act_window">
|
||
<field name="name">玩家世界</field>
|
||
<field name="res_model">yt.world</field>
|
||
<field name="view_mode">list,form</field>
|
||
</record>
|
||
|
||
<record id="view_yt_world_list" model="ir.ui.view">
|
||
<field name="name">yt.world.list</field>
|
||
<field name="model">yt.world</field>
|
||
<field name="arch" type="xml">
|
||
<list>
|
||
<field name="name"/>
|
||
<field name="user_id"/>
|
||
<field name="seed"/>
|
||
<field name="world_version"/>
|
||
<field name="last_active"/>
|
||
</list>
|
||
</field>
|
||
</record>
|
||
|
||
<record id="view_yt_world_form" model="ir.ui.view">
|
||
<field name="name">yt.world.form</field>
|
||
<field name="model">yt.world</field>
|
||
<field name="arch" type="xml">
|
||
<form>
|
||
<sheet>
|
||
<group>
|
||
<field name="name"/>
|
||
<field name="user_id"/>
|
||
<field name="seed"/>
|
||
<field name="world_version"/>
|
||
<field name="settings" widget="json"/>
|
||
<field name="last_active"/>
|
||
</group>
|
||
<notebook>
|
||
<page string="地表地块">
|
||
<field name="tile_ids">
|
||
<list>
|
||
<field name="q"/>
|
||
<field name="r"/>
|
||
<field name="terrain"/>
|
||
<field name="height"/>
|
||
<field name="micro_world_id"/>
|
||
</list>
|
||
</field>
|
||
</page>
|
||
</notebook>
|
||
</sheet>
|
||
</form>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- ============ 地表地块 ============ -->
|
||
<record id="action_yt_world_tile" model="ir.actions.act_window">
|
||
<field name="name">地表地块</field>
|
||
<field name="res_model">yt.world.tile</field>
|
||
<field name="view_mode">list,form</field>
|
||
</record>
|
||
|
||
<record id="view_yt_world_tile_list" model="ir.ui.view">
|
||
<field name="name">yt.world.tile.list</field>
|
||
<field name="model">yt.world.tile</field>
|
||
<field name="arch" type="xml">
|
||
<list>
|
||
<field name="world_id"/>
|
||
<field name="q"/>
|
||
<field name="r"/>
|
||
<field name="terrain"/>
|
||
<field name="height"/>
|
||
<field name="micro_world_id"/>
|
||
<field name="updated_at"/>
|
||
</list>
|
||
</field>
|
||
</record>
|
||
|
||
<record id="view_yt_world_tile_form" model="ir.ui.view">
|
||
<field name="name">yt.world.tile.form</field>
|
||
<field name="model">yt.world.tile</field>
|
||
<field name="arch" type="xml">
|
||
<form>
|
||
<sheet>
|
||
<group>
|
||
<field name="world_id"/>
|
||
<field name="q"/>
|
||
<field name="r"/>
|
||
<field name="terrain"/>
|
||
<field name="height"/>
|
||
<field name="flags" widget="json"/>
|
||
<field name="micro_world_id"/>
|
||
<field name="updated_at"/>
|
||
</group>
|
||
</sheet>
|
||
</form>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- ============ 微观世界(每个地块 1:1) ============ -->
|
||
<record id="action_yt_world_tile_micro" model="ir.actions.act_window">
|
||
<field name="name">微观世界</field>
|
||
<field name="res_model">yt.world.tile.micro</field>
|
||
<field name="view_mode">list,form</field>
|
||
</record>
|
||
|
||
<record id="view_yt_world_tile_micro_list" model="ir.ui.view">
|
||
<field name="name">yt.world.tile.micro.list</field>
|
||
<field name="model">yt.world.tile.micro</field>
|
||
<field name="arch" type="xml">
|
||
<list>
|
||
<field name="tile_id"/>
|
||
<field name="name"/>
|
||
</list>
|
||
</field>
|
||
</record>
|
||
|
||
<record id="view_yt_world_tile_micro_form" model="ir.ui.view">
|
||
<field name="name">yt.world.tile.micro.form</field>
|
||
<field name="model">yt.world.tile.micro</field>
|
||
<field name="arch" type="xml">
|
||
<form>
|
||
<sheet>
|
||
<group>
|
||
<field name="tile_id"/>
|
||
<field name="name"/>
|
||
</group>
|
||
</sheet>
|
||
</form>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- ============ 资源(框架) ============ -->
|
||
<record id="action_yt_resource" model="ir.actions.act_window">
|
||
<field name="name">资源</field>
|
||
<field name="res_model">yt.resource</field>
|
||
<field name="view_mode">list,form</field>
|
||
</record>
|
||
|
||
<record id="view_yt_resource_list" model="ir.ui.view">
|
||
<field name="name">yt.resource.list</field>
|
||
<field name="model">yt.resource</field>
|
||
<field name="arch" type="xml">
|
||
<list>
|
||
<field name="tile_id"/>
|
||
<field name="micro_id"/>
|
||
<field name="type"/>
|
||
<field name="amount"/>
|
||
<field name="capacity"/>
|
||
</list>
|
||
</field>
|
||
</record>
|
||
|
||
<record id="view_yt_resource_form" model="ir.ui.view">
|
||
<field name="name">yt.resource.form</field>
|
||
<field name="model">yt.resource</field>
|
||
<field name="arch" type="xml">
|
||
<form>
|
||
<sheet>
|
||
<group>
|
||
<field name="tile_id"/>
|
||
<field name="micro_id"/>
|
||
<field name="type"/>
|
||
<field name="amount"/>
|
||
<field name="capacity"/>
|
||
</group>
|
||
</sheet>
|
||
</form>
|
||
</field>
|
||
</record>
|
||
|
||
<!-- ============ 菜单(全部 record 之后,确保 action 已存在) ============ -->
|
||
<menuitem id="menu_yt_world_root"
|
||
name="宇森世界"
|
||
sequence="20"
|
||
action="action_yt_world"
|
||
web_icon="yt_world,static/description/icon.png"/>
|
||
|
||
<menuitem id="menu_yt_world_tile" name="地表地块"
|
||
parent="menu_yt_world_root" action="action_yt_world_tile" sequence="10"/>
|
||
|
||
<menuitem id="menu_yt_world_tile_micro" name="微观世界"
|
||
parent="menu_yt_world_root" action="action_yt_world_tile_micro" sequence="20"/>
|
||
|
||
<menuitem id="menu_yt_resource" name="资源"
|
||
parent="menu_yt_world_root" action="action_yt_resource" sequence="30"/>
|
||
|
||
</odoo>
|