mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
Merge remote-tracking branch 'origin/16.0' into 16.0
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
Odoo Addon for 16,15,14,13,12,11,10
|
Odoo Addon for 17,16,15,14,13,12,11,10
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
test update
|
test update
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
# description:
|
# description:
|
||||||
|
|
||||||
{
|
{
|
||||||
'name': 'odoo Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data,Development Enhance',
|
'name': 'odoo17 Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data',
|
||||||
'version': '16.23.09.17',
|
'version': '16.23.09.17',
|
||||||
'author': 'odooai.cn',
|
'author': 'odooai.cn',
|
||||||
'category': 'Extra Tools',
|
'category': 'Extra Tools',
|
||||||
@@ -32,9 +32,9 @@
|
|||||||
'sequence': 2,
|
'sequence': 2,
|
||||||
'images': ['static/description/banner.gif'],
|
'images': ['static/description/banner.gif'],
|
||||||
'summary': """
|
'summary': """
|
||||||
Ai as employee. 1 click Tweak odoo. 48 Functions odoo enhancement. for Customize, UI, Boost, Security, Development.
|
Ai as employee.1 click Tweak odoo. 48 Functions odoo enhancement. for Customize,UI,Boost Security,Development.
|
||||||
Easy reset data, clear data, reset account chart, reset Demo data.
|
Easy reset data, clear data, reset account chart, reset Demo data.
|
||||||
For quick debug. Set brand, Language Switcher all in one.
|
For quick debug. Set brand,Language Switcher all in one.
|
||||||
""",
|
""",
|
||||||
'depends': [
|
'depends': [
|
||||||
'app_common',
|
'app_common',
|
||||||
@@ -88,10 +88,11 @@
|
|||||||
'application': True,
|
'application': True,
|
||||||
'auto_install': True,
|
'auto_install': True,
|
||||||
'description': """
|
'description': """
|
||||||
|
|
||||||
App Customize Odoo (Change Title,Language,Documentation,Quick Debug)
|
App Customize Odoo (Change Title,Language,Documentation,Quick Debug)
|
||||||
============
|
============
|
||||||
White label odoo.
|
For Odoo17. Please get from the follow github. Done for 85%.
|
||||||
|
https://github.com/guohuadeng/app-odoo/tree/17.0
|
||||||
|
White label odoo. UI and Development Enhance.
|
||||||
Support odoo 16,15,14,13,12,11,10,9.
|
Support odoo 16,15,14,13,12,11,10,9.
|
||||||
You can config odoo, make it look like your own platform.
|
You can config odoo, make it look like your own platform.
|
||||||
1. Deletes Odoo label in footer
|
1. Deletes Odoo label in footer
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 502 KiB After Width: | Height: | Size: 546 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 62 KiB |
@@ -7,22 +7,20 @@
|
|||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<!-- Modules Title and brief -->
|
<!-- Modules Title and brief -->
|
||||||
<section class="container app">
|
|
||||||
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
<!-- begin title-->
|
||||||
<div class="row">
|
<section class="oe_container container o_cc o_cc2">
|
||||||
<h2 class="oe_slogan">odoo Tweak,Ai Employee,Boost,Customize All in One. OEM,UI,Boost,Security,Data,Development Enhance</h2>
|
<h1 class="text-center bg-warning text-white pt24 pb24">odoo Tweak,Ai Employee,Boost,Customize All in One. </h1>
|
||||||
<h4 class="mt8">
|
<h3 class="text-center">Customize,UI,Boost,Security,Data,Development Enhance</h3>
|
||||||
You can follow this repo on github. To get the latest update of free odoo app.
|
<h4 class="text-center pt40 text-danger">For Odoo17. Please get from the follow github. Done for 85%.</h4>
|
||||||
<p>https://github.com/guohuadeng/app-odoo</p>
|
<p class="bg-primary"> https://github.com/guohuadeng/app-odoo/tree/17.0 </p>
|
||||||
</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<section class="container app">
|
<section class="container app">
|
||||||
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
<div class="oe_row oe_spaced" style="max-width: 95%;">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h2 class="oe_slogan">This is a Long Term Support Apps.Update: v16.23.09.13</h2>
|
<h2 class="oe_slogan">This is a Long Term Support Apps.Update: v16.5.23.09.30</h2>
|
||||||
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
|
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class="list-group-item">1. Deletes Odoo label in footer</li>
|
<li class="list-group-item">1. Deletes Odoo label in footer</li>
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 16.0+e-20230721\n"
|
"Project-Id-Version: Odoo Server 16.0+e-20230721\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-08-28 08:26+0000\n"
|
"POT-Creation-Date: 2023-10-01 19:15+0000\n"
|
||||||
"PO-Revision-Date: 2023-08-28 08:26+0000\n"
|
"PO-Revision-Date: 2023-10-01 19:15+0000\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -17,19 +17,10 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: app_website_blog_editor
|
#. module: app_website_blog_editor
|
||||||
#: model:ir.model,name:app_website_blog_editor.model_blog_blog
|
#: model:ir.model,name:app_website_blog_editor.model_blog_blog
|
||||||
|
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_post__blog_id
|
||||||
msgid "Blog"
|
msgid "Blog"
|
||||||
msgstr "博客分类"
|
msgstr "博客分类"
|
||||||
|
|
||||||
#. module: app_website_blog_editor
|
|
||||||
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_blog_post_form_view_code
|
|
||||||
msgid "Blog Content"
|
|
||||||
msgstr "博客内容"
|
|
||||||
|
|
||||||
#. module: app_website_blog_editor
|
|
||||||
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_blog_post_form_view_code
|
|
||||||
msgid "Blog Name"
|
|
||||||
msgstr "博客名称"
|
|
||||||
|
|
||||||
#. module: app_website_blog_editor
|
#. module: app_website_blog_editor
|
||||||
#: model:ir.model,name:app_website_blog_editor.model_blog_post
|
#: model:ir.model,name:app_website_blog_editor.model_blog_post
|
||||||
msgid "Blog Post"
|
msgid "Blog Post"
|
||||||
@@ -63,11 +54,46 @@ msgstr "博客图文"
|
|||||||
msgid "Determine the display order"
|
msgid "Determine the display order"
|
||||||
msgstr "确定显示顺序"
|
msgstr "确定显示顺序"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model:ir.model.fields,field_description:app_website_blog_editor.field_website_page__is_force_all
|
||||||
|
msgid "Force All Website"
|
||||||
|
msgstr "用于站群"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_website_pages_view_search
|
||||||
|
msgid "Group By"
|
||||||
|
msgstr "分组依据"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model:ir.model.fields,help:app_website_blog_editor.field_website_page__is_force_all
|
||||||
|
msgid "If check, the page would use to all website, even u change."
|
||||||
|
msgstr "如果选中,该页面将用于所有网站,甚至 u 更改。"
|
||||||
|
|
||||||
#. module: app_website_blog_editor
|
#. module: app_website_blog_editor
|
||||||
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_res_config_settings_form_view
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_res_config_settings_form_view
|
||||||
msgid "If set, replaces the blog post background image as the meta image."
|
msgid "If set, replaces the blog post background image as the meta image."
|
||||||
msgstr "如果设置,默认将博文背景图片替换为元图像。"
|
msgstr "如果设置,默认将博文背景图片替换为元图像。"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_search
|
||||||
|
msgid "Not Published"
|
||||||
|
msgstr "未发布"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model:ir.model,name:app_website_blog_editor.model_website_page
|
||||||
|
msgid "Page"
|
||||||
|
msgstr "网页"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_search
|
||||||
|
msgid "Published"
|
||||||
|
msgstr "发表"
|
||||||
|
|
||||||
|
#. module: app_website_blog_editor
|
||||||
|
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_blog__seo_name
|
||||||
|
msgid "Seo name"
|
||||||
|
msgstr "SEO链接名"
|
||||||
|
|
||||||
#. module: app_website_blog_editor
|
#. module: app_website_blog_editor
|
||||||
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_blog__sequence
|
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_blog__sequence
|
||||||
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_tag__sequence
|
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_tag__sequence
|
||||||
@@ -82,6 +108,7 @@ msgstr "设置"
|
|||||||
|
|
||||||
#. module: app_website_blog_editor
|
#. module: app_website_blog_editor
|
||||||
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_list
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_list
|
||||||
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_website_pages_tree_view
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "源代码"
|
msgstr "源代码"
|
||||||
|
|
||||||
@@ -97,6 +124,6 @@ msgid "Use a meta image by default for blog post background"
|
|||||||
msgstr "博客文章背景默认使用元图像"
|
msgstr "博客文章背景默认使用元图像"
|
||||||
|
|
||||||
#. module: app_website_blog_editor
|
#. module: app_website_blog_editor
|
||||||
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_blog_post_form_view_code
|
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_website_pages_view_search
|
||||||
msgid "Website Description"
|
msgid "Website"
|
||||||
msgstr "网站描述"
|
msgstr "网站"
|
||||||
|
|||||||
@@ -26,5 +26,6 @@ from . import blog_tag_category
|
|||||||
from . import blog_tag
|
from . import blog_tag
|
||||||
from . import blog_blog
|
from . import blog_blog
|
||||||
from . import blog_post
|
from . import blog_post
|
||||||
|
from . import ir_ui_view
|
||||||
from . import website_page
|
from . import website_page
|
||||||
from . import res_config_settings
|
from . import res_config_settings
|
||||||
|
|||||||
16
app_website_blog_editor/models/ir_ui_view.py
Normal file
16
app_website_blog_editor/models/ir_ui_view.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from odoo import api, fields, models
|
||||||
|
|
||||||
|
|
||||||
|
class IrUiView(models.Model):
|
||||||
|
_inherit = 'ir.ui.view'
|
||||||
|
|
||||||
|
def write(self, vals):
|
||||||
|
# 处理强制全局, Create时不管
|
||||||
|
for view in self:
|
||||||
|
if len(view.page_ids) == 1:
|
||||||
|
page = view.page_ids[0]
|
||||||
|
if page.is_force_all:
|
||||||
|
self = self.with_context(no_cow=1)
|
||||||
|
return super(IrUiView, self).write(vals)
|
||||||
@@ -6,6 +6,18 @@ from odoo import api, fields, models
|
|||||||
class WebsitePage(models.Model):
|
class WebsitePage(models.Model):
|
||||||
_inherit = 'website.page'
|
_inherit = 'website.page'
|
||||||
|
|
||||||
|
is_force_all = fields.Boolean('Force All Website', default=False,
|
||||||
|
help='If check, the page would use to all website, even u change.\n Important, The page url must be uniq in all website')
|
||||||
|
|
||||||
|
def write(self, vals):
|
||||||
|
# 处理强制全局, Create时不管
|
||||||
|
for page in self:
|
||||||
|
if page.is_force_all or vals.get('is_force_all'):
|
||||||
|
vals.update({
|
||||||
|
'website_id': False
|
||||||
|
})
|
||||||
|
return super(WebsitePage, self).write(vals)
|
||||||
|
|
||||||
def action_page_debug_view(self):
|
def action_page_debug_view(self):
|
||||||
# 直接覆盖原生
|
# 直接覆盖原生
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
@@ -26,3 +38,13 @@ class WebsitePage(models.Model):
|
|||||||
'view_mode': 'form',
|
'view_mode': 'form',
|
||||||
'view_id': self.env.ref('website.view_view_form_extend').id,
|
'view_id': self.env.ref('website.view_view_form_extend').id,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def action_page_form_view(self):
|
||||||
|
self.ensure_one()
|
||||||
|
return {
|
||||||
|
'type': 'ir.actions.act_window',
|
||||||
|
'res_model': 'website.page',
|
||||||
|
'res_id': self.id,
|
||||||
|
'view_mode': 'form',
|
||||||
|
'view_id': self.env.ref('website.website_pages_form_view').id,
|
||||||
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='is_seo_optimized']" position="before">
|
<xpath expr="//field[@name='is_seo_optimized']" position="before">
|
||||||
<button name="action_post_debug_view" type="object" title="Settings" icon="fa-bug fa-lg" groups="base.group_no_one"/>
|
<button name="action_post_debug_view" type="object" title="Settings" icon="fa-bug fa-lg" groups="base.group_no_one"/>
|
||||||
<button name="action_post_code_view" type="object" title="Source Code" icon="fa-code fa-lg" groups="base.group_no_one"/>
|
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -47,7 +46,7 @@
|
|||||||
<xpath expr="//page[@name='seo']" position="after">
|
<xpath expr="//page[@name='seo']" position="after">
|
||||||
<page name="post_content" string="Content">
|
<page name="post_content" string="Content">
|
||||||
<field name="content" widget="html" nolabel="1" class="oe-bordered-editor"
|
<field name="content" widget="html" nolabel="1" class="oe-bordered-editor"
|
||||||
options="{'style-inline': true, 'codeview': true, 'dynamic_placeholder': true}"/>
|
options="{'sandboxedPreview': true, 'codeview': true, 'dynamic_placeholder': true}"/>
|
||||||
</page>
|
</page>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='visits']" position="attributes">
|
<xpath expr="//field[@name='visits']" position="attributes">
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
<xpath expr="//field[@name='is_in_menu']" position="attributes">
|
<xpath expr="//field[@name='is_in_menu']" position="attributes">
|
||||||
<attribute name="optional">show</attribute>
|
<attribute name="optional">show</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='is_published']" position="before">
|
||||||
|
<field name="is_force_all" widget="boolean_toggle" optional="show"/>
|
||||||
|
</xpath>
|
||||||
<xpath expr="//field[@name='website_url']" position="after">
|
<xpath expr="//field[@name='website_url']" position="after">
|
||||||
<field name="seo_name" invisible="1"/>
|
<field name="seo_name" invisible="1"/>
|
||||||
<field name="website_meta_keywords" optional="show"/>
|
<field name="website_meta_keywords" optional="show"/>
|
||||||
@@ -22,11 +25,36 @@
|
|||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='is_seo_optimized']" position="before">
|
<xpath expr="//field[@name='is_seo_optimized']" position="before">
|
||||||
<button name="action_page_debug_view" position="move"/>
|
<button name="action_page_debug_view" position="move"/>
|
||||||
<button name="action_page_code_view" type="object" title="Source Code" icon="fa-code fa-lg" groups="base.group_no_one"/>
|
<button name="action_page_form_view" type="object" title="Properties Set" icon="fa-file-text-o fa-lg" groups="base.group_no_one"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
<!-- form-->
|
<!-- form-->
|
||||||
|
<!-- 编辑时的属性-->
|
||||||
|
<record id="app_website_page_properties_view_form" model="ir.ui.view">
|
||||||
|
<field name="name">app.website.page.properties.form.view</field>
|
||||||
|
<field name="model">website.page</field>
|
||||||
|
<field name="mode">extension</field>
|
||||||
|
<field name="inherit_id" ref="website.website_page_properties_view_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='is_published']" position="before">
|
||||||
|
<field name="is_force_all" widget="boolean_toggle"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<!-- 编辑form各主属性-->
|
||||||
|
<record id="app_website_pages_form_view" model="ir.ui.view">
|
||||||
|
<field name="name">app.website.page.form</field>
|
||||||
|
<field name="model">website.page</field>
|
||||||
|
<field name="mode">extension</field>
|
||||||
|
<field name="inherit_id" ref="website.website_pages_form_view"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='is_published']" position="before">
|
||||||
|
<field name="is_force_all" widget="boolean_toggle"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<!-- 可视编辑器-->
|
||||||
<record id="app_view_view_form_extend_debug" model="ir.ui.view">
|
<record id="app_view_view_form_extend_debug" model="ir.ui.view">
|
||||||
<field name="name">app.website.page.form</field>
|
<field name="name">app.website.page.form</field>
|
||||||
<field name="model">website.page</field>
|
<field name="model">website.page</field>
|
||||||
@@ -35,6 +63,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='arch_base']" position="attributes">
|
<xpath expr="//field[@name='arch_base']" position="attributes">
|
||||||
<attribute name="widget">html</attribute>
|
<attribute name="widget">html</attribute>
|
||||||
|
<attribute name="options">{'sandboxedPreview': true}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
<xpath expr="//field[@name='display_name']" position="before">
|
<xpath expr="//field[@name='display_name']" position="before">
|
||||||
<field name="name" optional="show"/>
|
<field name="name" optional="show"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='website_id']" position="before">
|
||||||
|
<field name="image_1920" widget="image" class="oe_avatar" options="{'preview_image': 'image_128','size': [40, 40]}"/>
|
||||||
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
</odoo>
|
</odoo>
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='is_seo_optimized']" position="before">
|
<xpath expr="//field[@name='is_seo_optimized']" position="before">
|
||||||
<button name="action_product_debug_view" type="object" title="Content Set" icon="fa-bug fa-lg" groups="base.group_no_one"/>
|
<button name="action_product_debug_view" type="object" title="Content Set" icon="fa-bug fa-lg" groups="base.group_no_one"/>
|
||||||
<button name="action_product_code_view" type="object" title="Source Code" icon="fa-code fa-lg" groups="base.group_no_one"/>
|
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='website_url']" position="attributes">
|
<xpath expr="//field[@name='website_url']" position="attributes">
|
||||||
<attribute name="optional">hide</attribute>
|
<attribute name="optional">hide</attribute>
|
||||||
@@ -55,7 +54,7 @@
|
|||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
<!--可以停用此form-->
|
||||||
<record id="app_product_template_form_view_code" model="ir.ui.view">
|
<record id="app_product_template_form_view_code" model="ir.ui.view">
|
||||||
<field name="name">app.product.template.website.code</field>
|
<field name="name">app.product.template.website.code</field>
|
||||||
<field name="model">product.template</field>
|
<field name="model">product.template</field>
|
||||||
@@ -113,6 +112,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='website_description']" position="attributes">
|
<xpath expr="//field[@name='website_description']" position="attributes">
|
||||||
<attribute name="widget">html</attribute>
|
<attribute name="widget">html</attribute>
|
||||||
|
<attribute name="options">{'sandboxedPreview': true}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
Reference in New Issue
Block a user