diff --git a/.tx/config b/.tx/config index 11ecc7915..eaa33000e 100644 --- a/.tx/config +++ b/.tx/config @@ -370,6 +370,15 @@ resource_name = photography replace_edited_strings = false keep_translations = false +[o:odoo:p:odoo-18:r:shoe_maker] +file_filter = shoe_maker/i18n/<lang>.po +source_file = shoe_maker/i18n/shoe_maker.pot +type = PO +minimum_perc = 0 +resource_name = shoe_maker +replace_edited_strings = false +keep_translations = false + [o:odoo:p:odoo-18:r:software_reseller] file_filter = software_reseller/i18n/<lang>.po source_file = software_reseller/i18n/software_reseller.pot diff --git a/shoe_maker/__manifest__.py b/shoe_maker/__manifest__.py new file mode 100644 index 000000000..822c6dcd1 --- /dev/null +++ b/shoe_maker/__manifest__.py @@ -0,0 +1,65 @@ +{ + 'name': 'Shoe Maker', + 'version': '1.0', + 'category': 'Services', + 'description': '', + 'author': 'Odoo S.A.', + 'depends': [ + 'industry_fsm_stock', + 'knowledge', + 'pos_sale', + 'purchase', + 'sale_management', + 'stock', + 'web_studio', + ], + 'data': [ + 'data/res_config_settings.xml', + 'data/ir_model_fields.xml', + 'data/ir_ui_view.xml', + 'data/ir_filter.xml', + 'data/mail_template.xml', + 'data/ir_actions_server.xml', + 'data/base_automation.xml', + 'data/knowledge_article.xml', + 'data/pos_category.xml', + 'data/project_task_type.xml', + 'data/project_project.xml', + 'data/product_category.xml', + 'data/product_template.xml', + 'data/product_attribute.xml', + 'data/product_attribute_value.xml', + 'data/product_template_attribute_line.xml', + 'data/product_template_attribute_value.xml', + 'data/product_product.xml', + 'data/pos_config.xml', + 'data/sale_order_template.xml', + 'data/sale_order_template_line.xml', + 'data/mail_message.xml', + 'data/knowledge_article_favorite.xml', + 'data/knowledge_tour.xml', + ], + 'demo': [ + 'demo/res_partner.xml', + 'demo/hr_department.xml', + 'demo/hr_employee.xml', + 'demo/product_supplierinfo.xml', + 'demo/stock_quant.xml', + 'demo/project_task.xml', + 'demo/stock_warehouse_orderpoint.xml', + 'demo/sale_order.xml', + 'demo/sale_order_line.xml', + 'demo/sale_order_confirm.xml', + ], + 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'shoe_maker/static/src/js/my_tour.js', + ], + }, + 'cloc_exclude': [ + 'data/knowledge_article.xml', + 'static/src/js/my_tour.js', + ], + 'images': ['images/main.png'], +} diff --git a/shoe_maker/data/base_automation.xml b/shoe_maker/data/base_automation.xml new file mode 100644 index 000000000..e60229f10 --- /dev/null +++ b/shoe_maker/data/base_automation.xml @@ -0,0 +1,38 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo> + <record id="on_last_task_done_turning_order_as_collectible" model="base.automation"> + <field name="model_id" ref="project.model_project_task"/> + <field name="trigger">on_create_or_write</field> + <field name="filter_domain" eval="[('x_is_order_collectible', '=', True), ('stage_id', 'in', [ref('project.selection__project_task__state__1_done'), ref('project.selection__project_task__state__1_canceled')])]"/> + <field name="filter_pre_domain">[("x_is_order_collectible", "=", False)]</field> + <field name="name">On last task done turning order as collectible</field> + <field name="trigger_field_ids" eval="[(6, 0, [ref('project.field_project_task__stage_id'), ref('field_project_task_collectible')])]"/> + <field name="action_server_ids" eval="[(6, 0, [ref('send_email_sales_order_ready')])]"/> + </record> + <record id="null_so_quantity_cancel_related_tasks" model="base.automation"> + <field name="model_id" ref="project.model_project_task"/> + <field name="trigger">on_create_or_write</field> + <field name="filter_domain" eval="[('sale_line_id.product_uom_qty', '=', 0), ('stage_id', '=', ref('industry_fsm.planning_project_stage_0'))]"/> + <field name="name">Null SO quantity cancels the related task</field> + <field name="trigger_field_ids" eval="[(6, 0, [ref('sale_project.field_project_task__sale_line_id'), ref('project.field_project_task__stage_id')])]"/> + <field name="action_server_ids" eval="[(6, 0, [ref('update_stage_cancel')])]"/> + </record> + <record id="base_automation_1" model="base.automation"> + <field name="model_id" ref="project.model_project_task"/> + <field name="trigger">on_stage_set</field> + <field name="trg_field_ref" ref="industry_fsm.planning_project_stage_3"/> + <field name="filter_domain" eval="[('stage_id', '=', ref('industry_fsm.planning_project_stage_3'))]"/> + <field name="name">Stage is set to "Done"</field> + <field name="trigger_field_ids" eval="[(6, 0, [ref('project.field_project_task__stage_id')])]"/> + <field name="action_server_ids" eval="[(6, 0, [ref('update_state_done')])]"/> + </record> + <record id="base_automation_2" model="base.automation"> + <field name="model_id" ref="project.model_project_task"/> + <field name="trigger">on_stage_set</field> + <field name="trg_field_ref" ref="industry_fsm.planning_project_stage_4"/> + <field name="filter_domain" eval="[('stage_id', '=', ref('industry_fsm.planning_project_stage_4'))]"/> + <field name="name">Stage is set to "Cancelled"</field> + <field name="trigger_field_ids" eval="[(6, 0, [ref('project.field_project_task__stage_id')])]"/> + <field name="action_server_ids" eval="[(6, 0, [ref('update_state_cancel')])]"/> + </record> +</odoo> diff --git a/shoe_maker/data/ir_actions_server.xml b/shoe_maker/data/ir_actions_server.xml new file mode 100644 index 000000000..fe7496b42 --- /dev/null +++ b/shoe_maker/data/ir_actions_server.xml @@ -0,0 +1,32 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo> + <record id="send_email_sales_order_ready" model="ir.actions.server"> + <field name="model_id" ref="project.model_project_task"/> + <field name="state">mail_post</field> + <field name="name">Send email: Sales: Order Ready (from task)</field> + </record> + <record id="update_stage_cancel" model="ir.actions.server"> + <field name="model_id" ref="project.model_project_task"/> + <field name="update_path">stage_id</field> + <field name="crud_model_id" ref="project.model_project_task"/> + <field name="update_field_id" ref="project.field_project_task__stage_id"/> + <field name="name">Update Stage</field> + <field name="resource_ref" ref="industry_fsm.planning_project_stage_4"/> + </record> + <record id="update_state_done" model="ir.actions.server"> + <field name="model_id" ref="project.model_project_task"/> + <field name="update_path">state</field> + <field name="crud_model_id" ref="project.model_project_task"/> + <field name="update_field_id" ref="project.field_project_task__state"/> + <field name="name">Update State</field> + <field name="selection_value" ref="project.selection__project_task__state__1_done"/> + </record> + <record id="update_state_cancel" model="ir.actions.server"> + <field name="model_id" ref="project.model_project_task"/> + <field name="update_path">state</field> + <field name="crud_model_id" ref="project.model_project_task"/> + <field name="update_field_id" ref="project.field_project_task__state"/> + <field name="name">Update State</field> + <field name="selection_value" ref="project.selection__project_task__state__1_canceled"/> + </record> +</odoo> diff --git a/shoe_maker/data/ir_filter.xml b/shoe_maker/data/ir_filter.xml new file mode 100644 index 000000000..0e3bdff4b --- /dev/null +++ b/shoe_maker/data/ir_filter.xml @@ -0,0 +1,15 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="ir_filters_10" model="ir.filters"> + <field name="name">Open projects</field> + <field name="model_id">project.project</field> + <field name="is_default" eval="True"/> + <field name="domain">[("x_collectible", "=", False)]</field> + </record> + <record id="ir_filters_11" model="ir.filters"> + <field name="name">Collectible</field> + <field name="model_id">sale.order</field> + <field name="is_default" eval="True"/> + <field name="domain">[("x_collectible", "=", True)]</field> + </record> +</odoo> diff --git a/shoe_maker/data/ir_model_fields.xml b/shoe_maker/data/ir_model_fields.xml new file mode 100644 index 000000000..01526a470 --- /dev/null +++ b/shoe_maker/data/ir_model_fields.xml @@ -0,0 +1,30 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo> + <record id="field_sale_order_collectible" model="ir.model.fields"> + <field name="ttype">boolean</field> + <field name="related">tasks_ids.is_closed</field> + <field name="field_description">Collectible</field> + <field name="model_id" ref="sale.model_sale_order"/> + <field name="name">x_collectible</field> + <field name="readonly" eval="True"/> + <field name="store" eval="True"/> + </record> + <record id="field_project_task_collectible" model="ir.model.fields"> + <field name="ttype">boolean</field> + <field name="related">sale_order_id.x_collectible</field> + <field name="field_description">Is order collectible</field> + <field name="model_id" ref="project.model_project_task"/> + <field name="name">x_is_order_collectible</field> + <field name="readonly" eval="True"/> + <field name="store" eval="False"/> + </record> + <record id="field_project_project_collectible" model="ir.model.fields"> + <field name="ttype">boolean</field> + <field name="related">reinvoiced_sale_order_id.x_collectible</field> + <field name="field_description">Collectible</field> + <field name="model_id" ref="project.model_project_project"/> + <field name="name">x_collectible</field> + <field name="readonly" eval="True"/> + <field name="store" eval="False"/> + </record> +</odoo> diff --git a/shoe_maker/data/ir_ui_view.xml b/shoe_maker/data/ir_ui_view.xml new file mode 100644 index 000000000..c26717dd6 --- /dev/null +++ b/shoe_maker/data/ir_ui_view.xml @@ -0,0 +1,65 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo> + <record id="view_sale_order_form" model="ir.ui.view"> + <field name="inherit_id" ref="sale.view_order_form"/> + <field name="mode">extension</field> + <field name="model">sale.order</field> + <field name="name">sale.order.form customization</field> + <field name="priority">160</field> + <field name="type">form</field> + <field name="active" eval="True"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='sale_order_template_id']" position="after"> + <field name="x_collectible"/> + </xpath> + </field> + </record> + <record id="view_sale_order_tree" model="ir.ui.view"> + <field name="inherit_id" ref="sale.sale_order_tree"/> + <field name="mode">extension</field> + <field name="model">sale.order</field> + <field name="name">sale.order.list customization</field> + <field name="priority">99</field> + <field name="type">list</field> + <field name="active" eval="True"/> + <field name="arch" type="xml"> + <field name="activity_ids" position="attributes"> + <attribute name="optional">hide</attribute> + </field> + <field name="user_id" position="attributes"> + <attribute name="optional">hide</attribute> + </field> + <field name="invoice_status" position="after"> + <field name="x_collectible" optional="show"/> + </field> + </field> + </record> + <record id="view_project_project_form" model="ir.ui.view"> + <field name="inherit_id" ref="project.edit_project"/> + <field name="mode">extension</field> + <field name="model">project.project</field> + <field name="name">project.project.form customization</field> + <field name="priority">320</field> + <field name="type">form</field> + <field name="active" eval="True"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='allocated_hours']" position="after"> + <field name="x_collectible"/> + </xpath> + </field> + </record> + <record id="view_project_project_kanban" model="ir.ui.view"> + <field name="inherit_id" ref="project.view_project_kanban"/> + <field name="mode">extension</field> + <field name="model">project.project</field> + <field name="name">project.project.kanban customization</field> + <field name="priority">2000</field> + <field name="type">kanban</field> + <field name="active" eval="True"/> + <field name="arch" type="xml"> + <xpath expr="//kanban[1]/templates[1]/t[@t-name='card']/div[1]/div[1]" position="after"> + <field name="x_collectible" display="full"/> + </xpath> + </field> + </record> +</odoo> diff --git a/shoe_maker/data/knowledge_article.xml b/shoe_maker/data/knowledge_article.xml new file mode 100644 index 000000000..e93507eeb --- /dev/null +++ b/shoe_maker/data/knowledge_article.xml @@ -0,0 +1,147 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo> + <template id="welcome_article_body"> + <h1 class="oe-hint" data-oe-version="1.0">Shoe Maker Services</h1> + <p>Hello there!</p> + <p>You just installed the Odoo for Shoe Maker package. By doing so, we have installed a bunch of necessary apps to run your services efficiently.</p> + <p>Discover the basics of this package and explore all the possibilities Odoo offers to improve your experience.</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>If you want to execute a practical guided tour of this module, you should Import demo data and try the Demo - Use Case (In the next Knowledge Article)</p> + </div> + </div> + <div data-embedded="tableOfContent"></div> + <h1><strong>Basics:</strong></h1> + <p>You can access every installed App in your Odoo database on your main dashboard.</p> + <ul> + <li>Use the <strong>Sales App</strong> to record any new ordering.</li> + <li>The <strong>Project App</strong> and <strong>Field Service App</strong> will ensure a great follow up of every order.</li> + <li>Use the <strong>Point of Sale</strong> for your sales at the desk. You can also download the Odoo Mobile App on any phone to take orders.</li> + <li>Save time managing your stock thanks to<strong> Inventory App</strong> and <strong>Purchase App</strong>.</li> + </ul> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>Odoo is entirely integrated into an App. Download it to turn your phone into an additional cashier (and much more).</p> + </div> + </div> + <h1><strong>Use case:</strong></h1> + <p>By uploading this module's demo data, your database has been filled with a few products.</p> + <p>You should be able to execute the following flows to have an overview of various flows you can quickly execute with this package using Odoo.</p> + <p>Of course, this is just an overview of the features included in this package. Feel free to add new apps, delete/modify demo data, and test everything around!</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-warning pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">β οΈ</i> + <div class="w-100 px-3"> + <p>You didn't import demo data? You can still do it. Go to Apps > Industries > Upgrade your Bar & Pub package and check the related box</p> + </div> + </div> + <h3>1. Managing orders</h3> + <p>From the <strong>Sales App</strong>, you can manage your orders.</p> + <p>You are ready to welcome your first customers. To do so, open the Sales App, create a new order and the customer.</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>Imputing the customer email address enables them to receive an email when their order is collectible.</p> + <p>You can edit the customer details clicking the arrow next to their names.</p> + </div> + </div> + <p><strong>Flow 1: </strong>The simplest way to record an order is to directly select services from the catalog. Open the catalog at the bottom of the quote and select as many services as needed. Note that you can easily filter the services leveraging the filters in the left hand side drawer!</p> + <p><strong>Flow 2:</strong> Most of the time, some services bundle well together. For such use, you can take advantage of the quotation templates. Select a quotation template and fill in the quantity of needed services.</p> + <p>Whichever the flow, you can confirm the order. The order is on track and you can see the corresponding tasks at the top of the order! </p> + <p>Now open the <strong>Project App</strong> to see the orders to be worked out.</p> + <p>1. Open the project corresponding to your order, to access all related duties.</p> + <p>2. When working on one of those task, move the tasks in the In progress column. Opening the task, you can add the product you consume to fulfill this task from the smart button Products at the top, for example outsoles in case of outsoles replacement.</p> + <p>3. When you're done with a task; move it to the Done. Do so for all tasks as if you completed the order.</p> + <div class="o_editor_banner o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3" data-oe-protected="true"> + <i class="o_editor_banner_icon mb-3 fst-normal">π</i> + <div class="w-100 px-3" data-oe-protected="false"> + <p>You currently have multiple steps in your projects: New, Planned, In progress, Done and Canceled. You can configure those steps in the template project by adding, removing, renaming columns if necessary.</p> + </div> + </div> + <p>4. Come back to the Sales App. You can see that your first order is now ready for pick up, which is indicated by the collectible checkbox. At that point, your customer has been notified by email that the order is ready to collect!</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>You can as well configure the process to notify your customers by SMS and Whatsapp! See the <a href="https://www.odoo.com/documentation/latest/applications/studio/automated_actions.html#">automation documentation</a> and <a href="https://www.odoo.com/documentation/latest/applications/productivity/whatsapp.html">Whatsapp integration documentation</a>.</p> + </div> + </div> + <p>5. When customers come back to your desk, you can easily find back their order by searching in the top search bar, and deploying the By customer arrow to access all matching customers you have. You can as well directly see all collectible orders with the filters.</p> + <p>Let's now see how to bill your customers as a last step.</p> + <h3>2. Billing customers</h3> + <p>Billing efficiently your customers for their orders is paramount for your business and to help you with this in front of customers, Odoo comes with a <strong>Point of Sale App</strong>.</p> + <p>1. From the <strong>Point of Sale App</strong>, open your register.</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>Odoo is entirely integrated into an App. Downloading the App allows you to manage this step efficiently from your smartphone in parallel of other activities.</p> + </div> + </div> + <p>2. Select the customer order from the register options with a full payment process.</p> + <p>3. If customers want some additional products, such as laces or innersoles, you can add some to their note in few clicks!</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"><i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>Note that you can easily add services performed which were not initially planned at this stage!</p> + </div> + </div> + <p>4. Introduce the means of payment, pay and you're all done with this order!</p> + <p>5. After billing your orders from the <strong>Point of Sale App</strong>, they turn out to be fully billed. Go back to your backend by clicking the "Backend" menu in the right corner, and then go to the orders from the <strong>Sales App </strong>to appreciate this change.</p> + <p>At the end of your service, remember to close your register. To do so, in the Point of Sale App, select "Close Register" in the top-right menu. You can then precise your cash amount and validate the closing.</p> + <h3>3. Replenishment</h3> + <p>Having available the necessary sub products at finger tips is crucial to deliver orders in best delays and therefore maximize your customer satisfaction. The <strong>Inventory App</strong> and the <strong>Purchase App</strong> are your best levers to manage your stock efficiently.</p> + <p>You have two main possibilities in Odoo to ease your replenishment process.</p> + <p><strong>Flow 1:</strong> Most products need a human assessment as the remaining quantity cannot be automatically computed. For those, a Recurring Task is created in the Project App. This task reappears every week, and you can personalize it with a checklist to avoid forgetting anything.</p> + <p>Go to your Purchase App to easily create Requests for Proposal or Purchase Orders for products you miss or getting slim.</p> + <p><strong>Flow 2:</strong> For products that can be tracked, such as laces and soles, you can use automated purchases. To try it, confirm a new <font class="text-o-color-5">order adding i</font><strong><font class="text-o-color-5"><span style="font-weight: normal;">nsoles with size 40-42</span></font></strong><font class="text-o-color-5">.</font></p> + <p><font class="text-o-color-5">By doing so, you have only </font><strong><font class="text-o-color-5"><span style="font-weight: normal;">2</span></font></strong><font class="text-o-color-5"> </font><strong><font class="text-o-color-5"><span style="font-weight: normal;">insoles</span></font></strong><font class="text-o-color-5"> left wit</font>h that size in your stock.</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π</i> + <div class="w-100 px-3"> + <p>You can see that there is a reordering rule configured for this product if you go to Inventory > Products > <font class="text-o-color-5">Insoles</font></p> + <p>Reordering rules are displayed in the smart buttons on top of your product. You can see a minimum quantity, and a maximum. Each time the forecast stock lowers beneath the minimum stock, it automatically creates a purchase order to replenish to the maximum quantity.</p> + </div> + </div> + <p>If you navigate to your Inventory App, and go to the replenishment from the Operations menu, you can see that some products could be reordered based on those rules.</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3" contenteditable="false"> + <i class="o_editor_banner_icon mb-3 fst-normal">π‘</i> + <div class="w-100 px-3"> + <p>The automated replenishment rules are triggered once a day to generate a purchase order for those products. Read our <a href="https://www.odoo.com/documentation/latest/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.html"> Replenishment documentation </a>for more details.</p> + </div> + </div> + <p>You can wait for the rules to apply but at this stage let's trigger the replenishment hitting the Order button on the considered products.</p> + <p>Go to your Purchase App to open the created purchase order.</p> + <p>You can now email your Request for Proposal to your vendor or confirm it manually.</p> + <p>Once the products are there, you can click the "Receipt" smart button to validate your receipt and add these new products to your stock.</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-success pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π</i> + <div class="w-100 px-3"> + <p>You completed that demo use case! There are millions of other ways to adapt your Odoo setup to fit your business needs.</p> + <p>Discover more about Odoo by diving into our <a href="https://www.odoo.com/documentation/latest/">documentation</a> and <a href="https://www.odoo.com/slides/getting-started-15">academy</a> , and feel free to <a href="https://www.odoo.com/contactus">request a demo</a> if you need help!</p> + </div> + </div> + <h1><strong>Do you want to go further?</strong></h1> + <p>Odoo offers you infinite possibilities, such as:</p> + <ul> + <li>Start receiving orders directly in Odoo or go live with your <strong><font class="text-o-color-1">E-shop</font></strong> in a few minutes.</li> + <li>Manage your accounting easier than ever with a completely integrated environment. (<strong><font class="text-o-color-1">Accounting App</font></strong>)</li> + <li>Manage all your communication channels in one place with Odoo <strong><font class="text-o-color-1">Marketing Automation</font></strong><font class="text-o-color-1">, <strong>Email Marketing</strong>, </font><strong><font class="text-o-color-1">Social Media Marketing</font></strong>, and <strong><font class="text-o-color-1">SMS Marketing</font></strong>.</li> + </ul> + <p>These all go free in your current subscription; feel free to explore! π</p> + <div class="o_editor_banner user-select-none o_not_editable lh-1 d-flex align-items-center alert alert-info pb-0 pt-3"> + <i class="o_editor_banner_icon mb-3 fst-normal">π</i> + <div class="w-100 px-3"> + <p>Would you like to discuss your Odoo setup with us or go even further?</p> + <p><a href="https://www.odoo.com/contactus" class="btn btn-fill-secondary">Reach us</a></p> + </div> + </div> + </template> + + <record id="welcome_article" model="knowledge.article"> + <field name="name">Shoe Maker Services</field> + <field name="icon">π</field> + <field name="internal_permission">write</field> + <field name="is_article_visible_by_everyone" eval="True"/> + <field name="is_locked" eval="True"/> + <field name="body"><![CDATA[]]></field> + </record> +</odoo> diff --git a/shoe_maker/data/knowledge_article_favorite.xml b/shoe_maker/data/knowledge_article_favorite.xml new file mode 100644 index 000000000..3d5b6471e --- /dev/null +++ b/shoe_maker/data/knowledge_article_favorite.xml @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="knowledge_favorite" model="knowledge.article.favorite"> + <field name="article_id" ref="welcome_article"/> + <field name="user_id" ref="base.user_admin"/> + </record> +</odoo> diff --git a/shoe_maker/data/knowledge_tour.xml b/shoe_maker/data/knowledge_tour.xml new file mode 100644 index 000000000..4f3e6b56e --- /dev/null +++ b/shoe_maker/data/knowledge_tour.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo noupdate="1"> + <record id="knowledge_tour" model="web_tour.tour"> + <field name="name">shoe_maker_knowledge_tour</field> + <field name="sequence">2</field> + <field name="rainbow_man_message">Welcome! Happy exploring.</field> + </record> +</odoo> diff --git a/shoe_maker/data/mail_message.xml b/shoe_maker/data/mail_message.xml new file mode 100644 index 000000000..9ddbcd806 --- /dev/null +++ b/shoe_maker/data/mail_message.xml @@ -0,0 +1,15 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record model="mail.message" id="notification_knowledge"> + <field name="model">discuss.channel</field> + <field name="res_id" ref="mail.channel_all_employees"/> + <field name="message_type">email</field> + <field name="author_id" ref="base.partner_root"/> + <field name="subtype_id" ref="mail.mt_comment"/> + <field name="subject">π Get started with Odoo Shoe Maker Package</field> + <field name="body" model="knowledge.article" eval=" + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('shoe_maker.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> + </record> +</odoo> diff --git a/shoe_maker/data/mail_template.xml b/shoe_maker/data/mail_template.xml new file mode 100644 index 000000000..885b3fbb0 --- /dev/null +++ b/shoe_maker/data/mail_template.xml @@ -0,0 +1,22 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="mail_template_45" model="mail.template"> + <field name="body_html"><![CDATA[<div style="margin: 0px; padding: 0px;" data-oe-version="1.0"> + <p style="box-sizing:border-box;margin: 0px; padding: 0px; font-size: 12px;"> + Dear <span style="font-weight:bold;" t-out="object.partner_id.display_name or ''">John Doe</span>,<br/> + <br/> + Your order <span style="font-weight:bold;" t-out="object.sale_order_id.name or ''">S00049</span> is ready.<br/> + Thank you for your trust and patience!<br/> + <br/> + Do not hesitate to contact us if you have any questions.<br/> + <br/> + <t t-if="not is_html_empty(object.sale_order_id.user_id.signature)" data-o-mail-quote-container="1"> + <span style="font-weight:bold;" t-out="object.sale_order_id.user_id.signature">Mitchell Admin</span> + </t> + </p></div>]]></field> + <field name="lang">{{ object.partner_id.lang }}</field> + <field name="model_id" ref="project.model_project_task"/> + <field name="name">Sales: Order Ready (from task)</field> + <field name="subject">{{ object.sale_order_id.company_id.name }} - Order ready (Ref. {{ object.sale_order_id.name or 'n/a' }})</field> + </record> +</odoo> diff --git a/shoe_maker/data/pos_category.xml b/shoe_maker/data/pos_category.xml new file mode 100644 index 000000000..0028b5501 --- /dev/null +++ b/shoe_maker/data/pos_category.xml @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="pos_category_2" model="pos.category"> + <field name="name">Care</field> + <field name="color">8</field> + </record> + <record id="pos_category_1" model="pos.category"> + <field name="name">Laces</field> + <field name="color">5</field> + </record> + <record id="pos_category_4" model="pos.category"> + <field name="name">Services</field> + <field name="color">3</field> + </record> + <record id="pos_category_3" model="pos.category"> + <field name="name">Soles</field> + <field name="color">2</field> + </record> +</odoo> diff --git a/shoe_maker/data/pos_config.xml b/shoe_maker/data/pos_config.xml new file mode 100644 index 000000000..598a45245 --- /dev/null +++ b/shoe_maker/data/pos_config.xml @@ -0,0 +1,8 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="pos_config_1" model="pos.config"> + <field name="name">Front desk</field> + <field name="iface_available_categ_ids" eval="[(6, 0, [ref('pos_category_2'), ref('pos_category_1'), ref('pos_category_4'), ref('pos_category_3')])]"/> + <field name="limit_categories" eval="True"/> + </record> +</odoo> diff --git a/shoe_maker/data/product_attribute.xml b/shoe_maker/data/product_attribute.xml new file mode 100644 index 000000000..9d8f983a0 --- /dev/null +++ b/shoe_maker/data/product_attribute.xml @@ -0,0 +1,18 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_barcodelookup.product_attribute_lookup_1" model="product.attribute" forcecreate="1"> + <field name="name">color</field> + </record> + <record id="product_barcodelookup.product_attribute_lookup_2" model="product.attribute" forcecreate="1"> + <field name="name">gender</field> + </record> + <record id="product_barcodelookup.product_attribute_lookup_3" model="product.attribute" forcecreate="1"> + <field name="name">material</field> + </record> + <record id="product_barcodelookup.product_attribute_lookup_7" model="product.attribute" forcecreate="1"> + <field name="name">size</field> + </record> + <record id="product_attribute_9" model="product.attribute"> + <field name="name">height</field> + </record> +</odoo> diff --git a/shoe_maker/data/product_attribute_value.xml b/shoe_maker/data/product_attribute_value.xml new file mode 100644 index 000000000..ccf6924f8 --- /dev/null +++ b/shoe_maker/data/product_attribute_value.xml @@ -0,0 +1,95 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_attribute_value_3" model="product.attribute.value"> + <field name="name">Black</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + </record> + <record id="product_attribute_value_4" model="product.attribute.value"> + <field name="name">Leather</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + </record> + <record id="product_attribute_value_15" model="product.attribute.value"> + <field name="name">White</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + </record> + <record id="product_attribute_value_16" model="product.attribute.value"> + <field name="name">Red</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + </record> + <record id="product_attribute_value_17" model="product.attribute.value"> + <field name="name">Blue</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + </record> + <record id="product_attribute_value_18" model="product.attribute.value"> + <field name="name">Green</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + </record> + <record id="product_attribute_value_1" model="product.attribute.value"> + <field name="name">Men</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_2"/> + </record> + <record id="product_attribute_value_2" model="product.attribute.value"> + <field name="name">Women</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_2"/> + </record> + <record id="product_attribute_value_9" model="product.attribute.value"> + <field name="name">Wood</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_3"/> + </record> + <record id="product_attribute_value_10" model="product.attribute.value"> + <field name="name">Plastic</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_3"/> + </record> + <record id="product_attribute_value_11" model="product.attribute.value"> + <field name="name">Rubber</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_3"/> + </record> + <record id="product_attribute_value_12" model="product.attribute.value"> + <field name="name">Plastic</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_3"/> + </record> + <record id="product_attribute_value_13" model="product.attribute.value"> + <field name="name">Large</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_14" model="product.attribute.value"> + <field name="name">Small</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_19" model="product.attribute.value"> + <field name="name">38</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_20" model="product.attribute.value"> + <field name="name">38-40</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_21" model="product.attribute.value"> + <field name="name">40-42</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_22" model="product.attribute.value"> + <field name="name">36-38</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_23" model="product.attribute.value"> + <field name="name">42-44</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + </record> + <record id="product_attribute_value_5" model="product.attribute.value"> + <field name="name">16mm</field> + <field name="attribute_id" ref="product_attribute_9"/> + </record> + <record id="product_attribute_value_6" model="product.attribute.value"> + <field name="name">22mm</field> + <field name="attribute_id" ref="product_attribute_9"/> + </record> + <record id="product_attribute_value_7" model="product.attribute.value"> + <field name="name">36mm</field> + <field name="attribute_id" ref="product_attribute_9"/> + </record> + <record id="product_attribute_value_8" model="product.attribute.value"> + <field name="name">54mm</field> + <field name="attribute_id" ref="product_attribute_9"/> + </record> +</odoo> diff --git a/shoe_maker/data/product_category.xml b/shoe_maker/data/product_category.xml new file mode 100644 index 000000000..c4ebc58ec --- /dev/null +++ b/shoe_maker/data/product_category.xml @@ -0,0 +1,16 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product.product_category_goods" model="product.category" forcecreate="1"> + <field name="name">Goods</field> + </record> + <record id="product_category_6" model="product.category"> + <field name="name">Laces</field> + <field name="parent_id" ref="product.product_category_goods"/> + </record> + <record id="product.product_category_services" model="product.category" forcecreate="1"> + <field name="name">Services</field> + </record> + <record id="product_category_5" model="product.category"> + <field name="name">Supply</field> + </record> +</odoo> diff --git a/shoe_maker/data/product_product.xml b/shoe_maker/data/product_product.xml new file mode 100644 index 000000000..0aec641b0 --- /dev/null +++ b/shoe_maker/data/product_product.xml @@ -0,0 +1,317 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_product_55" model="product.product"> + <field name="name">Cleaning</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">10.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_52" model="product.product"> + <field name="name">Heel replacement</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">45.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_57" model="product.product"> + <field name="name">Heel skate replacement</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">20.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_35" model="product.product"> + <field name="product_tmpl_id" ref="product_template_8"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_14')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_14')])]"/> + </record> + <record id="product_product_36" model="product.product"> + <field name="product_tmpl_id" ref="product_template_8"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_15')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_15')])]"/> + </record> + <record id="product_product_11" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_12" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_13" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_14" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_15" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_16" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_17" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_18" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_11')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_11')])]"/> + </record> + <record id="product_product_19" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_20" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_21" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_22" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_23" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_24" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_25" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_26" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_5'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_27" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_28" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_7'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_29" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_30" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_8'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_31" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_32" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_9'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_33" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_12')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_12')])]"/> + </record> + <record id="product_product_34" model="product.product"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_13')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_6'), ref('product_template_attribute_value_10'), ref('product_template_attribute_value_13')])]"/> + </record> + <record id="product_product_47" model="product.product"> + <field name="product_tmpl_id" ref="product_template_15"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_21')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_21')])]"/> + </record> + <record id="product_product_48" model="product.product"> + <field name="product_tmpl_id" ref="product_template_15"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_22')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_22')])]"/> + </record> + <record id="product_product_49" model="product.product"> + <field name="product_tmpl_id" ref="product_template_15"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_23')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_23')])]"/> + </record> + <record id="product_product_50" model="product.product"> + <field name="product_tmpl_id" ref="product_template_15"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_24')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_24')])]"/> + </record> + <record id="product_product_59" model="product.product"> + <field name="product_tmpl_id" ref="product_template_13"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_25')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_25')])]"/> + </record> + <record id="product_product_60" model="product.product"> + <field name="product_tmpl_id" ref="product_template_13"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_26')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_26')])]"/> + </record> + <record id="product_product_61" model="product.product"> + <field name="product_tmpl_id" ref="product_template_13"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_27')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_27')])]"/> + </record> + <record id="product_product_51" model="product.product"> + <field name="name">Outsole replacement</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">60.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_7" model="product.product"> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_1'), ref('product_template_attribute_value_3')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_1'), ref('product_template_attribute_value_3')])]"/> + </record> + <record id="product_product_8" model="product.product"> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_1'), ref('product_template_attribute_value_4')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_1'), ref('product_template_attribute_value_4')])]"/> + </record> + <record id="product_product_9" model="product.product"> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_2'), ref('product_template_attribute_value_3')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_2'), ref('product_template_attribute_value_3')])]"/> + </record> + <record id="product_product_10" model="product.product"> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_2'), ref('product_template_attribute_value_4')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_2'), ref('product_template_attribute_value_4')])]"/> + </record> + <record id="product_product_58" model="product.product"> + <field name="name">Proofing</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">8.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_56" model="product.product"> + <field name="name">Seam repair</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">20.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_53" model="product.product"> + <field name="name">Slide replacement</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">35.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> + <record id="product_product_42" model="product.product"> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_16')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_16')])]"/> + </record> + <record id="product_product_43" model="product.product"> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_17')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_17')])]"/> + </record> + <record id="product_product_44" model="product.product"> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_18')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_18')])]"/> + </record> + <record id="product_product_45" model="product.product"> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_19')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_19')])]"/> + </record> + <record id="product_product_46" model="product.product"> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="product_template_attribute_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_20')])]"/> + <field name="product_template_variant_value_ids" eval="[(6, 0, [ref('product_template_attribute_value_20')])]"/> + </record> + <record id="product_product_54" model="product.product"> + <field name="name">Wax care</field> + <field name="type">service</field> + <field name="service_tracking">task_in_project</field> + <field name="categ_id" ref="product.product_category_services"/> + <field name="list_price">12.0</field> + <field name="purchase_ok" eval="False"/> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_4')])]"/> + <field name="service_type">timesheet</field> + <field name="invoice_policy">order</field> + <field name="project_template_id" ref="industry_fsm.fsm_project"/> + </record> +</odoo> diff --git a/shoe_maker/data/product_template.xml b/shoe_maker/data/product_template.xml new file mode 100644 index 000000000..89e4ef3bb --- /dev/null +++ b/shoe_maker/data/product_template.xml @@ -0,0 +1,93 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_template_10" model="product.template"> + <field name="name">Cleaning spray</field> + <field name="categ_id" ref="product_category_5"/> + <field name="list_price" eval="0"/> + <field name="purchase_method">receive</field> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_8" model="product.template" context="{'create_product_product': False}"> + <field name="name">Heel skates</field> + <field name="categ_id" ref="product_category_5"/> + <field name="list_price" eval="0"/> + <field name="is_storable" eval="True"/> + <field name="purchase_method">receive</field> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_7" model="product.template" context="{'create_product_product': False}"> + <field name="name">Heels</field> + <field name="categ_id" ref="product_category_5"/> + <field name="list_price" eval="0"/> + <field name="is_storable" eval="True"/> + <field name="purchase_method">receive</field> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_15" model="product.template" context="{'create_product_product': False}"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/product_template/15-image_1920"/> + <field name="name">Insoles</field> + <field name="categ_id" ref="product.product_category_goods"/> + <field name="list_price">12.0</field> + <field name="is_storable" eval="True"/> + <field name="purchase_method">receive</field> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_3')])]"/> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_13" model="product.template" context="{'create_product_product': False}"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/product_template/13-image_1920"/> + <field name="name">Large laces</field> + <field name="categ_id" ref="product.product_category_goods"/> + <field name="list_price">6.0</field> + <field name="is_storable" eval="True"/> + <field name="purchase_method">receive</field> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_1')])]"/> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_6" model="product.template" context="{'create_product_product': False}"> + <field name="name">Outsoles</field> + <field name="categ_id" ref="product_category_5"/> + <field name="list_price" eval="0"/> + <field name="is_storable" eval="True"/> + <field name="purchase_method">receive</field> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_11" model="product.template"> + <field name="name">Proofing spray</field> + <field name="categ_id" ref="product_category_5"/> + <field name="list_price" eval="0"/> + <field name="purchase_method">receive</field> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_14" model="product.template" context="{'create_product_product': False}"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/product_template/14-image_1920"/> + <field name="name">Slim laces</field> + <field name="categ_id" ref="product.product_category_goods"/> + <field name="list_price">8.0</field> + <field name="is_storable" eval="True"/> + <field name="purchase_method">receive</field> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_1')])]"/> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> + <record id="product_template_12" model="product.template"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/product_template/12-image_1920"/> + <field name="name">Wax</field> + <field name="categ_id" ref="product_category_5"/> + <field name="list_price">5.0</field> + <field name="purchase_method">receive</field> + <field name="available_in_pos" eval="True"/> + <field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_2')])]"/> + <field name="service_type">manual</field> + <field name="invoice_policy">order</field> + </record> +</odoo> diff --git a/shoe_maker/data/product_template_attribute_line.xml b/shoe_maker/data/product_template_attribute_line.xml new file mode 100644 index 000000000..0b72cf1e7 --- /dev/null +++ b/shoe_maker/data/product_template_attribute_line.xml @@ -0,0 +1,51 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_template_attribute_line_7" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_3'), ref('product_attribute_value_15'), ref('product_attribute_value_16'), ref('product_attribute_value_17'), ref('product_attribute_value_18')])]"/> + </record> + <record id="product_template_attribute_line_9" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_13"/> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_3'), ref('product_attribute_value_15'), ref('product_attribute_value_17')])]"/> + </record> + <record id="product_template_attribute_line_1" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_2"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_1'), ref('product_attribute_value_2')])]"/> + </record> + <record id="product_template_attribute_line_3" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_2"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_1'), ref('product_attribute_value_2')])]"/> + </record> + <record id="product_template_attribute_line_6" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_8"/> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_13'), ref('product_attribute_value_14')])]"/> + </record> + <record id="product_template_attribute_line_8" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_15"/> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_7"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_20'), ref('product_attribute_value_21'), ref('product_attribute_value_22'), ref('product_attribute_value_23')])]"/> + </record> + <record id="product_template_attribute_line_2" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="sequence">11</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_1"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_3'), ref('product_attribute_value_4')])]"/> + </record> + <record id="product_template_attribute_line_4" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="sequence">11</field> + <field name="attribute_id" ref="product_attribute_9"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_5'), ref('product_attribute_value_6'), ref('product_attribute_value_7'), ref('product_attribute_value_8')])]"/> + </record> + <record id="product_template_attribute_line_5" model="product.template.attribute.line" context="{'create_product_product': False}"> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="sequence">12</field> + <field name="attribute_id" ref="product_barcodelookup.product_attribute_lookup_3"/> + <field name="value_ids" eval="[(6, 0, [ref('product_attribute_value_9'), ref('product_attribute_value_11'), ref('product_attribute_value_12')])]"/> + </record> +</odoo> diff --git a/shoe_maker/data/product_template_attribute_value.xml b/shoe_maker/data/product_template_attribute_value.xml new file mode 100644 index 000000000..9e2eafe98 --- /dev/null +++ b/shoe_maker/data/product_template_attribute_value.xml @@ -0,0 +1,111 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_template_attribute_value_16" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_3"/> + <field name="attribute_line_id" ref="product_template_attribute_line_7"/> + </record> + <record id="product_template_attribute_value_17" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_15"/> + <field name="attribute_line_id" ref="product_template_attribute_line_7"/> + </record> + <record id="product_template_attribute_value_18" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_16"/> + <field name="attribute_line_id" ref="product_template_attribute_line_7"/> + </record> + <record id="product_template_attribute_value_19" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_17"/> + <field name="attribute_line_id" ref="product_template_attribute_line_7"/> + </record> + <record id="product_template_attribute_value_20" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_18"/> + <field name="attribute_line_id" ref="product_template_attribute_line_7"/> + </record> + <record id="product_template_attribute_value_25" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_3"/> + <field name="attribute_line_id" ref="product_template_attribute_line_9"/> + </record> + <record id="product_template_attribute_value_26" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_15"/> + <field name="attribute_line_id" ref="product_template_attribute_line_9"/> + </record> + <record id="product_template_attribute_value_27" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_17"/> + <field name="attribute_line_id" ref="product_template_attribute_line_9"/> + </record> + <record id="product_template_attribute_value_1" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_1"/> + <field name="attribute_line_id" ref="product_template_attribute_line_1"/> + </record> + <record id="product_template_attribute_value_2" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_2"/> + <field name="attribute_line_id" ref="product_template_attribute_line_1"/> + </record> + <record id="product_template_attribute_value_5" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_1"/> + <field name="attribute_line_id" ref="product_template_attribute_line_3"/> + </record> + <record id="product_template_attribute_value_6" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_2"/> + <field name="attribute_line_id" ref="product_template_attribute_line_3"/> + </record> + <record id="product_template_attribute_value_14" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_13"/> + <field name="attribute_line_id" ref="product_template_attribute_line_6"/> + </record> + <record id="product_template_attribute_value_15" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_14"/> + <field name="attribute_line_id" ref="product_template_attribute_line_6"/> + </record> + <record id="product_template_attribute_value_21" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_20"/> + <field name="attribute_line_id" ref="product_template_attribute_line_8"/> + </record> + <record id="product_template_attribute_value_22" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_21"/> + <field name="attribute_line_id" ref="product_template_attribute_line_8"/> + </record> + <record id="product_template_attribute_value_23" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_22"/> + <field name="attribute_line_id" ref="product_template_attribute_line_8"/> + </record> + <record id="product_template_attribute_value_24" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_23"/> + <field name="attribute_line_id" ref="product_template_attribute_line_8"/> + </record> + <record id="product_template_attribute_value_3" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_3"/> + <field name="attribute_line_id" ref="product_template_attribute_line_2"/> + </record> + <record id="product_template_attribute_value_4" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_4"/> + <field name="attribute_line_id" ref="product_template_attribute_line_2"/> + </record> + <record id="product_template_attribute_value_7" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_5"/> + <field name="attribute_line_id" ref="product_template_attribute_line_4"/> + </record> + <record id="product_template_attribute_value_8" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_6"/> + <field name="attribute_line_id" ref="product_template_attribute_line_4"/> + </record> + <record id="product_template_attribute_value_9" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_7"/> + <field name="attribute_line_id" ref="product_template_attribute_line_4"/> + </record> + <record id="product_template_attribute_value_10" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_8"/> + <field name="attribute_line_id" ref="product_template_attribute_line_4"/> + </record> + <record id="product_template_attribute_value_11" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_9"/> + <field name="attribute_line_id" ref="product_template_attribute_line_5"/> + </record> + <record id="product_template_attribute_value_12" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_11"/> + <field name="attribute_line_id" ref="product_template_attribute_line_5"/> + </record> + <record id="product_template_attribute_value_13" model="product.template.attribute.value"> + <field name="product_attribute_value_id" ref="product_attribute_value_12"/> + <field name="attribute_line_id" ref="product_template_attribute_line_5"/> + </record> +</odoo> diff --git a/shoe_maker/data/project_project.xml b/shoe_maker/data/project_project.xml new file mode 100644 index 000000000..1f1803245 --- /dev/null +++ b/shoe_maker/data/project_project.xml @@ -0,0 +1,9 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="project_project_3" model="project.project"> + <field name="name">Suppliers Orders</field> + <field name="type_ids" eval="[(6, 0, [ref('project_task_type_19'), ref('project_task_type_20')])]"/> + <field name="allow_timesheets" eval="False"/> + <field name="user_id" ref="base.user_admin"/> + </record> +</odoo> diff --git a/shoe_maker/data/project_task_type.xml b/shoe_maker/data/project_task_type.xml new file mode 100644 index 000000000..25debb64f --- /dev/null +++ b/shoe_maker/data/project_task_type.xml @@ -0,0 +1,11 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="project_task_type_19" model="project.task.type"> + <field name="name">To Do</field> + <field name="sequence" eval="0"/> + </record> + <record id="project_task_type_20" model="project.task.type"> + <field name="name">Done</field> + <field name="sequence" eval="1"/> + </record> +</odoo> diff --git a/shoe_maker/data/res_config_settings.xml b/shoe_maker/data/res_config_settings.xml new file mode 100644 index 000000000..07a337b9c --- /dev/null +++ b/shoe_maker/data/res_config_settings.xml @@ -0,0 +1,10 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="res_config_settings_enable" model="res.config.settings"> + <field name="group_product_variant" eval="1"/> + <field name="group_project_recurring_tasks" eval="1"/> + <field name="group_project_stages" eval="1"/> + <field name="group_sale_order_template" eval="1"/> + </record> + <function name="execute" model="res.config.settings" eval="[ref('res_config_settings_enable')]"/> +</odoo> diff --git a/shoe_maker/data/sale_order_template.xml b/shoe_maker/data/sale_order_template.xml new file mode 100644 index 000000000..563c3a66d --- /dev/null +++ b/shoe_maker/data/sale_order_template.xml @@ -0,0 +1,12 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="sale_order_template_1" model="sale.order.template"> + <field name="name">Men shoes</field> + </record> + <record id="sale_order_template_4" model="sale.order.template"> + <field name="name">Women shoes</field> + </record> + <record id="sale_order_template_5" model="sale.order.template"> + <field name="name">Sneackers</field> + </record> +</odoo> diff --git a/shoe_maker/data/sale_order_template_line.xml b/shoe_maker/data/sale_order_template_line.xml new file mode 100644 index 000000000..ccda7f114 --- /dev/null +++ b/shoe_maker/data/sale_order_template_line.xml @@ -0,0 +1,138 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1" auto_sequence="1"> + <record id="sale_order_template_line_1" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="name"><![CDATA[Services]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_11" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="product_id" ref="product_product_51"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_7" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="product_id" ref="product_product_52"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_34" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="product_id" ref="product_product_53"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_10" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="product_id" ref="product_product_56"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_2" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="name"><![CDATA[Care]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_9" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="product_id" ref="product_product_54"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_8" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="product_id" ref="product_product_55"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_31" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + <field name="name"><![CDATA[Consumables]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_12" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="name"><![CDATA[Services]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_18" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_51"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_14" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_52"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_19" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_57"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_32" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_53"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_17" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_56"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_13" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="name"><![CDATA[Care]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_16" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_54"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_15" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="product_id" ref="product_product_55"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_29" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_4"/> + <field name="name"><![CDATA[Consumables]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_20" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="name"><![CDATA[Services]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_33" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="product_id" ref="product_product_53"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_25" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="product_id" ref="product_product_56"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_21" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="name"><![CDATA[Care]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_template_line_24" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="product_id" ref="product_product_54"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_28" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="product_id" ref="product_product_58"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_23" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="product_id" ref="product_product_55"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_template_line_30" model="sale.order.template.line"> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + <field name="name"><![CDATA[Consumables]]></field> + <field name="display_type">line_section</field> + </record> +</odoo> diff --git a/shoe_maker/demo/hr_department.xml b/shoe_maker/demo/hr_department.xml new file mode 100644 index 000000000..b6ef7ab7b --- /dev/null +++ b/shoe_maker/demo/hr_department.xml @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="hr_department_2" model="hr.department"> + <field name="name">Employees</field> + <field name="manager_id" ref="hr.employee_admin"/> + </record> +</odoo> diff --git a/shoe_maker/demo/hr_employee.xml b/shoe_maker/demo/hr_employee.xml new file mode 100644 index 000000000..18dbe65e1 --- /dev/null +++ b/shoe_maker/demo/hr_employee.xml @@ -0,0 +1,74 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="hr.employee_admin" model="hr.employee" forcecreate="1"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/hr_employee/1-image_1920"/> + <field name="name">Casey Admin</field> + <field name="department_id" ref="hr.dep_administration"/> + <field name="job_title">Chief Executive Administrator</field> + <field name="address_id" ref="base.main_partner"/> + <field name="work_phone">+1 650-691-3277</field> + <field name="work_contact_id" ref="base.partner_admin"/> + <field name="work_email">casey.admin@yourcompany.example.com</field> + <field name="user_id" ref="base.user_admin"/> + </record> + <record id="hr_employee_4" model="hr.employee"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/hr_employee/2-image_1920"/> + <field name="name">David Miller</field> + <field name="department_id" ref="hr_department_2"/> + <field name="address_id" ref="base.main_partner"/> + <field name="work_phone">+1 650-691-3277</field> + <field name="work_contact_id" ref="res_partner_43"/> + <field name="work_email">david.miller@yourcompany.example.com</field> + <field name="parent_id" ref="hr.employee_admin"/> + <field name="coach_id" ref="hr.employee_admin"/> + <field name="timesheet_manager_id" ref="base.user_admin"/> + </record> + <record id="hr_employee_5" model="hr.employee"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/hr_employee/3-image_1920"/> + <field name="name">Jessica Rodriguez</field> + <field name="department_id" ref="hr_department_2"/> + <field name="address_id" ref="base.main_partner"/> + <field name="work_phone">+1 650-691-3277</field> + <field name="work_contact_id" ref="res_partner_44"/> + <field name="work_email">jessica.rodriguez@yourcompany.example.com</field> + <field name="parent_id" ref="hr.employee_admin"/> + <field name="coach_id" ref="hr.employee_admin"/> + <field name="timesheet_manager_id" ref="base.user_admin"/> + </record> + <record id="hr_employee_3" model="hr.employee"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/hr_employee/4-image_1920"/> + <field name="name">Michael Demo</field> + <field name="department_id" ref="hr_department_2"/> + <field name="job_title">Amazing Employee</field> + <field name="address_id" ref="base.main_partner"/> + <field name="work_phone">+1 650-691-3277</field> + <field name="work_email">michael.demo@yourcompany.example.com</field> + <field name="parent_id" ref="hr.employee_admin"/> + <field name="coach_id" ref="hr.employee_admin"/> + <field name="timesheet_manager_id" ref="base.user_admin"/> + </record> + <record id="hr_employee_6" model="hr.employee"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/hr_employee/5-image_1920"/> + <field name="name">Robert Wilson</field> + <field name="department_id" ref="hr_department_2"/> + <field name="address_id" ref="base.main_partner"/> + <field name="work_phone">+1 650-691-3277</field> + <field name="work_contact_id" ref="res_partner_45"/> + <field name="work_email">robert.wilson@yourcompany.example.com</field> + <field name="parent_id" ref="hr.employee_admin"/> + <field name="coach_id" ref="hr.employee_admin"/> + <field name="timesheet_manager_id" ref="base.user_admin"/> + </record> + <record id="hr_employee_2" model="hr.employee"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/hr_employee/6-image_1920"/> + <field name="name">Sarah Thompson</field> + <field name="department_id" ref="hr_department_2"/> + <field name="address_id" ref="base.main_partner"/> + <field name="work_phone">+1 650-691-3277</field> + <field name="work_contact_id" ref="res_partner_46"/> + <field name="work_email">sarah.thompson@yourcompany.example.com</field> + <field name="parent_id" ref="hr.employee_admin"/> + <field name="coach_id" ref="hr.employee_admin"/> + <field name="timesheet_manager_id" ref="base.user_admin"/> + </record> +</odoo> diff --git a/shoe_maker/demo/product_supplierinfo.xml b/shoe_maker/demo/product_supplierinfo.xml new file mode 100644 index 000000000..e0ab94ad7 --- /dev/null +++ b/shoe_maker/demo/product_supplierinfo.xml @@ -0,0 +1,57 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="product_supplierinfo_2" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_13"/> + <field name="min_qty">1.0</field> + <field name="price">3.0</field> + </record> + <record id="product_supplierinfo_3" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_14"/> + <field name="min_qty">1.0</field> + <field name="price">3.0</field> + </record> + <record id="product_supplierinfo_4" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_10"/> + <field name="min_qty">1.0</field> + <field name="price">3.0</field> + </record> + <record id="product_supplierinfo_5" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_8"/> + <field name="min_qty">1.0</field> + <field name="price">3.0</field> + </record> + <record id="product_supplierinfo_8" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_11"/> + <field name="min_qty">1.0</field> + <field name="price">4.0</field> + </record> + <record id="product_supplierinfo_9" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_12"/> + <field name="min_qty">1.0</field> + <field name="price">4.0</field> + </record> + <record id="product_supplierinfo_1" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_15"/> + <field name="min_qty">1.0</field> + <field name="price">5.0</field> + </record> + <record id="product_supplierinfo_6" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_7"/> + <field name="min_qty">1.0</field> + <field name="price">12.0</field> + </record> + <record id="product_supplierinfo_7" model="product.supplierinfo"> + <field name="partner_id" ref="res_partner_22"/> + <field name="product_tmpl_id" ref="product_template_6"/> + <field name="min_qty">1.0</field> + <field name="price">12.0</field> + </record> +</odoo> diff --git a/shoe_maker/demo/project_task.xml b/shoe_maker/demo/project_task.xml new file mode 100644 index 000000000..8db12338e --- /dev/null +++ b/shoe_maker/demo/project_task.xml @@ -0,0 +1,15 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="project_task_3" model="project.task"> + <field name="name">Weekly orders</field> + <field name="description"><![CDATA[<ul class="o_checklist" data-oe-version="1.0"> + <li>Wax</li> + <li>Cleaning</li> + <li>Proofing</li> + <li>Leather</li> +</ul>]]></field> + <field name="project_id" ref="project_project_3"/> + <field name="stage_id" ref="project_task_type_19"/> + <field name="recurring_task" eval="True"/> + </record> +</odoo> diff --git a/shoe_maker/demo/res_partner.xml b/shoe_maker/demo/res_partner.xml new file mode 100644 index 000000000..2bbd20919 --- /dev/null +++ b/shoe_maker/demo/res_partner.xml @@ -0,0 +1,297 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="res_partner_35" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/14-image_1920"/> + <field name="name">Fifth Company</field> + <field name="country_id" ref="base.be"/> + <field name="street">Rue Paul Reuter 8</field> + <field name="zip">6700</field> + <field name="city">Arlon</field> + <field name="is_company" eval="True"/> + </record> + <record id="res_partner_26" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/15-image_1920"/> + <field name="name">John Smith</field> + <field name="parent_id" ref="res_partner_35"/> + <field name="country_id" ref="base.be"/> + <field name="street">Rue Paul Reuter 8</field> + <field name="zip">6700</field> + <field name="city">Arlon</field> + <field name="email">john.smith@fifth.example.com</field> + </record> + <record id="res_partner_31" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/16-image_1920"/> + <field name="name">First Company</field> + <field name="country_id" ref="base.be"/> + <field name="street">Rue du Laid Burniat 5</field> + <field name="zip">1348</field> + <field name="city">Ottignies-Louvain-la-Neuve</field> + <field name="is_company" eval="True"/> + </record> + <record id="res_partner_21" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/17-image_1920"/> + <field name="name">Amanda White</field> + <field name="parent_id" ref="res_partner_31"/> + <field name="country_id" ref="base.be"/> + <field name="street">Rue du Laid Burniat 5</field> + <field name="zip">1348</field> + <field name="city">Ottignies-Louvain-la-Neuve</field> + <field name="email">amanda.white@first.example.com</field> + </record> + <record id="res_partner_34" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/18-image_1920"/> + <field name="name">Fourth Company</field> + <field name="country_id" ref="base.us"/> + <field name="street">40 Fountain Plaza</field> + <field name="street2">Suite 1200</field> + <field name="zip">14202</field> + <field name="city">Buffalo</field> + <field name="state_id" ref="base.state_us_27"/> + <field name="is_company" eval="True"/> + </record> + <record id="res_partner_24" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/19-image_1920"/> + <field name="name">Emily Johnson</field> + <field name="parent_id" ref="res_partner_34"/> + <field name="country_id" ref="base.us"/> + <field name="street">40 Fountain Plaza</field> + <field name="street2">Suite 1200</field> + <field name="zip">14202</field> + <field name="city">Buffalo</field> + <field name="state_id" ref="base.state_us_27"/> + <field name="email">emily.johnson@fourth.example.com</field> + </record> + <record id="res_partner_25" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/20-image_1920"/> + <field name="name">Jessica Martinez</field> + <field name="country_id" ref="base.be"/> + <field name="street">ChaussΓ©e de Namur 40</field> + <field name="zip">1367</field> + <field name="city">Grand-RosiΓ¨re</field> + <field name="email">jessica.martinez@b2c.example.com</field> + </record> + <record id="res_partner_27" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/21-image_1920"/> + <field name="name">Lisa Anderson</field> + <field name="country_id" ref="base.es"/> + <field name="street">Avda Cortes Valencianas, s/n portal 58</field> + <field name="zip">46015</field> + <field name="city">Valencia</field> + <field name="email">lisa.anderson@b2c.example.com</field> + </record> + <record id="res_partner_28" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/22-image_1920"/> + <field name="name">Mike Brown</field> + <field name="country_id" ref="base.be"/> + <field name="street">Rue Brederode 16</field> + <field name="zip">1000</field> + <field name="city">Bruxelles</field> + <field name="email">mike.brown@b2c.example.com</field> + </record> + <record id="base.main_partner" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/1-image_1920"/> + <field name="name">MyCompany</field> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="website">http://odoo.com</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="email">hello@yourcompany.example.com</field> + <field name="phone">+1 650-691-3277</field> + <field name="is_company" eval="True"/> + </record> + <record id="res_partner_10" model="res.partner"> + <field name="name">Americas Sales Office</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="phone">+1 (929) 352-6366</field> + </record> + <record id="res_partner_9" model="res.partner"> + <field name="name">Americas Sales, Services</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="phone">+1 (650) 691-3277 </field> + </record> + <record id="res_partner_11" model="res.partner"> + <field name="name">Asia/Pacific Sales Office</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="phone">+852 39 500 610</field> + </record> + <record id="res_partner_12" model="res.partner"> + <field name="name">Asia/Pacific Services and R&D</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="phone">+91 (79) 40 500 100</field> + </record> + <record id="res_partner_43" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/33-image_1920"/> + <field name="name">David Miller</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="employee" eval="True"/> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="email">david.miller@yourcompany.example.com</field> + <field name="company_id" ref="base.main_company"/> + </record> + <record id="res_partner_7" model="res.partner"> + <field name="name">EMEA Sales Office</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="phone">+32 2 290 34 90</field> + </record> + <record id="res_partner_8" model="res.partner"> + <field name="name">EMEA Services, R&D and Headquarters</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="phone">+32 81 81 37 00</field> + </record> + <record id="res_partner_44" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/34-image_1920"/> + <field name="name">Jessica Rodriguez</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="employee" eval="True"/> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="email">jessica.rodriguez@yourcompany.example.com</field> + <field name="company_id" ref="base.main_company"/> + </record> + <record id="res_partner_45" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/35-image_1920"/> + <field name="name">Robert Wilson</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="employee" eval="True"/> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="email">robert.wilson@yourcompany.example.com</field> + <field name="company_id" ref="base.main_company"/> + </record> + <record id="res_partner_46" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/36-image_1920"/> + <field name="name">Sarah Thompson</field> + <field name="parent_id" ref="base.main_partner"/> + <field name="vat">BE0477472701</field> + <field name="country_id" ref="base.be"/> + <field name="company_registry">0477472701</field> + <field name="employee" eval="True"/> + <field name="street">Rue des Bourlottes 9</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="email">sarah.thompson@yourcompany.example.com</field> + <field name="company_id" ref="base.main_company"/> + </record> + <record id="res_partner_29" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/23-image_1920"/> + <field name="name">Sarah Davis</field> + <field name="country_id" ref="base.be"/> + <field name="street">Avenue de Miramar 11</field> + <field name="zip">1000</field> + <field name="city">Bruxelles</field> + <field name="email">sarah.davis@b2c.example.com</field> + </record> + <record id="res_partner_32" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/24-image_1920"/> + <field name="name">Second Company</field> + <field name="country_id" ref="base.be"/> + <field name="street">Roderverldlaan 3</field> + <field name="zip">2600</field> + <field name="city">Antwerpen</field> + <field name="is_company" eval="True"/> + </record> + <record id="res_partner_22" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/25-image_1920"/> + <field name="name">Chris Taylor</field> + <field name="parent_id" ref="res_partner_32"/> + <field name="country_id" ref="base.be"/> + <field name="function">Purchase Manager</field> + <field name="street">Roderverldlaan 3</field> + <field name="zip">2600</field> + <field name="city">Antwerpen</field> + <field name="email">chris.taylor@second.example.com</field> + </record> + <record id="res_partner_30" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/26-image_1920"/> + <field name="name">Tom Wilson</field> + <field name="parent_id" ref="res_partner_32"/> + <field name="country_id" ref="base.be"/> + <field name="function">Sales Manager</field> + <field name="street">Roderverldlaan 3</field> + <field name="zip">2600</field> + <field name="city">Antwerpen</field> + <field name="email">tom.wilson@second.example.com</field> + </record> + <record id="res_partner_33" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/27-image_1920"/> + <field name="name">Third Company</field> + <field name="country_id" ref="base.be"/> + <field name="street">Rue de Ramilies 1</field> + <field name="zip">1367</field> + <field name="city">Ramilies</field> + <field name="is_company" eval="True"/> + </record> + <record id="res_partner_23" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/28-image_1920"/> + <field name="name">David Lee</field> + <field name="parent_id" ref="res_partner_33"/> + <field name="country_id" ref="base.be"/> + <field name="street">Rue de Ramilies 1</field> + <field name="zip">1367</field> + <field name="city">Ramilies</field> + <field name="email">david.lee@third.example.com</field> + </record> + <record id="res_partner_19" model="res.partner"> + <field name="image_1920" type="base64" file="shoe_maker/static/src/binary/res_partner/29-image_1920"/> + <field name="name">YourCompany</field> + <field name="country_id" ref="base.be"/> + <field name="street">Avenue des dΓ©portΓ©s 48</field> + <field name="zip">1367</field> + <field name="city">Ramillies</field> + <field name="email">hello@yourcompany.example.com</field> + <field name="phone">+32 123456789</field> + <field name="is_company" eval="True"/> + </record> +</odoo> diff --git a/shoe_maker/demo/sale_order.xml b/shoe_maker/demo/sale_order.xml new file mode 100644 index 000000000..68d4a8e4d --- /dev/null +++ b/shoe_maker/demo/sale_order.xml @@ -0,0 +1,13 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="sale_order_1" model="sale.order"> + <field name="partner_id" ref="res_partner_26"/> + <field name="user_id" ref="base.user_admin"/> + <field name="sale_order_template_id" ref="sale_order_template_5"/> + </record> + <record id="sale_order_2" model="sale.order"> + <field name="partner_id" ref="res_partner_28"/> + <field name="user_id" ref="base.user_admin"/> + <field name="sale_order_template_id" ref="sale_order_template_1"/> + </record> +</odoo> diff --git a/shoe_maker/demo/sale_order_confirm.xml b/shoe_maker/demo/sale_order_confirm.xml new file mode 100644 index 000000000..d2bbf5f4b --- /dev/null +++ b/shoe_maker/demo/sale_order_confirm.xml @@ -0,0 +1,8 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo> + <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_1'), ref('sale_order_2')]]"/> + <function name="write" model="project.task"> + <value model="project.project" eval="obj().env.ref('shoe_maker.sale_order_1').project_id.task_ids.ids"/> + <value eval="{'stage_id': ref('industry_fsm.planning_project_stage_3'), 'user_ids': [Command.link(ref('base.user_admin'))]}"/> + </function> +</odoo> diff --git a/shoe_maker/demo/sale_order_line.xml b/shoe_maker/demo/sale_order_line.xml new file mode 100644 index 000000000..8550c2b62 --- /dev/null +++ b/shoe_maker/demo/sale_order_line.xml @@ -0,0 +1,84 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1" auto_sequence="1"> + <record id="sale_order_line_20" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="name"><![CDATA[Services]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_line_33" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="product_id" ref="product_product_53"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_25" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="product_id" ref="product_product_56"/> + </record> + <record id="sale_order_line_21" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="name"><![CDATA[Care]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_line_24" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="product_id" ref="product_product_54"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_28" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="product_id" ref="product_product_58"/> + </record> + <record id="sale_order_line_23" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="product_id" ref="product_product_55"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_30" model="sale.order.line"> + <field name="order_id" ref="sale_order_1"/> + <field name="name"><![CDATA[Consumables]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_line_1" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="name"><![CDATA[Services]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_line_11" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="product_id" ref="product_product_51"/> + </record> + <record id="sale_order_line_7" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="product_id" ref="product_product_52"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_34" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="product_id" ref="product_product_53"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_10" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="product_id" ref="product_product_56"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_2" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="name"><![CDATA[Care]]></field> + <field name="display_type">line_section</field> + </record> + <record id="sale_order_line_9" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="product_id" ref="product_product_54"/> + </record> + <record id="sale_order_line_8" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="product_id" ref="product_product_55"/> + <field name="product_uom_qty" eval="False"/> + </record> + <record id="sale_order_line_31" model="sale.order.line"> + <field name="order_id" ref="sale_order_2"/> + <field name="name"><![CDATA[Consumables]]></field> + <field name="display_type">line_section</field> + </record> +</odoo> diff --git a/shoe_maker/demo/stock_quant.xml b/shoe_maker/demo/stock_quant.xml new file mode 100644 index 000000000..b559349cd --- /dev/null +++ b/shoe_maker/demo/stock_quant.xml @@ -0,0 +1,45 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="stock_quant_1" model="stock.quant"> + <field name="product_id" ref="product_product_47"/> + <field name="inventory_quantity">6</field> + </record> + <record id="stock_quant_2" model="stock.quant"> + <field name="product_id" ref="product_product_48"/> + <field name="inventory_quantity">3.0</field> + </record> + <record id="stock_quant_3" model="stock.quant"> + <field name="product_id" ref="product_product_49"/> + <field name="inventory_quantity">8.0</field> + </record> + <record id="stock_quant_4" model="stock.quant"> + <field name="product_id" ref="product_product_50"/> + <field name="inventory_quantity">7.0</field> + </record> + <record id="stock_quant_5" model="stock.quant"> + <field name="product_id" ref="product_product_7"/> + <field name="inventory_quantity">12.0</field> + </record> + <record id="stock_quant_6" model="stock.quant"> + <field name="product_id" ref="product_product_8"/> + <field name="inventory_quantity">8.0</field> + </record> + <record id="stock_quant_7" model="stock.quant"> + <field name="product_id" ref="product_product_9"/> + <field name="inventory_quantity">6.0</field> + </record> + <record id="stock_quant_8" model="stock.quant"> + <field name="product_id" ref="product_product_10"/> + <field name="inventory_quantity">13.0</field> + </record> + <function name="action_apply_inventory" model="stock.quant" eval="[[ + ref('stock_quant_1'), + ref('stock_quant_2'), + ref('stock_quant_3'), + ref('stock_quant_4'), + ref('stock_quant_5'), + ref('stock_quant_6'), + ref('stock_quant_7'), + ref('stock_quant_8'), + ]]"/> +</odoo> diff --git a/shoe_maker/demo/stock_warehouse_orderpoint.xml b/shoe_maker/demo/stock_warehouse_orderpoint.xml new file mode 100644 index 000000000..3647bbea6 --- /dev/null +++ b/shoe_maker/demo/stock_warehouse_orderpoint.xml @@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<odoo noupdate="1"> + <record id="stock_warehouse_orderpoint_1" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_47"/> + <field name="product_max_qty">10.0</field> + <field name="product_min_qty">3.0</field> + </record> + <record id="stock_warehouse_orderpoint_2" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_48"/> + <field name="product_max_qty">10.0</field> + <field name="product_min_qty">3.0</field> + </record> + <record id="stock_warehouse_orderpoint_3" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_49"/> + <field name="product_max_qty">10.0</field> + <field name="product_min_qty">3.0</field> + </record> + <record id="stock_warehouse_orderpoint_4" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_50"/> + <field name="product_max_qty">10.0</field> + <field name="product_min_qty">3.0</field> + </record> + <record id="stock_warehouse_orderpoint_5" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_7"/> + <field name="product_max_qty">15.0</field> + <field name="product_min_qty">5.0</field> + </record> + <record id="stock_warehouse_orderpoint_6" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_8"/> + <field name="product_max_qty">15.0</field> + <field name="product_min_qty">5.0</field> + </record> + <record id="stock_warehouse_orderpoint_7" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_9"/> + <field name="product_max_qty">15.0</field> + <field name="product_min_qty">5.0</field> + </record> + <record id="stock_warehouse_orderpoint_8" model="stock.warehouse.orderpoint"> + <field name="product_id" ref="product_product_10"/> + <field name="product_max_qty">15.0</field> + <field name="product_min_qty">5.0</field> + </record> +</odoo> diff --git a/shoe_maker/i18n/shoe_maker.pot b/shoe_maker/i18n/shoe_maker.pot new file mode 100644 index 000000000..da399c9af --- /dev/null +++ b/shoe_maker/i18n/shoe_maker.pot @@ -0,0 +1,913 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * shoe_maker +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-19 16:10+0000\n" +"PO-Revision-Date: 2025-03-19 16:10+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid ", and feel free to" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "1. From the <strong>Point of Sale App</strong>, open your register." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "1. Managing orders" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"1. Open the project corresponding to your order, to access all related " +"duties." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_5 +msgid "16mm" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "2. Billing customers" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"2. Select the customer order from the register options with a full payment " +"process." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"2. When working on one of those task, move the tasks in the In progress " +"column. Opening the task, you can add the product you consume to fulfill " +"this task from the smart button Products at the top, for example outsoles in" +" case of outsoles replacement." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_6 +msgid "22mm" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"3. If customers want some additional products, such as laces or innersoles, " +"you can add some to their note in few clicks!" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "3. Replenishment" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"3. When you're done with a task; move it to the Done. Do so for all tasks as" +" if you completed the order." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_22 +msgid "36-38" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_7 +msgid "36mm" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_19 +msgid "38" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_20 +msgid "38-40" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"4. Come back to the Sales App. You can see that your first order is now " +"ready for pick up, which is indicated by the collectible checkbox. At that " +"point, your customer has been notified by email that the order is ready to " +"collect!" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"4. Introduce the means of payment, pay and you're all done with this order!" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_21 +msgid "40-42" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_23 +msgid "42-44" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"5. After billing your orders from the <strong>Point of Sale App</strong>, " +"they turn out to be fully billed. Go back to your backend by clicking the " +"\"Backend\" menu in the right corner, and then go to the orders from the " +"<strong>Sales App </strong>to appreciate this change." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"5. When customers come back to your desk, you can easily find back their " +"order by searching in the top search bar, and deploying the By customer " +"arrow to access all matching customers you have. You can as well directly " +"see all collectible orders with the filters." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_8 +msgid "54mm" +msgstr "" + +#. module: shoe_maker +#: model:mail.template,body_html:shoe_maker.mail_template_45 +msgid "" +"<div style=\"margin: 0px; padding: 0px;\" data-oe-version=\"1.0\">\n" +" <p style=\"box-sizing:border-box;margin: 0px; padding: 0px; font-size: 12px;\">\n" +" Dear <span style=\"font-weight:bold;\" t-out=\"object.partner_id.display_name or ''\">John Doe</span>,<br/>\n" +" <br/>\n" +" Your order <span style=\"font-weight:bold;\" t-out=\"object.sale_order_id.name or ''\">S00049</span> is ready.<br/>\n" +" Thank you for your trust and patience!<br/>\n" +" <br/>\n" +" Do not hesitate to contact us if you have any questions.<br/>\n" +" <br/>\n" +" <t t-if=\"not is_html_empty(object.sale_order_id.user_id.signature)\" data-o-mail-quote-container=\"1\">\n" +" <span style=\"font-weight:bold;\" t-out=\"object.sale_order_id.user_id.signature\">Mitchell Admin</span>\n" +" </t>\n" +" </p></div>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"<font class=\"text-o-color-5\">By doing so, you have only " +"</font><strong><font class=\"text-o-color-5\"><span style=\"font-weight: " +"normal;\">2</span></font></strong><font class=\"text-o-color-5\"> " +"</font><strong><font class=\"text-o-color-5\"><span style=\"font-weight: " +"normal;\">insoles</span></font></strong><font class=\"text-o-color-5\"> left" +" wit</font>h that size in your stock." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<i class=\"o_editor_banner_icon mb-3 fst-normal\">β οΈ</i>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<i class=\"o_editor_banner_icon mb-3 fst-normal\">π</i>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<i class=\"o_editor_banner_icon mb-3 fst-normal\">π‘</i>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<i class=\"o_editor_banner_icon mb-3 fst-normal\">π</i>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<i class=\"o_editor_banner_icon mb-3 fst-normal\">π</i>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<strong>Basics:</strong>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<strong>Do you want to go further?</strong>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"<strong>Flow 1: </strong>The simplest way to record an order is to directly " +"select services from the catalog. Open the catalog at the bottom of the " +"quote and select as many services as needed. Note that you can easily filter" +" the services leveraging the filters in the left hand side drawer!" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"<strong>Flow 1:</strong> Most products need a human assessment as the " +"remaining quantity cannot be automatically computed. For those, a Recurring " +"Task is created in the Project App. This task reappears every week, and you " +"can personalize it with a checklist to avoid forgetting anything." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"<strong>Flow 2:</strong> For products that can be tracked, such as laces and" +" soles, you can use automated purchases. To try it, confirm a new <font " +"class=\"text-o-color-5\">order adding i</font><strong><font class=\"text-o-" +"color-5\"><span style=\"font-weight: normal;\">nsoles with size " +"40-42</span></font></strong><font class=\"text-o-color-5\">.</font>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"<strong>Flow 2:</strong> Most of the time, some services bundle well " +"together. For such use, you can take advantage of the quotation templates. " +"Select a quotation template and fill in the quantity of needed services." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "<strong>Use case:</strong>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"At the end of your service, remember to close your register. To do so, in " +"the Point of Sale App, select \"Close Register\" in the top-right menu. You " +"can then precise your cash amount and validate the closing." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Billing efficiently your customers for their orders is paramount for your " +"business and to help you with this in front of customers, Odoo comes with a " +"<strong>Point of Sale App</strong>." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_3 +msgid "Black" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_17 +msgid "Blue" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"By uploading this module's demo data, your database has been filled with a " +"few products." +msgstr "" + +#. module: shoe_maker +#: model:pos.category,name:shoe_maker.pos_category_2 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_13 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_2 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_21 +msgid "Care" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_55_product_template +msgid "Cleaning" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_10 +msgid "Cleaning spray" +msgstr "" + +#. module: shoe_maker +#: model:ir.model.fields,field_description:shoe_maker.field_project_project_collectible +#: model:ir.model.fields,field_description:shoe_maker.field_sale_order_collectible +msgid "Collectible" +msgstr "" + +#. module: shoe_maker +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_29 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_30 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_31 +msgid "Consumables" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Discover more about Odoo by diving into our" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Discover the basics of this package and explore all the possibilities Odoo " +"offers to improve your experience." +msgstr "" + +#. module: shoe_maker +#: model:project.task.type,name:shoe_maker.project_task_type_20 +msgid "Done" +msgstr "" + +#. module: shoe_maker +#: model:hr.department,name:shoe_maker.hr_department_2 +msgid "Employees" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "From the <strong>Sales App</strong>, you can manage your orders." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Go to your Purchase App to easily create Requests for Proposal or Purchase " +"Orders for products you miss or getting slim." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Go to your Purchase App to open the created purchase order." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_18 +msgid "Green" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Having available the necessary sub products at finger tips is crucial to " +"deliver orders in best delays and therefore maximize your customer " +"satisfaction. The <strong>Inventory App</strong> and the <strong>Purchase " +"App</strong> are your best levers to manage your stock efficiently." +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_52_product_template +msgid "Heel replacement" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_57_product_template +msgid "Heel skate replacement" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_8 +msgid "Heel skates" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_7 +msgid "Heels" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Hello there!" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"If you navigate to your Inventory App, and go to the replenishment from the " +"Operations menu, you can see that some products could be reordered based on " +"those rules." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"If you want to execute a practical guided tour of this module, you should " +"Import demo data and try the Demo - Use Case (In the next Knowledge Article)" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Imputing the customer email address enables them to receive an email when " +"their order is collectible." +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_15 +msgid "Insoles" +msgstr "" + +#. module: shoe_maker +#: model:ir.model.fields,field_description:shoe_maker.field_project_task_collectible +msgid "Is order collectible" +msgstr "" + +#. module: shoe_maker +#: model:pos.category,name:shoe_maker.pos_category_1 +msgid "Laces" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_13 +msgid "Large" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_13 +msgid "Large laces" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_4 +msgid "Leather" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Let's now see how to bill your customers as a last step." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Manage all your communication channels in one place with Odoo <strong><font " +"class=\"text-o-color-1\">Marketing Automation</font></strong><font " +"class=\"text-o-color-1\">, <strong>Email Marketing</strong>, " +"</font><strong><font class=\"text-o-color-1\">Social Media " +"Marketing</font></strong>, and <strong><font class=\"text-o-color-1\">SMS " +"Marketing</font></strong>." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Manage your accounting easier than ever with a completely integrated " +"environment. (<strong><font class=\"text-o-color-1\">Accounting " +"App</font></strong>)" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_1 +msgid "Men" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Note that you can easily add services performed which were not initially " +"planned at this stage!" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Now open the <strong>Project App</strong> to see the orders to be worked " +"out." +msgstr "" + +#. module: shoe_maker +#: model:base.automation,name:shoe_maker.null_so_quantity_cancel_related_tasks +msgid "Null SO quantity cancels the related task" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Odoo is entirely integrated into an App. Download it to turn your phone into" +" an additional cashier (and much more)." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Odoo is entirely integrated into an App. Downloading the App allows you to " +"manage this step efficiently from your smartphone in parallel of other " +"activities." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Odoo offers you infinite possibilities, such as:" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Of course, this is just an overview of the features included in this " +"package. Feel free to add new apps, delete/modify demo data, and test " +"everything around!" +msgstr "" + +#. module: shoe_maker +#: model:base.automation,name:shoe_maker.on_last_task_done_turning_order_as_collectible +msgid "On last task done turning order as collectible" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Once the products are there, you can click the \"Receipt\" smart button to " +"validate your receipt and add these new products to your stock." +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_51_product_template +msgid "Outsole replacement" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_6 +msgid "Outsoles" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_10 +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_12 +msgid "Plastic" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_58_product_template +msgid "Proofing" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_11 +msgid "Proofing spray" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Reach us" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_16 +msgid "Red" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Reordering rules are displayed in the smart buttons on top of your product. " +"You can see a minimum quantity, and a maximum. Each time the forecast stock " +"lowers beneath the minimum stock, it automatically creates a purchase order " +"to replenish to the maximum quantity." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Replenishment documentation" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_11 +msgid "Rubber" +msgstr "" + +#. module: shoe_maker +#: model:mail.template,name:shoe_maker.mail_template_45 +msgid "Sales: Order Ready (from task)" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Save time managing your stock thanks to<strong> Inventory App</strong> and " +"<strong>Purchase App</strong>." +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_56_product_template +msgid "Seam repair" +msgstr "" + +#. module: shoe_maker +#: model:ir.actions.server,name:shoe_maker.send_email_sales_order_ready +msgid "Send email: False" +msgstr "" + +#. module: shoe_maker +#: model:pos.category,name:shoe_maker.pos_category_4 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_1 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_12 +#: model:sale.order.template.line,name:shoe_maker.sale_order_template_line_20 +msgid "Services" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Shoe Maker Services" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_53_product_template +msgid "Slide replacement" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_14 +msgid "Slim laces" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_14 +msgid "Small" +msgstr "" + +#. module: shoe_maker +#: model:pos.category,name:shoe_maker.pos_category_3 +msgid "Soles" +msgstr "" + +#. module: shoe_maker +#: model:base.automation,name:shoe_maker.base_automation_2 +msgid "Stage is set to \"Cancelled\"" +msgstr "" + +#. module: shoe_maker +#: model:base.automation,name:shoe_maker.base_automation_1 +msgid "Stage is set to \"Done\"" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Start receiving orders directly in Odoo or go live with your <strong><font " +"class=\"text-o-color-1\">E-shop</font></strong> in a few minutes." +msgstr "" + +#. module: shoe_maker +#: model:project.project,name:shoe_maker.project_project_3 +msgid "Suppliers Orders" +msgstr "" + +#. module: shoe_maker +#: model:project.project,label_tasks:shoe_maker.project_project_3 +msgid "Tasks" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"The <strong>Project App</strong> and <strong>Field Service App</strong> will" +" ensure a great follow up of every order." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"The automated replenishment rules are triggered once a day to generate a " +"purchase order for those products. Read our" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"These all go free in your current subscription; feel free to explore! π" +msgstr "" + +#. module: shoe_maker +#: model:project.task.type,name:shoe_maker.project_task_type_19 +msgid "To Do" +msgstr "" + +#. module: shoe_maker +#: model:ir.actions.server,name:shoe_maker.update_stage_cancel +msgid "Update Stage" +msgstr "" + +#. module: shoe_maker +#: model:ir.actions.server,name:shoe_maker.update_state_cancel +#: model:ir.actions.server,name:shoe_maker.update_state_done +msgid "Update State" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Use the <strong>Point of Sale</strong> for your sales at the desk. You can " +"also download the Odoo Mobile App on any phone to take orders." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Use the <strong>Sales App</strong> to record any new ordering." +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_template_12 +msgid "Wax" +msgstr "" + +#. module: shoe_maker +#: model:product.template,name:shoe_maker.product_product_54_product_template +msgid "Wax care" +msgstr "" + +#. module: shoe_maker +#: model_terms:web_tour.tour,rainbow_man_message:shoe_maker.knowledge_tour +msgid "Welcome! Happy exploring." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Whatsapp integration documentation" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"Whichever the flow, you can confirm the order. The order is on track and you" +" can see the corresponding tasks at the top of the order!" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_15 +msgid "White" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_2 +msgid "Women" +msgstr "" + +#. module: shoe_maker +#: model:product.attribute.value,name:shoe_maker.product_attribute_value_9 +msgid "Wood" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "Would you like to discuss your Odoo setup with us or go even further?" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You are ready to welcome your first customers. To do so, open the Sales App," +" create a new order and the customer." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You can access every installed App in your Odoo database on your main " +"dashboard." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You can as well configure the process to notify your customers by SMS and " +"Whatsapp! See the" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You can edit the customer details clicking the arrow next to their names." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You can now email your Request for Proposal to your vendor or confirm it " +"manually." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You can see that there is a reordering rule configured for this product if " +"you go to Inventory > Products > <font class=\"text-o-" +"color-5\">Insoles</font>" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You can wait for the rules to apply but at this stage let's trigger the " +"replenishment hitting the Order button on the considered products." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You completed that demo use case! There are millions of other ways to adapt " +"your Odoo setup to fit your business needs." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You currently have multiple steps in your projects: New, Planned, In " +"progress, Done and Canceled. You can configure those steps in the template " +"project by adding, removing, renaming columns if necessary." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You didn't import demo data? You can still do it. Go to Apps > Industries" +" > Upgrade your Bar & Pub package and check the related box" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You have two main possibilities in Odoo to ease your replenishment process." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You just installed the Odoo for Shoe Maker package. By doing so, we have " +"installed a bunch of necessary apps to run your services efficiently." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "" +"You should be able to execute the following flows to have an overview of " +"various flows you can quickly execute with this package using Odoo." +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "academy" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "and" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "automation documentation" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "documentation" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "for more details." +msgstr "" + +#. module: shoe_maker +#: model:product.attribute,name:shoe_maker.product_attribute_9 +msgid "height" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "if you need help!" +msgstr "" + +#. module: shoe_maker +#: model_terms:ir.ui.view,arch_db:shoe_maker.welcome_article_body +msgid "request a demo" +msgstr "" + +#. module: shoe_maker +#: model:mail.template,subject:shoe_maker.mail_template_45 +msgid "" +"{{ object.sale_order_id.company_id.name }} - Order ready (Ref. {{ " +"object.sale_order_id.name or 'n/a' }})" +msgstr "" diff --git a/shoe_maker/images/main.png b/shoe_maker/images/main.png new file mode 100644 index 000000000..2093feb5d Binary files /dev/null and b/shoe_maker/images/main.png differ diff --git a/shoe_maker/static/description/icon.png b/shoe_maker/static/description/icon.png new file mode 100644 index 000000000..eaf0a1f6e Binary files /dev/null and b/shoe_maker/static/description/icon.png differ diff --git a/shoe_maker/static/description/index.html b/shoe_maker/static/description/index.html new file mode 100644 index 000000000..9f0d3c331 --- /dev/null +++ b/shoe_maker/static/description/index.html @@ -0,0 +1,26 @@ +<h2><strong>Odoo for Shoe Maker Services</strong></h2> +<p>This industry package includes all the essential features to manage your shoe maker services business, from customer relationship management to task and stock management as well as billing.</p> +<h3><strong>Basics</strong></h3> +<ul> + <li> + Leverage the <strong><font class="text-o-color-1">Sales App</font></strong> to manage your quotations and orders. + </li> + <li> + Follow up on work completion with the <strong><font class="text-o-color-1">Project App</font></strong> and <strong><font class="text-o-color-1">Field Service App</font></strong>. + </li> + <li> + Easily bill customers with the <strong><font class="text-o-color-1">Point of Sales App</font></strong>. + </li> + <li> + Slim your labor for stock management, replenishment and purchase with <strong><font class="text-o-color-1">Inventory App</font></strong> and <strong><font class="text-o-color-1">Purchase App</font></strong>. + </li> + <li> + Automatically notify your customers when their order are ready to collect. + </li> +</ul> +<h3><strong>Included Customizations</strong></h3> +<ul> + <li> + On SO turning to collectible, the customer is notified by email to collect the order. + </li> +</ul> diff --git a/shoe_maker/static/src/binary/hr_employee/1-image_1920 b/shoe_maker/static/src/binary/hr_employee/1-image_1920 new file mode 100644 index 000000000..a2c8553ca Binary files /dev/null and b/shoe_maker/static/src/binary/hr_employee/1-image_1920 differ diff --git a/shoe_maker/static/src/binary/hr_employee/2-image_1920 b/shoe_maker/static/src/binary/hr_employee/2-image_1920 new file mode 100644 index 000000000..dae60b14b Binary files /dev/null and b/shoe_maker/static/src/binary/hr_employee/2-image_1920 differ diff --git a/shoe_maker/static/src/binary/hr_employee/3-image_1920 b/shoe_maker/static/src/binary/hr_employee/3-image_1920 new file mode 100644 index 000000000..9fe0adf89 Binary files /dev/null and b/shoe_maker/static/src/binary/hr_employee/3-image_1920 differ diff --git a/shoe_maker/static/src/binary/hr_employee/4-image_1920 b/shoe_maker/static/src/binary/hr_employee/4-image_1920 new file mode 100644 index 000000000..206be0449 Binary files /dev/null and b/shoe_maker/static/src/binary/hr_employee/4-image_1920 differ diff --git a/shoe_maker/static/src/binary/hr_employee/5-image_1920 b/shoe_maker/static/src/binary/hr_employee/5-image_1920 new file mode 100644 index 000000000..a309264e4 Binary files /dev/null and b/shoe_maker/static/src/binary/hr_employee/5-image_1920 differ diff --git a/shoe_maker/static/src/binary/hr_employee/6-image_1920 b/shoe_maker/static/src/binary/hr_employee/6-image_1920 new file mode 100644 index 000000000..0f930d64f Binary files /dev/null and b/shoe_maker/static/src/binary/hr_employee/6-image_1920 differ diff --git a/shoe_maker/static/src/binary/product_template/12-image_1920 b/shoe_maker/static/src/binary/product_template/12-image_1920 new file mode 100644 index 000000000..5c6d94051 Binary files /dev/null and b/shoe_maker/static/src/binary/product_template/12-image_1920 differ diff --git a/shoe_maker/static/src/binary/product_template/13-image_1920 b/shoe_maker/static/src/binary/product_template/13-image_1920 new file mode 100644 index 000000000..eef843cc3 Binary files /dev/null and b/shoe_maker/static/src/binary/product_template/13-image_1920 differ diff --git a/shoe_maker/static/src/binary/product_template/14-image_1920 b/shoe_maker/static/src/binary/product_template/14-image_1920 new file mode 100644 index 000000000..fbe3573fb Binary files /dev/null and b/shoe_maker/static/src/binary/product_template/14-image_1920 differ diff --git a/shoe_maker/static/src/binary/product_template/15-image_1920 b/shoe_maker/static/src/binary/product_template/15-image_1920 new file mode 100644 index 000000000..71deae316 Binary files /dev/null and b/shoe_maker/static/src/binary/product_template/15-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/1-image_1920 b/shoe_maker/static/src/binary/res_partner/1-image_1920 new file mode 100644 index 000000000..d29b795d7 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/1-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/14-image_1920 b/shoe_maker/static/src/binary/res_partner/14-image_1920 new file mode 100644 index 000000000..4a78f7d3b Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/14-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/15-image_1920 b/shoe_maker/static/src/binary/res_partner/15-image_1920 new file mode 100644 index 000000000..667c89c32 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/15-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/16-image_1920 b/shoe_maker/static/src/binary/res_partner/16-image_1920 new file mode 100644 index 000000000..fed1f7aa9 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/16-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/17-image_1920 b/shoe_maker/static/src/binary/res_partner/17-image_1920 new file mode 100644 index 000000000..99541f2ea Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/17-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/18-image_1920 b/shoe_maker/static/src/binary/res_partner/18-image_1920 new file mode 100644 index 000000000..40ae50ec2 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/18-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/19-image_1920 b/shoe_maker/static/src/binary/res_partner/19-image_1920 new file mode 100644 index 000000000..90ee7742c Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/19-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/20-image_1920 b/shoe_maker/static/src/binary/res_partner/20-image_1920 new file mode 100644 index 000000000..7d38b5c37 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/20-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/21-image_1920 b/shoe_maker/static/src/binary/res_partner/21-image_1920 new file mode 100644 index 000000000..03e00f784 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/21-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/22-image_1920 b/shoe_maker/static/src/binary/res_partner/22-image_1920 new file mode 100644 index 000000000..6caaa4b57 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/22-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/23-image_1920 b/shoe_maker/static/src/binary/res_partner/23-image_1920 new file mode 100644 index 000000000..00104edb8 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/23-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/24-image_1920 b/shoe_maker/static/src/binary/res_partner/24-image_1920 new file mode 100644 index 000000000..220464a6b Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/24-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/25-image_1920 b/shoe_maker/static/src/binary/res_partner/25-image_1920 new file mode 100644 index 000000000..5ffdb420b Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/25-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/26-image_1920 b/shoe_maker/static/src/binary/res_partner/26-image_1920 new file mode 100644 index 000000000..01c05a6db Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/26-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/27-image_1920 b/shoe_maker/static/src/binary/res_partner/27-image_1920 new file mode 100644 index 000000000..4b4d08fc5 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/27-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/28-image_1920 b/shoe_maker/static/src/binary/res_partner/28-image_1920 new file mode 100644 index 000000000..ff94e8fb4 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/28-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/29-image_1920 b/shoe_maker/static/src/binary/res_partner/29-image_1920 new file mode 100644 index 000000000..937f8c829 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/29-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/33-image_1920 b/shoe_maker/static/src/binary/res_partner/33-image_1920 new file mode 100644 index 000000000..dae60b14b Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/33-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/34-image_1920 b/shoe_maker/static/src/binary/res_partner/34-image_1920 new file mode 100644 index 000000000..9fe0adf89 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/34-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/35-image_1920 b/shoe_maker/static/src/binary/res_partner/35-image_1920 new file mode 100644 index 000000000..a309264e4 Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/35-image_1920 differ diff --git a/shoe_maker/static/src/binary/res_partner/36-image_1920 b/shoe_maker/static/src/binary/res_partner/36-image_1920 new file mode 100644 index 000000000..0f930d64f Binary files /dev/null and b/shoe_maker/static/src/binary/res_partner/36-image_1920 differ diff --git a/shoe_maker/static/src/js/my_tour.js b/shoe_maker/static/src/js/my_tour.js new file mode 100644 index 000000000..630b4cdbc --- /dev/null +++ b/shoe_maker/static/src/js/my_tour.js @@ -0,0 +1,14 @@ +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("shoe_maker_knowledge_tour", { + url: "/odoo", + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Get on track and explore our recommendations for your Odoo usage here!"), + position: "bottom", + run: "click", + }, + ], +});