जब मैं "project.task" कानबन दृश्य देखता हूं, तो मैं "project.project" मॉडल में विवरण फ़ील्ड दिखाने के लिए KanbanView.buttons और KanbanView.Group के बीच एक टेम्प्लेट जोड़ना चाहता हूं।

मुझे लगता है कि उन टेम्पलेट्स को कानबन व्यू में जोड़ने के लिए कहीं और होना चाहिए लेकिन दुर्भाग्य से, मुझे यह नहीं मिल रहा है।

मैंने जो किया वह है

मैंने एक कस्टम टेम्पलेट लेआउट बनाया है।xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <templates>
            <t t-name="eric-kanban-view">
                <div>This is Eric's kanban view</div>
            </t>
        </templates>
    </data>
</openerp>

और मैं ऊपर kanban दृश्य project.xml का पता लगाने के लिए "project.view_task_kanban" में टेम्पलेट जोड़ना चाहता हूं

<record id="project_task_custom_kanban" model="ir.ui.view">
    <field name="inherit_id" ref="project.view_task_kanban"/>
    <field name="model">project.task</field>
    <field name="arch" type="xml">
        <xpath expr="//templates" position="before">
            <t t-call="eric-kanban-view"/>
        </xpath>
    </field>
</record>

ओपनरप.py

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.

{
    'name' : 'project_customized',
    'version' : '1.1',
    'author' : "Eric Lee",
    'description': 'eric\'s Project customized module',
    'installable' : True,
    'data' : [
        'project.xml',
    ],
    'depends' : [
        'project',
    ],
    'qweb': [
        'static/src/xml/layouts.xml',
        'static/src/xml/project.xml',
    ],
}

पर कुछ नहीं हुआ।

नीचे वह लेआउट है जो मुझे चाहिए यहां छवि विवरण दर्ज करें

5
Jinna 14 जून 2018, 09:42

2 जवाब

सबसे बढ़िया उत्तर

आपको kanbanView का विस्तार करके एक विजेट बनाने की आवश्यकता है।

यहाँ उदाहरण है: यहां छवि विवरण दर्ज करें

यहाँ नमूना कोड है।

स्थिर/src/xml/template.xml

<template id="template" xml:space="preserve">

 <t t-name="kanban.sample_header">
   <div class="sample_header" style="width:100%;height:50px;background-color:#fff;">
     <h2>Sample header</h2>
  </div>
</t>
</template>

स्थिर/src/js/sample.js

odoo.define('kanban.sample_dashboard', function (require) {
"use strict";


var core = require('web.core');
var formats = require('web.formats');
var Model = require('web.Model');
var session = require('web.session');
var KanbanView = require('web_kanban.KanbanView');

var QWeb = core.qweb;

var _t = core._t;
var _lt = core._lt;

var sampleHeader = KanbanView.extend({
  display_name: _lt('Dashboard'),
  icon: 'fa-dashboard',
  fetch_data: function() {
      // Overwrite this function with useful data
      return $.when();
  },
  render: function() {
      var super_render = this._super;
      var self = this;

      return this.fetch_data().then(function(result){
          self.show_demo = result && result.nb_opportunities === 0;

          var sales_dashboard = QWeb.render('kanban.sample_header', {
              widget: self,
              show_demo: self.show_demo,
              values: result,
          });
          super_render.call(self);
          $(sales_dashboard).prependTo(self.$el);
      });
  },

});
core.view_registry.add('sample_header', sampleHeader);

return sampleHeader;

})

view.xml

<odoo>
 <data>


<template id="assets_backend" name="sample_header" inherit_id="web.assets_backend">
    <xpath expr="." position="inside">
        <script type="text/javascript" src="/kanban/static/src/js/sample_js.js"></script>
    </xpath>
</template>


<record model="ir.ui.view" id="view_task_kanban_inherit">
    <field name="name">project.task.kanban.inherit</field>
    <field name="model">project.task</field>
    <field name="inherit_id" ref="project.view_task_kanban"/>
    <field name="arch" type="xml">

      <xpath expr="//kanban" position="attributes">
        <attribute name='js_class'>sample_header</attribute>

      </xpath>
    </field>
</record>
 </data>
 </odoo>

आशा है कि यह आपकी मदद करेगा।

2
KbiR 25 जून 2018, 14:13
<record id="project_task_custom_kanban" model="ir.ui.view">
    <field name="inherit_id" ref="project.view_task_kanban"/>
    <field name="model">project.task</field>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='name']" position="after">
            <field name="project_id.name"/>
        </xpath>
    </field>
</record>

तो यह उदाहरण अच्छी तरह से काम करना चाहिए। कार्य के नाम के बाद परियोजना का नाम दिखाया जाएगा।

2
ophychius 23 अप्रैल 2019, 14:34