<commit_before><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.0.xsd">
    
    <grid name="product-grid" title="Products" model="com.axelor.apps.base.db.Product" orderBy="code,name" x-row-height="80">
   		<toolbar>
        	<button name="catalogBtn" title="Catalog" onClick="action-print-product-catalog" icon="fa-book"/>
			<button name="checkDuplicateBtn" title="Check Duplicate" onClick="action-general-check-duplicate-records"/>
	    </toolbar>
	    <field name="code" x-bind="{{code|unaccent|uppercase}}" width="100"/>
	    <field name="name" width="300"/>
	    <field name="productCategory" form-view="product-category-form" grid-view="product-category-grid"/>
	    <field name="productFamily" form-view="product-family-form" grid-view="product-family-grid"/>
	    <field name="productTypeSelect" width="100"/>
	   	<field name="salePrice" x-scale="2" />
	    <field name="unit" width="70" form-view="unit-form" grid-view="unit-grid"/>
	    <field name="internalDescription" widget="html" width="400" />
	    <button name="sendByEmailBtn" title="Send Email" icon="fa-envelope" onClick="action-send-by-email-with-template"/>
	</grid>
    
    <grid name="product-product-variant-grid" title="Products" model="com.axelor.apps.base.db.Product" orderBy="code,name">
	    <field name="code" x-bind="{{code|unaccent|uppercase}}" width="120"/>
	    <field name="name"/>
	    <field name="productVariant" width="200"/>
	    <field name="costPrice" width="120" x-scale="2"/>
	    <field name="salePrice" width="120" x-scale="2"/>
    </grid>

	<form name="product-form" title="Product" model="com.axelor.apps.base.db.Product" 
	onNew="action-group-base-product-onnew"
	onLoad="action-group-product-onload" width="large">
 		<toolbar>
    		<button name="showProductSheetBtn" title="Product sheet" icon="fa-print" onClick="save,action-product-method-show-product-sheet"/>
    		<button name="sendByEmailBtn" title="Send Email" icon="fa-envelope" onClick="action-send-by-email-with-template"/>
  		</toolbar>
  		<panel name="mainPanel" >
   			<panel name="namePanel" colSpan="4">
    			<field name="fullName" showTitle="false" css="label-bold bold large" colSpan="12">
        			<editor x-show-titles="false">
          				<field name="code" x-bind="{{code|unaccent|uppercase}}" showTitle="false" colSpan="5" css="label-bold bold large" placeholder="Code" readonly="true" 
          					if="__config__.app.getApp('base').getGenerateProductSequence()"/>
          				<field name="code" x-bind="{{code|unaccent|uppercase}}" showTitle="false" colSpan="5" css="label-bold bold large" placeholder="Code" 
          					if="!__config__.app.getApp('base').getGenerateProductSequence()" required="true"/>
          				<field name="name" showTitle="false" colSpan="7" css="label-bold bold large" placeholder="Name"/>
        			</editor>
      			</field>
    		</panel>
    		<panel name="actionsPanel" colSpan="8">
       			<button name="$totalVariantsBtn" title="Total variants" showIf="isModel" colSpan="3" icon="fa-tags" onClick="action-product-view-total-variants" widget="info-button"/>
      			<panel name="subActionsPanel" showTitle="false" showIf="productTypeSelect == 'storable' &amp;&amp; id &amp;&amp; stockManaged" colSpan="7" if-module="axelor-stock" if="__config__.app.isApp('stock')">
       	 			<button name="$realQtyBtn" title="Real qty" colSpan="4" icon="fa-building-o" onClick="action-stock-move-line-product-default-realized" widget="info-button"/>
       	 			<button name="$futureQtyBtn" title="Future qty" colSpan="4" icon="fa-line-chart" onClick="action-stock-move-line-product-default-planned" widget="info-button"/>
       	 			<button name="$reservedQtyBtn" title="Allocated qty" colSpan="4" icon="fa-cubes" onClick="action-stock-move-line-product-reserved-planned" widget="info-button" if-module="axelor-supplychain" if="__config__.app.isApp('supplychain') &amp;&amp; __config__.app.getApp('supplychain').getManageStockReservation()"/>
    	  			<field name="isModel" hidden="true"/>
				</panel>
				<panel name="tagsPanel" colSpan="2" if="__config__.app.isApp('sale')" if-module="axelor-sale">
					<field name="$viewerProductTags" showTitle="false" colSpan="12" readonly="true">
						<viewer depends="configurator">
							<![CDATA[
								<h4 style="text-align: right;">
									<span class="label label-important" style="margin: 5px 0 !important; display: inline-table; line-height: initial;" ng-show="record.configurator != null" x-translate>Customised</span>
								</h4>
							]]>
						</viewer>
					</field>
				</panel>
      		</panel>
    		<panel name="imagePanel" colSpan="2">
      			<field name="picture" showTitle="false" colSpan="12" widget="Image">
					<viewer>
					<![CDATA[
			    		<img ng-show="record.picture" ng-src="{{$image('picture', 'content')}}" />
          				<img ng-show="!record.picture" src="img/product-default.png" />
					]]>
					</viewer>
				</field>
				<field name="barCode" showTitle="false" colSpan="12" widget="Image" if="__config__.app.getApp('base').getActivateBarCodeGeneration()"/>
			</panel>
    		<panel name="productInfoPanel" colSpan="10" >
      
      			<panel name="productTypologyPanel" title="Product typology" colSpan="6" colWidths="30%,70%">
			        <field name="productTypeSelect" colSpan="12" onChange="action-group-base-product-producttype-onchange" selection-in="['service','storable','pack']" if="__config__.app.getApp('sale')?.getProductPackMgt()"/>
			        <field name="productTypeSelect" colSpan="12" onChange="action-group-base-product-producttype-onchange" selection-in="['service','storable']" if="!(__config__.app.getApp('sale')?.getProductPackMgt())"/>
			        <field name="productSubTypeSelect" colSpan="12"  showIf="productTypeSelect == 'storable'" if="__config__.app.isApp('production')" onChange="action-product-record-product-sub-type-select-onchange"/>
                    <field name="isShippingCostsProduct" colSpan="4" hideIf="productTypeSelect != 'storable' || productSubTypeSelect || _fromProduction || _fromStock || _fromSale || _fromPurchase"/>
			        <field name="isActivity" showIf="productTypeSelect == 'service' &amp;&amp; !isShippingCostsProduct" if-module="axelor-human-resource" if="__config__.app.isApp('employee')" />
                    <field name="procurementMethodSelect" colSpan="6"
                        requiredIf="productTypeSelect == 'storable'"
                        onChange="action-product-record-tick-checkbox-purchasable" hideIf="isShippingCostsProduct" readonlyIf="productSubTypeSelect == 3"/>
			        <field name="standardDelay" colSpan="12" hideIf="productTypeSelect =='pack'" showIf="saleSupplySelect == 2 || saleSupplySelect == 3" hidden="true" if-module="axelor-supplychain" if="__config__.app.isApp('supplychain')"/>
      			</panel>
		      	<panel name="categorizationPanel" title="Categorization" colSpan="6" colWidths="30%,70%">
		        	<field name="productFamily" canEdit="false"  colSpan="12" form-view="product-family-form" grid-view="product-family-grid"/><commit_msg>[Feature #18023] Update - Change label position in from view<commit_after><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.0.xsd">
    
    <grid name="product-grid" title="Products" model="com.axelor.apps.base.db.Product" orderBy="code,name" x-row-height="80">
   		<toolbar>
        	<button name="catalogBtn" title="Catalog" onClick="action-print-product-catalog" icon="fa-book"/>
			<button name="checkDuplicateBtn" title="Check Duplicate" onClick="action-general-check-duplicate-records"/>
	    </toolbar>
	    <field name="code" x-bind="{{code|unaccent|uppercase}}" width="100"/>
	    <field name="name" width="300"/>
	    <field name="productCategory" form-view="product-category-form" grid-view="product-category-grid"/>
	    <field name="productFamily" form-view="product-family-form" grid-view="product-family-grid"/>
	    <field name="productTypeSelect" width="100"/>
	   	<field name="salePrice" x-scale="2" />
	    <field name="unit" width="70" form-view="unit-form" grid-view="unit-grid"/>
	    <field name="internalDescription" widget="html" width="400" />
	    <button name="sendByEmailBtn" title="Send Email" icon="fa-envelope" onClick="action-send-by-email-with-template"/>
	</grid>
    
    <grid name="product-product-variant-grid" title="Products" model="com.axelor.apps.base.db.Product" orderBy="code,name">
	    <field name="code" x-bind="{{code|unaccent|uppercase}}" width="120"/>
	    <field name="name"/>
	    <field name="productVariant" width="200"/>
	    <field name="costPrice" width="120" x-scale="2"/>
	    <field name="salePrice" width="120" x-scale="2"/>
    </grid>

	<form name="product-form" title="Product" model="com.axelor.apps.base.db.Product" 
	onNew="action-group-base-product-onnew"
	onLoad="action-group-product-onload" width="large">
 		<toolbar>
    		<button name="showProductSheetBtn" title="Product sheet" icon="fa-print" onClick="save,action-product-method-show-product-sheet"/>
    		<button name="sendByEmailBtn" title="Send Email" icon="fa-envelope" onClick="action-send-by-email-with-template"/>
  		</toolbar>
  		<panel name="mainPanel" >
   			<panel name="namePanel" colSpan="4">
    			<field name="fullName" showTitle="false" css="label-bold bold large" colSpan="12">
        			<editor x-show-titles="false">
          				<field name="code" x-bind="{{code|unaccent|uppercase}}" showTitle="false" colSpan="5" css="label-bold bold large" placeholder="Code" readonly="true" 
          					if="__config__.app.getApp('base').getGenerateProductSequence()"/>
          				<field name="code" x-bind="{{code|unaccent|uppercase}}" showTitle="false" colSpan="5" css="label-bold bold large" placeholder="Code" 
          					if="!__config__.app.getApp('base').getGenerateProductSequence()" required="true"/>
          				<field name="name" showTitle="false" colSpan="7" css="label-bold bold large" placeholder="Name"/>
        			</editor>
      			</field>
    		</panel>
    		<panel name="actionsPanel" colSpan="8">
       			<button name="$totalVariantsBtn" title="Total variants" showIf="isModel" colSpan="3" icon="fa-tags" onClick="action-product-view-total-variants" widget="info-button"/>
				<panel name="tagsPanel" colSpan="2" if="__config__.app.isApp('sale')" if-module="axelor-sale">
					<field name="$viewerProductTags" showTitle="false" colSpan="12" readonly="true">
						<viewer depends="configurator">
							<![CDATA[
								<h4 style="text-align: right;">
									<span class="label label-important" style="margin: 5px 0 !important; display: inline-table; line-height: initial;" ng-show="record.configurator != null" x-translate>Customised</span>
								</h4>
							]]>
						</viewer>
					</field>
				</panel>
      			<panel name="subActionsPanel" showTitle="false" showIf="productTypeSelect == 'storable' &amp;&amp; id &amp;&amp; stockManaged" colSpan="7" if-module="axelor-stock" if="__config__.app.isApp('stock')">
       	 			<button name="$realQtyBtn" title="Real qty" colSpan="4" icon="fa-building-o" onClick="action-stock-move-line-product-default-realized" widget="info-button"/>
       	 			<button name="$futureQtyBtn" title="Future qty" colSpan="4" icon="fa-line-chart" onClick="action-stock-move-line-product-default-planned" widget="info-button"/>
       	 			<button name="$reservedQtyBtn" title="Allocated qty" colSpan="4" icon="fa-cubes" onClick="action-stock-move-line-product-reserved-planned" widget="info-button" if-module="axelor-supplychain" if="__config__.app.isApp('supplychain') &amp;&amp; __config__.app.getApp('supplychain').getManageStockReservation()"/>
    	  			<field name="isModel" hidden="true"/>
				</panel>
      		</panel>
    		<panel name="imagePanel" colSpan="2">
      			<field name="picture" showTitle="false" colSpan="12" widget="Image">
					<viewer>
					<![CDATA[
			    		<img ng-show="record.picture" ng-src="{{$image('picture', 'content')}}" />
          				<img ng-show="!record.picture" src="img/product-default.png" />
					]]>
					</viewer>
				</field>
				<field name="barCode" showTitle="false" colSpan="12" widget="Image" if="__config__.app.getApp('base').getActivateBarCodeGeneration()"/>
			</panel>
    		<panel name="productInfoPanel" colSpan="10" >
      
      			<panel name="productTypologyPanel" title="Product typology" colSpan="6" colWidths="30%,70%">
			        <field name="productTypeSelect" colSpan="12" onChange="action-group-base-product-producttype-onchange" selection-in="['service','storable','pack']" if="__config__.app.getApp('sale')?.getProductPackMgt()"/>
			        <field name="productTypeSelect" colSpan="12" onChange="action-group-base-product-producttype-onchange" selection-in="['service','storable']" if="!(__config__.app.getApp('sale')?.getProductPackMgt())"/>
			        <field name="productSubTypeSelect" colSpan="12"  showIf="productTypeSelect == 'storable'" if="__config__.app.isApp('production')" onChange="action-product-record-product-sub-type-select-onchange"/>
                    <field name="isShippingCostsProduct" colSpan="4" hideIf="productTypeSelect != 'storable' || productSubTypeSelect || _fromProduction || _fromStock || _fromSale || _fromPurchase"/>
			        <field name="isActivity" showIf="productTypeSelect == 'service' &amp;&amp; !isShippingCostsProduct" if-module="axelor-human-resource" if="__config__.app.isApp('employee')" />
                    <field name="procurementMethodSelect" colSpan="6"
                        requiredIf="productTypeSelect == 'storable'"
                        onChange="action-product-record-tick-checkbox-purchasable" hideIf="isShippingCostsProduct" readonlyIf="productSubTypeSelect == 3"/>
			        <field name="standardDelay" colSpan="12" hideIf="productTypeSelect =='pack'" showIf="saleSupplySelect == 2 || saleSupplySelect == 3" hidden="true" if-module="axelor-supplychain" if="__config__.app.isApp('supplychain')"/>
      			</panel>
		      	<panel name="categorizationPanel" title="Categorization" colSpan="6" colWidths="30%,70%">
		        	<field name="productFamily" canEdit="false"  colSpan="12" form-view="product-family-form" grid-view="product-family-grid"/>
{'fraction_non_alphanumeric': 0.18238950748001911, 'fraction_numerical': 0.012910717945214837, 'mean_word_length': 4.392265193370166, 'pattern_counts': {'":': 0, '<': 165, '<?xml version=': 2, '>': 165, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 12}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '668228', 'n_tokens_mistral': 5105, 'n_tokens_neox': 4634, 'n_words': 709}