Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .weblate.json
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,11 @@
"filemask": "it_hardware/i18n/*.po",
"new_base": "it_hardware/i18n/it_hardware.pot"
},
{
"name": "library",
"filemask": "library/i18n/*.po",
"new_base": "library/i18n/library.pot"
},
{
"name": "marketing_agency",
"filemask": "marketing_agency/i18n/*.po",
Expand Down
78 changes: 78 additions & 0 deletions library/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
'name': 'Library',
'version': '1.0',
'category': 'Services',
'author': 'Odoo S.A.',
'depends': [
'appointment',
'base_industry_data',
'hr',
'knowledge',
'partnership',
'pos_enterprise',
'sale_service',
'sale_subscription',
'stock_barcode_barcodelookup',
'web_studio',
'website_event',
'website_sale_collect',
],
'data': [
'data/product_pricelist.xml',
'data/res_config_settings.xml',
'data/ir_attachment_pre.xml',
'data/ir_model_fields.xml',
'data/ir_ui_view.xml',
'data/stock_route.xml',
'data/stock_location.xml',
'data/stock_picking_type.xml',
'data/ir_actions_act_window.xml',
'data/ir_actions_server.xml',
'data/base_automation.xml',
'data/event.event.xml',
'data/mail_template.xml',
'data/ir_ui_menu.xml',
'data/knowledge_cover.xml',
'data/knowledge_article.xml',
'data/pos_category.xml',
'data/product_category.xml',
'data/product_public_category.xml',
'data/product_product.xml',
'data/product_pricelist_item.xml',
'data/mail_message.xml',
'data/knowledge_article_favorite.xml',
'data/ir_filters.xml',
'data/res_partner_grade.xml',
'data/stock_rule.xml',
'data/delivery_carrier.xml',
'data/pos_config.xml',
],
'demo': [
'demo/delivery_carrier.xml',
'demo/payment_provider_demo.xml',
'demo/product_pricelist.xml',
'demo/product_product.xml',
'demo/event_event.xml',
'demo/website_view.xml',
'demo/pos_session.xml',
'demo/pos_order.xml',
'demo/pos_order_line.xml',
'demo/pos_confirm.xml',
'demo/sale_order.xml',
'demo/ir_attachment_post.xml',
'demo/sale_order_line.xml',
'demo/stock_quant.xml',
'demo/website_page.xml',
'demo/res_partner.xml',
'demo/hr_employee.xml',
'demo/website_theme_apply.xml',
'demo/sale_order_confirm.xml',
'demo/website.xml',
],
'license': 'OPL-1',
'cloc_exclude': [
'data/knowledge_article.xml',
'demo/website_view.xml',
],
'images': ['images/main.png'],
}
30 changes: 30 additions & 0 deletions library/data/base_automation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="automation_update_push_domain" model="base.automation">
<field name="name">Update push domain</field>
<field name="model_id" ref="stock.model_stock_rule"/>
<field name="trigger">on_create_or_write</field>
<field name="filter_domain" eval="[('route_id', '=', ref('stock_route_4'))]"/>
<field name="trigger_field_ids" eval="[(6, 0, [ref('pos_product_categories_field'), ref('standard_rule_field')])]"/>
<field name="action_server_ids" eval="[(6, 0, [ref('stock_rule_set_push_domain_server_action')])]"/>
</record>
<record id="update_automatic_activation_on_product" model="base.automation">
<field name="name">Update Automatic activation on product</field>
<field name="model_id" ref="stock.model_stock_route"/>
<field name="action_server_ids" eval="[(6, 0, [ref('action_update_automatic_activation_on_product')])]"/>
<field name="trigger">on_change</field>
<field name="on_change_field_ids" eval="[(6, 0, [ref('stock.field_stock_route__product_selectable')])]"/>
</record>
<record id="automation_make_route_on_product_create" model="base.automation">
<field name="name">Make available route on product create</field>
<field name="model_id" ref="product.model_product_template"/>
<field name="action_server_ids" eval="[(6, 0, [ref('make_route_on_product_create')])]"/>
<field name="trigger">on_create</field>
</record>
<record id="automation_update_destination_location" model="base.automation">
<field name="name">Update destination location</field>
<field name="model_id" ref="stock.model_stock_picking"/>
<field name="action_server_ids" eval="[(6, 0, [ref('action_update_destination_location_on_picking')])]"/>
<field name="trigger">on_create</field>
</record>
</odoo>
6 changes: 6 additions & 0 deletions library/data/delivery_carrier.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<record id="delivery.free_delivery_carrier" model="delivery.carrier" forcecreate="False">
<field name="active" eval="False" />
</record>
</odoo>
33 changes: 33 additions & 0 deletions library/data/event.event.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="event_event_2" model="event.event">
<field name="cover_properties"><![CDATA[{"background-image":"url(/web/image/library.ir_attachment_5)","background_color_class":"o_cc3 o_cc","opacity":"0.4","resize_class":"o_half_screen_height o_record_has_cover","text_align_class":""}]]></field>
<field name="name">Literary Exchange Club</field>
<field name="description"><![CDATA[<section class="s_text_block o_colored_level">
<h5>1 morning, 1 theme, 2 books, plenty of discussion. Share your reading impressions with others around two books selected for the occasion.</h5>
</section>]]></field>
<field name="user_id" ref="base.user_admin"/>
<field name="stage_id" ref="event.event_stage_announced"/>
<field name="date_tz" model="res.users" eval="obj().env.ref('base.user_admin').tz or 'Europe/Brussels'"/>
<field name="date_begin" model="res.users" eval="
pytz.timezone(obj().env.user.tz or 'UTC').localize( DateTime.now().replace(hour=7, minute=30) + relativedelta(days=4) ).astimezone(pytz.UTC).replace(tzinfo=None)"/>
<field name="date_end" model="res.users" eval="
pytz.timezone(obj().env.user.tz or 'UTC').localize( DateTime.now().replace(hour=9, minute=30) + relativedelta(days=4) ).astimezone(pytz.UTC).replace(tzinfo=None)"/>
<field name="country_id" ref="base.be"/>
</record>
<record id="event_event_1" model="event.event">
<field name="cover_properties"><![CDATA[{"background-image":"url(/web/image/library.ir_attachment_4)","background_color_class":"o_cc3 o_cc","opacity":"0.4","resize_class":"o_half_screen_height o_record_has_cover","text_align_class":""}]]></field>
<field name="name">Introduction to Poetry</field>
<field name="description"><![CDATA[<section class="s_text_block o_colored_level">
<h5>Join us for a two-hour <b>Introduction to Poetry</b> event designed for anyone curious about the art form. Whether you're a seasoned reader or completely new to verse, this session offers a friendly and engaging exploration of what makes poetry tick. We'll cover the basics of poetic structure, imagery, and sound, and discover how to approach different types of poems. Get ready to unlock new ways of seeing and expressing the world around you!</h5>
</section>]]></field>
<field name="user_id" ref="base.user_admin"/>
<field name="stage_id" ref="event.event_stage_announced"/>
<field name="date_tz" model="res.users" eval="obj().env.ref('base.user_admin').tz or 'Europe/Brussels'"/>
<field name="date_begin" model="res.users" eval="
pytz.timezone(obj().env.user.tz or 'UTC').localize( DateTime.now().replace(hour=4, minute=30) + relativedelta(days=6) ).astimezone(pytz.UTC).replace(tzinfo=None)"/>
<field name="date_end" model="res.users" eval="
pytz.timezone(obj().env.user.tz or 'UTC').localize( DateTime.now().replace(hour=6, minute=30) + relativedelta(days=6) ).astimezone(pytz.UTC).replace(tzinfo=None)"/>
<field name="country_id" ref="base.be"/>
</record>
</odoo>
20 changes: 20 additions & 0 deletions library/data/ir_actions_act_window.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="settings_act_window" model="ir.actions.act_window">
<field name="name">Settings</field>
<field name="res_model">stock.rule</field>
<field name="domain" eval="[('route_id', '=', ref('stock_route_4'))]"/>
<field name="view_mode">list</field>
</record>
<record id="return_picking_act_window" model="ir.actions.act_window">
<field name="name">Return</field>
<field name="res_model">stock.picking</field>
<field name="view_ids" eval="[
(5, 0, 0),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('stock_picking_kanban_view')}),
(0, 0, {'view_mode': 'list', 'view_id': ref('stock_picking_list_view_inherit')}),
]"/>
<field name="domain" eval="[('picking_type_id.sequence_code', '=', 'RET'), ('state', 'in', ['confirmed', 'assigned', 'waiting'])]"/>
<field name="view_mode">kanban,list,form,calendar,map,activity</field>
</record>
</odoo>
41 changes: 41 additions & 0 deletions library/data/ir_actions_server.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="stock_rule_set_push_domain_server_action" model="ir.actions.server">
<field name="name">Execute Code</field>
<field name="model_id" ref="stock.model_stock_rule"/>
<field name="state">code</field>
<field name="code"><![CDATA[
for record in records:
if record.x_standard_rule or not record.x_pos_product_category_ids:
record['push_domain'] = []
else:
record['push_domain'] = [("product_id.pos_categ_ids", "in", record.x_pos_product_category_ids.ids)]
]]></field>
</record>
<record id="action_update_automatic_activation_on_product" model="ir.actions.server">
<field name="code"><![CDATA[
for route in records:
route['x_automatic_activation_on_product'] = not route.product_selectable
]]></field>
<field name="model_id" ref="stock.model_stock_route"/>
<field name="state">code</field>
<field name="name">Execute Code</field>
</record>
<record id="action_update_destination_location_on_picking" model="ir.actions.server">
<field name="code"><![CDATA[
records.filtered('picking_type_id.x_overrule_customer_location').write({"location_dest_id": record.picking_type_id.default_location_dest_id.id})
]]></field>
<field name="model_id" ref="stock.model_stock_picking"/>
<field name="state">code</field>
<field name="name">Execute Code</field>
</record>
<record id="make_route_on_product_create" model="ir.actions.server">
<field name="model_id" ref="product.model_product_template"/>
<field name="state">object_write</field>
<field name="update_path">route_ids</field>
<field name="crud_model_id" ref="product.model_product_template"/>
<field name="update_field_id" ref="stock.field_product_template__route_ids"/>
<field name="name">Update Product</field>
<field name="resource_ref" ref="stock_route_4"/>
</record>
</odoo>
7 changes: 7 additions & 0 deletions library/data/ir_attachment_pre.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="ir_attachment_1063" model="ir.attachment">
<field name="name">ir_attachment_1063.jpg</field>
<field name="datas" type="base64" file="library/static/src/binary/ir_attachment/ir_attachment_1063.jpg"/>
</record>
</odoo>
9 changes: 9 additions & 0 deletions library/data/ir_filters.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="filter_stock_picking_group_by_contact" model="ir.filters">
<field name="name">Group by Contact</field>
<field name="model_id">stock.picking</field>
<field name="context">{'group_by': ['partner_id']}</field>
<field name="is_default" eval="True"/>
</record>
</odoo>
31 changes: 31 additions & 0 deletions library/data/ir_model_fields.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="field_stock_route_automatic_activation_on_product" model="ir.model.fields">
<field name="ttype">boolean</field>
<field name="copied" eval="True"/>
<field name="field_description">Automatic activation on product</field>
<field name="model_id" ref="stock.model_stock_route"/>
<field name="name">x_automatic_activation_on_product</field>
</record>
<record id="field_stock_picking_type_overrule_customer_location" model="ir.model.fields">
<field name="ttype">boolean</field>
<field name="copied" eval="True"/>
<field name="field_description">Overrule customer location</field>
<field name="model_id" ref="stock.model_stock_picking_type"/>
<field name="name">x_overrule_customer_location</field>
</record>
<record id="standard_rule_field" model="ir.model.fields">
<field name="ttype">boolean</field>
<field name="copied" eval="True"/>
<field name="field_description">Standard Rule</field>
<field name="model_id" ref="stock.model_stock_rule"/>
<field name="name">x_standard_rule</field>
</record>
<record id="pos_product_categories_field" model="ir.model.fields">
<field name="name">x_pos_product_category_ids</field>
<field name="ttype">many2many</field>
<field name="field_description">PoS Product Categories</field>
<field name="model_id" ref="stock.model_stock_rule"/>
<field name="relation">pos.category</field>
</record>
</odoo>
54 changes: 54 additions & 0 deletions library/data/ir_ui_menu.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="point_of_sale.menu_point_root" model="ir.ui.menu" forcecreate="0">
<field name="sequence">1</field>
</record>
<record id="return_main_menu" model="ir.ui.menu">
<field name="name">Return</field>
<field name="sequence">2</field>
<field name="web_icon_data" type="base64" file="library/static/description/icon_without_border.png"/>
</record>
<record id="return_sub_menu" model="ir.ui.menu">
<field name="action" ref="return_picking_act_window"/>
<field name="name">Return</field>
<field name="parent_id" ref="return_main_menu"/>
</record>
<record id="return_settings_menu" model="ir.ui.menu">
<field name="action" ref="settings_act_window"/>
<field name="name">Settings</field>
<field name="parent_id" ref="return_main_menu"/>
</record>
<record id="sale_subscription.menu_sale_subscription_root" model="ir.ui.menu" forcecreate="0">
<field name="sequence">3</field>
</record>
<record id="event.event_main_menu" model="ir.ui.menu" forcecreate="0">
<field name="sequence">4</field>
</record>
<record id="website.menu_website_configuration" model="ir.ui.menu" forcecreate="0">
<field name="sequence">5</field>
</record>
<record id="account.menu_finance" model="ir.ui.menu" forcecreate="0">
<field name="sequence">6</field>
</record>
<record id="contacts.menu_contacts" model="ir.ui.menu" forcecreate="0">
<field name="sequence">7</field>
</record>
<record id="hr.menu_hr_root" model="ir.ui.menu" forcecreate="0">
<field name="sequence">8</field>
</record>
<record id="knowledge.knowledge_menu_root" model="ir.ui.menu" forcecreate="0">
<field name="sequence">9</field>
</record>
<record id="calendar.mail_menu_calendar" model="ir.ui.menu" forcecreate="0">
<field name="sequence">10</field>
</record>
<record id="appointment.main_menu_appointments" model="ir.ui.menu" forcecreate="0">
<field name="sequence">11</field>
</record>
<record id="crm.crm_menu_root" model="ir.ui.menu" forcecreate="0">
<field name="sequence">12</field>
</record>
<record id="mail.menu_root_discuss" model="ir.ui.menu" forcecreate="0">
<field name="sequence">13</field>
</record>
</odoo>
Loading